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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.11.2019, 10:06   #141  
axm2017 is offline
axm2017
Участник
 
145 / 143 (5) +++++
Регистрация: 15.05.2017
Цитата:
Сообщение от belugin Посмотреть сообщение
Тут скорее просто формальная логика (отношение между частным и общим).
Даже не рядом.

Как мне объяснить китайцу что он обязан для своего отчета сделать ровно такого же customer-а в модели, как уже есть?
Я нормальных слов на уровне пользователя не знаю.


Цитата:
Сообщение от belugin Посмотреть сообщение
Так же есть для любого формата возможность подмены модел меппинга на другой (не загружать тот, который не нужен или воспользоваться галочкой).
Что мешает расширить галочку до явного указания для конкретного формата что брать (по факту он есть в зачаточном виде (галочка default))? Ну кроме лени?

Цитата:
Сообщение от belugin Посмотреть сообщение
Если формат будет зависеть от конкретного меппинга этой возможности не будет.
Он и сейчас зависит. Только жестко. Если в системе несколько маппингов по customer то работать может только один. Доработка для того чтобы в системе работал не один, а несколько маппингов вполне логична.

Цитата:
Сообщение от belugin Посмотреть сообщение
Просто вам эта возможность, наверное, не нужна.
У меня мнение что не просто нужна а необходима, так как не могу нормально работать со сторонними коллегами: они должны делать копию customer, чтобы гарантировать что маппинг по их отчету будет работать нормально.
customer
customer_1
..
customer_20
в модели будет смотреться шикарно.
Ну и как уже написал мне тяжело объяснять пользователям почему им нельзя использовать root с модели, поставляемой MS.


Цитата:
Сообщение от belugin Посмотреть сообщение
Скорее всего вам либо придется декомпилировать и рекомпилировать С# код либо это не будет поддерживать импорт экспорт в XML либо будет использовать какой-то backdoor, который будет не совместим с какими-то изменениями в новых версиях.
Рад что вы сделали черный ящик без возможности доработок, но как реально обстоит дело посмотрим ближе к теме + надо посмотреть творчество китайских коллег которые по слухам отпочковались от ER.

Цитата:
Сообщение от belugin Посмотреть сообщение
Или делать меппинги совместимыми между собой.
Это как?

Цитата:
Сообщение от belugin Посмотреть сообщение
Примеры в аттаче (оно все на LCS должно быть)
Вопрос не в том что в LCS, а в работоспособности.

Последний раз редактировалось axm2017; 28.11.2019 в 10:30.
Старый 02.12.2019, 21:25   #142  
EVGL is offline
EVGL
Moderator
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,885 / 2386 (87) +++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от axm2017 Посмотреть сообщение
На уровне идей
как то типа
вызвать какой то strRep с количеством из строки и далее применить к этому er-овский split на сколько помню получим list по которому и можно бегать.Просто нет аксапты под рукой не могу попробовать.
Работает:
Нажмите на изображение для увеличения
Название: ReplicatingRecords.PNG
Просмотров: 48
Размер:	105.4 Кб
ID:	12494
За это сообщение автора поблагодарили: axm2017 (3), trud (3).
Старый 03.12.2019, 12:26   #143  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
312 / 292 (10) ++++++
Регистрация: 27.02.2006
Адрес: Дания
Помогите разобраться.

Нужно сделать так, чтобы ProjInvoiceRevenue записи, связанные с ProjInvoiceJour, фильтровались по кастомному полю, скажем XYZHideLine. В стандарте такая формула:



Пробовал изменить ее на:

WHERE(ProjInvoiceJour.'<Relations'.ProjInvoiceRevenue,ProjInvoiceJour.'<Relations'.ProjInvoiceRevenue.XYZHideLine=Enums.NoYes.No)

но в итоге просто возвращается первая запись, которая к тому же не соответствует критерию.

Как правильно фильтровать в этом случае?
Старый 03.12.2019, 12:47   #144  
EVGL is offline
EVGL
Moderator
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,885 / 2386 (87) +++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Я у себя объявил такую переменную:
$ProcurementCategory =

FIRSTORNULL(FILTER(ProjTable.'$ItemRequirements'.'>Relations'.InventTable.'<Relations'.EcoResProductCategory, ProjTable.'$ItemRequirements'.'>Relations'.InventTable.'<Relations'.EcoResProductCategory.CategoryHierarchy = '$ProcurementHierarchyRecId'.CategoryHierarchy))

