96
try
Q :=GetQuery('SELECT * FROM Состав_блюда WHERE Код_Блюдо = ' +
IntToStr (DishID) + ';');
for I := 1 to Q.RecordCount do
begin
//
Q.RecNo := I;
SetLength(VA, 3);
VA[0] := Date;
VA[1] := Q.FieldByName('Код_Продукт').AsInteger;
VA[2] := Q.FieldByName('Код_Единица').AsInteger;
FAnalysisProduct.Filter := 'Дата = ' + #39 + DateToStr(Date) + #39 + ' and
Код_Продукт = ' + IntToStr (Q.FieldByName('Код_Продукт').AsInteger) + ' and
Код_Единица = ' + IntToStr (Q.FieldByName('Код_Единица').AsInteger);
FAnalysisProduct.Filtered := True;
ifFAnalysisProduct.RecordCount = 0 then
begin
FAnalysisProduct.Insert;
FAnalysisProduct.FieldByName ('Дата').AsDateTime := Date;
FAnalysisProduct.FieldByName ('Код_Продукт').Value :=
Q.FieldByName('Код_Продукт').AsInteger;
FAnalysisProduct.FieldByName ('Код_Единица').Value :=
Q.FieldByName('Код_Единица').AsInteger;
FAnalysisProduct.FieldByName ('Количество').Value :=
Q.FieldByName('Количество').AsFloat*(Count + 0.0);
FAnalysisProduct.Post;
end
else
begin
//