RetIssue — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) м |
Hisava (обсуждение | вклад) м (→Смотрите также) |
||
| (не показаны 4 промежуточные версии этого же участника) | |||
| Строка 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]] | ||
= Полный текст функции = | = Полный текст функции = | ||
| Строка 45: | Строка 46: | ||
Result.DblResult := RetIssue(ProdCode, Refl, VarNum, AverWetn, DtShift); | Result.DblResult := RetIssue(ProdCode, Refl, VarNum, AverWetn, DtShift); | ||
end; | end; | ||
| + | |||
| + | = Смотрите также = | ||
| + | [[Полезные функции]] | ||
| + | |||
| + | [[Функции 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;
