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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.06.2021, 12:51   #461  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,562 / 2722 (100) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Надо настроить Multiplicity на том элементе, который должен повторяться
__________________
blog | twitter
Старый 09.06.2021, 17:10   #462  
Libovs is offline
Libovs
Участник
 
208 / 52 (2) ++++
Регистрация: 26.03.2018
Спасибо за подсказку - получилось! Я не обратил внимание, что это свойство контекстнозависимое - у корневого объекта и объекта вложенного в объект его нет, появляется только у объекта вложенного в массив.
И наткнулся на глюк GER-а - если просто изменить Multiplicity у уже существующего объекта, то он вообще пропадает из маппинга. Но после удаления и создания заново, сразу при создании задав 1..*, все становится правильно: в маппинге это уже список записей и данные загружаются.
Спасибо за помощь.
Старый 15.08.2021, 10:33   #463  
Libovs is offline
Libovs
Участник
 
208 / 52 (2) ++++
Регистрация: 26.03.2018
Надо вывести в отчет финаналитики в отдельные колонки причем их количество переменное, определяется выбранным в параметрах отчета набором аналитик. Настроил шаблон
Нажмите на изображение для увеличения
Название: V1.jpg
Просмотров: 8
Размер:	36.2 Кб
ID:	13208
и в маппинге формата диапазон с горизонтальной репликацией
Нажмите на изображение для увеличения
Название: V2.jpg
Просмотров: 8
Размер:	83.3 Кб
ID:	13209
Все красиво получилось - во всех строках (заголовок, номера колонок, данные и итоги) выполняется вставка со сдвигом в право.
Нажмите на изображение для увеличения
Название: V3.jpg
Просмотров: 10
Размер:	106.2 Кб
ID:	13210
Переношу отчет (через xml-файл) со среды разработки на среду тестирования и получаю такой результат
Нажмите на изображение для увеличения
Название: V4.jpg
Просмотров: 10
Размер:	214.0 Кб
ID:	13211
Выглядит так, что в строках с заголовками и номерами колонок вставка ячеек выполнилась, но значения заполняются без учета сдвига. А в строках данных и итогов вообще доп.ячейки не вставляются и значения аналитик просто перекрывают последующие ячейки.
Как можно понять различное поведение системы при выполнении одного и того же формата в разных средах и можно ли как-то на это влиять? Может кто-то сталкивался с подобной проблемой?

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

Последний раз редактировалось Libovs; 15.08.2021 в 11:00.
Старый 15.08.2021, 17:19   #465  
axm2017 is offline
axm2017
Участник
 
547 / 201 (8) ++++++
Регистрация: 15.05.2017
На вид все ок только данные разные.
А как вы делаете горизонтальный диапазон столбцов +заполнение в них данных?
Если есть стандарт с подобным назовите pls формат, интересно
Старый 15.08.2021, 18:03   #466  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,562 / 2722 (100) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Версия приложения одна и та же? Набор включенных фич er один и тот же?
__________________
blog | twitter
Старый 15.08.2021, 18:45   #467  
Libovs is offline
Libovs
Участник
 