и присвоил ее ветке модели. Работает.
За это сообщение автора поблагодарили: Stitch_MS (5).
Старый 03.12.2019, 18:39   #145  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
312 / 292 (10) ++++++
Регистрация: 27.02.2006
Адрес: Дания
В итоге оказалось, что там уже была такая переменная, чтобы фильтровать по другому полю, и мне всего-лишь пришлось добавить AND в этот WHERE.
Старый 03.12.2019, 19:00   #146  
axm2017 is offline
axm2017
Участник
 
145 / 143 (5) +++++
Регистрация: 15.05.2017
Цитата:
Сообщение от Stitch_MS Посмотреть сообщение
В итоге оказалось, что там уже была такая переменная, чтобы фильтровать по другому полю, и мне всего-лишь пришлось добавить AND в этот WHERE...
Чисто теоретически, если вы поправили при этом "стандартный" маппинг то это может "сломать" другие форматы.
Старый 03.12.2019, 20:17   #147  
Libovs is offline
Libovs
Участник
 
69 / 39 (2) +++
Регистрация: 26.03.2018
В модели ОС (Fixed assets model) описана
$Books:Вычисляемое поле = IF(ISEMPTY(AssetTable.'<Relations'.'AssetBook.AssetTable_AssertId'), EMPTYLIST(AssetTable.'<Relations'.'AssetBook.AssetTable_AssertId'), AssetTable.'<Relations'.'AssetBook.AssetTable_AssertId'): Список записей: DataContainerList (): DataContainerList ()
как я понимаю определяет список записей из таблицы AssetBook, связанных с текущей записью AssetTable по Relations AssetTable_AssetId (AssetBook.AssertId == AssetTable.AssertId)
Есть таблица LedgerJournalTrans_Asset у которой полностью идентичный Relations AssetTable_AssertId (LedgerJournalTrans_Asset.AssertId == AssetTable.AssertId). Нужно получить из нее список связанных записей.
В формате добавляю вычисляемое поле JournalTrans и задаю для него формулу
Нажмите на изображение для увеличения
Название: FA1.jpg
Просмотров: 18
Размер:	194.2 Кб
ID:	12495
IF(ISEMPTY(AssetTable.'<Relations'.'LedgerJournalTrans_Asset.AssetTable_AssertId'), EMPTYLIST(AssetTable.'<Relations'.'LedgerJournalTrans_Asset.AssetTable_AssertId'), AssetTable.'<Relations'.'LedgerJournalTrans_Asset.AssetTable_AssertId')
При сохранении - ошибка: Неверная ссылка "AssetTable/<Relations/LedgerJournalTrans_Asset.AssetTable_AssertId".
Нажмите на изображение для увеличения
Название: FA2.jpg
Просмотров: 17
Размер:	215.5 Кб
ID:	12496
Что я делаю неправильно? Подскажите, пожалуйста.
Старый 03.12.2019, 21:05   #148  
EVGL is offline
EVGL
Moderator
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,885 / 2386 (87) +++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Вы делаете неправильно ВСЕ. В конструкторе формул ФОРМАТА принципиально нельзя оперировать таблицами, это можно делать только в маппинге модели.
Старый 04.12.2019, 00:54   #149  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
312 / 292 (10) ++++++
Регистрация: 27.02.2006
Адрес: Дания
Цитата:
Сообщение от axm2017 Посмотреть сообщение
Чисто теоретически, если вы поправили при этом "стандартный" маппинг то это может "сломать" другие форматы.
Я всего-лишь добавил фильтр, который понадобился бы для всех форматов на этом клиенте, если бы их было было больше одного.
Старый 04.12.2019, 08:33   #150  
axm2017 is offline
axm2017
Участник
 
145 / 143 (5) +++++
Регистрация: 15.05.2017
Цитата:
Сообщение от EVGL Посмотреть сообщение
Вы делаете неправильно ВСЕ. В конструкторе формул ФОРМАТА принципиально нельзя оперировать таблицами, это можно делать только в маппинге модели.
Нельзя или не рекомендуется?

Нажмите на изображение для увеличения
Название: Format and table.png
Просмотров: 14
Размер:	76.4 Кб
ID:	12498
Старый 04.12.2019, 11:51   #151  
Libovs is offline
Libovs
Участник
 
