AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.06.2021, 18:09   #1  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Тут https://techeplanet.com/json-example/ нашел такую картинку
Нажмите на изображение для увеличения
Название: T5.jpg
Просмотров: 13
Размер:	48.2 Кб
ID:	13183
сейчас пробую такую структуру повторить в GER
Старый 09.06.2021, 12:24   #2  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Со вложенностью объектов разобрался, спасибо axm2017
Но теперь проблема с массивом. Сделал такую структуру
Нажмите на изображение для увеличения
Название: J1.jpg
Просмотров: 11
Размер:	73.7 Кб
ID:	13184
При Выполнить генерится шаблон
{"Prop0": ,"InObj": {"InProp1": ,"InProp2": },"InArray": [{"ArProp1": ,"ArProp2": }]}
Визуально вроде все правильно, и если загружать из него массив с одной строкой - то срабатывает
{"Prop0":"str1","InObj": {"InProp1":3,"InProp2":11.22},"InArray": [{"ArProp1":"str2","ArProp2":"str3"}]}
но если добавляю в массив еще одну строку
{"Prop0":"str1","InObj": {"InProp1":3,"InProp2":11.22},"InArray": [{"ArProp1":"str2","ArProp2":"str3"},{"ArProp1":"str4","ArProp2":"str5"}]}
то вылетает ошибка. В маппинге массив отображается не как список записей, а как запись
Нажмите на изображение для увеличения
Название: J2.jpg
Просмотров: 16
Размер:	75.0 Кб
ID:	13185
поэтому появление ошибки вроде как и должно быть.
Но как правильно описать структуру, чтобы массив воспринимался именно как массив, т.е. список записей? Что во что надо вкладывать? Подскажите, если можно.
Старый 09.06.2021, 12:51   #3  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Надо настроить Multiplicity на том элементе, который должен повторяться
Старый 09.06.2021, 17:10   #4  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Спасибо за подсказку - получилось! Я не обратил внимание, что это свойство контекстнозависимое - у корневого объекта и объекта вложенного в объект его нет, появляется только у объекта вложенного в массив.
И наткнулся на глюк GER-а - если просто изменить Multiplicity у уже существующего объекта, то он вообще пропадает из маппинга. Но после удаления и создания заново, сразу при создании задав 1..*, все становится правильно: в маппинге это уже список записей и данные загружаются.
Спасибо за помощь.
Старый 15.08.2021, 10:33   #5  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Надо вывести в отчет финаналитики в отдельные колонки причем их количество переменное, определяется выбранным в параметрах отчета набором аналитик. Настроил шаблон
Нажмите на изображение для увеличения
Название: V1.jpg
Просмотров: 23
Размер:	36.2 Кб
ID:	13208
и в маппинге формата диапазон с горизонтальной репликацией
Нажмите на изображение для увеличения
Название: V2.jpg
Просмотров: 22
Размер:	83.3 Кб
ID:	13209
Все красиво получилось - во всех строках (заголовок, номера колонок, данные и итоги) выполняется вставка со сдвигом в право.
Нажмите на изображение для увеличения
Название: V3.jpg
Просмотров: 24
Размер:	106.2 Кб
ID:	13210
Переношу отчет (через xml-файл) со среды разработки на среду тестирования и получаю такой результат
Нажмите на изображение для увеличения
Название: V4.jpg
Просмотров: 26
Размер:	214.0 Кб
ID:	13211
Выглядит так, что в строках с заголовками и номерами колонок вставка ячеек выполнилась, но значения заполняются без учета сдвига. А в строках данных и итогов вообще доп.ячейки не вставляются и значения аналитик просто перекрывают последующие ячейки.
Как можно понять различное поведение системы при выполнении одного и того же формата в разных средах и можно ли как-то на это влиять? Может кто-то сталкивался с подобной проблемой?

