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