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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.10.2009, 20:14   #9  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от dynamax Посмотреть сообщение
мне нужно, чтобы часть метода validateField таблицы SalesLine отрабатывала только в том случае, если таблица будет заполняться из формы SalesTable.
Предельно отвратительная хотелка с точки зрения постановки здачи.
В постановке смешиваются разные уровни абстракции.

Полностью согласен с miklenew:
Цитата:
Сообщение от miklenew Посмотреть сообщение
validateField это метод объекта таблица.
Раз у вас появилась в формулировке объект форма, то логичнее предположить что вам метод нужно реализовывать выше.
Выделите часть это кода в отдельный метод и повести его на таблицу.
Перекройте на datasourse формы метод validate на нужном поле и до super вызывайте его.
validateField работает на уровне таблицы. с данными, которые находятся в таблице.

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

Что чревато нарушением целостности данных.

=============
Кроме того, не забывайте о механизме проверки целостности данных. Он запустит validateField для каждой записи. Теперь представьте, что данные, введенные в форме проверяются отдельно без формы, совсем по другой ветке алгоритма. Вам точно нужны эти заморочки?

=============
Кроме того, не забывайте о механизме экспорта/импорта данных, AIF, доступ из внешних систем. Все этим механизмы также могут запустить validateField.

=============
Кроме того, не забывайте о трехуровневости Аксапты. Форма работает и живет на клиенте. validateField может выполняться на сервере.

=============
Вывод: в validateField таблицы используйте только данные из самой таблицы и/или из связанных таблиц.
Ни в коем случае не используйте данные, которые находятся вне базы данных (кэш сессии, локальные переменные формы и т.п.)
__________________
полезное на axForum, github, vk, coub.
Теги
интерфейс, программно, таблица, форма

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как определить факт изменения текущей строки DataSource формы Владимир Максимов DAX: Программирование 6 20.11.2008 16:24
как заполняется таблица в Ворде без закладок!? 3oppo DAX: Программирование 5 28.09.2006 13:52
Определить, через какую виртуальную компанию доступна таблица gl00mie DAX: Программирование 0 30.03.2006 10:19
Как определить на какой TabPage находится FormTabControl BorDark DAX: Программирование 0 05.01.2005 13:50
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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