|
01.12.2010, 15:32 | #1 |
Участник
|
salesParmTable - где проверить правильность заполнения поля?
При создании счета-фактуры по заказу нужно проверять правильно ли запонена дата документа(salesParmTable.transDate) в диалоге разноски (т.е на форме salesEditLines).
Вроде бы, логично на salesParmTable.validateField поставить проверку, чтобы пользователю выдавать сразу сообщение. Но почему-то на таблице salesParmTable нет validateField/validateWrite. Я ,конечно, их могу создать, но смущает, что если их там изначально нет, т.е. идея проверять данные введенные в salesParmTable сама по себе by design неправильна? Если посмотреть, где же выполняются проверки, то видно, что на форме salesEditLines ,например, у поля SalesId переопределен validate. Опять-таки же , почему на форме, а не в salesParmTable.validateField написана эта проверка? Есть какой-то сакральный смысл в этом? Последний раз редактировалось IKA; 01.12.2010 в 15:54. |
|
01.12.2010, 16:00 | #2 |
Banned
|
|
|
01.12.2010, 16:19 | #3 |
Участник
|
Некоторые проверки могут быть актуальны только в определённом контексте, а табличный курсор может не обладать всей информацией о задаче, в которой он участвует. На форме же есть возможнось обратится и к другим данным. Если вы уверены, что ваша проверка будет справедлива для всех сценариев использования таблицы, то тогда смело размещайте её в табличном методе.
|
|
02.12.2010, 09:41 | #4 |
Участник
|
Цитата:
Есть еще иерархия SalesEditLinesForm*, правда там в основном видимость полей устанавливается в зависимости от разносимого документа. А вообще посмотрите внимательнее как раз на проверку SalesId в SalesEditLines - там вызывается метод из SalesFormLetter (то есть, у того наследника, который соответствует разносимому документу) |
|
|
За это сообщение автора поблагодарили: S.Kuskov (2). |
02.12.2010, 10:34 | #5 |
Участник
|
|
|
06.12.2010, 03:05 | #6 |
Участник
|
Спасибо за поддержку Не отрицаю полезность теоретических обоснований - иногда без этого сложно понять смысл практических решений
|
|