Цитата:
Сообщение от
Metrofun
Задача проверять вводимое значение пользователем в управляющий элемент
Начнем с того, что задача в принципе неправильно поставлена.
1.
неправильно проверять вводимое
пользователем в контрол
поскольку вводить значения могут не только пользователи через формы, но и роботы через сервисы, и сам код через методы.
проверять нужно значение, вводимое любым способом.
2.
неправильно проверять ОДНО отдельное значение.
часто в бизнес-логике есть взаимосвязанные значения.
например, при вводе строки общего журнала нужно выбрать тип счета и счет.
проверять счет без типа не имеет смысла
бывают более сложные случаи - параметры на вкладке Fixed Asset имеют смысл только если выбран тип Fixed Asset и код Fixed Asset.
Но вводить параметры на вкладках можно в любом порядке.
3.
Поэтому в Аксапте есть метод ValidateWrite на таблице.
Этот метод срабатывает, когда пользователь делает попытку сохранить запись (Ctrl+S, переход на другую строку в форме или закрыть форму),
когда программа вызывает ValidateWrite
В этом методе и нужно выполнить бизнес-проверку записи.
4.
если вам уж совсем надо проверить одно поле
то воспользуйтесь методом validateField на таблице.
там вам доступен this.orig() с оригинальными значениями полей
==============
не работайте с контролами формы - работайте с таблицами.
не предполагайте, что вводит только пользователь - боты работают с бизнес-логикой также часто, как и люди