Тема: Цикл
Показать сообщение отдельно
Старый 14.03.2011, 17:02   #1  
lobster is offline
lobster
Участник
Аватар для lobster
 
115 / 10 (1) +
Регистрация: 25.04.2008
Требуется подсчитать значения количество в таблице sales invoice line (SIL), где SIL."Unit of Measure Code" ='ЧАС'.
код.

SIH.RESET;
SIH.SETRANGE("Srv Order No.");
SIH.SETRANGE(Storno,FALSE);

CASE TRUE OF
(PostingDate <> 0D) AND (PostingDate2 <> 0D):
SIH.SETRANGE("Posting Date",PostingDate,PostingDate2);
(PostingDate <> 0D) AND (PostingDate2 = 0D):
SIH.SETRANGE("Posting Date",PostingDate);

END ;

это работает
Наложил фильтр по дате Sales Invoice header (SIH)
далее


SIL.RESET;
SIL.SETRANGE(SIL."Document No.", SIH."No.");
IF SIH.FIND('-') THEN REPEAT

IF SIL."Unit of Measure Code" ='ЧАС' THEN BEGIN;
IF SIH."Invoice Key"= 'П1' THEN BEGIN
clt+=SIL.Quantity;
cost+=SIL."Unit Cost (LCY)";
END;
end;
UNTIL SIH.NEXT = 0;

Проблема в том что когда пишу усовие "IF SIL."Unit of Measure Code" ='ЧАС' THEN BEGIN"
то переменные clt и cost не считаются, хотя есть строки с
"Unit of Measure Code" ='ЧАС' , без этого усовия они считаются.
Не могу разобраться в чем дело, подскажите пожалуйста в чем проблема.