![]() |
#25 |
Участник
|
TO rmv
Попытался сделать по вашему алгоритму Тестовый учет в ходе написания выеснилось что строчка if ErrorCodeunit.run then не прокатит в Транзакции Записи в которых нет Commit-ов (система не разришает использовать возврашаемое значение) Сделал примерно так (я смотрел записи в 17 таблицы после учета журнала оплат) 1) создаем CodeUnit в нем пишем Код: OnRun(VAR Rec : Record "Gen. Journal Line") { GLEntry.LOCKTABLE; IF GLEntry.FIND('+') THEN LastEntry:=GLEntry."Entry No." ELSE LastEntry:=1; GlPostBach.SetNoCommit(TRUE); GlPostBach.RUN(Rec); TransferPostedEntriesToArray(LastEntry); ERROR(''); } TransferPostedEntriesToArray(EntryNo : Integer) { GLEntry.RESET; GLEntry.SETFILTER("Entry No.",'%1..',EntryNo+1); IF GLEntry.FIND('-') THEN BEGIN i:=0; REPEAT i+=1; TempArrayGLE[i]:=GLEntry; UNTIL GLEntry.NEXT=0; END; } TransferPostedEntriesFromArray() { tempGLEntry.DELETEALL; i:=0; EndLoop:=FALSE; REPEAT i+=1; IF ArrayGLE[i]."Entry No." <> 0 THEN BEGIN tempGLEntry:=ArrayGLE[i]; tempGLEntry.INSERT; END ELSE EndLoop:=TRUE; UNTIL EndLoop; FORM.RUN(20,tempGLEntry); } туда пишем Код: IF TestPost.RUN(Rec) THEN; TestPost.TransferPostedEntriesFromArray; |
|