
const
  PercentOsnov = '1=1;3=3;5=5;7=7;20=20;30=30'; // можно регулировать этот параметр вручную ,меняя соответствие процентов скидки основаниям ( %скидки = основание)
  SectionOsnov = '1=1;2=3=5;3;4=7;5=20;6=30'; // можно регулировать этот параметр вручную ,меняя соответствие отделов основаниям (отдел = основание)

var
  VariantName :string; // имя варианта
  VariantBarcode :string; // Штрихкод
  Dataset :TDataset;
  FirstPercentFormula :integer;
  FirstPercentType :integer;
  ReestrDop60 :boolean;
  IsOutput :boolean;
  CurrentDocPercent :double; // размер скидки
  CurrentOsnov : string; // переопределение основания
  CurrentSection :integer; // переопределение секции


  Percent :double;

  List :TstringList;
  ListS :TStringList;
  i :integer;
  Osn :string;
  Section :integer;
  ResultStr : string;
begin
  Percent := strtofloatprotected(VariantName);
  List := TstringList.create;
  ListS := TstringList.create;
  try
    stringtolist(PercentOsnov,List);
    StringToList(SectionOsnov,ListS);
    Osn := List.Values[floattostr(Percent)];
    Section := strtointprotected(ListS.Values[floattostr(Percent)]);


    ResultStr := 'Применена скидка '+floattostr(Percent);

    if osn <> '' then begin
      ResultSTr := ResultSTr + ', тип: '+Osn;
      CurrentOsnov := Osn;
    end;

    if Section <> 0
    then begin
      CurrentSection := Section;
    end;

    CurrentDocPercent := Percent;

    CreateHint(ResultStr);
  finally
    ListS.free;
    List.free;
  end;


end.
