R11WGHT

Материал из Фабиус wiki
Версия от 08:50, 7 апреля 2016; Hisava (обсуждение | вклад) (Новая страница: «R11Wght - это функция, описанная в файле QrAddFn.pas R11Wght( <Code>, [<Refl/"R11"] ) Вес по справочнику [изде…»)

(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

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;