var frxDatasetPrStr: TfrxDBDataset;
eValue: Extended;
iValue,a : integer;
z : double;
VNds,VsNds,VNdsS,Vsego:real;

function Okr (s : string) : string;
var q,j : string;
k,i : integer;
begin
for i:=1 to length(s) do
if s[i]=',' then k:=i;

for i:=1 to k-2 do q:=q+s[i];

if (s[k+1]='5') or (s[k+1]='6') or (s[k+1]='7') or (s[k+1]='8') or (s[k+1]='9')
  then
    begin
    j:=IntToStr(StrToInt(s[k-1])+1);
    q:=q+j;
    end
  else
    begin
    q:='';
    for i:=1 to k-1 do q:=q+s[i];
    end;
Result:=q;
end;

procedure Memo6_2OnBeforePrint(Sender: TfrxComponent);
begin
if <frxDatasetPrStr."Usl">=0
then begin
if <frxDatasetPrStr."CenPriobr">=0
   then
       if <Pr_ONds>='1'
       then begin
               if <frxDatasetPrStr."IdPrizLog">='5'
                       then begin
                            if <frxDatasetPrStr."KodGr"><>'99'
                       then begin
                            if <frxDatasetPrStr."Ceno">>=20000000
                               then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                  (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100/100)*
                                                  <frxDatasetPrStr."KolF">))
                               else
                                Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                  (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100*
                                                  <frxDatasetPrStr."KolF">))
                               end
                               else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                  (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100))*
                                                  <frxDatasetPrStr."KolF">))
                            end;
               if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                       then begin
                            if <frxDatasetPrStr."KodGr"><>'99'
//                               then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100*
                               then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)*100/100)*
                                          <frxDatasetPrStr."KolF">))
                               else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100))*
                                          <frxDatasetPrStr."KolF">))
                            end
             end
       else begin
            if <frxDatasetPrStr."priznsyria">=null
               then begin
                   if <frxDatasetPrStr."PrRazl"><>'*'
                   then begin
                             if <frxDatasetPrStr."IdPrizLog">='5'
                                     then begin
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10)*10*
                                                        <frxDatasetPrStr."KolF">))
                                             else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                                        <frxDatasetPrStr."KolF">))
                                          end;
                             if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                                     then begin
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100)/10)*10*<frxDatasetPrStr."KolF">))
                                             else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100))*<frxDatasetPrStr."KolF">))
                                          end
                        end
                   else begin
                             if <frxDatasetPrStr."IdPrizLog">='5'
                                     then begin
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/<frxDatasetPrStr."KolPor">/10)*10*
                                                        <frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">))
                                             else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                                        <frxDatasetPrStr."KolF">))
                                          end;
                             if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                                     then begin
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100)/<frxDatasetPrStr."KolPor">/10)*10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">))
                                             else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100))*<frxDatasetPrStr."KolF">))
                                          end
                        end
                    end
               else begin
                    Memo6_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">));
                    end
            end
   else
       if <Pr_SchCenPriobr>=0
       then
              if <Pr_ONds>='1'         // '4'
              then begin
                   if <frxDatasetPrStr."KodGr"><>'99'
// вставка для печати стоимости с логотипом
                       then begin
//                       showmessage('lllll');
                        if <frxDatasetPrStr."PrLogBKS">='0'
                       then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100*
                                <frxDatasetPrStr."KolF">))
                       else
