AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.01.2006, 20:20   #25  
Константин! is offline
Константин!
Участник
 
180 / 10 (1) +
Регистрация: 13.04.2005
Адрес: Казань
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);
}
2) В форме фин журнал создаем кнопку "Тестовый Учет"
туда пишем
Код:
  
  IF TestPost.RUN(Rec) THEN;
  TestPost.TransferPostedEntriesFromArray;
TestPost - это CodeUnit созданы в пункте 1
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:56.