RetIssue — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м (→Полный текст функции) |
Hisava (обсуждение | вклад) м (→Смотрите также) |
||
(не показаны 3 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | RetIssue - это функция, описанная в файле QrAddFn.pas | + | [[RetIssue]] - это функция, описанная в файле [[QrAddFn.pas]] |
− | + | Выход по [[R11]], [[R191]] или [[R71]] | |
− | Выход по R11, R191 или R71 | + | [[RetIssue]]( Code, [<Refl/"[[R11]] ">, <VarNum/0>, <AverWetn/0.00>, <DtShift/space(9)>] ) |
− | + | = Пример = | |
− | RetIssue( Code, [<Refl/"R11 ">, <VarNum/0>, <AverWetn/0.00>, <DtShift/space(9)>] ) | + | RetIssue( 25 ) |
+ | [[Файл:05-09-2016 15-41-45.png]] | ||
= Полный текст функции = | = Полный текст функции = | ||
Строка 47: | Строка 48: | ||
= Смотрите также = | = Смотрите также = | ||
+ | [[Полезные функции]] | ||
[[Функции Delphi]] | [[Функции Delphi]] | ||
− | |||
− |
Текущая версия на 16:06, 26 апреля 2017
RetIssue - это функция, описанная в файле QrAddFn.pas
Выход по R11, R191 или R71
RetIssue( Code, [<Refl/"R11 ">, <VarNum/0>, <AverWetn/0.00>, <DtShift/space(9)>] )
Пример
RetIssue( 25 )
Полный текст функции
(* Определить выход изделия 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;