|
|
|
|
#1 |
|
Участник
|
Цитата:
Я для такого обычно использую следующий метод X++: public static void validateWriteRecordCheck(Common _record) { if (! _record.validateWrite()) { throw error(strFmt("Failed to write %1 table", tableId2pname(_record.TableId))); } } |
|
|
|
|
#2 |
|
Участник
|
Именно потому, что это программное создание строки без участия пользователя. Т.е. здесь нет "внешних" данных, которые мог бы подготовить пользователь и в которых могла бы вкрасться ошибка. Все данные готовит разработчик. И, естественно, они должны быть корректными. У Вас это в релиз не пройдет, если что-то не заполнено. Ну, это все-равно, что проверять тип переданного в метод параметра, при том, что он указан явно в EDT. А вдруг не то передали?
![]() Ну, представим, что добавили validateWrite() и он вернул false. Что в этой ситуации может сделать пользователь? Да ничего! Запись же программно создается. Получаем "мертвый" код, который вообще не может быть использован. Нет, я понимаю, почему хочется поставить validateWrite(). Сам иногда это делаю. А вдруг?!. Но в данном конкретном случае - это явный over-programming. Не вижу никакого криминала, если в описанном сценарии этой проверки нет
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
|
|
#3 |
|
Участник
|
Почему ничего - он зарепортит ошибку. Ошибочная запись создана не будет. Могут кстати и не только добавить validateWrite, но и добавить обязательное поле, которое тут не заполняется
|
|
|
|
|
#4 |
|
Участник
|
Цитата:
__________________
- Может, я как-то неправильно живу?! - Отчего же? Правильно. Только зря... |
|
|
|
|
#5 |
|
Участник
|
Цитата:
Сообщение от trud
Откуда вы знаете что все ключевые поля заполнены? Для этого и нужен validateWrite, который собственно это проверит.
Я для такого обычно использую следующий метод X++: public static void validateWriteRecordCheck(Common _record) { if (! _record.validateWrite()) { throw error(strFmt("Failed to write %1 table", tableId2pname(_record.TableId))); } }
__________________
Felix nihil admirari |
|
|