table.validateField(), table.modifiedField(), table.validateWrite(), table.insert() и пр.
Если программист сделал все грамотно и не забыл написать нужный код куда следует и наверняка только в той части, в которой применима к NAV (то есть, думать все равно надо)... Принципиально от NAV отличаться не должно. Есть еще AX* классы, но я сомнвеваюсь, что в кастомизируемом (да и в стандартном) коде эта концепция везде поддерживается и на нее можно полагаться. Не поддерживается. Нельзя.
Только надо не забывать, что методы перекрыты бывают не только на уровне таблиц, но и на уровне источников данных форм. А иногда и на конкретных контролах.
Так что концепция применима, но так вот просто "Все что нужно было сделать для программного импорта данных это заполнять одно за одним поля и вызывать нужные тригерры в соответствующих местах" сказать нельзя.
Не поверю, что в NAV чтобы создать запись в "Item Journal Line" (и других таблицах) всегда достаточно написать так (псевдокод).
'Item Journal Line'.field1 := 1
'Item Journal Line'.onValidateField1()
'Item Journal Line'.field2 := 2
'Item Journal Line'.onValidateField2()
'Item Journal Line'.field3 := 3
'Item Journal Line'.onValidateField3()
...
'Item Journal Line'.OnInsert()
'Item Journal Line'.insert()
|