Последний раз редактировалось Libovs; 15.08.2021 в 10:59.
Старый 15.08.2021, 10:57   #6  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Похожая ситуация и с вертикальной репликацией. В шаблоне настроена двухуровневая группировка
Нажмите на изображение для увеличения
Название: H1.jpg
Просмотров: 20
Размер:	26.4 Кб
ID:	13212
В среде разработки при выполнении формата группировки "размножаются"
Нажмите на изображение для увеличения
Название: H2.jpg
Просмотров: 20
Размер:	138.6 Кб
ID:	13213
Переношу конфигурацию формата на тестовую среду и получаю такой результат
Нажмите на изображение для увеличения
Название: H3.jpg
Просмотров: 19
Размер:	116.9 Кб
ID:	13214
Выглядит так, будто на разных средах выполняется разный код - вызываются разные функции Excel или функция вставки строки с разными параметрами.
Можно ли как-то на это влиять?

Последний раз редактировалось Libovs; 15.08.2021 в 11:00.
Старый 15.08.2021, 17:19   #7  
axm2017 is offline
axm2017
Участник
 
1,772 / 293 (13) ++++++
Регистрация: 15.05.2017
На вид все ок только данные разные.
А как вы делаете горизонтальный диапазон столбцов +заполнение в них данных?
Если есть стандарт с подобным назовите pls формат, интересно
Старый 15.08.2021, 18:59   #8  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Цитата:
Сообщение от axm2017 Посмотреть сообщение
На вид все ок только данные разные.
А как вы делаете горизонтальный диапазон столбцов +заполнение в них данных?
Если есть стандарт с подобным назовите pls формат, интересно
Как я показал выше. Но у меня проблема в том, что на разных средах выполнение одного и того же формата приводит к различным результатам.
Старый 17.08.2021, 10:59   #9  
axm2017 is offline
axm2017
Участник
 
1,772 / 293 (13) ++++++
Регистрация: 15.05.2017
Цитата:
Сообщение от Libovs Посмотреть сообщение
Как я показал выше. Но у меня проблема в том, что на разных средах выполнение одного и того же формата приводит к различным результатам.
https://docs.microsoft.com/en-us/dyn...r-horizontal-1
На будущее кому интересно чуть более развернуто.
Старый 15.08.2021, 18:03   #10  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Версия приложения одна и та же? Набор включенных фич er один и тот же?
Старый 15.08.2021, 18:48   #11  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Цитата:
Сообщение от belugin Посмотреть сообщение
Версия приложения одна и та же? Набор включенных фич er один и тот же?
Я не админ, а консультант, подскажите:
Как посмотреть версию приложения?
Какие фичи могут влиять на вывод в Эксель? Надо сравнить весь список?

Со слов админа обе среды это виртуальная машина (SANDBOX) предоставляемый и администрируемый самим МС. Что именно на ней проинсталлировано - понять сложно (мне, по крайней мере).

Последний раз редактировалось Libovs; 15.08.2021 в 18:53.
Старый 16.08.2021, 12:27   #12  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Libovs Посмотреть сообщение
Я не админ, а консультант, подскажите:
Как посмотреть версию приложения?
https://dynamics-tips.com/how-to-che...tions-version/

Цитата:
Сообщение от Libovs Посмотреть сообщение
Какие фичи могут влиять на вывод в Эксель? Надо сравнить весь список?
Прежде всего использование EPPlus - "Enable usage of EPPlus library in Electronic reporting framework"
Старый 15.08.2021, 18:45   #13  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
На счет стандарта ничего сказать не могу, модель и формат делал сам "от корня" и все конструкции тоже придумывал сам.
Данные разные т.к. формат (отчет) выполнялся на разных средах.
Делал так - в маппинге модели из GeneralJournalEntry отбираю записи по номеру ваучера, затем из GeneralJournalAccountEntry сами проводки; из структуры LedgerDimension выбираю аналитики, имеющие непустые значения
$GeneralJournalLines:Вычисляемое поле = FILTER(GeneralJournalEntry, GeneralJournalEntry.SubledgerVoucher='$LedgerTransLines'.Voucher): Список записей
$GeneralJournalAccountLines:Вычисляемое поле = FILTER(GeneralJournalAccountEntry, VALUEIN(GeneralJournalAccountEntry.GeneralJournalEntry, '$LedgerTransLines'.'$GeneralJournalLines', '$LedgerTransLines'.'$GeneralJournalLines'.RecId)): Список записей
Финансовые аналитики
LedgerDimension.Dimension(Счет ГК.Dimension):Запись
Вычисляемые поля
$GeneralJournalLine:Вычисляемое поле = FIRSTORNULL(WHERE('$LedgerTransLines'.'$GeneralJournalLines', '$LedgerTransLines'.'$GeneralJournalLines'.RecId=@.GeneralJournalEntry)): Запись
$LedgerDimension:Вычисляемое поле = WHERE(@.'LedgerDimension.Dimension'.'Main account and dimensions', @.'LedgerDimension.Dimension'.'Main account and dimensions'.Value.Code<>""): Список записей

