|
23.05.2006, 11:29 | #1 |
Участник
|
Про Insert, DoInsert и IAxaptaRecord::Insert
Как все прекрасно знают разница между Insert и DoInsert в том, что DoInsert работает напрямую, а Insert вызывает метод таблицы.
Мне необходимо вставить запись в InveтеВшью Обращаюсь в Axapta извне, используя IAxaptaRecord. Естественно, что хочется вызывать Insert, чтобы использовать готовую логику вставки записи, то есть надо бы использовать метод IAxaptaRecord::Insert. Но этот метод не имеет параметров. а по умолчанию метод таблицы выглядит Код: void insert(boolean doInsert = false) { if (doInsert) super(); } В итоге приходится использовать DoInsert. В этом случае вставка действительно срабатывает. Можно ли как-то обойти проблему и использовать именно Insert? |
|
23.05.2006, 11:51 | #2 |
Участник
|
В общем случае doInsert не подходит, но если весь метод insert() на InventDim выглядит так как Вы описали, то вызов InventDim.insert(true) аналогичен вызову InventDim.doInsert(). И поэтому, вполне подойдет IAxaptaRecord::doInsert
|
|
23.05.2006, 11:53 | #3 |
Участник
|
Это понятно, мне надо как раз Insert вызывать для общего случая.
|
|
23.05.2006, 12:01 | #4 |
Участник
|
Может вызывать его ч/з IAxaptaRecord::Call?
__________________
Axapta v.3.0 sp5 kr2 |
|
23.05.2006, 12:13 | #5 |
Участник
|
Цитата:
Сообщение от AndyD
Может вызывать его ч/з IAxaptaRecord::Call?
|
|
23.05.2006, 12:26 | #6 |
Участник
|
Но опять-таки проблема:
Не все таблицы используют параметры в методах Insert/Update/Delete, а если есть параметры, то их количество разное (чему я сильно удивился) Я пишу некую оболочку, поэтому мне необходим общий случай. Видимо удобных способов не существует... |
|