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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.03.2019, 18:26   #1  
klimova_m is offline
klimova_m
Участник
 
43 / 18 (1) ++
Регистрация: 17.11.2008
Адрес: С.Петербург
D365FO: Data entity import: импорт нередактируемого поля
Всем доброго дня, нужна помощь вот в каком вопросе (D365FO).


Необходимо создать DataEntity для импорта таблицы KMCollection, чтобы можно было добавлять новые записи. Проблема в том, что поле kmCollectionId в таблице нередактируемое. И при попытке импорта система ругается, что поле kmCollectionId в DataEntity "cannot be updated".


Свойства AllowEdit для поля в entity и stagingTable изменены, результата никакого.



Таблица стандартная, поменять свойство поля на allowEdit нельзя, да и не хочется.


Какие есть нормальные способы решения вопроса?


Заранее спасибо!
__________________
Ты лучше голодай, чем что попало есть,
И лучше будь один, чем вместе с кем попало.
Старый 28.03.2019, 18:55   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,311 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Ну а если в самой Entity в коде в явном виде прописать это присвоение? Например, в методе mapEntityToDatasource?
__________________
Возможно сделать все. Вопрос времени
Старый 28.03.2019, 19:09   #3  
klimova_m is offline
klimova_m
Участник
 
43 / 18 (1) ++
Регистрация: 17.11.2008
Адрес: С.Петербург
То есть добавить виртуальное поле, не связанное с kmCollectionId, и значение записывать в настоящее поле в коде? Виртуальное поле для первичного ключа не очень работает, но попробовать можно, спасибо!
__________________
Ты лучше голодай, чем что попало есть,
И лучше будь один, чем вместе с кем попало.
Старый 28.03.2019, 19:28   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,311 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Да, именно так. Конечно не надо новое виртуальное поле включать в ключ
__________________
Возможно сделать все. Вопрос времени
Старый 28.03.2019, 22:25   #5  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Пробовали сделать его редактируемым в ентити и такой метод дописать ?
X++:
public void persistEntity(DataEntityRuntimeContext _entityCtx)
{
    his.skipDataSourceValidateField(fieldNum(MyEntityName, MyField), true);

    super(_entityCtx);
}

Последний раз редактировалось skuull; 28.03.2019 в 23:24.
За это сообщение автора поблагодарили: trud (5), sukhanchik (4), Ar (1), klimova_m (1).
Старый 29.03.2019, 08:51   #6  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,311 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от skuull Посмотреть сообщение
Пробовали сделать его редактируемым в ентити и такой метод дописать ?
Какой однако интересный способ, о котором мало чего написано...
Оставлю здесь пару ссылочек с упоминанием про использование этого метода.
https://stoneridgesoftware.com/data-...perations-ax7/
https://ievgensaxblog.wordpress.com/...entity-import/
__________________
Возможно сделать все. Вопрос времени
Старый 29.03.2019, 12:30   #7  
skuull is offline
skuull
Участник
Most Valuable Professional
Лучший по профессии 2014
 
700 / 752 (27) +++++++
Регистрация: 08.03.2013
Адрес: ХЗ
Спасибо за ссылку на мой блог конечно, но оба блога совсем не о том
Вся магия в skipDataSourceValidateField. persistEntity вызываеться реже чем mapEntityToDataSource, но это не мешает вам воткнуть skipDataSourceValidateField в mapEntityToDataSource и он тоже должен работать.
Правильная ссылка на docs: https://docs.microsoft.com/en-us/dyn...ation-behavior
За это сообщение автора поблагодарили: sukhanchik (6), ax_mct (5).
Старый 29.03.2019, 12:34   #8  
klimova_m is offline
klimova_m
Участник
 
43 / 18 (1) ++
Регистрация: 17.11.2008
Адрес: С.Петербург
О, это мне нравится куда больше, спасибо большое! Сейчас попробую
__________________
Ты лучше голодай, чем что попало есть,
И лучше будь один, чем вместе с кем попало.
Старый 29.03.2019, 13:49   #9  
klimova_m is offline
klimova_m
Участник
 
43 / 18 (1) ++
Регистрация: 17.11.2008
Адрес: С.Петербург
Да, прекрасно работает.
__________________
Ты лучше голодай, чем что попало есть,
И лучше будь один, чем вместе с кем попало.
Теги
d365fo, dataentity

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
stoneridgesoftware: Automated Data Entity Import Using DIXF in Dynamics AX Blog bot DAX Blogs 0 07.08.2017 20:19
atinkerersnotebook: Creating New Customer Notifications for Dynamics 365 for Operations using Flow and the Common Data Service Blog bot DAX Blogs 0 15.12.2016 22:12
atinkerersnotebook: Using PowerPivot to Analyze Dynamics AX Data Blog bot DAX Blogs 1 05.10.2013 07:23
palleagermark: Bug in Data Import Export Framework (DIEF) when adding entity for InventParameters Blog bot DAX Blogs 0 21.08.2013 17:11
axsa: Microsoft Dynamics AX 2012 Data Import/Export Framework (Old name - Data Migration Framework) is now available on Information source Blog bot DAX Blogs 0 16.03.2013 15:12

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:46.