69 / 39 (2) +++
Регистрация: 26.03.2018
Цитата:
Сообщение от EVGL Посмотреть сообщение
Вы делаете неправильно ВСЕ. В конструкторе формул ФОРМАТА принципиально нельзя оперировать таблицами, это можно делать только в маппинге модели.
Вообще говоря, такое предположение у меня было. Но тогда непонятно, почему в конструкторе форматов доступны кнопки Добавить корень / Добавить - Добавить источник данных и можно выбрать любой объект - таблицу, класс, записи таблицы и т.п.
Если в конструкторе форматов можно ТОЛЬКО сопоставлять поля/теги шаблона с элементами модели, то почему все эти кнопки/функции доступны на форме?

И такой вопрос: в природе существует какая-то документация кроме
https://docs.microsoft.com/ru-ru/dyn...onic-reporting ?
Тут более-менее информативны только разделы связанные с администрированием, а по созданию моделей и форматов только "нажмите кнопку - введите значение". Почему именно эту кнопку нажимать? Почему именно это значение выбирать? Что будет если выбрать другое значение?
И это позиционируется как инструмент для не-программиста?
Старый 04.12.2019, 12:39   #152  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,334 / 2526 (93) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Цитата:
Сообщение от Libovs Посмотреть сообщение
Вообще говоря, такое предположение у меня было. Но тогда непонятно, почему в конструкторе форматов доступны кнопки Добавить корень / Добавить - Добавить источник данных и можно выбрать любой объект - таблицу, класс, записи таблицы и т.п.
Если в конструкторе форматов можно ТОЛЬКО сопоставлять поля/теги шаблона с элементами модели, то почему все эти кнопки/функции доступны на форме?
Технически их можно сделать, это должно работать так же как как и в меппинге моделей. Это не рекомендуется. Насколько я помню, если не хочется их видеть, можно убрать у соответствующего пользователя роль разработчика ER оставив роль функционального консультанта или выключить Show Details - будет упрощенный режим.

Цитата:
И такой вопрос: в природе существует какая-то документация кроме
https://docs.microsoft.com/ru-ru/dyn...onic-reporting ?
Тут более-менее информативны только разделы связанные с администрированием, а по созданию моделей и форматов только "нажмите кнопку - введите значение". Почему именно эту кнопку нажимать? Почему именно это значение выбирать? Что будет если выбрать другое значение?
И это позиционируется как инструмент для не-программиста?
Я не знаю других источников. Там есть разделы как обще-информативного характера и step-by-step.

Вот пример раздела первого типа, где содержится описание рекомендуемого подхода:

документация:

Although GER allows for direct mapping of format components to database artifacts (tables or data entities), we don't recommend this approach, because it's likely that multiple formats will be maintained in some business domain areas that use the same data sources. Whenever the structure of such database artifacts is changed, the format mapping to the database artifacts must also be changed, and the cost of these changes will be multiplied by the number of maintained formats. Therefore, we recommend that you work through the data model as the abstract description of the domain-specific data structure, and that you use the direct binding of format elements to database components only for simplification and for coverage for specific customizations (for example, to refer to custom tables when these references are required in a limited number of maintained formats).

Некоторые шаги во разделах второго типа содержат пояснения.

Мы работаем над реструктуризацией документации, но я не могу сказать, когда вы сможете увидеть результаты этого.
__________________
https://axcoder.github.io
Старый 04.12.2019, 12:47   #153  
axm2017 is offline
axm2017
Участник
 
145 / 143 (5) +++++
Регистрация: 15.05.2017
Так как слегка сталкиваюсь с ЕР + скучно, осмелюсь ответить.

Цитата:
Сообщение от Libovs Посмотреть сообщение
Вообще говоря, такое предположение у меня было. Но тогда непонятно, почему в конструкторе форматов доступны кнопки Добавить корень / Добавить - Добавить источник данных и можно выбрать любой объект - таблицу, класс, записи таблицы и т.п.
Если в конструкторе форматов можно ТОЛЬКО сопоставлять поля/теги шаблона с элементами модели, то почему все эти кнопки/функции доступны на форме?
Потому что можно добавлять и использовать. Хотя не рекомендуется: почему хз.

Цитата:
Сообщение от Libovs Посмотреть сообщение
И такой вопрос: в природе существует какая-то документация кроме
https://docs.microsoft.com/ru-ru/dyn...onic-reporting ?
Вроде есть видео.