Memo6_2.Text:=FloatToStr((Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                            (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100-
                            Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                            (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100*
                            <frxDatasetPrStr."NDS">/(100+<frxDatasetPrStr."NDS">)*100)/100)*100/100)
                           * <frxDatasetPrStr."KolF">)
                       end
                   end
              else begin
                   Memo6_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">))
                   {if <frxDatasetPrStr."priznsyria">=null
                   then begin
                          if <frxDatasetPrStr."KodGr"><>'99'
                              then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                       (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                       (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10)*10*
                                       <frxDatasetPrStr."KolF">))
                              else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                       (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                       (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                       <frxDatasetPrStr."KolF">))
                        end
                   else Memo6_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">))}
                   end
       else
              if <Pr_ONds>='1'
              then begin
                   if <frxDatasetPrStr."KodGr"><>'99'
                       then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100*
                                <frxDatasetPrStr."KolF">))
                       else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100))*
                                <frxDatasetPrStr."KolF">))
                   end
              else begin
                   Memo6_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">))
                   {if <frxDatasetPrStr."priznsyria">=null
                   then begin
                          if <frxDatasetPrStr."KodGr"><>'99'
                              then begin
                                       Value:=<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                        (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                       (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10;

                                      if Frac(Value) < 0.5
                                             then iValue:= 10 * Trunc(Value)
                                             else iValue:= 10 * (Trunc(Value) + 1);
                                      Memo6_2.Text:=IntToStr(iValue*<frxDatasetPrStr."KolF">)
                                   end

                              else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                       (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                       (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                       <frxDatasetPrStr."KolF">))
                        end
                   else Memo6_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">))}
                   end;
     end
else begin
if <frxDatasetPrStr."CenPriobr">=0
   then
       if <Pr_ONds>='1'
       then begin
               if <frxDatasetPrStr."IdPrizLog">='5'
                       then begin
                            if <frxDatasetPrStr."KodGr"><>'99'
                               then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                  (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100*
                                                  <frxDatasetPrStr."KolF">))
                               else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                  (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100))*
                                                  <frxDatasetPrStr."KolF">))
                            end;
               if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                       then begin
                            if <frxDatasetPrStr."KodGr"><>'99'
                               then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100*
                                          <frxDatasetPrStr."KolF">))
                               else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100))*
                                          <frxDatasetPrStr."KolF">))
                            end
             end
       else begin
            if <frxDatasetPrStr."priznsyria">=null
               then begin
                   if <frxDatasetPrStr."PrRazl"><>'*'
                   then begin
                             if <frxDatasetPrStr."IdPrizLog">='5'
                                     then begin
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)/10)*10*
                                                        <frxDatasetPrStr."KolF">))
                                             else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100))*
                                                        <frxDatasetPrStr."KolF">))
                                          end;
                             if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                                     then begin
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100)/10)*10*<frxDatasetPrStr."KolF">))
                                             else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100))*<frxDatasetPrStr."KolF">))
                                          end
                        end
                   else begin
                             if <frxDatasetPrStr."IdPrizLog">='5'
                                     then begin
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)/<frxDatasetPrStr."KolPor">/10)*10*
                                                        <frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">))
                                             else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100))*
                                                        <frxDatasetPrStr."KolF">))
                                          end;
                             if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                                     then begin
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100)/<frxDatasetPrStr."KolPor">/10)*10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">))
                                             else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100))*<frxDatasetPrStr."KolF">))
                                          end
                        end
                    end
               else begin
                    Memo6_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">));
                    end
            end
   else
       if <Pr_SchCenPriobr>=0
       then
              if <Pr_ONds>='1'
              then begin
                   if <frxDatasetPrStr."KodGr"><>'99'
                       then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100*
                                <frxDatasetPrStr."KolF">))
                       else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100))*
                                <frxDatasetPrStr."KolF">))
                   end
              else begin
                   Memo6_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">))
                   {if <frxDatasetPrStr."priznsyria">=null
                   then begin
                          if <frxDatasetPrStr."KodGr"><>'99'
                              then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                       (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                       (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10)*10*
                                       <frxDatasetPrStr."KolF">))
                              else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                       (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                       (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                       <frxDatasetPrStr."KolF">))
                        end
                   else Memo6_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">))}
                   end
       else
              if <Pr_ONds>='1'
              then begin
                   if <frxDatasetPrStr."KodGr"><>'99'
                       then Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100*
                                <frxDatasetPrStr."KolF">))
                       else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100))*
                                <frxDatasetPrStr."KolF">))
                   end
              else begin
                   Memo6_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">))
                   {if <frxDatasetPrStr."priznsyria">=null
                   then begin
                          if <frxDatasetPrStr."KodGr"><>'99'
                              then begin
                                       Value:=<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                        (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                       (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10;

                                      if Frac(Value) < 0.5
                                             then iValue:= 10 * Trunc(Value)
                                             else iValue:= 10 * (Trunc(Value) + 1);
                                      Memo6_2.Text:=IntToStr(iValue*<frxDatasetPrStr."KolF">)
                                   end

                              else Memo6_2.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                       (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                       (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                       <frxDatasetPrStr."KolF">))
                        end
                   else Memo6_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">))}
                   end;
     end;
end;

procedure Memo6_4OnBeforePrint(Sender: TfrxComponent);
begin
if (<Pr_ONds>='1') and (<Pr_CenRoz>='1')
       then Memo6_4.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">))
       else Memo6_4.Text:='';

{  if <frxDatasetPrStr."CenPriobr">=0
   then
       begin
       if <Pr_ONds>='1' then
                        begin
                        if <Pr_CenRoz>='1'
                        then begin
                             if <frxDatasetPrStr."priznsyria">=null
                             then begin
                                    if <frxDatasetPrStr."IdPrizLog">='5'
                                        then begin
                                             if <frxDatasetPrStr."KodGr"><>'99'
                                                      then Memo6_4.Text:=IntToStr(Round(Round((<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                                                (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                                                (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))/10)*10*
                                                                                <frxDatasetPrStr."KolF">))
                                                      else Memo6_4.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                                                (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                                                (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                                                                <frxDatasetPrStr."KolF">));
                                             end;
                                    if <frxDatasetPrStr."IdPrizLog">='6'
                                        then begin
                                             if <frxDatasetPrStr."KodGr"><>'99'
                                                      then Memo6_4.Text:=IntToStr(Round(Round((<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                                                (1+<frxDatasetPrStr."NalProd">/100))/10)*10*<frxDatasetPrStr."KolF">))
                                                      else Memo6_4.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                                                (1+<frxDatasetPrStr."NalProd">/100))*<frxDatasetPrStr."KolF">));
                                             end
                                  end
                             else begin
                                  Memo6_4.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">));
                                  end
                             end
                        else Memo6_4.Text:='';
                        end
                        else Memo6_4.Text:='';
       end
   else
       begin
       if <Pr_SchCenPriobr>=0
       then begin
              if <Pr_ONds>='1' then begin
                                    if <Pr_CenRoz>='1'
                                    then begin
                                           if <frxDatasetPrStr."priznsyria">=null
                                           then begin
                                                if <frxDatasetPrStr."KodGr"><>'99'
                                                      then Memo6_4.Text:=IntToStr(Round(Round((<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                              (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                              (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))/10)*10*
                                                              <frxDatasetPrStr."KolF">))
                                                      else Memo6_4.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                              (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                              (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                                              <frxDatasetPrStr."KolF">));
                                                end
                                           else Memo6_4.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">))
                                         end
                                    else Memo6_4.Text:='';
                                    end
                               else Memo6_4.Text:='';
            end
       else begin
              if <Pr_ONds>='1' then
                                    begin
                                    if <Pr_CenRoz>='1'
                                    then begin
                                         if <frxDatasetPrStr."priznsyria">=null
                                         then begin
                                                if <frxDatasetPrStr."KodGr"><>'99'
                                                       then begin
                                                             Value:=<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                              (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                              (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10;

                                                             if Frac(Value) < 0.5
                                                                    then iValue:= 10 * Trunc(Value)
                                                                    else iValue:= 10 * (Trunc(Value) + 1);
                                                             Memo6_4.Text:=IntToStr(iValue*<frxDatasetPrStr."KolF">)
                                                           end
                                                      else Memo6_4.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                              (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                              (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                                              <frxDatasetPrStr."KolF">));
                                              end
                                         else Memo6_4.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">))
                                         end
                                    else Memo6_4.Text:='';
                                    end
                               else Memo6_4.Text:='';
            end;
       end;}
end;

procedure Memo94OnBeforePrint(Sender: TfrxComponent);
begin
//Vsego:=0;
if <frxDatasetPrStr."Usl">=0
then begin
if <frxDatasetPrStr."CenPriobr">=0
   then
       if <Pr_ONds>='1'
       then begin
               if <frxDatasetPrStr."PrRazl"><>'*'
               then begin
                      if <frxDatasetPrStr."IdPrizLog">='5'
                              then begin
                                 if <NameGrPr>=1
                                    then begin
                                      if Frac(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                             <frxDatasetPrStr."KolF">)=0.5
                                      then Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              <frxDatasetPrStr."KolF">+0.5))
                                      else Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              <frxDatasetPrStr."KolF">));
                                   end
                                   else begin
                                      if Frac(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">)=0.5
                                      then Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">+0.5))
                             {         else Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">));  }
                                      else
                                        begin
                                        Vsego:=Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                         (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                         <frxDatasetPrStr."KolF">);
                                         Memo94.Text:=FloatToStr(Round(Vsego*(1+<frxDatasetPrStr."NDS">/100)));
                                       end;
                                    end;
                                 end;
                      if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                              then begin
                                      if Frac(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              <frxDatasetPrStr."KolF">)=0.5
                                      then Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              <frxDatasetPrStr."KolF">+1))
                                      else Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              <frxDatasetPrStr."KolF">));
                                   end
                    end
               else begin
                      if <frxDatasetPrStr."IdPrizLog">='5'
                              then begin
                                       if Frac((<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              (1+<frxDatasetPrStr."NDS">/100)/<frxDatasetPrStr."KolPor">/10)*
                                              10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">)=0.5
                                      then Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              (1+<frxDatasetPrStr."NDS">/100)/<frxDatasetPrStr."KolPor">/10)*
                                              10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">+1)
                                      else Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              (1+<frxDatasetPrStr."NDS">/100)/<frxDatasetPrStr."KolPor">/10)*
                                              10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">);
                                    end;
                      if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                              then begin
                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)/
                                              <frxDatasetPrStr."KolPor">/10)*10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">)=0.5
                                      then Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)/
                                              <frxDatasetPrStr."KolPor">/10)*10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">+1)
                                      else Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)/
                                              <frxDatasetPrStr."KolPor">/10)*10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">);
                                   end;
                    end
            end
       else begin
            if <frxDatasetPrStr."priznsyria">=null
            then begin
                      if <frxDatasetPrStr."PrRazl"><>'*'
                      then begin
                             if <frxDatasetPrStr."IdPrizLog">='5'
                                     then begin
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then begin
                                                      if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10)*10*
                                                      <frxDatasetPrStr."KolF">)=0.5
                                                     then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10)*10*
                                                      <frxDatasetPrStr."KolF">+1))
                                                     else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10)*10*
                                                      <frxDatasetPrStr."KolF">));
                                                  end
                                             else begin
                                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                                      <frxDatasetPrStr."KolF">)=0.5
                                                      then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                                      <frxDatasetPrStr."KolF">+1))
                                                      else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                                      <frxDatasetPrStr."KolF">));
                                                  end
                                          end;
                             if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                                     then begin
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then begin
//                                              showmessage('41');
                                                        if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100)/10)*10*<frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100)/10)*10*<frxDatasetPrStr."KolF">+1))
                                                       else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100)/10)*10*<frxDatasetPrStr."KolF">));
                                                  end
                                             else begin
                                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100))*<frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100))*<frxDatasetPrStr."KolF">+1))
                                                       else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100))*<frxDatasetPrStr."KolF">));
                                                  end;
                                          end
                           end
                      else begin
                             if <frxDatasetPrStr."IdPrizLog">='5'
                                     then begin
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then begin
                                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/<frxDatasetPrStr."KolPor">/10)*
                                                      10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/<frxDatasetPrStr."KolPor">/10)*
                                                      10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">+1))
                                                       else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/<frxDatasetPrStr."KolPor">/10)*
                                                      10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">));
                                                  end
                                             else begin
                                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                                      <frxDatasetPrStr."KolF">)=0.5
                                                      then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                                      <frxDatasetPrStr."KolF">+1))
                                                      else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                                      <frxDatasetPrStr."KolF">));
                                                  end;
                                          end;
                             if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                                     then begin
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then begin
//                                              showmessage('42');
                                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100)/<frxDatasetPrStr."KolPor">/10)*
                                                        10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100)/<frxDatasetPrStr."KolPor">/10)*
                                                        10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">+1))
                                                       else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100)/<frxDatasetPrStr."KolPor">/10)*
                                                        10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">));
                                                  end
                                             else begin
                                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100))*<frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100))*<frxDatasetPrStr."KolF">+1))
                                                       else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."NalProd">/100))*<frxDatasetPrStr."KolF">));
                                                  end
                                          end
                           end
                 end
            else begin
                 if Frac(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">)=0.5
                 then Memo94.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">+1))
                 else Memo94.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">));
                 end
            end
  else begin
       if <Pr_SchCenPriobr>=0
               then begin
                    if <Pr_ONds>='1'
                       then begin
//                        showmessage('43');
                         if <frxDatasetPrStr."PrLogBKS">='0' then begin
                                if Frac(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                 (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">)=0.5
                                      then Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                 (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">+1))
                                      else Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                 (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">));
                            end
                                      else begin
                                      if <Pr_RNds>='1'
                                      then     Memo94.Text:=FloatToStr((Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100-
                                                 Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100*
                                                 <frxDatasetPrStr."NDS">/(100+<frxDatasetPrStr."NDS">)*100)/100)*100/100)
                                                 * <frxDatasetPrStr."KolF">)
                                      else     Memo94.Text:=FloatToStr((Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100-
                                                 Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100*
                                                 <frxDatasetPrStr."NDS">/(100+<frxDatasetPrStr."NDS">)*100)/100)*100/100)
                                                 * <frxDatasetPrStr."KolF">+<frxDatasetPrStr."SumNDS">);

{                                if Frac(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                 <frxDatasetPrStr."KolF">)=0.5
                                      then Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                  <frxDatasetPrStr."KolF">+1.1))
                                      else Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                 <frxDatasetPrStr."KolF">)); }
                       end
                       end
                       else begin
                            if <frxDatasetPrStr."priznsyria">=null
                            then begin
                                   if <frxDatasetPrStr."KodGr"><>'99'
                                      then begin
                                               if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10)*10*
                                               <frxDatasetPrStr."KolF">)=0.5
                                               then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10)*10*
                                               <frxDatasetPrStr."KolF">+1))
                                               else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10)*10*
                                               <frxDatasetPrStr."KolF">));
                                           end
                                      else begin
                                               if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                               <frxDatasetPrStr."KolF">)=0.5
                                               then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                               <frxDatasetPrStr."KolF">+1))
                                               else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                               <frxDatasetPrStr."KolF">));
                                           end
                                 end
                            else begin
                                       if Frac(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">)=0.5
                                       then Memo94.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">+1))
                                       else Memo94.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">));
                                 end
                            end
                    end
               else begin
                    if <Pr_ONds>='1'
                       then begin
                       //изменения на IdPrizLog 11.08.2009
                            if <frxDatasetPrStr."IdPrizLog">='5'
                               then begin
                                             if Frac(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                 (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">)=0.5
                                             then Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                 (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">+1))
                                             else Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                 (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">));
                                    end;
                            if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                               then begin
//                                showmessage('44');
                                               if Frac(Round(<frxDatasetPrStr."CenPriobr">*(1-<frxDatasetPrStr."SkidPokup">/100)*100)
                                                 /100*<frxDatasetPrStr."KolF">)=0.5
                                               then Memo94.Text:=FloatToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1-<frxDatasetPrStr."SkidPokup">/100)*100)
                                                 /100*<frxDatasetPrStr."KolF">+1))
                                               else Memo94.Text:=FloatToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1-<frxDatasetPrStr."SkidPokup">/100)*100)
                                                 /100*<frxDatasetPrStr."KolF">));
                                    end
                       //Конец: изменения на IdPrizLog 11.08.2009
                            end
                       else begin
                            if <frxDatasetPrStr."priznsyria">=null
                            then begin
                                   if <frxDatasetPrStr."KodGr"><>'99'
                                      then begin
                                      Value:=<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                       (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                       (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10;
                                              if Frac(Value) < 0.5
                                                  then iValue:= 10 * Trunc(Value)
                                                  else iValue:= 10 * (Trunc(Value) + 1);
                                              if Frac(iValue*<frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(iValue*<frxDatasetPrStr."KolF">+1)
                                                       else Memo94.Text:=IntToStr(iValue*<frxDatasetPrStr."KolF">);
                                           end
                                      else begin
                                               if Frac(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                               <frxDatasetPrStr."KolF">)=0.5
                                               then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                               <frxDatasetPrStr."KolF">+1))
                                               else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))*
                                               <frxDatasetPrStr."KolF">));
                                           end
                                 end
                            else begin
                                 if Frac(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">)=0.5
                                       then Memo94.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">+1))
                                       else Memo94.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">));
                                 end;
                            end
                    end
       end;
     end
else begin
if <frxDatasetPrStr."CenPriobr">=0
   then
       if <Pr_ONds>='1'
       then begin
               if <frxDatasetPrStr."PrRazl"><>'*'
               then begin
                      if <frxDatasetPrStr."IdPrizLog">='5'
                              then begin
                                       if Frac(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">)=0.5
                                       then Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">+1))
                                       else Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">+1));
                                   end;
                      if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                              then begin
//                               showmessage('45');
                                       if Frac(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              <frxDatasetPrStr."KolF">)=0.5
                                       then Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              <frxDatasetPrStr."KolF">+1))
                                       else Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              <frxDatasetPrStr."KolF">));
                                   end;
                    end
               else begin
                      if <frxDatasetPrStr."IdPrizLog">='5'
                              then begin
                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              (1+<frxDatasetPrStr."NDS">/100)/<frxDatasetPrStr."KolPor">/10)*
                                              10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">)=0.5
                                       then Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              (1+<frxDatasetPrStr."NDS">/100)/<frxDatasetPrStr."KolPor">/10)*
                                              10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">+1)
                                       else Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                              (1+<frxDatasetPrStr."NDS">/100)/<frxDatasetPrStr."KolPor">/10)*
                                              10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">);
                                       end;
                      if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                              then begin
//                               showmessage('46');
                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)/
                                              <frxDatasetPrStr."KolPor">/10)*10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">)=0.5
                                       then Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)/
                                              <frxDatasetPrStr."KolPor">/10)*10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">+1)
                                       else Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)/
                                              <frxDatasetPrStr."KolPor">/10)*10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">);
                                   end;
                    end
            end
       else begin
            if <frxDatasetPrStr."priznsyria">=null
            then begin
                      if <frxDatasetPrStr."PrRazl"><>'*'
                      then begin
                             if <frxDatasetPrStr."IdPrizLog">='5'
                                     then begin
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then begin
                                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)/10)*10*
                                                      <frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)/10)*10*
                                                      <frxDatasetPrStr."KolF">+1))
                                                       else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)/10)*10*
                                                      <frxDatasetPrStr."KolF">));
                                                  end
                                             else begin
                                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100))*
                                                      <frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100))*
                                                      <frxDatasetPrStr."KolF">+1))
                                                       else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100))*
                                                      <frxDatasetPrStr."KolF">));
                                                  end;
                                          end;
                             if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                                     then begin
//                                     showmessage('46');
                                     if <frxDatasetPrStr."KodGr"><>'99'
                                             then begin
                                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100)/10)*10*<frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100)/10)*10*<frxDatasetPrStr."KolF">+1))
                                                       else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100)/10)*10*<frxDatasetPrStr."KolF">));
                                                  end
                                             else begin
                                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100))*<frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100))*<frxDatasetPrStr."KolF">+1))
                                                       else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100))*<frxDatasetPrStr."KolF">));
                                                  end;
                                          end
                           end
                      else begin
                             if <frxDatasetPrStr."IdPrizLog">='5'
                                     then begin
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then begin
                                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)/<frxDatasetPrStr."KolPor">/10)*
                                                      10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)/<frxDatasetPrStr."KolPor">/10)*
                                                      10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">+1))
                                                       else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)/<frxDatasetPrStr."KolPor">/10)*
                                                      10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">));
                                                  end
                                             else begin
                                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100))*
                                                      <frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100))*
                                                      <frxDatasetPrStr."KolF">+1))
                                                       else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100))*
                                                      <frxDatasetPrStr."KolF">));
                                                  end;
                                          end;
                             if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                                     then begin
//                                      showmessage('47');
                                          if <frxDatasetPrStr."KodGr"><>'99'
                                             then begin
                                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100)/<frxDatasetPrStr."KolPor">/10)*
                                                        10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100)/<frxDatasetPrStr."KolPor">/10)*
                                                        10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">+1))
                                                       else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100)/<frxDatasetPrStr."KolPor">/10)*
                                                        10*<frxDatasetPrStr."KolPor">*<frxDatasetPrStr."KolF">));
                                                  end
                                             else begin
                                                       if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100))*<frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100))*<frxDatasetPrStr."KolF">+1))
                                                       else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                        (1+<frxDatasetPrStr."Usl">/100))*<frxDatasetPrStr."KolF">));
                                                  end;
                                          end
                           end
                 end
            else begin
                 if Frac(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">)=0.5
                       then Memo94.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">+1))
                       else Memo94.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">));
                 end
            end
  else begin
       if <Pr_SchCenPriobr>=0
               then begin
                    if <Pr_ONds>='1'
                       then begin
                                       if Frac(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                 (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">)=0.5
                                       then Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                 (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">+1))
                                       else Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                 (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">));
                            end
                       else begin
                            if <frxDatasetPrStr."priznsyria">=null
                            then begin
                                   if <frxDatasetPrStr."KodGr"><>'99'
                                      then begin
                                               if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)/10)*10*
                                               <frxDatasetPrStr."KolF">)=0.5
                                               then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)/10)*10*
                                               <frxDatasetPrStr."KolF">+1))
                                               else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)/10)*10*
                                               <frxDatasetPrStr."KolF">));
                                           end
                                      else begin
                                               if Frac(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100))*
                                               <frxDatasetPrStr."KolF">)=0.5
                                               then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100))*
                                               <frxDatasetPrStr."KolF">+1))
                                               else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100))*
                                               <frxDatasetPrStr."KolF">));
                                           end;
                                 end
                            else begin
                                       if Frac(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">)=0.5
                                       then Memo94.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">+1))
                                       else Memo94.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">));
                                 end;
                            end
                    end
               else begin
                    if <Pr_ONds>='1'
                       then begin
                       //изменения на IdPrizLog 11.08.2009
                            if <frxDatasetPrStr."IdPrizLog">='5'
                               then begin
                                       if Frac(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                 (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">)=0.5
                                       then Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                 (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">+1))
                                       else Memo94.Text:=FloatToStr(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                 (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*
                                                 (1+<frxDatasetPrStr."NDS">/100)*<frxDatasetPrStr."KolF">));
                                    end;
                            if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                               then begin
                                       if Frac(Round(<frxDatasetPrStr."CenPriobr">*(1-<frxDatasetPrStr."SkidPokup">/100)*100)
                                                 /100*<frxDatasetPrStr."KolF">)=0.5
                                       then Memo94.Text:=FloatToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1-<frxDatasetPrStr."SkidPokup">/100)*100)
                                                 /100*<frxDatasetPrStr."KolF">+1))
                                       else Memo94.Text:=FloatToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1-<frxDatasetPrStr."SkidPokup">/100)*100)
                                                 /100*<frxDatasetPrStr."KolF">));
                                    end;
                       //Конец: изменения на IdPrizLog 11.08.2009
                            end
                       else begin
                            if <frxDatasetPrStr."priznsyria">=null
                            then begin
                                   if <frxDatasetPrStr."KodGr"><>'99'
                                      then begin
                                      Value:=<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                       (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                       (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)/10;
                                              if Frac(Value) < 0.5
                                                  then iValue:= 10 * Trunc(Value)
                                                  else iValue:= 10 * (Trunc(Value) + 1);
                                              if Frac(iValue*<frxDatasetPrStr."KolF">)=0.5
                                                       then Memo94.Text:=IntToStr(iValue*<frxDatasetPrStr."KolF">+1)
                                                       else Memo94.Text:=IntToStr(iValue*<frxDatasetPrStr."KolF">)
                                           end
                                      else begin
                                               if Frac(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100))*
                                               <frxDatasetPrStr."KolF">)=0.5
                                               then Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100))*
                                               <frxDatasetPrStr."KolF">+1))
                                               else Memo94.Text:=IntToStr(Round(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100))*
                                               <frxDatasetPrStr."KolF">));
                                           end;
                                 end
                            else begin
                                       if Frac(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">)=0.5
                                       then Memo94.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">+1))
                                       else Memo94.Text:=IntToStr(Round(<frxDatasetPrStr."CenRoz">*<frxDatasetPrStr."KolF">));
                                 end;
            end
          end
       end;
     end;
end;

procedure Memo100OnBeforePrint(Sender: TfrxComponent);
begin
//Memo100.Text:='[IIF(<frxDatasetPrStr."Ves"><>0,<frxDatasetPrStr."Ves">*<frxDatasetPrStr."KolF">,'+chr(39)+chr(39)+')]';
//Memo100.Text:='[IIF(<frxDatasetPrStr."KolZ">=0,(IIF(<frxDatasetPrStr."Ves"><>0,<frxDatasetPrStr."Ves">*<frxDatasetPrStr."KolF">,'+chr(39)+chr(39)+')),<frxDatasetPrStr."Ves">*<frxDatasetPrStr."KolZ">)]';
Memo100.Text:='[IIF(<frxDatasetPrStr."KolZ">=0,(IIF(<frxDatasetPrStr."Ves"><>0,<frxDatasetPrStr."Ves">*<frxDatasetPrStr."KolF">,0)),<frxDatasetPrStr."Ves">*<frxDatasetPrStr."KolZ">)]';
//  Memo100.Text:='[IIF(<frxDatasetPrStr."Fasov"><>0,<frxDatasetPrStr."Fasov">*<frxDatasetPrStr."KolF">,'+chr(39)+chr(39)+')]';

if <frxDatasetPrStr."KolZ">=0
then begin
       if <frxDatasetPrStr."Ves"><>0 then
       //if <frxDatasetPrStr."Fasov"><>0 then
       //Value:=FloatToStr(Round2(PrStrQuery.FieldByName('Fasov').Value*PrStrQuery.FieldByName('KolF').Value/1000));
       Memo100.Text:=<frxDatasetPrStr."Ves">*<frxDatasetPrStr."KolF">
       else Memo100.Text:='';
       //Memo100.Text:=<frxDatasetPrStr."Fasov">*<frxDatasetPrStr."KolF">;
     end
else Memo100.Text:=<frxDatasetPrStr."Ves">*<frxDatasetPrStr."KolZ">;

if Memo100.Text='0' then
Memo100.Text:='';
end;

procedure NalProdOnBeforePrint(Sender: TfrxComponent);
begin
{if <frxDatasetPrStr."Usl">=0
       then NalProd.Text:='[IIF(<frxDatasetPrStr."NalProd"><>0,FloatToStr(<frxDatasetPrStr."NalProd">)+'+chr(39)+'%-'+chr(39)+','+chr(39)+chr(39)+')]'
       else NalProd.Text:='[IIF(<frxDatasetPrStr."Usl"><>0,FloatToStr(<frxDatasetPrStr."Usl">)+'+chr(39)+'%-'+chr(39)+','+chr(39)+chr(39)+')]';
  if <Pr_CenRoz>='0' then NalProd.Text:='';}
end;

procedure Memo336OnBeforePrint(Sender: TfrxComponent);
var Val, res, res1 : real;
begin
res:=0;
res1:=0;
if (<frxDatasetPrStr."Usl"><>0) or (<frxDatasetPrStr."NalProd"><>0)
then begin
       if <frxDatasetPrStr."CenPriobr"><>0
       then res:=<frxDatasetPrStr."CenRoz">-<frxDatasetPrStr."CenPriobr">
       else begin
                   res1:=<frxDatasetPrStr."CenO">*
                        (1+<frxDatasetPrStr."NalTr">/100)*
                        (1+<frxDatasetPrStr."NacRozn">/100)*
                        (1+<frxDatasetPrStr."NacObpit">/100);
                   if (<frxDatasetPrStr."NDS">-Int(<frxDatasetPrStr."NDS">)=0)
                     then res1:=res1*(1+<frxDatasetPrStr."NDS">/100);
                   res:=<frxDatasetPrStr."CenRoz">-res1;
                   end;
            end;
memo336.text:=floattostr(round(res));

{if <frxDatasetPrStr."Usl">=0
then Memo336.Text:='[FloatToStr(IIF(<frxDatasetPrStr."NalProd"><>0,FloatToStr(FormatFloat('+chr(39)+'#####.##'+chr(39)+',<frxDatasetPrStr."CenRoz">-IIF(<frxDatasetPrStr."CenPriobr"><>0,<frxDatasetPrStr."CenPriobr">,<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*(1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit"/100>)*IIF(<frxDatasetPrStr."NDS">-Int(<frxDatasetPrStr."NDS">)=0,(1+<frxDatasetPrStr."NDS">/100),1)))),'+chr(39)+chr(39)+'))]'
else Memo336.Text:='[FloatToStr(IIF(<frxDatasetPrStr."Usl"><>0,FloatToStr(FormatFloat('+chr(39)+'#####.##'+chr(39)+',<frxDatasetPrStr."CenRoz">-IIF(<frxDatasetPrStr."CenPriobr"><>0,<frxDatasetPrStr."CenPriobr">,<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*(1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit"/100>)*IIF(<frxDatasetPrStr."NDS">-Int(<frxDatasetPrStr."NDS">)=0,(1+<frxDatasetPrStr."NDS">/100),1)))),'+chr(39)+chr(39)+'))]';}

{if <VernutTaru>='1' then
begin
       if <PrAll><>'1' then
         if (<frxDatasetPrStr."NalProd"><>0) then
         begin
          Val:=<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
              (1+<frxDatasetPrStr."NacRozn">/100)*
              (1+<frxDatasetPrStr."NacObpit">/100);
          if((<frxDatasetPrStr."CenPriobr"><>0)and(<Pr_SchCenPriobr>='1'))then
           Val:=<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
              (1+<frxDatasetPrStr."NacRozn">/100)*
              (1+<frxDatasetPrStr."NacObpit">/100);
          if(<frxDatasetPrStr."NDS">-int(<frxDatasetPrStr."NDS">))=0 then
       //    Value:=Val*(1+FieldByName('NDS').Value/100);
           Val:=Val*(1+<frxDatasetPrStr."NDS">/100);
       //    Value:=FieldByName('CenRoz').Value-Val;
           Memo336.Text:=floattostr(Round((<frxDatasetPrStr."CenRoz">-Val)*100)/100);
         end
         else
          Memo336.Text:='';
end
else Memo336.Text:='';}

if <Pr_CenRoz>='0' then Memo336.Text:='';
end;


procedure SumVsSNdsOnBeforePrint(Sender: TfrxComponent);
begin
//SumVsSNds.Text:=floattostr(z);
SumVsSNds.Text:=floattostr(z+<frxDatasetPrCap."SumBns">);
end;

procedure SumNalTrOnBeforePrint(Sender: TfrxComponent);
var Val, res, res1  : real;
begin
//  SumNalTr.Text:=Memo336.Value*<frxDatasetPrStr."KolF">;
res:=0;
res1:=0;
if (<frxDatasetPrStr."Usl"><>0) or (<frxDatasetPrStr."NalProd"><>0)
then begin
       if <frxDatasetPrStr."CenPriobr"><>0
       then res:=<frxDatasetPrStr."CenRoz">-<frxDatasetPrStr."CenPriobr">
       else begin
                   res1:=<frxDatasetPrStr."CenO">*
                        (1+<frxDatasetPrStr."NalTr">/100)*
                        (1+<frxDatasetPrStr."NacRozn">/100)*
                        (1+<frxDatasetPrStr."NacObpit">/100);
                   if (<frxDatasetPrStr."NDS">-Int(<frxDatasetPrStr."NDS">)=0)
                     then res1:=res1*(1+<frxDatasetPrStr."NDS">/100);
                   res:=<frxDatasetPrStr."CenRoz">-res1;
                   end;
            end;
SumNalTr.text:=floattostr(round(res*<frxDatasetPrStr."KolF">));

{if <frxDatasetPrStr."Usl">=0
then SumNalTr.Text:='[FloatToStr(IIF(<frxDatasetPrStr."NalProd"><>0,FloatToStr(FormatFloat('+chr(39)+'#####.##'+chr(39)+',<frxDatasetPrStr."CenRoz">-IIF(<frxDatasetPrStr."CenPriobr"><>0,<frxDatasetPrStr."CenPriobr">,<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*(1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit"/100>)*IIF(<frxDatasetPrStr."NDS">-Int(<frxDatasetPrStr."NDS">)=0,(1+<frxDatasetPrStr."NDS">/100),1)))),'+chr(39)+chr(39)+')*<frxDatasetPrStr."KolF">)]'
else SumNalTr.Text:='[FloatToStr(IIF(<frxDatasetPrStr."Usl"><>0,FloatToStr(FormatFloat('+chr(39)+'#####.##'+chr(39)+',<frxDatasetPrStr."CenRoz">-IIF(<frxDatasetPrStr."CenPriobr"><>0,<frxDatasetPrStr."CenPriobr">,<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*(1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit"/100>)*IIF(<frxDatasetPrStr."NDS">-Int(<frxDatasetPrStr."NDS">)=0,(1+<frxDatasetPrStr."NDS">/100),1)))),'+chr(39)+chr(39)+')*<frxDatasetPrStr."KolF">)]';}

if <Pr_CenRoz>='0' then SumNalTr.Text:='';
end;


procedure SumVsSNdsOnAfterPrint(Sender: TfrxComponent);
begin
z:=0;
end;

procedure Memo94OnAfterPrint(Sender: TfrxComponent);
begin
//showmessage(Memo94.text);
  z:=z+Round(StrToFloat(Copy(Memo94.Text,1,length(Memo94.text)-2)));
  VsNds:=VsNds+Round(StrToFloat(Copy(Memo94.Text,1,length(Memo94.text)-2)));
end;

procedure Sum6OnBeforePrint(Sender: TfrxComponent);
begin
if <Pr_RNds>='1'
       then Sum6.Text:=FloatToStr(VsNds+<frxDatasetPrCap."SumBns">)
       else Sum6.Text:=FloatToStr((VsNds-vNdsS)+<frxDatasetPrCap."SumBns">);
end;

procedure Memo93OnAfterPrint(Sender: TfrxComponent);
begin
if (Trim(Memo93.Text)<>'') then
begin
VNds:=VNds+StrToFloat(Copy(Memo93.Text,1,length(Memo93.text)-2));
if ((<frxDatasetPrStr."NDS">-int(<frxDatasetPrStr."NDS">))=0) and (<frxDatasetPrStr."IdPrizLog">=5) or (<frxDatasetPrStr."PrLogBKS">=1) then
VNdsS:=VNdsS+StrToFloat(Copy(Memo93.Text,1,length(Memo93.text)-2));
end;
end;

procedure Sum6OnAfterPrint(Sender: TfrxComponent);
begin
VsNds:=0;
VNdsS:=0;
end;

procedure SumSumNDSOnBeforePrint(Sender: TfrxComponent);
begin
SumSumNDS.Text:=FloatToStr(VNds+<frxDatasetPrCap."SumNdsBonus">);
end;

procedure SumSumNDSOnAfterPrint(Sender: TfrxComponent);
begin
  VNds:=0;
end;

procedure Cen4_1OnBeforePrint(Sender: TfrxComponent);
var ZnNDS : real;
begin
if <frxDatasetPrStr."NDS">=null then ZnNDS:=0
                                else ZnNDS:=<frxDatasetPrStr."NDS">;
if <frxDatasetPrStr."Usl">=0
then begin
if <frxDatasetPrStr."CenPriobr">=0
   then
       if <Pr_ONds>='1'
       then begin
               if <frxDatasetPrStr."IdPrizLog">='5'
                       then begin
                            if <frxDatasetPrStr."KodGr"><>'99'
                            then begin
                            if <frxDatasetPrStr."Ceno">>=20000000
                               then Cen4_1.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100/100))
                            else
                                    Cen4_1.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                              (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100)
                            end
                               else Cen4_1.Text:=FloatToStr(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100))
                            end;
               if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                       then begin
//                       ShowMessage('1');
                            if <frxDatasetPrStr."KodGr"><>'99'
                               then Cen4_1.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100)
                               else Cen4_1.Text:=FloatToStr(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100))
                            end
            end
       else begin
               if <frxDatasetPrStr."priznsyria">=null
               then begin
                    if <frxDatasetPrStr."PrRazl"><>'*'
                    then begin
                           if <frxDatasetPrStr."IdPrizLog">='5'
                                   then begin
                                        if <frxDatasetPrStr."KodGr"><>'99'
                                           then Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                    (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                    (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10)*10)
                                           else Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                    (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                    (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)))
                                        end;
                           if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                                   then begin
//                                   ShowMessage('2');
                                        if <frxDatasetPrStr."KodGr"><>'99'
                                           then Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NalProd">/100)/10)*10)
                                           else Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NalProd">/100)))
                                        end
                         end
                    else begin
                           if <frxDatasetPrStr."IdPrizLog">='5'
                                   then begin
                                        if <frxDatasetPrStr."KodGr"><>'99'
                                           then Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                    (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                    (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/<frxDatasetPrStr."KolPor">/10)*10*<frxDatasetPrStr."KolPor">)
                                           else Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                    (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                    (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)))
                                        end;
                           if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                                   then begin
//                                   ShowMessage('3');
                                        if <frxDatasetPrStr."KodGr"><>'99'
                                           then Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NalProd">/100)/<frxDatasetPrStr."KolPor">/10)*10*<frxDatasetPrStr."KolPor">)
                                           else Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."NalProd">/100)))
                              end
                         end
                    end
               else begin
                    Cen4_1.Text:=<frxDatasetPrStr."CenRoz">;
                    end
            end
   else
       if <Pr_SchCenPriobr>=0
       then
              if <Pr_ONds>='1'
              then begin
//              ShowMessage('4');
                   if <frxDatasetPrStr."KodGr"><>'99'
// вставка для печати цены с логотипом
                       then begin
                        if <frxDatasetPrStr."PrLogBKS">='0'
                       then Cen4_1.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100)
                       else
{                           Cen4_1.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                            (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100-
                            Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                            (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100*
                            <frxDatasetPrStr."NDS">/(100+<frxDatasetPrStr."NDS">)*100)/100) }
                           Cen4_1.Text:=FloatToStr(Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                            (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100-
                            Round(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                            (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100*
                            <frxDatasetPrStr."NDS">/(100+<frxDatasetPrStr."NDS">)*100)/100)*100/100)
                         end
                       else Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)))
                   end
              else begin
                   Cen4_1.Text:=<frxDatasetPrStr."CenRoz">;
                   end
       else
              if <Pr_ONds>='1'
              then begin
//              ShowMessage('5');
                   if <frxDatasetPrStr."KodGr"><>'99'
                       then Cen4_1.Text:=FloatToStr(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100)
                       else Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)))
                   end
              else begin
                   Cen4_1.Text:=<frxDatasetPrStr."CenRoz">;
                   end;
     end
else begin
if <frxDatasetPrStr."CenPriobr">=0
   then
       if <Pr_ONds>='1'
       then begin
               if <frxDatasetPrStr."IdPrizLog">='5'
                       then begin
                            if <frxDatasetPrStr."KodGr"><>'99'
                               then Cen4_1.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100)
                               else Cen4_1.Text:=FloatToStr(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100))
                            end;
               if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                       then begin
//                       ShowMessage('6');
                            if <frxDatasetPrStr."KodGr"><>'99'
                               then Cen4_1.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100)
                               else Cen4_1.Text:=FloatToStr(<frxDatasetPrStr."CenO">*(1-<frxDatasetPrStr."SkidPokup">/100))
                            end
            end
       else begin
               if <frxDatasetPrStr."priznsyria">=null
               then begin
                    if <frxDatasetPrStr."PrRazl"><>'*'
                    then begin
                           if <frxDatasetPrStr."IdPrizLog">='5'
                                   then begin
                                        if <frxDatasetPrStr."KodGr"><>'99'
                                           then Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                    (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                    (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)/10)*10)
                                           else Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                    (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                    (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)))
                                        end;
                           if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                                   then begin
//                                   ShowMessage('7');
                                        if <frxDatasetPrStr."KodGr"><>'99'
                                           then Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."Usl">/100)/10)*10)
                                           else Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."Usl">/100)))
                                        end
                         end
                    else begin
                           if <frxDatasetPrStr."IdPrizLog">='5'
                                   then begin
                                        if <frxDatasetPrStr."KodGr"><>'99'
                                           then Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                    (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                    (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)/<frxDatasetPrStr."KolPor">/10)*10*<frxDatasetPrStr."KolPor">)
                                           else Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                    (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                    (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."Usl">/100)))
                                        end;
                           if (<frxDatasetPrStr."IdPrizLog">='6') or (<frxDatasetPrStr."IdPrizLog">='41')
                                   then begin
//                                   ShowMessage('8');
                                        if <frxDatasetPrStr."KodGr"><>'99'
                                           then Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."Usl">/100)/<frxDatasetPrStr."KolPor">/10)*10*<frxDatasetPrStr."KolPor">)
                                           else Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                      (1+<frxDatasetPrStr."Usl">/100)))
                                        end
                         end
                    end
               else begin
                    Cen4_1.Text:=<frxDatasetPrStr."CenRoz">;
                    end
            end
   else
       if <Pr_SchCenPriobr>=0
       then
              if <Pr_ONds>='1'
              then begin
//              ShowMessage('9');
                   if <frxDatasetPrStr."KodGr"><>'99'
                       then Cen4_1.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100)
                       else Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)))
                   end
              else begin
                   Cen4_1.Text:=<frxDatasetPrStr."CenRoz">;
                   end
       else
              if <Pr_ONds>='1'
              then begin
//              ShowMessage('10');
                   if <frxDatasetPrStr."KodGr"><>'99'
                       then Cen4_1.Text:=FloatToStr(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)*100)/100)
                       else Cen4_1.Text:=IntToStr(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacOpt">/100)*(1-<frxDatasetPrStr."SkidPokup">/100)))
                   end
              else begin
                   Cen4_1.Text:=<frxDatasetPrStr."CenRoz">;
                   end;
     end;
end;



procedure Cen4_2OnBeforePrint(Sender: TfrxComponent);
var Zn2NDS : real;
begin
if (<Pr_ONds>='1') and (<Pr_CenRoz>='1')
       then Cen4_2.Text:=<frxDatasetPrStr."CenRoz">
       else Cen4_2.Text:='';
{if <frxDatasetPrStr."NDS">=null then Zn2NDS:=0
                                else Zn2NDS:=<frxDatasetPrStr."NDS">;
  if <frxDatasetPrStr."CenPriobr">=0
   then
       begin
       if <Pr_ONds>='1' then
                        begin
                        if <Pr_CenRoz>='1'
                               then begin
                                    if <frxDatasetPrStr."priznsyria">=null
                                    then begin
                                         if <frxDatasetPrStr."PrRazl"><>'*'
                                         then begin
                                              if <frxDatasetPrStr."IdPrizLog">='5'
                                                 then begin
                                                      if <frxDatasetPrStr."KodGr"><>'99'
                                                         then Cen4_2.Text:=IntToStr(Round((<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                                           (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                                           (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))/10)*10)
                                                          else Cen4_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                                            (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                                            (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)));
                                                      end
                                                 else begin
                                                      if <frxDatasetPrStr."KodGr"><>'99'
                                                         then Cen4_2.Text:=IntToStr(Round((<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                                           (1+<frxDatasetPrStr."NalProd">/100))/10)*10)
                                                         else Cen4_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                                           (1+<frxDatasetPrStr."NalProd">/100)));
                                                      end
                                              end
                                         else begin
                                              if <frxDatasetPrStr."IdPrizLog">='5'
                                              then begin
                                                   if <frxDatasetPrStr."KodGr"><>'99'
                                                      then Cen4_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                                        (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                                        (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/<frxDatasetPrStr."KolPor">/10)*10*<frxDatasetPrStr."KolPor">)
                                                      else Cen4_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                                        (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                                        (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)));
                                                   end
                                              else begin
                                                   if <frxDatasetPrStr."KodGr"><>'99'
                                                      then Cen4_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                                        (1+<frxDatasetPrStr."NalProd">/100)/<frxDatasetPrStr."KolPor">/10)*10*<frxDatasetPrStr."KolPor">)
                                                      else Cen4_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                                        (1+<frxDatasetPrStr."NalProd">/100)));
                                                   end
                                              end
                                         end
                                         else begin
                                              Cen4_2.Text:=<frxDatasetPrStr."CenRoz">;
                                              end
                                    end
                               else Cen4_2.Text:='';
                        end
                        else Cen4_2.Text:='';
       end
   else
       begin
       if <Pr_SchCenPriobr>=0
               then begin
                    if (<Pr_ONds>='1') and (<Pr_CenRoz>='1')
                           then begin
                                if <frxDatasetPrStr."priznsyria">=null
                                then begin
                                     if <frxDatasetPrStr."KodGr"><>'99'
                                       then Cen4_2.Text:=IntToStr(Round((<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))/10)*10)
                                       else Cen4_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                               (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                               (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)));
                                     end
                                else begin
                                     Cen4_2.Text:=<frxDatasetPrStr."CenRoz">
                                     end
                                end
                           else Cen4_2.Text:='';
                    end
               else begin
                    if (<Pr_ONds>='1') and (<Pr_CenRoz>='1')
                           then begin
                                if <frxDatasetPrStr."priznsyria">=null
                                then begin
                                       if <frxDatasetPrStr."KodGr"><>'99'
                                               then begin
                                                   Value:=<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)/10;
                                                     if Frac(Value) < 0.5
                                                         then iValue:= 10 * Trunc(Value)
                                                         else iValue:= 10 * (Trunc(Value) + 1);
                                                     Cen4_2.Text:=IntToStr(iValue)
                                                   end
                                              else Cen4_2.Text:=IntToStr(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                                                      (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                                                      (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100)));
                                     end
                                else Cen4_2.Text:=<frxDatasetPrStr."CenRoz">;
                                end
                           else Cen4_2.Text:='';
                    end;
       end;}












///////////////////////////////////////////////////////////////
{   then
       if <Pr_ONds>='1' then
              if <Pr_CenRoz>='1'
              then begin
                   if <frxDatasetPrStr."IdPrizLog">='5'
                       then Cen4_2.Text:=IntToStr(Round((<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))/10)*10)
                       else Cen4_2.Text:=IntToStr(Round((<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NacObpit">/100)*
                                (1+<frxDatasetPrStr."NalProd">/100))/10)*10);
                   end
              else Cen4_2.Text:=''
   else
       begin
       if (<Pr_SchCenPriobr>=0) and (<Pr_ONds>='1') and (<Pr_CenRoz>='1')
                     then Cen4_2.Text:=IntToStr(Round((<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*
                                       (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                       (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))/10)*10)
                     else Cen4_2.Text:='';
       if (<Pr_SchCenPriobr>=1) and (<Pr_ONds>='1') and (<Pr_CenRoz>='1')
                     then Cen4_2.Text:=IntToStr(Round((<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*
                                       (1+<frxDatasetPrStr."NacRozn">/100)*(1+<frxDatasetPrStr."NacObpit">/100)*
                                       (1+<frxDatasetPrStr."NDS">/100)*(1+<frxDatasetPrStr."NalProd">/100))/10)*10)
                     else Cen4_2.Text:='';
       end;}
end;

procedure Prim1OnBeforePrint(Sender: TfrxComponent);
begin
Prim1.Text:='';
if <Pr_SchCenPriobr>='0'
       then begin
            if <Pr_ProcTr>='1'
               then begin
                    Prim1.Text:=FloatToStr(<frxDatasetPrStr."CenO">)+'-о.-отп.цена';
                    if <frxDatasetPrStr."NalTr"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."NalTr">)+'-тр.расх.';
                    if <frxDatasetPrStr."NacOpt"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."NacOpt">)+'-опт.нац.';
                    if <frxDatasetPrStr."SkidPokup"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."SkidPokup">)+'-скид.покуп.';
                    if (<frxDatasetPrStr."NacRozn"><>0) and (<Pr_CenRoz>='1')
                       then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."NacRozn">)+'-розн.надб.';
                    if <frxDatasetPrStr."NacObpit"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."NacObpit">)+'-общеп.нац.';
                    end
               else begin
//                    Prim1.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*100)/100)+'-о.-отп.цена';
                    Prim1.Text:=FloatToStr(Round(<frxDatasetPrStr."CenO">*(1+<frxDatasetPrStr."NalTr">/100)*100)/100)+'-о.-отп.цена';
                    if <frxDatasetPrStr."NacOpt"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."NacOpt">)+'-опт.нац.';
                    if <frxDatasetPrStr."SkidPokup"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."SkidPokup">)+'-скид.покуп.';
                    if (<frxDatasetPrStr."NacRozn"><>0) and (<Pr_CenRoz>='1')
                       then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."NacRozn">)+'-розн.надб.';
                    if <frxDatasetPrStr."NacObpit"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."NacObpit">)+'-общеп.нац.';
                    end
            end
       else begin
            if <Pr_ProcTr>='1'
               then begin
                    Prim1.Text:=FloatToStr(<frxDatasetPrStr."CenPriobr">)+'-о.-отп.цена';
                    if <frxDatasetPrStr."NalTr"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."NalTr">)+'-тр.расх.';
                    if <frxDatasetPrStr."NacOpt"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."NacOpt">)+'-опт.нац.';
                    if <frxDatasetPrStr."SkidPokup"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."SkidPokup">)+'-скид.покуп.';
                    if (<frxDatasetPrStr."NacRozn"><>0) and (<Pr_CenRoz>='1')
                       then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."NacRozn">)+'-розн.надб.';
                    if <frxDatasetPrStr."NacObpit"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."NacObpit">)+'-общеп.нац.';
                    if <Pr_CenOpt>='1' then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."CenO">)+'-цен.закуп.';
                    end
               else begin
//                    Prim1.Text:=FloatToStr(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*100)/100)+'-о.-отп.цена';
                    Prim1.Text:=FloatToStr(Round(<frxDatasetPrStr."CenPriobr">*(1+<frxDatasetPrStr."NalTr">/100)*100/100))+'-о.-отп.цена';
                    if <frxDatasetPrStr."NacOpt"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."NacOpt">)+'-опт.нац.';
                    if <frxDatasetPrStr."SkidPokup"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."SkidPokup">)+'-скид.покуп.';
                    if (<frxDatasetPrStr."NacRozn"><>0) and (<Pr_CenRoz>='1')
                       then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."NacRozn">)+'-розн.надб.';
                    if <frxDatasetPrStr."NacObpit"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."NacObpit">)+'-общеп.нац.';
                    if <Pr_CenOpt>='1' then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."CenO">)+'-цен.закуп.';
                    end
            end;

{if <frxDatasetPrStr."CenPriobr">=0
   then
       if <Pr_ONds>='1'
       then Prim1.Text:='[<frxDatasetPrStr."CenO">]-о.-отп.цена,[IIF(<frxDatasetPrStr."NacOpt"><>0,FloatToStr(<frxDatasetPrStr."NacOpt">)+'+chr(39)+'-нац.опт,'+chr(39)+','+chr(39)+chr(39)+')][IIF(<frxDatasetPrStr."SkidPokup"><>0,FloatToStr(<frxDatasetPrStr."SkidPokup">)+'+chr(39)+'-скид.покуп.'+chr(39)+','+chr(39)+chr(39)+')]'
       else Prim1.Text:='[<frxDatasetPrStr."CenO">]-о.-отп.цена,[IIF((<frxDatasetPrStr."NalTr"><>0) and (<Pr_ProcTr>='+chr(39)+'1'+chr(39)+'),FloatToStr(<frxDatasetPrStr."NalTr">)+'+chr(39)+'-тр.нал.,'+chr(39)+','+chr(39)+chr(39)+')][IIF(<frxDatasetPrStr."NacRozn"><>0,FloatToStr(<frxDatasetPrStr."NacRozn">)+'+chr(39)+'-нац.розн.,'+chr(39)+','+chr(39)+chr(39)+')][IIF(<frxDatasetPrStr."NacObpit"><>0,FloatToStr(<frxDatasetPrStr."NacObpit">)+'+chr(39)+'-нац.об.'+chr(39)+','+chr(39)+chr(39)+')]'
   else
       if <Pr_SchCenPriobr>=0
       then
              if <Pr_ONds>='1'
                      then Prim1.Text:='[<frxDatasetPrStr."CenO">]-о.-отп.цена,[IIF(<frxDatasetPrStr."NacOpt"><>0,FloatToStr(<frxDatasetPrStr."NacOpt">)+'+chr(39)+'-нац.опт,'+chr(39)+','+chr(39)+chr(39)+')][IIF(<frxDatasetPrStr."SkidPokup"><>0,FloatToStr(<frxDatasetPrStr."SkidPokup">)+'+chr(39)+'-скид.покуп.'+chr(39)+','+chr(39)+chr(39)+')]'
                      else Prim1.Text:='[<frxDatasetPrStr."CenO">]-о.-отп.цена,[IIF((<frxDatasetPrStr."NalTr"><>0) and (<Pr_ProcTr>='+chr(39)+'1'+chr(39)+'),FloatToStr(<frxDatasetPrStr."NalTr">)+'+chr(39)+'-тр.нал.,'+chr(39)+','+chr(39)+chr(39)+')][IIF(<frxDatasetPrStr."NacRozn"><>0,FloatToStr(<frxDatasetPrStr."NacRozn">)+'+chr(39)+'-нац.розн.,'+chr(39)+','+chr(39)+chr(39)+')][IIF(<frxDatasetPrStr."NacObpit"><>0,FloatToStr(<frxDatasetPrStr."NacObpit">)+'+chr(39)+'-нац.об.'+chr(39)+','+chr(39)+chr(39)+')]'
       else
              if <Pr_ONds>='1'
                      then Prim1.Text:='[<frxDatasetPrStr."CenPriobr">]-о.-отп.цена,[IIF(<frxDatasetPrStr."NacOpt"><>0,FloatToStr(<frxDatasetPrStr."NacOpt">)+'+chr(39)+'-нац.опт,'+chr(39)+','+chr(39)+chr(39)+')][IIF(<frxDatasetPrStr."SkidPokup"><>0,FloatToStr(<frxDatasetPrStr."SkidPokup">)+'+chr(39)+'-скид.покуп.'+chr(39)+','+chr(39)+chr(39)+')]'
                      else Prim1.Text:='[<frxDatasetPrStr."CenPriobr">]-о.-отп.цена,[IIF((<frxDatasetPrStr."NalTr"><>0) and (<Pr_ProcTr>='+chr(39)+'1'+chr(39)+'),FloatToStr(<frxDatasetPrStr."NalTr">)+'+chr(39)+'-тр.нал.,'+chr(39)+','+chr(39)+chr(39)+')][IIF(<frxDatasetPrStr."NacRozn"><>0,FloatToStr(<frxDatasetPrStr."NacRozn">)+'+chr(39)+'-нац.розн.,'+chr(39)+','+chr(39)+chr(39)+')][IIF(<frxDatasetPrStr."NacObpit"><>0,FloatToStr(<frxDatasetPrStr."NacObpit">)+'+chr(39)+'-нац.об.'+chr(39)+','+chr(39)+chr(39)+')]'}
end;

procedure Memo92OnBeforePrint(Sender: TfrxComponent);
begin
// if (<frxDatasetPrStr."IdPrizLog">='5') and (<NameGrPr>=1) then
// Memo92.Text:='';
end;

procedure Memo33OnBeforePrint(Sender: TfrxComponent);
begin
// if <frxDatasetPrStr."NalTr"><>0 then Prim1.Text:=Prim1.Text+FloatToStr(<frxDatasetPrStr."
  if <frxDatasetPrStr."KolKzp"><>0
then Memo33.Text:=FloatToStr(<frxDatasetPrStr."KolKzp">);
if <frxDatasetPrStr."KolOv"><>0
then Memo33.Text:=FloatToStr(<frxDatasetPrStr."KolOv">);
end;

begin

end.
