|  12.03.2003, 12:30 | #2 | 
| Участник | 
			
			> // А вот что это за цирк: Все очень просто. Таблица DoubleEntryBuffer обновляется записями из DoubleEntryBufferTemp. Если в DoubleEntryBuffer есть запись одноименная с DoubleEntryBufferTemp, то она обновляет, иначе создается новая. > WITH DoubleEntryBuffer DO BEGIN > LOCKTABLE(); > REPEAT Если находим в таблице DoubleEntryBuffer запись, у которой значение первичного ключа совпадает со значением первичного ключа текущей записи в DoubleEntryBufferTemp, то удаляем ее. > DoubleEntryBuffer := DoubleEntryBufferTemp; > IF FIND THEN > DELETE; Добавляем в DoubleEntryBuffer текущую запись из DoubleEntryBufferTemp. > DoubleEntryBuffer := DoubleEntryBufferTemp; > INSERT; > UNTIL DoubleEntryBufferTemp.NEXT = 0; > END; > END; Конечно, можно было бы, если запись в DoubleEntryBuffer с таким же значением первичного ключа как и у текущей записи в DoubleEntryBufferTemp уже существует просто обновлять ее. Но по каким-то причинам разработчики решили сделать именно так. | 
|  | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Navisioin 3.7 -> 3.6 | 4 | |||
| Управление складом->Подборы->Корректировка | 0 | |||
| Import Consolidation from File <Attain> | 1 | |||
| Товар - > формула расчета прибыли? | 0 | |||
| String->Decimal | 8 | |||
| 
 |