Цитата:
Сообщение от Libovs Посмотреть сообщение
И это позиционируется как инструмент для не-программиста?
Да, и в общем и целом это вполне может покатить (как Excel). Проблема с документацией решается, подозреваю, одним человечко-месяцем на нормальную документацию, но видимо у МС нет ресурсов.
Старый 04.12.2019, 12:53   #154  
Libovs is offline
Libovs
Участник
 
69 / 39 (2) +++
Регистрация: 26.03.2018
Цитата:
Сообщение от belugin Посмотреть сообщение
Технически их можно сделать, это должно работать так же как как и в меппинге моделей. Это не рекомендуется. Насколько я помню, если не хочется их видеть, можно убрать у соответствующего пользователя роль разработчика ER оставив роль функционального консультанта или выключить Show Details - будет упрощенный режим.
Вопрос не в "не хочется их видеть". Я бы сформулировал так: не хочется трогать базовую модель. На одной модели реализуется десятки-сотни конкретных документов/отчетов. И если для построения конкретного отчета в модели не хватает каких-то данных, то при настройке формата конкретно этого документа добавить недостающий источник данных (таблицу), "увязать" ее с корневым элементом модели и использовать при выводе в отчет.
Это в принципе возможно? Есть смысл "методом тыка" пытаться в этом разобраться или это априори бесперспективно?
Старый 04.12.2019, 13:07   #155  
Libovs is offline
Libovs
Участник
 
69 / 39 (2) +++
Регистрация: 26.03.2018
Конкретную ситуацию я описал выше:
- в модели ОС корневой элемент AssetTable;
- $Books - список записей из таблицы AssetBook, связанных по Relations с текущей записью AssetTable.

Есть таблица LedgerJournalTrans_Asset с абсолютно идентичным Relations с AssetTable, но в модели ее нет.

Возможно ли в формате, а не в модели, добавить ее как источник данных, аналогично AssetBook?

Если хотя бы теоретически "это должно работать так же как как и в меппинге моделей", то можете ли схематично подсказать последовательность действий? А я уже попробую.
Старый 04.12.2019, 13:15   #156  
Libovs is offline
Libovs
Участник
 
69 / 39 (2) +++
Регистрация: 26.03.2018
Цитата:
Сообщение от EVGL Посмотреть сообщение
Вы делаете неправильно ВСЕ. В конструкторе формул ФОРМАТА принципиально нельзя оперировать таблицами, это можно делать только в маппинге модели.
Вот теперь я в полной растерянности. "ВСЕ неправильно" - может это и справедливо, не могу судить, но тогда КАК правильно?

Стоит ли пробовать все-таки это сделать в формате или только в модели?
Старый 04.12.2019, 13:36   #157  
Libovs is offline
Libovs
Участник
 
69 / 39 (2) +++
Регистрация: 26.03.2018
Цитата:
Сообщение от belugin Посмотреть сообщение
Я не знаю других источников. Там есть разделы как обще-информативного характера и step-by-step.

Вот пример раздела первого типа, где содержится описание рекомендуемого подхода:

документация:

Although GER allows for direct mapping of format components to database artifacts (tables or data entities), we don't recommend this approach, because it's likely that multiple formats will be maintained in some business domain areas that use the same data sources. Whenever the structure of such database artifacts is changed, the format mapping to the database artifacts must also be changed, and the cost of these changes will be multiplied by the number of maintained formats. Therefore, we recommend that you work through the data model as the abstract description of the domain-specific data structure, and that you use the direct binding of format elements to database components only for simplification and for coverage for specific customizations (for example, to refer to custom tables when these references are required in a limited number of maintained formats).

Некоторые шаги во разделах второго типа содержат пояснения.

Мы работаем над реструктуризацией документации, но я не могу сказать, когда вы сможете увидеть результаты этого.
Я добросовестно прочитал все, что нам есть, честно. Но реальной пользы не вижу.
Пару простых вопросов:
- в каких случаях использовать "Добавить корень", а в каких "Добавить"?
- в чем отличие "Таблица" и "Записи таблицы" как источника данных?
- что такое "Поиск" среди источников данных
- нужно ли каждую таблицу добавлять как источник данных или только "корневую", а все связанные через relations определяются как "Вычисляемое поле"?
- где можно выполнять фильтрацию записей - только в модели или это можно сделать и в формате?

