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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.04.2011, 21:30   #26  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Maximin Посмотреть сообщение
при реализации конкретной необходимой функциональности, стройное дерево зависимостей инициализации полей, одну ветку из которого нарисовал mazzy, зачастую начинает обретать петли. Так бывает, когда задача ставится таким образом, что для окончательного определения значений конкретного поля, приходится сделать один "оборот" по такой петле, порой, даже насильственно перезаписывая уже единожды заполненное поле.
А можно пример такой ситуации с реальной таблицей и реальным полем, если только это не фин.аналитика? Изначально, как пишется везде в руководствах, задача AxBC-классов - подтягивание значений по умолчанию для одних полей в зависимости от тех или иных комбинаций значений других полей, заданных "извне". Если в заказе выбирается "счет на", то по нему можно автоматом подтянуть значение кода клиента, но если оно уже задано "извне", то нечего его перезатирать - это просто не входит в обязанности AxBC-классов. Если кто-то указал "неверное" значение поля, то это его право, но вылавливаться это должно на уровне validateField() или validateWrite(), а никак не на уровне класса, который должен подтягивать значения по умолчанию. Да, при импорте данных возникает сложность с тем, чтобы отличать, скажем, пустое значение и "отсутствие значения" (т.е. ситуацию, когда значение поля не надо задавать "извне", чтобы тот же AxBC-класс мог подтянуть корректное значение), но это уже немного другая тема. В том же .NET-е вполне себе справляются с такими ситуациями, успешно различая, когда задано пустое значение параметра и когда значение параметра "отсутствует".
Цитата:
Сообщение от Maximin Посмотреть сообщение
Так, забавна ситуация, когда в пришедшей по AIF записи какое-либо из полей заполнено неправильно (т.е. значение-то корректное, но в сочетании с другими полями - нет). Существующая реализация AIF такое поле уже перезаписать штатной обработкой не сможет, setField, вызываемый в процессе обработки записи, не будет записывать уже единожды записанное поле.
По-моему, это совершенно правильное поведение: если внешняя или внутренняя программная логика сочла нужным установить определенное значение поля, то нечего его перезаписывать, "решая" за эту программную логику, как правильно. Ошибка, если она и возникнет, должна, по-моему, решаться по факту на уровне этой программной логики.
Не везде такой подход применим, конечно, например, какая-нить настройка фиксированной аналитики в проверке аналитик для счетов ГК, из-за которой молча могут перезатираться аналитики в проводках по этим счетам, в эту идеологию явно не вписываются.
Теги
ax-классы, axbc, как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axinthefield: Dynamics AX Event IDs Blog bot DAX Blogs 0 01.03.2011 22:11
daxdilip: Whats New in Dynamics AX 2012 (A brief extract from the recently held Tech Conf.) Blog bot DAX Blogs 7 31.01.2011 12:35
semanticax: Dynamics AX 2009 Installation - Application Blog bot DAX Blogs 0 22.12.2010 08:11
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47

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

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

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