208 / 52 (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
Старый 15.08.2021, 18:48   #468  
Libovs is offline
Libovs
Участник
 
208 / 52 (2) ++++
Регистрация: 26.03.2018
Цитата:
Сообщение от belugin Посмотреть сообщение
Версия приложения одна и та же? Набор включенных фич er один и тот же?
Я не админ, а консультант, подскажите:
Как посмотреть версию приложения?
Какие фичи могут влиять на вывод в Эксель? Надо сравнить весь список?

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

Последний раз редактировалось Libovs; 15.08.2021 в 18:53.
Старый 15.08.2021, 18:59   #469  
Libovs is offline
Libovs
Участник
 
208 / 52 (2) ++++
Регистрация: 26.03.2018
Цитата:
Сообщение от axm2017 Посмотреть сообщение
На вид все ок только данные разные.
А как вы делаете горизонтальный диапазон столбцов +заполнение в них данных?
Если есть стандарт с подобным назовите pls формат, интересно
Как я показал выше. Но у меня проблема в том, что на разных средах выполнение одного и того же формата приводит к различным результатам.
Старый 16.08.2021, 12:27   #470  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,562 / 2722 (100) +++++++++
Регистрация: 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"
__________________
blog | twitter
Старый 16.08.2021, 16:58   #471  
Libovs is offline
Libovs
Участник
 
208 / 52 (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
Просмотров: 9
Размер:	102.3 Кб
ID:	13215
На мою проблему могут влиять ?
Включить использование библиотеки EPPlus в платформе для электронной отчетности
Оптимизация времени создания источника данных запроса во время выполнения отчетов электронной отчетности


Эти тоже к ER относятся, но они включают (насколько я знаю) возможность прямого вывода на сетевой принтер и конвертацию из форматов MS Office в pdf
Агент маршрутизации документов как назначение электронной отчетности для исходящих документов
Преобразовать исходящие документы электронной отчетности из форматов Microsoft Office в PDF
Старый 16.08.2021, 17:28   #472  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,562 / 2722 (100) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
EPPlus может помочь, остальное - вряд ли
__________________
blog | twitter
Старый 16.08.2021, 20:12   #473  
Libovs is offline
Libovs
Участник
 
208 / 52 (2) ++++
Регистрация: 26.03.2018
Спасибо за помощь - помогло. Теперь горизонтальная репликация выполняется корректно и ОДИНАКОВО! на обоих средах.
Попробую теперь по аналогии разобраться с "размножением" группировок при вертикальной репликации.
Старый 16.08.2021, 23:55   #474  
Libovs is offline
Libovs
Участник
 
208 / 52 (2) ++++
Регистрация: 26.03.2018
А вот с ""размножением" группировки при вертикальной репликации ситуация прямо противоположная - если фича EPPlus выключена - группировки в выходом файле формируются, но стоит ее включить - и группировок нет.
Получается, что можно использовать только что-то одно. Печалька.
Старый 17.08.2021, 10:59   #475  
axm2017 is offline
axm2017
Участник
 
547 / 201 (8) ++++++
Регистрация: 15.05.2017
Цитата:
Сообщение от Libovs Посмотреть сообщение
Как я показал выше. Но у меня проблема в том, что на разных средах выполнение одного и того же формата приводит к различным результатам.
https://docs.microsoft.com/en-us/dyn...r-horizontal-1
На будущее кому интересно чуть более развернуто.
Старый 17.08.2021, 12:12   #476  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,562 / 2722 (100) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Цитата:
Сообщение от Libovs Посмотреть сообщение
А вот с ""размножением" группировки при вертикальной репликации ситуация прямо противоположная
Не могли бы вы зарегистрировать баг?
__________________
blog | twitter
Старый 18.08.2021, 15:13   #477  
Libovs is offline
Libovs
Участник
 
208 / 52 (2) ++++
Регистрация: 26.03.2018
Цитата:
Сообщение от belugin Посмотреть сообщение
Не могли бы вы зарегистрировать баг?
Никогда не приходилось этого делать. Попробую разобраться, как это делается.
Старый 28.08.2021, 18:35   #478  
Libovs is offline
Libovs
Участник
 
208 / 52 (2) ++++
Регистрация: 26.03.2018
Выбираю все проводки по одному номеру ваучера
$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<>""): Список записей


Поле LedgerDimension представляется веткой Финаналитики.
Мапплю этот список на модель
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


Список аналитик в модели заполняется без ошибок
Старый 28.08.2021, 18:51   #479  
Libovs is offline
Libovs
Участник
 
208 / 52 (2) ++++
Регистрация: 26.03.2018
Но если я фильтрую список транзакций - нужны не все, а только по определенным счетам
$GeneralJournalAccountFilter:Вычисляемое поле = WHERE(@.'$GeneralJournalAccountLines', VALUEIN(FIRSTORNULL(@.'$GeneralJournalAccountLines'.'>Relations'.MainAccount).MainAccountId, AccountsList, AccountsList.Value)): Список записей
Поля
Методы
Отношения
Финансовые аналитики
---LedgerDimension.Dimension(Счет ГК.Dimension):Запись
Вычисляемые поля
---$GeneralJournalLine:Вычисляемое поле = FIRSTORNULL(WHERE('$LedgerTransLines'.'$GeneralJournalLines', '$LedgerTransLines'.'$GeneralJournalLines'.RecId='$LedgerTransLines'.'$GeneralJournalAccountLines'.GeneralJournalEntry)): Запись
---$LedgerDimension:Вычисляемое поле = WHERE('$LedgerTransLines'.'$GeneralJournalAccountLines'.'LedgerDimension.Dimension'.'Main account and dimensions', '$LedgerTransLines'.'$GeneralJournalAccountLines'.'LedgerDimension.Dimension'.'Main account and dimensions'.Value.Code<>""): Список записей

И мапплю на модель это список
Transactions(Проводки):Список записей = @.'$GeneralJournalAccountFilter'
то при проверке ошибок нет, но при выполнении на каждую запись выдается ошибка
Вычисление выражения для пути "$LedgerDimension".
---LedgerDimension.Dimension/Main account and dimensions
------Элемент "LedgerDimension.Dimension" конфигурации "1" не найден.


Проверял и для других таблиц где есть поле типа LedgerDimension - результат тот же - если список получен функцией FILTER - то структура Финаналитики отрабатывает нормально; но если список получен функцией WHERE - то обращение к элементу Финаналитики приводит к ошибке во время выполнения с ничего не объясняющим сообщением.
Может кто-то сталкивался с такой ситуацией и знает возможность ее обойти?
Старый 29.08.2021, 09:58   #480  
axm2017 is offline
axm2017
Участник
 
547 / 201 (8) ++++++
Регистрация: 15.05.2017
А зачем обходить?
Вроде как ms, если не ошибаюсь, рекомендуется использовать filter вместо where.
Теги
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, время: 20:06.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.