Показать сообщение отдельно
Старый 17.12.2007, 15:27   #9  
RedFox is offline
RedFox
Участник
 
1,441 / 10 (0) +
Регистрация: 28.12.2004
Адрес: Киев
Цитата:
Сообщение от by_HT Посмотреть сообщение
Вроде все должно выглядеть так:

Код:
IF GenJnlLine."Bal. Account Type"= Acc::"Bank Account" THEN GenJnlLine."Bal. Account Type" :=4;
 IF GenJnlLine."Bal. Account Type"=4 THEN BEGIN
   IF BankAccount.FIND('-') THEN
Первая строчка для меня малеха не понятно. Так как таблица 270 "Bank Account" имеет первичный ключ "Account No" (а это рано "Account No" и "Bal. Account No"), то лучше использовать GET и это будет гораздо быстрее работать, чем фильтр в любой версии.
Цитата:
Код:
	REPEAT
	  IF BankAccount."No." =  GenJnlLine."Bal. Account No." THEN
	  if BankAccount."Min. Balance" > BankAccount.Balance - GenJnlLine.Amount THEN EXIT;
	UNTIL BankAccount.NEXT =0;
END;
EXIT не очень удачная конструкция в данному случае. ЛУчше использовать ERROR - и транзакцию прерывает (а не просто выходит!!!! из CU) и информативное сообщение можно пользователю послать ;-)
Цитата:
вот только я не пойму почему при любых значениях поле BankAccount.Balance принимает значение 0 ?!
Тип поля - FlowField. Нужно вызывать CALCFIELD вроде как