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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.11.2019, 13:24   #121  
online
Libovs
Участник
 
63 / 39 (2) +++
Регистрация: 26.03.2018
Цитата:
Сообщение от belugin Посмотреть сообщение
Вот тут есть описание доступных функций.

Некоторые описания содержат ссылку на поддерживаемые форматы.
Спасибо. Теперь увидел, почему вчера у меня не получилось настроить использование функции NUMERALSTOTEXT
Старый 19.11.2019, 13:28   #122  
online
Libovs
Участник
 
63 / 39 (2) +++
Регистрация: 26.03.2018
Цитата:
Сообщение от axm2017 Посмотреть сообщение
А в версии какой модели вы работаете?
Что-то я "туплю". Версия модели Customer invoice model №1 от 01.08.2016 17:30:02
Старый 19.11.2019, 13:52   #123  
axm2017 is offline
axm2017
Участник
 
142 / 143 (5) +++++
Регистрация: 15.05.2017
Попробуй закачать крайний Invoice model и Ко + обрати внимание на теги в форматах.
Старый 19.11.2019, 17:16   #124  
wojzeh is offline
wojzeh
Участник
Аватар для wojzeh
Соотечественники
 
596 / 399 (15) ++++++
Регистрация: 27.04.2006
Адрес: Montreal
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
А вот теперь, объясните, какие преимущества мне, как разработчику, дает использование дополнительных посредников в виде SSRS, PowerBI, ну или вот нового инструмента ER ? Что может заставить меня перейти на эти инструменты, вместо прямого написания кода?
жизнь!

а если серьёзно, то напомни-ка, когда в последний раз на проектах внедрения кто-то вспоминал о "преимуществах для разработчика"?
__________________
Felix nihil admirari
За это сообщение автора поблагодарили: EVGL (3).
Старый 20.11.2019, 11:03   #125  
axm2017 is offline
axm2017
Участник
 
142 / 143 (5) +++++
Регистрация: 15.05.2017
Из забавного или не очень кстати осознал что связь между mapping и форматом крайне неустойчива в случае нескольких mapping.

Будьте бдительны!
Старый 20.11.2019, 14:41   #126  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,333 / 2525 (93) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Цитата:
Сообщение от axm2017 Посмотреть сообщение
Из забавного или не очень кстати осознал что связь между mapping и форматом крайне неустойчива в случае нескольких mapping.

Будьте бдительны!
Предполагается, что если формат хочет что-то особенное от данных, предоставляемых модел меппингом, то это отдельная модель данных или record definition.

Если при запуске возникает неопределенность - несколько меппингов реализуют один и тот же record definition одной и той же модели, то ER ругается. В такой ситуации можно поставить на меппинге галочку, чтобы предпочитали его, но это рантайм сеттинг - он не экспортируется в конфигурацию и его перенос между средами придется поддерживать вручную.
__________________
https://axcoder.github.io
Старый 20.11.2019, 15:05   #127  
axm2017 is offline
axm2017
Участник
 
142 / 143 (5) +++++
Регистрация: 15.05.2017
Цитата:
Сообщение от belugin Посмотреть сообщение
Предполагается, что если формат хочет что-то особенное от данных, предоставляемых модел меппингом, то это отдельная модель данных или record definition.
На мой взгляд это ппц как некорректно на уровне идеологии. И если честно не вижу особых проблем разрешить таки указывать каким либо образом какой mapping использует формат (раз default работает то технически это не сложно).

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

Для почти всех компаний использую формат ААA_ОбычныйЧеловек и маппинг A_Mapping

Но китайцы как всегда оказались вне кассы и хотят свой формат AAA_Китаец со своими данными которые получаю из маппинга B_Mapping

При этом китайцы выгружают список своим т.е формата AAA_Китаец так и другим то есть формата ААA_ОбычныйЧеловек.

Понятно что могу сделать копию А типа А_Китай в модели но выглядеть это будет извращением.

По факту получается что если какой то сторонний разработчик сделает маппинг и формат - протестит и по факту все будет хорошо, то закачав к себе в модель я могу сломать вывод всех своих форматов основанных на том же root так как подцепится не тот маппинг. А если их будет не один и не два?

Печаль, грусть, надо уйти в запой.

Последний раз редактировалось axm2017; 20.11.2019 в 15:13.
Старый 20.11.2019, 16:37   #128  
online
Libovs
Участник
 
63 / 39 (2) +++
Регистрация: 26.03.2018
В модели Customer invoice model два маппинга: Customer Invoice и Project Invoice.Я настроил 2 своих формата (xml и xls) на этой модели.
Я не разбирался, в чем отличия этих маппингов, но правильно ли я понял, что при построении отчетов потенциально могут быть проблемы из-за неоднозначности выбора используемого маппинга?
Старый 20.11.2019, 16:57   #129  
axm2017 is offline
axm2017
Участник
 