Затем маппинг на модель
Transactions(Проводки):Список записей = @.'$GeneralJournalAccountLines'
AccountingDate(Дата учета):Дата = @.'$GeneralJournalLine'.AccountingDate
AmountAccounting(Сумма в валюте учета):Вещественный = @.AccountingCurrencyAmount
AmountReporting(Сумма в валюте отчетности):Вещественный = @.ReportingCurrencyAmount
AmountTransaction(Сумма в валюте транзакции):Вещественный = @.TransactionCurrencyAmount
Currency(Валюта):Строка = @.TransactionCurrencyCode
JournalNumber(Номер журнала):Строка = @.'$GeneralJournalLine'.JournalNumber
LedgerDimension(Аналитики):Список записей = @.'$LedgerDimension'
Definition:Запись = @.Definition
Name:Строка = @.Definition.Name
Type:Строка = @.Definition.Type
Value:Запись = @.Value
Code:Строка = @.Value.Code
Description:Строка = @.Value.Description
LedgerDimensionValue(Аналитики значение):Строка = @.LedgerAccount
MainAccountName(Счет ГК название):Строка = @.'>Relations'.MainAccount.Name
MainAccountValue(Счет ГК):Строка = @.'>Relations'.MainAccount.MainAccountId
Text(Описание):Строка = @.Text
Voucher(Ваучер):Строка = @.'$GeneralJournalLine'.SubledgerVoucher


В формате параметрами определяются счета ГК ($ReportAccounts) и набор аналитик ($DimensionSet) для фильтрации данных из модели
Входные параметры пользователя
$DimensionSet(Набор финансовых аналитик):Входной параметр пользователя: DimensionSetName
$ReportAccounts(Счета ГК):Входной параметр пользователя: Список записей
Value:MainAccountNum

В сопоставлении вычисляются
Вычисляемые поля
$AnalyticsCount:Вычисляемое поле = COUNT('$AnalyticsList'): Целочисленный
$AnalyticsList:Вычисляемое поле = DimensionHierarchy.'findByTypeAndName()'(DimensionHierarchyType.Focus, '$DimensionSet').'<Relations'.DimensionHierarchyLevel: Список записей
$AnalyticsListOrdered:Вычисляемое поле = ORDERBY('$AnalyticsList', '$AnalyticsList'.Level): Список записей
Вычисляемые поля
$AnalyticName:Вычисляемое поле = @.'>Relations'.DimensionAttribute.Name: Строка
$FilteredLines:Вычисляемое поле = WHERE(model.JournalLines, AND(model.JournalLines.AccountType=ACType.Vend, model.JournalLines.OffsetAccountType=ACType.Ledger, model.JournalLines.Journal.Posted, VALUEIN(model.JournalLines.OffsetLedgerMainAccount, '$ReportAccounts', '$ReportAccounts'.Value))): Список записей
$ReportLines:Вычисляемое поле = ORDERBY('$FilteredLines', '$FilteredLines'.TransDate): Список записей
$Transactions:Вычисляемое поле = ALLITEMS('$ReportLines'.Transactions): Список записей
Вычисляемые поля
$Analytics:Вычисляемое поле = '$AnalyticsListOrdered': Список записей
Вычисляемые поля
$AnalyticInfo:Вычисляемое поле = FIRSTORNULL(WHERE('$ReportLines'.'$Transactions'.LedgerDimension, '$ReportLines'.'$Transactions'.LedgerDimension.Definition.Name=@.'$AnalyticName')): Запись
$AnalyticName:Вычисляемое поле = '$AnalyticsListOrdered'.'>Relations'.DimensionAttribute.Name: Строка
$Visible:Вычисляемое поле = VALUEIN(@.MainAccountValue, '$ReportAccounts', '$ReportAccounts'.Value): Логический

