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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.02.2019, 14:23   #1  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
597 / 159 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
D365FO Добавить новое поле в TAE policies
В AX есть замечательный framework под названием "Trade agreement evaluation (TAE) policies". Его задача спрашивать пользователя на формах "Заказ на продажу", "Заказ на покупку" и др. необходимо ли обновить вручную введенные значения цены или скидки значениями из "Trade agreements" при изменении кол-ва например.

Для того чтобы добавить кастомное поле в этот framework необходимо сначала добавить это поле в Map PriceDiscResultFields. Создать экстеншин для объекта Map в D365FO нельзя. Как быть?

Последний раз редактировалось Morpheus; 04.02.2019 в 14:32.
Старый 04.02.2019, 14:31   #2  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
284 / 276 (10) ++++++
Регистрация: 27.02.2006
Адрес: Дания
Маппинг же перенесли на таблицы, а таблицы вроде как можно расширять. См. таблицу PurchLine\Mappings\PriceDiscResultFields
Старый 04.02.2019, 14:34   #3  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
597 / 159 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
Цитата:
Сообщение от Stitch_MS Посмотреть сообщение
Маппинг же перенесли на таблицы, а таблицы вроде как можно расширять. См. таблицу PurchLine\Mappings\PriceDiscResultFields
Необходимо сначала добавить новое поле в Map PriceDiscResultFields. Как это сделать?
Старый 04.02.2019, 14:42   #4  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
284 / 276 (10) ++++++
Регистрация: 27.02.2006
Адрес: Дания
А, не понял сначала. Да там баг, похоже. Если нажать правой кнопкой на PriceDiscResultFields и выбрать Create extension, ничего не происходит. Если Create extension in new project, проект создается, но пустой.
Старый 04.02.2019, 16:37   #6  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
597 / 159 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
Цитата:
Сообщение от EVGL Посмотреть сообщение
Может, https://docs.microsoft.com/en-us/dyn...ty-changes-812 попробовать?
Спасибо за совет! К сожалению ответ на мой вопрос не нашел.
Старый 04.02.2019, 17:23   #7  
EVGL is offline
EVGL
Moderator
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,761 / 2292 (84) +++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Якобы они эту таблицу переделали для лучшей расширяемости.
Старый 05.02.2019, 12:18   #8  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
597 / 159 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
Метод PriceDiscLinePolicyRule.canCreateFixedPolicy() в качестве параметра принимает поле объекта Map PriceDiscResultFields (метод показан ниже).

Какую таблицу Вы имеете ввиду?

Миниатюры
Нажмите на изображение для увеличения
Название: Capture3.JPG
Просмотров: 113
Размер:	105.2 Кб
ID:	12203  
Старый 06.02.2019, 11:33   #9  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
597 / 159 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
На диаграмме показано, что Map является ключевым объектом в дизайне.

Миниатюры
Нажмите на изображение для увеличения
Название: Capture4.JPG
Просмотров: 94
Размер:	127.8 Кб
ID:	12206  
Старый 06.02.2019, 12:42   #10  
Stitch_MS is offline
Stitch_MS
Участник
Аватар для Stitch_MS
Соотечественники
 
284 / 276 (10) ++++++
Регистрация: 27.02.2006
Адрес: Дания
Трясите Майкрософт. Пункт меню "Create extension" есть, папка "K:\AosService\PackagesLocalDirectory\ApplicationSuite\Foundation\AxMapExtension" есть, а узла AOT\Data Model\Map Extensions" нет. Наверное, еще не доделали.
Старый 06.02.2019, 16:07   #11  
EVGL is offline
EVGL
Moderator
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,761 / 2292 (84) +++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Я посмотрел в 10.0: каких-то радикальных изменений не видно. Попробуйте взять в заложники существующее, но не использованное поле. Например, MultiLineDiscCode. Обновлять его из того, которое вам нужно и использовать для переноски информации.
Нажмите на изображение для увеличения
Название: PriceDiscPolicyRule.jpg
Просмотров: 21
Размер:	312.9 Кб
ID:	12207
Старый 06.02.2019, 16:09   #12  
Morpheus is offline
Morpheus
Участник
Аватар для Morpheus
Соотечественники
 
597 / 159 (7) ++++++
Регистрация: 30.03.2005
Адрес: Київ-København-Düsseldorf
Здесь объясняется почему расширение объекта Map может приводить к runtime исключениям. Остается надеяться, что Microsoft выполнит когданибудь рефакторинг фрэймворка TAE, после чего его можно будет расширять на кастомные поля.

Последний раз редактировалось Morpheus; 06.02.2019 в 17:13.
Старый 06.02.2019, 21:01   #13  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
585 / 593 (21) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Может я глупость спрошу, но нельзя ли туда свой map добавить? Вместо того чтобы расширять существующий ?
Старый 07.02.2019, 00:54   #14  
EVGL is offline
EVGL
Moderator
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,761 / 2292 (84) +++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от skuull Посмотреть сообщение
Может я глупость спрошу, но нельзя ли туда свой map добавить? Вместо того чтобы расширять существующий ?
Это я ради интереса проверил. На SalesLine нельзя повесить дважды один и тот же map.
Старый 07.02.2019, 04:42   #15  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
585 / 593 (21) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Цитата:
Сообщение от EVGL Посмотреть сообщение
Это я ради интереса проверил. На SalesLine нельзя повесить дважды один и тот же map.
Зачем туже самую? Новую Мапу, я мельком посмотрел, там в кеш классе список с мапами и его создают в wrapable методе, значит ожидается что можно список дополнить. Да и policyField поидее может вернуть другую Мапу. Но я не проверял.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
добавить поле в dialog класса JuniorAx DAX: Программирование 8 26.09.2012 16:01
Добавить поле в таблицу Manner DAX: Программирование 5 27.02.2008 08:13
Отчет "В наличии". Как добавить новое условие Range ATimTim DAX: Функционал 5 13.08.2005 13:26
Как добавить поле в фильтре отчета OliaM DAX: Функционал 4 06.10.2004 10:50
Добавить поле в таблицу -> обновление Datasource Surok DAX: Программирование 1 21.10.2002 14:03
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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