30.03.2012, 08:29 | #1 |
MCTS
|
Почему нет doValidateField() и doValidateWrite()?
Хотел на таблице сделать:
X++: public boolean validateField(FieldId _fieldIdToCheck) { return TransportJournalTableData::newTable(this).validateField(_fieldIdToCheck); } |
|
30.03.2012, 08:53 | #2 |
Участник
|
Что такое doValidateField() и doValidateWrite(), чем они должны отличаться от ValidateField() и ValidateWrite()?
А по конкретнее, что случилось? Получили рекурсию? Если проблема в этом, то можно сделать так: X++: public boolean validateField(FieldId _fieldIdToCheck, boolean _superOnly = false) { boolean ret = super(fieldIdToCheck); if (!_superOnly) { ret = ret && TransportJournalTableData::newTable(this).validateField ( _fieldIdToCheck, true // ... ну вы поняли ); } return ret; } Последний раз редактировалось S.Kuskov; 30.03.2012 в 09:06. |
|
30.03.2012, 09:10 | #3 |
MCTS
|
Цитата:
ValidateField() -> super() -> doValidateField() Последние два в том случае, если мы в перекрытом методе ValidateField() не забыли вызвать super(). |
|
30.03.2012, 09:14 | #4 |
MCTS
|
Цитата:
Сообщение от S.Kuskov
А по конкретнее, что случилось?
Получили рекурсию? Если проблема в этом, то можно сделать так: X++: public boolean validateField(FieldId _fieldIdToCheck, boolean _superOnly = false) { boolean ret = super(fieldIdToCheck); if (!_superOnly) { ret = ret && TransportJournalTableData::newTable(this).validateField ( _fieldIdToCheck, true // ... ну вы поняли ); } return ret; } |
|
30.03.2012, 09:21 | #5 |
Участник
|
Цитата:
P.S.: "Вам шашечки или ехать?" |
|
30.03.2012, 11:36 | #6 |
Возьми свет!!!
|
А че такое doValidate?
типа на уровне SQL сервера штоле и ядра аксапты?
__________________
Axapta 3.0 sp 5 Oracle Я могу взорвать вам мозг!!! |
|
30.03.2012, 11:52 | #7 |
Участник
|
Ну это так автор ветки обозвал гипотетический метод, который представляет из себя неперекрытый validate. Т.е. если бы такой метод существовал, то даже при перекрытом (содержащим дополнительные проверки) методе validate была бы возможность вызвать тот не перекрытый оригинальный метод (вызвать super() не вызывая всего остального).
|
|
30.03.2012, 12:43 | #8 |
MCTS
|
Цитата:
Сообщение от S.Kuskov
Ну это так автор ветки обозвал гипотетический метод, который представляет из себя неперекрытый validate. Т.е. если бы такой метод существовал, то даже при перекрытом (содержащим дополнительные проверки) методе validate была бы возможность вызвать тот не перекрытый оригинальный метод (вызвать super() не вызывая всего остального).
|
|
|
За это сообщение автора поблагодарили: S.Kuskov (2). |
31.03.2012, 20:19 | #9 |
Участник
|
А в чем глубокий смысл вызывать ядреную проверку поля/записи без вызова бизнес-логики, специально дописанной в приложении для проверки записи/поля. По-моему, тут есть какое-то недопонимание на уровне постановки задачи.
Последний раз редактировалось gl00mie; 31.03.2012 в 20:21. |
|