R11WGHT — различия между версиями
Материал из Фабиус wiki
Hisava (обсуждение | вклад) (Новая страница: «R11Wght - это функция, описанная в файле QrAddFn.pas R11Wght( <Code>, [<Refl/"R11"] ) Вес по справочнику [изде…») |
Hisava (обсуждение | вклад) м |
||
Строка 34: | Строка 34: | ||
else | else | ||
Result.DblResult := R11Wght(ProdCode, Refl); | Result.DblResult := R11Wght(ProdCode, Refl); | ||
+ | end; | ||
+ | |||
+ | = ProdCost = | ||
+ | |||
+ | function R11Wght(ProdCode: integer; Refl: string = 'R11 '): double; | ||
+ | begin | ||
+ | Result := SeekRef(Refl, ProdCode, 'WEIGHT', 1, 0); | ||
end; | end; |
Версия 08:57, 7 апреля 2016
R11Wght - это функция, описанная в файле QrAddFn.pas
R11Wght( , [<Refl/"R11"] )
Вес по справочнику [изделий]
Полный текст функции
type TQREvR11Wght = class(TQREvDbFunction) public function Calculate: TQREvResult; override; end;
function TQREvR11Wght.Calculate: TQREvResult; var ProdCode: integer; Refl: string; begin ProdCode := 0; Refl := 'R11 '; Result.Kind := ResDouble; if (ArgList.Count > 0) then ProdCode := ConvQREvToInt(Argument(0)); if (ArgList.Count > 1) and (Argument(1).Kind = ResString) then Refl := Argument(1).StrResult; if (GetWorkArea is TAdsTable) and (UpperCase(TAdsTable(GetWorkArea).Name) = UpperCase(TrimRight(Refl))) and (TAdsTable(GetWorkArea).FindField('WEIGHT') <> nil) and (TAdsTable(GetWorkArea).FindField('KOD') <> nil) and (TAdsTable(GetWorkArea).FindField('FREE_PRICE') <> nil) and (TAdsTable(GetWorkArea).FieldByName('KOD').AsInteger = ProdCode) then Result.dblResult := TAdsTable(GetWorkArea).FieldByName('WEIGHT').AsFloat else Result.DblResult := R11Wght(ProdCode, Refl); end;
ProdCost
function R11Wght(ProdCode: integer; Refl: string = 'R11 '): double; begin Result := SeekRef(Refl, ProdCode, 'WEIGHT', 1, 0); end;