RetIssue

Материал из Фабиус wiki
Перейти к: навигация, поиск

RetIssue - это функция, описанная в файле QrAddFn.pas

Выход по R11, R191 или R71

RetIssue( Code, [<Refl/"R11 ">, <VarNum/0>, <AverWetn/0.00>, <DtShift/space(9)>] )

Пример

RetIssue( 25 )

05-09-2016 15-41-45.png

Полный текст функции

(* Определить выход изделия ProdCode [при средневзвешанной влажности AverWetn]
  Порядок поиска выхода:
  1) не пустая Dt и есть подходящая запись (дата записи не пуста и <= искомой Dt)
     на этаже хронологий в R191
  2) R264->ISSUE
  3) R11->ISSUE
  4) Для заданной рецептуры VarNum подсчитываем итого муки - по ней - выход
**********************************************************************************)
type
  TQREvRetIssue = class(TQREvDbFunction)
  public
    function Calculate: TQREvResult; override;
  end;
function TQREvRetIssue.Calculate: TQREvResult;
var
  ProdCode, VarNum: integer;
  Refl, DtShift: string;
  AverWetn: double;
begin
  Result.Kind := ResDouble;
  ProdCode := 0;
  Refl := 'R11 ';
  VarNum := 0;
  AverWetn := 0.00;
  DtShift := StringOfChar(' ', 9);
  if ArgList.Count > 0 then
    ProdCode := ConvQREvToInt(Argument(0));
  if (ArgList.Count > 1) and (Argument(1).Kind = ResString) then
    Refl := Argument(1).StrResult;
  if (ArgList.Count > 2) then
    VarNum := ConvQREvToInt(Argument(2));
  if (ArgList.Count > 3) and (Argument(3).Kind = ResDouble) then
    AverWetn := Argument(3).DblResult;
  if (ArgList.Count > 4) and (Argument(4).Kind = ResString) then
    DtShift := Argument(4).StrResult;
  Result.DblResult := RetIssue(ProdCode, Refl, VarNum, AverWetn, DtShift);
end;

Смотрите также

Полезные функции

Функции Delphi