|  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, а если есть параметры, то их количество разное (чему я сильно удивился) Я пишу некую оболочку, поэтому мне необходим общий случай. Видимо удобных способов не существует... | 
|  | 
|  | 
| Опции темы | Поиск в этой теме | 
| Опции просмотра | |
| 
 |