Вот пример вопросов, которые в первую очередь возникают у меня как не-программиста (хотя и с 30-летним опытом программирования, но в прошлом), на которые хотелось бы видеть ответы в документации - пусть одним-двумя абзацами, чисто концептуально.
А сейчас единственный доступный мне путь - изучать уже загруженные модели/форматы и пытаться понять, как оно работает.
За это сообщение автора поблагодарили: belugin (5).
Старый 04.12.2019, 13:43   #158  
Libovs is offline
Libovs
Участник
 
69 / 39 (2) +++
Регистрация: 26.03.2018
Цитата:
Сообщение от axm2017 Посмотреть сообщение
Так как слегка сталкиваюсь с ЕР + скучно, осмелюсь ответить.

Потому что можно добавлять и использовать. Хотя не рекомендуется: почему хз.
Не сочтите за нахальство, но если "сталкиваюсь с ЕР + скучно" - не подскажите, как мне попробовать реализовать то, что я описал выше?

"Неправильно ВСЕ" - не стимулирует у меня мыслительный процесс
Старый 04.12.2019, 14:07   #159  
axm2017 is offline
axm2017
Участник
 
145 / 143 (5) +++++
Регистрация: 15.05.2017
Цитата:
Сообщение от Libovs Посмотреть сообщение
- в каких случаях использовать "Добавить корень", а в каких "Добавить"?
Это касательно чего? Важен контекст.

В модели.
Root это корневая структура с которой собственно и можно организовывать mapping.

Для остального добавить в корень или так с ходу кроме логического удобства как правило не несет сильной смысловой нагрузки (хотя могут быть ньюансы).

Цитата:
Сообщение от Libovs Посмотреть сообщение
- в чем отличие "Таблица" и "Записи таблицы" как источника данных?
Если глянуть их в реальности то
В первом случае это лишь набор static методов таблицы
Нажмите на изображение для увеличения
Название: table.png
Просмотров: 12
Размер:	96.8 Кб
ID:	12500

во втором реальный запрос записей со всеми вытекающими (обычно используется с наложением фильтров через calculated field их кстати принято именовать как понимаю с префиксом $ так как это сулит удачу)
Нажмите на изображение для увеличения
Название: table records.png
Просмотров: 11
Размер:	103.2 Кб
ID:	12499

Цитата:
Сообщение от Libovs Посмотреть сообщение
- что такое "Поиск" среди источников данных
То же что и поиск в других местах. Реально при большом числе объектов и ужасном рабочем дизайне поиск выручает (хотя он тоже реализован кривовато)

Цитата:
Сообщение от Libovs Посмотреть сообщение
- нужно ли каждую таблицу добавлять как источник данных или только "корневую", а все связанные через relations определяются как "Вычисляемое поле"?
Как вам удобно. Мне удобнее через вычисляемые поля так как логика выборки порой меняется по результатам тестов и менять ее везде утомительно а в одном месте проще.

Цитата:
Сообщение от Libovs Посмотреть сообщение
- где можно выполнять фильтрацию записей - только в модели или это можно сделать и в формате?
Как удобнее имхо. Какие то custom вещи только для конкретного отчета по мне так удобнее может и на формате.

Цитата:
Сообщение от Libovs Посмотреть сообщение
А сейчас единственный доступный мне путь - изучать уже загруженные модели/форматы и пытаться понять, как оно работает.
Вопрос документации актуален да. Но по моим прикидкам повторюсь это месяц работы стажера имхо и видимо малореально так как MS загружено. Все жду когда они среду сделают удобной или хотя бы анонсируют.

Последний раз редактировалось axm2017; 04.12.2019 в 14:09.
Старый 04.12.2019, 14:15   #160  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,334 / 2526 (93) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Цитата:
Сообщение от Libovs Посмотреть сообщение
Я бы сформулировал так: не хочется трогать базовую модель.
Рекомендуемый способ для этого использовать свою модель и меппинг (см derive) yна основе существующей.

Нерекомендуемый способ: Технически возможно использовать источники данных на меппинге формата, только там нету источников данных с меппингов модели а только результат - сама модель.

Если вы можете использовать данные модели, то можно отбирать данные из источников с помощью функции FILTER: FILTER(MyTable, MyTable.AssetBookID = model.AssetBookID )
__________________
https://axcoder.github.io
Теги
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, время: 19:56.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.