и маппятся на ячейки отчета
Диапазон<TransLine>: Vertical? = @.'$Transactions'
Ячейка<Trans_Month> = DateTimeUtil.month(DATETODATETIME(@.AccountingDate))
Ячейка<Trans_Date> = @.AccountingDate
Ячейка<Trans_Supplier> = ('$ReportLines'.Vendor.AccountNum&"-")&'$ReportLines'.Vendor.Name
Ячейка<Trans_Description> = @.Text
Analytics: Диапазон<Trans_Analytics>: Horizontal = @.'$Analytics'
Ячейка<Trans_Analytics> = @.'$AnalyticInfo'.Value.Code
Ячейка<Trans_Creator> = '$ReportLines'.Approver.Name
Ячейка<Trans_Created> = '$ReportLines'.modifiedDateTime
Старый 16.08.2021, 16:58   #14  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Среда где горизонтальная репликация выполняется
Установленная версия продукта: 10.0.20 (10.0.886.92)
Установленная версия платформы: Update44 (7.0.6060.96)

среда где не выполняется
Установленная версия продукта: 10.0.20 (10.0.886.92)
Установленная версия платформы: Update44 (7.0.6060.96)

Фичи, включенные на первой среде, но не включенные на второй
Нажмите на изображение для увеличения
Название: F1.jpg
Просмотров: 23
Размер:	102.3 Кб
ID:	13215
На мою проблему могут влиять ?
Включить использование библиотеки EPPlus в платформе для электронной отчетности
Оптимизация времени создания источника данных запроса во время выполнения отчетов электронной отчетности


Эти тоже к ER относятся, но они включают (насколько я знаю) возможность прямого вывода на сетевой принтер и конвертацию из форматов MS Office в pdf
Агент маршрутизации документов как назначение электронной отчетности для исходящих документов
Преобразовать исходящие документы электронной отчетности из форматов Microsoft Office в PDF
Старый 16.08.2021, 17:28   #15  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
EPPlus может помочь, остальное - вряд ли
Старый 16.08.2021, 20:12   #16  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Спасибо за помощь - помогло. Теперь горизонтальная репликация выполняется корректно и ОДИНАКОВО! на обоих средах.
Попробую теперь по аналогии разобраться с "размножением" группировок при вертикальной репликации.
Старый 16.08.2021, 23:55   #17  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
А вот с ""размножением" группировки при вертикальной репликации ситуация прямо противоположная - если фича EPPlus выключена - группировки в выходом файле формируются, но стоит ее включить - и группировок нет.
Получается, что можно использовать только что-то одно. Печалька.
Старый 17.08.2021, 12:12   #18  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от Libovs Посмотреть сообщение
А вот с ""размножением" группировки при вертикальной репликации ситуация прямо противоположная
Не могли бы вы зарегистрировать баг?
Старый 18.08.2021, 15:13   #19  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Цитата:
Сообщение от belugin Посмотреть сообщение
Не могли бы вы зарегистрировать баг?
Никогда не приходилось этого делать. Попробую разобраться, как это делается.
Старый 07.09.2021, 21:58   #20  
Libovs is offline
Libovs
Участник
 
224 / 53 (2) ++++
Регистрация: 26.03.2018
Цитата:
Сообщение от belugin Посмотреть сообщение
Не могли бы вы зарегистрировать баг?
Зарегистровал баг - у меня это первый опыт такого рода. Получил ответ
I have also opened a bug to get official reply from Product Group
Реально ли дождаться какого-то реального результата в разумные сроки? И что это может быть - какой-то hotfix?
Теги
generic electronic reporting, ger

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ievgensaxblog: MSDyn365FO. How to Import CSV file using Electronic Reporting. Part 2 – Format. Blog bot DAX Blogs 0 06.02.2019 07:12
ievgensaxblog: MSDyn365FO. How to Import CSV file using Electronic Reporting. Part 1 – Data Model. Blog bot DAX Blogs 0 06.02.2019 07:12
erconsult: Electronic Reporting (ER) Cookbook 2: new tips from the kitchen Blog bot DAX Blogs 0 06.08.2018 17:11
powerobjects: Electronic Reporting in Dynamics 365 for Finance and Operations Blog bot DAX Blogs 0 14.02.2018 03:28
erconsult: Electronic Reporting (ER) Cookbook Blog bot DAX Blogs 24 09.10.2017 08:47

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 12:08.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.