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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.12.2016, 16:05   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
ax7. а кто, как и когда должен обновлять поля в Stage-таблице и в DataEntity?
ax7

Ткните меня носом, пожалуйста, в методику добавления полей к таблицам,
для которых есть dataEntity.

Для примера возьмем тривиальную таблицу BankAccountTable
для этой таблицы есть DataEntity: BankAccountEntity
эта DataEntity использует Stage-таблицу: BankAccountStaging

Предположим, мне нужно добавить поле в таблицу BankAccountTable
а кто, как и когда должен обновлять поля в Stage-таблице и в DataEntity?
Старый 27.12.2016, 17:27   #2  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,158 / 1286 (47) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Вроде бы немного есть вот тут:
https://www.youtube.com/watch?v=jdp56ZdbX80
Правда там докладчик немного сам запутался.
За это сообщение автора поблагодарили: mazzy (2), iCloud (2).
Старый 27.12.2016, 17:54   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
спасибо, посмотрю. интересный канал, подписался.

мне подсказали путь:

если в исходной таблице было добавлено поле,
то
1. добавить mapping-поле во все data entity
2. правой кнопкой мыши на data entity и нажать на Update Staging Table на каждой затронутой data entity

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

кроме того, в системе контроля версий,
разработчик должен будет засабмитить и все затронутые dataEntity, и все затронутые stage-таблицы...

я то надеялся на какое-то автоматизированное средство контроля.
типа автополей в query...

надо подумать.
Изображения
  
Старый 27.12.2016, 19:05   #4  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,490 / 1060 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Интереснее, если поля добавляются в Extension-ы, как в этом случае быть.
За это сообщение автора поблагодарили: mazzy (2).
Старый 27.12.2016, 23:06   #5  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Raven Melancholic Посмотреть сообщение
Вроде бы немного есть вот тут:
https://www.youtube.com/watch?v=jdp56ZdbX80
Правда там докладчик немного сам запутался.
мдя... немного, это правда.

на 30 минуте слушатель грамотно задает вопрос.
в вопросе намного больше 50% ответа.
Старый 28.12.2016, 20:25   #6  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от raz Посмотреть сообщение
Интереснее, если поля добавляются в Extension-ы, как в этом случае быть
Extend-ить data entity (извините за англицизмы) ?
__________________
-ТСЯ или -ТЬСЯ ?
Старый 28.12.2016, 21:15   #7  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,490 / 1060 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Цитата:
Сообщение от Vadik Посмотреть сообщение
Extend-ить data entity (извините за англицизмы) ?
Это понятно, но почему-то новое поле не получилось замапить. Причем, у себя на VM после добавления поля на таблицах (основной и stage) и в entity, в Import-е смог замапить, а вот на другой VM - нет, ругалось, что поле не enabled.
Старый 29.12.2016, 12:22   #8  
imir is offline
imir
Участник
 
159 / 161 (6) ++++++
Регистрация: 28.05.2010
А у меня получилось добавить, но поле в entity имеет засеренное свойство Save contents = No и в экселе не появляется. Короче как-то работать должно.
Старый 29.12.2016, 23:53   #9  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Mazzy, Entity - это же все таки твой публичный интерфейс для работы с данными. Соответственно поля там могут называться совершенно по-другому, чем в таблице. Entity может быть основана на нескольких таблицах, или даже View.
Поэтому было бы нелогичным авто-генерировать поле в таблице.
Для создания - есть Data Entity Wizard.

А вот что Staging таблицы надо вручную вызывать обновление - это да, не очень удобно.
Старый 30.12.2016, 09:56   #10  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от kashperuk Посмотреть сообщение
А вот что Staging таблицы надо вручную вызывать обновление - это да, не очень удобно
У "крупных" сущностей далеко не все поля из включенных таблиц выставлены наружу, хотя бы потому что просто добавить поле в общем случае недостаточно (ровно как и добавить parm метод в AIF в прошлых версиях). Надо протягивать инициализацию из связанных таблиц, где-то учиться разбирать ситуации "поле обновлено \ не обновлено \ обновлено пустым значением", запускать дополнительную бизнес-логику и валидации и т.д. Если уж делать, то делать правильно, и одними полями не отделаетесь
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: mazzy (2).
Старый 30.12.2016, 10:48   #11  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от kashperuk Посмотреть сообщение
...поля там могут....
Цитата:
Сообщение от Vadik Посмотреть сообщение
...далеко не все поля из включенных таблиц выставлены наружу...
Да, "могут".
Да, "не все".

я просто не очень понимаю почему нет режима авто.
как в query.

Цитата:
Сообщение от kashperuk Посмотреть сообщение
А вот что Staging таблицы надо вручную вызывать обновление - это да, не очень удобно.
именно.
хочется, чтобы было два варианта - авто и ручное обновление. как в query.
Старый 30.12.2016, 14:14   #12  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от mazzy Посмотреть сообщение
я просто не очень понимаю почему нет режима авто. как в query
Я уже вроде написал выше - в Query все относительно просто потому что он реализует только чтение. А для data entity тебе надо реализовать изменение так, чтобы результаты согласовались с поведением при изменении в UI, во всех комбинациях включения\выключения конфигурационных ключей, параметров модулей, стран и т.д. Это - код, много кода, и никакого режима "авто" здесь быть не может по определению
__________________
-ТСЯ или -ТЬСЯ ?
Старый 30.12.2016, 14:52   #13  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
да, я согласен с тобой, что реализовать непросто.
Цитата:
Сообщение от Vadik Посмотреть сообщение
и никакого режима "авто" здесь быть не может по определению
может быть конечно.
есть же формы, которые вполне могут обновлять. и поля там могут быть автоматическими, как в query
Теги
data entity, методика, ax7

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
daxmusings: Design-Compile-Run Part4: Paradigms in AX7 Blog bot DAX Blogs 0 25.05.2016 10:11
dynamicsax-fico: Invoice search AX2012 vs. AX7 (Part 2) Blog bot DAX Blogs 0 01.04.2016 10:11
Пропавшие поля в таблице Андре DAX: Программирование 10 03.03.2016 10:32
обновление поля в заданной таблице Eldar9x DAX: Программирование 7 13.03.2009 15:32
После перекрытия JumpRef поля на DataSource в контекстном меню так и не появился переход к основной таблице. Кирилл DAX: Программирование 7 01.02.2007 11:42
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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