142 / 143 (5) +++++
Регистрация: 15.05.2017
Цитата:
Сообщение от Libovs Посмотреть сообщение
В модели Customer invoice model два маппинга: Customer Invoice и Project Invoice.Я настроил 2 своих формата (xml и xls) на этой модели.
Я не разбирался, в чем отличия этих маппингов, но правильно ли я понял, что при построении отчетов потенциально могут быть проблемы из-за неоднозначности выбора используемого маппинга?
В Вашем случае пока mapping ссылаются на разные root в модели (Project invoice и Customer invoice) проблем быть не должно. Но если их будет несколько на один root то будет неоднозначность. Так представляю.
Старый 20.11.2019, 17:40   #130  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,333 / 2525 (93) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Цитата:
Сообщение от axm2017 Посмотреть сообщение
Понятно что могу сделать копию А типа А_Китай в модели но выглядеть это будет извращением.
Почему? Модель данных это как интерфейс, формат - это как класс использующий интерфейс, меппинг модели, это как класс реализующий интерфейс.
__________________
https://axcoder.github.io
Старый 20.11.2019, 18:02   #131  
axm2017 is offline
axm2017
Участник
 
142 / 143 (5) +++++
Регистрация: 15.05.2017
Цитата:
Сообщение от belugin Посмотреть сообщение
Почему? Модель данных это как интерфейс, формат - это как класс использующий интерфейс, меппинг модели, это как класс реализующий интерфейс.
По мне так копипаст интерфейса по причине что не могу писать более одного класса для интерфейса - необычно.
Старый 20.11.2019, 19:56   #132  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,333 / 2525 (93) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Цитата:
Сообщение от axm2017 Посмотреть сообщение
По мне так копипаст интерфейса по причине что не могу писать более одного класса для интерфейса - необычно.
Писать вы можете. Только DI-контейнер приходится инструктировать, какую реализацию использовать.

При этом вы хотите чтобы сохранялся единый интерфейс, но некоторые его методы имплементировала одна реализация а некоторые другая. При этом каждый потребитель использовал свое подмножество методов.

Это все равно что два виртуальных интерфейса живущие внутри одного. Я вам предлагаю эти подмножества просто назвать отдельными именами - сам интерфейс можно получить через derive, а реализации и так две.
__________________
https://axcoder.github.io
Старый 20.11.2019, 20:15   #133  
axm2017 is offline
axm2017
Участник
 
142 / 143 (5) +++++
Регистрация: 15.05.2017
Уф. Сколько непонятных слов.

Попробую проще.
Вот в условном завтра внешний разработчик пришлёт мне свой маппинг и формат. Как понимаю залить я не смогу не сломав ничего. И это архитектура такая. Круто чо.

Интерфейс я не меняю. Однако теперь вынужден его дублировать. Дерайв это наследование? как понимаю тоже дублирование только с ещё кучей неизвестных.
Старый 26.11.2019, 16:13   #134  
EVGL is offline
EVGL
Moderator
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,883 / 2385 (87) +++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Вопрос знатокам: как реплицировать record заданное, динамическое количество раз? Стоит задача для строки заказа с количеством 5 напечатать 5 раз строку с количеством 1.
Старый 26.11.2019, 16:50   #135  
axm2017 is offline
axm2017
Участник
 
142 / 143 (5) +++++
Регистрация: 15.05.2017
На уровне идей
как то типа
вызвать какой то strRep с количеством из строки и далее применить к этому er-овский split на сколько помню получим list по которому и можно бегать.Просто нет аксапты под рукой не могу попробовать.

Последний раз редактировалось axm2017; 26.11.2019 в 16:53.
За это сообщение автора поблагодарили: EVGL (5).
Старый 26.11.2019, 17:13   #136  
EVGL is offline
EVGL
Moderator
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,883 / 2385 (87) +++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Верно. В теории, получится список из строк длиной в одну букву внутри одной записи. LISTJOIN же разнородные списки не соединяет. Хотя мы действительно можем "бегать" по списку внутри записи, а сама запись становится "родителем". Надо попробовать.
Старый 27.11.2019, 09:57   #137  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,333 / 2525 (93) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Цитата:
Сообщение от axm2017 Посмотреть сообщение
Интерфейс я не меняю.
С моей точки зрения меняете - интерфейс это не только методы и их типы но и полный контракт - набор ожиданий от пользователя. см также LSP

