13.06.2007, 07:07 | #12 |
Участник
|
Цитата:
Сообщение от Gmc
Была похожая проблема, обрати внимание на CU 14800 функцию MoveLines.
Я переделал так: WITH PayrollJnlLine DO BEGIN RESET; SETRANGE(Template,Template); SETRANGE("Batch Name","Batch Name"); JournalDimension.RESET; JournalDimension.SETRANGE("Table ID",14820); JournalDimension.SETRANGE("Journal Template Name",Template); JournalDimension.SETRANGE("Journal Batch Name","Batch Name"); IF IncludCurLine THEN SETFILTER("Line No.",'>=%1',"Line No.") ELSE SETFILTER("Line No.",'>%1',"Line No."); IF FIND('+') THEN BEGIN REPEAT PayrollJnlLine2 := PayrollJnlLine; PayrollJnlLine2."Line No." := "Line No." + 10000; PayrollJnlLine2.INSERT; JournalDimension.SETRANGE("Journal Line No.","Line No."); IF JournalDimension.FIND('+') THEN REPEAT JournalDimension2 := JournalDimension; JournalDimension2."Journal Line No." := PayrollJnlLine2."Line No."; // JournalDimension.DELETE; JournalDimension2.INSERT; // UNTIL JournalDimension.NEXT(-1) = 0; // UNTIL JournalDimension.FIND('+'); DELETE(TRUE); // UNTIL NEXT(-1) = 0; UNTIL FIND('+'); END; END; IF FIND('+') THEN BEGIN REPEAT ... ... UNTIL FIND('+'); END в приведенном примере будет всего одна итерация насколько я понимаю! |
|