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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.03.2011, 12:26   #1  
Ievgenii is offline
Ievgenii
Участник
Аватар для Ievgenii
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
 
111 / 113 (4) +++++
Регистрация: 21.09.2008
Адрес: Copenhagen, Denmark
Цитата:
1. Если контрол связан с источником данных - система запустит validate написанный на контроле.
Рассматриваем только этот случай.


Цитата:
, потом modified на контроле, потом validate на таблице.
Неважно

Обратите внимание на:
  1. Устанавливает курсор на поле первого контрола и выбирает валидное значение из лукапа (GW). Дальше – не покидая контрол вводит какую нибудь чуш (GWsdsdsdsd)
__________________
Thx,
Ievgenii Korovin| Dynamics Ax SCM| Microsoft Corp| http://blogs.msdn.com/DynamicsAxSCM/
Старый 15.03.2011, 12:59   #2  
kornix is offline
kornix
MCP
MCBMSS
Злыдни
Ex AND Project
 
414 / 146 (5) +++++
Регистрация: 24.02.2009
Адрес: Санкт-Петербург
Тогда получается совсем круто, выводится 2 сообщения:
1. "validation is ok"
2. "Значение не найдено.."

Связано это вот с чем: сначала система попадает в validate на formStringControl'е, при первом вхождении в него метод valueStr() возвращает только то что было выбрано из лукапа. А потом система выполняет проверку уже по связям с источником данных, и причем в этой проверке сравнивается корректное введеное пользователем значение.

А по поводу:
Цитата:
4. Возращает курсор на поле первого контрола и вводит опять валидное значение (GW)
validate на контроле не запускается.

Версия DAX4.0 Kernel 4.0.2503.454

Последний раз редактировалось kornix; 15.03.2011 в 13:08.
За это сообщение автора поблагодарили: Ievgenii (3).
Старый 15.03.2011, 13:19   #3  
Ievgenii is offline
Ievgenii
Участник
Аватар для Ievgenii
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
 
111 / 113 (4) +++++
Регистрация: 21.09.2008
Адрес: Copenhagen, Denmark
Цитата:
Тогда получается совсем круто, выводится 2 сообщения:
1. "validation is ok"
2. "Значение не найдено.."

Связано это вот с чем: сначала система попадает в validate на formStringControl'е, при первом вхождении в него метод valueStr() возвращает только то что было выбрано из лукапа. А потом система выполняет проверку уже по связям с источником данных, и причем в этой проверке сравнивается корректное введеное пользователем значение.
Правильно . Это и был изначальный вопрос.

В Dynamics Ax2009 + в кастомизациях наших партнеров есть формы которые используют valueStr() при валидации, модификции контролов и так далее. Это приводит к очень странному поведению в более сложных случиях, по-этому следует использовать text() метод если нужна подобная валидация.

В Dynamics Ax 2012 куча новых возможностей валидации контролов и такой проблемы быть не должно (очень редко)
__________________
Thx,
Ievgenii Korovin| Dynamics Ax SCM| Microsoft Corp| http://blogs.msdn.com/DynamicsAxSCM/
За это сообщение автора поблагодарили: kornix (1).
Теги
validate, как правильно, метод

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Нет указан пользователь\сотрудник – насколько это серьезно может быть. Ievgenii DAX: Функционал 5 18.11.2009 12:25
Случай из жизни: как я каст тейбл с адресом джоинил(может кому-то полезно будет) HorrR DAX: Программирование 4 11.08.2009 12:58
DAX 4 SP1 Счет-фактура не может включать различные ставки НДС Daiver DAX: Функционал 3 01.10.2007 15:31
Процесс не может получить доступ к файлу Yprit DAX: Администрирование 6 15.07.2005 21:46
А кто-нибудь здесь может подсказать как выбирать модули при известных бизнес-процес? 2b4fITin DAX: Функционал 5 23.06.2003 17:21

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

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

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