Adobe Livecycle ES4: условное связывание дочерних узлов xml с таблицей

Просмотрите видео, чтобы увидеть его в действии:

http://screencast.com/t/6vkWlZOp

После некоторых исследований я нашел решение. Я столкнулся с этим вопросом в группе Google Phonegap: https://groups.google.com/forum/#!msg/phonegap/uqYjTmd4w_E/YD1QPmLSxf4J (спасибо TimW и Dan Levine!) В этой теме Я обнаружил, что можно использовать Google Analytics без плагина. Все, что вам нужно сделать, это загрузить файл ga.js из Google http://www.google-analytics.com/ga.js (просто сохраните страницу в своей папке www)

Затем измените файл ga.js, добавив к нему один символ. Найдите файл ga.js для слова «файл:» и замените его на «_file:».

В потоке, который я связал выше, «TimW» объясняет причины этого:

По сути, Google Analytics не будет работать, если он используется из файла: /// url. В iOS / PhoneGap это так. Чтобы решить эту проблему, вы должны сначала скачать ga.js-файл из Google и включить его как часть вашей локальной сборки. Вы заметите, что этот файл обфускации. Найдите файл для строки «файл:», который должен появиться только один раз. Когда вы его найдете, добавьте подчеркивание к началу (так оно станет «_file:»). Это предотвращает соответствие протокола местоположения страницы (который является «файлом:»).

blockquote>

После того, как вы добавили один символ в файл ga.js, просто включите это в верхнюю часть ваша страница:


    

Я тестировал это на симуляторе, и у меня есть доказательство того, что он работал с использованием представления в режиме реального времени в Google Analytics. Симулятор работал на iOS 5.0. Мой телефон все еще находится на iOS 4.2, и когда я тестировал его на своем устройстве, он не отображался в режиме реального времени.

В потоке кто-то упомянул те же проблемы с Android 4.0+. .. Надеюсь, в будущем будет лучшее решение для этого, но на данный момент это самый простой и наименее сложный способ получить базовую аналитику для моего приложения.

Несмотря на то, что iOS 4 и пользователи Android являются меньшинством на рынке (см. Круговую диаграмму):

http://static7.businessinsider.com/image/4fd65fac6bb3f7925700000f/chart-of-the-day-ios-vs-android-june-2012.jpg

Я бы хотел получить данные из всех ОС.

0
задан Peter Campbell 17 January 2019 в 15:08
поделиться

1 ответ

Я решил эту проблему с помощью сценария.

Я добавил форму в таблицу, вложенную в повторяющуюся строку. Здесь я добавил поля из дочерних узлов CustomerInvoice.PriceAndTax.PriceComponents, которые я хотел отобразить, и поле Description, чтобы проверить значение.

Структура таблицы

-- tblVATAnalysis    
      -- HeaderRow
         --- header fields ---    
      -- MainRow
      -- Row1
         -- colRate
         -- colSupplies
         -- colVATAmount
      -- HiddenRow
         -- lblDescription
         -- decRate
         -- decSupplies
         -- decVATAmount

Затем я добавил следующий скрипт:

FormInvoiceRequest.bdyMain.frmSummaryData.tblVATAnalysis.MainRow.HiddenRow
    ::initialize - (FormCalc, client)

            var content = "";

            if(this.decRate.rawValue <> null & this.decRate.rawValue <> "")
            then    
                if(this.lblDescription.rawValue == "VAT (%)")
                then
                    content = this.decRate.rawValue;
                endif

                if(this.parent.parent.frmTaxAmount.decTaxAmount == 0)
                then
                    if(this.lblDescription.rawValue == "Total Item Net Value")
                    then
                        content = this.decRate.rawValue;
                    endif
                endif
            endif

            if(content <> "")
            then
                FormInvoiceRequest.bdyMain.frmSummaryData.tblVATAnalysis.MainRow.Row1
                .colRate.rawValue = content;
            else
                FormInvoiceRequest.bdyMain.frmSummaryData.tblVATAnalysis.MainRow.Row1
                .presence = "hidden";
            endif

Заполняет переменную с именем content, если в строке есть описание НДС (%) , тогда, если у контента нет значения, строка скрыта.

0
ответ дан Peter Campbell 17 January 2019 в 15:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: