|  12.03.2003, 11:23 | #1 | 
| Участник | Трюки программирования (A->B->A) 
			
			В Codeunit 12404 есть такой фрагмент: LOCAL PROCEDURE CheckTransaction@6(); BEGIN { Уничтожаются все записи во временной таблице "Фин. Корресп. Буфер Учета" [12402], для которых поля "Фин. Книга Сумма" и "Фин. Корресп. Сумма" не равны. Если были потерты все записи, то выход. } WITH DoubleEntryBufferTemp DO BEGIN IF NOT FIND('-') THEN EXIT; REPEAT IF "G/L Amount" = "G/L Corresp. Amount" THEN DELETE; UNTIL NEXT = 0; IF NOT FIND('-') THEN EXIT; END; // А вот что это за цирк: WITH DoubleEntryBuffer DO BEGIN LOCKTABLE(); REPEAT DoubleEntryBuffer := DoubleEntryBufferTemp; IF FIND THEN DELETE; DoubleEntryBuffer := DoubleEntryBufferTemp; INSERT; UNTIL DoubleEntryBufferTemp.NEXT = 0; END; END; Кажется, что запись копируется, запись стирается и на ее место вставляется только что скопированная запись. Казалось бы, код совершенно лишний. В чём тонкость и что делает этот кусок кода? | 
|  | 
|  | 
|  Похожие темы | ||||
| Тема | Ответов | |||
| Navisioin 3.7 -> 3.6 | 4 | |||
| Управление складом->Подборы->Корректировка | 0 | |||
| Import Consolidation from File <Attain> | 1 | |||
| Товар - > формула расчета прибыли? | 0 | |||
| String->Decimal | 8 | |||
| 
 |