derive это что-то типа бранчинга. В лукапах derived модель рассматривается как и базовая - т.е. будут видны форматы ссылающиеся на базовую и на derived.
__________________
https://axcoder.github.io

Последний раз редактировалось belugin; 27.11.2019 в 10:02.
Старый 27.11.2019, 10:07   #138  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,333 / 2525 (93) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Цитата:
Сообщение от EVGL Посмотреть сообщение
Верно. В теории, получится список из строк длиной в одну букву внутри одной записи. LISTJOIN же разнородные списки не соединяет. Хотя мы действительно можем "бегать" по списку внутри записи, а сама запись становится "родителем". Надо попробовать.
Если поместить calculated field, ссылающийся на запись, которую надо реплицировать внутрь такого списка, то получится вроде то, что нужно
__________________
https://axcoder.github.io
Старый 27.11.2019, 23:50   #139  
axm2017 is offline
axm2017
Участник
 
142 / 143 (5) +++++
Регистрация: 15.05.2017
Цитата:
Сообщение от belugin Посмотреть сообщение
С моей точки зрения меняете - интерфейс это не только методы и их типы но и полный контракт - набор ожиданий от пользователя. см также LSP
Открою секрет: у нас модели делают пользователи. Вроде и на лекциях такое толкают. И для них большой сюрприз что им нужно мышление программиста.

Для меня как для программиста тоже не все так просто так как по факту вы жёстко задаёте связку между рутом и маппингом: один рут модели - только один маппинг.
Это как минимум забавно. Для меня лично это загадка и я бы выбрал другое архитектурные решение. Может если дадут свободу и время то доработаю (сделаю связку маппинг-формат с возможностью смены маппинга) так как не вижу никаких + столь странного выбора а вот - хоть отбавляй типа автоматически кастомерам можно дать рекомендацию не использовать не свои руты чужих моделей, так как есть угроза что закачка какого то чужого маппинга сломает их форматы построенные на основе этого рута.

Всё это по мне так печально.
Derive как понимаю вы имеете ввиду Child. Риски работы с ними у нас не оценены, пока поэтому не используем. Увидим живые примеры от мс обрадуется и может подумаем.

Последний раз редактировалось axm2017; 28.11.2019 в 00:02.
Старый 28.11.2019, 08:50   #140  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,333 / 2525 (93) +++++++++
Регистрация: 16.01.2004
Адрес: Москва
Записей в блоге: 5
Цитата:
Сообщение от axm2017 Посмотреть сообщение
И для них большой сюрприз что им нужно мышление программиста.
Тут скорее просто формальная логика (отношение между частным и общим).


Цитата:
Для меня как для программиста тоже не все так просто так как по факту вы жёстко задаёте связку между рутом и маппингом: один рут модели - только один маппинг.
Это как минимум забавно.
Нет, не один. Один на одной системе. Первоначально, насколько я помню, была возможность делать только меппинги встроенные в ту же конфигурацию, что и модель. Хочется завести вариацию - derive. Потом возникла необходимость поддерживать разные меппинги для одной и той же модели на разных версиях - появились конфигурации, содержащие только меппинги. Благодаря пререквизитам один меппинг мог загружаться только на ону версию, другой только на другую.

Еще на Ax2012 роль меппинга для той же модели играет просто класс-провайдер данных.

Так же есть для любого формата возможность подмены модел меппинга на другой (не загружать тот, который не нужен или воспользоваться галочкой).
Если формат будет зависеть от конкретного меппинга этой возможности не будет.

Просто вам эта возможность, наверное, не нужна.

Цитата:
Для меня лично это загадка и я бы выбрал другое архитектурные решение. Может если дадут свободу и время то доработаю (сделаю связку маппинг-формат с возможностью смены маппинга) так как не вижу никаких + столь странного выбора
Скорее всего вам либо придется декомпилировать и рекомпилировать С# код либо это не будет поддерживать импорт экспорт в XML либо будет использовать какой-то backdoor, который будет не совместим с какими-то изменениями в новых версиях.

Цитата:
а вот - хоть отбавляй типа автоматически кастомерам можно дать рекомендацию не использовать не свои руты чужих моделей, так как есть угроза что закачка какого то чужого маппинга сломает их форматы построенные на основе этого рута.
Или делать меппинги совместимыми между собой.

Цитата:
Derive как понимаю вы имеете ввиду Child. Риски работы с ними у нас не оценены, пока поэтому не используем. Увидим живые примеры от мс обрадуется и может подумаем.
Примеры в аттаче (оно все на LCS должно быть)
Миниатюры
Нажмите на изображение для увеличения
Название: Annotation 2019-11-28 084233.png
Просмотров: 24
Размер:	101.8 Кб
ID:	12487  
__________________
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, время: 14:50.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.