Ограничение скидки в кассире

Материал из wiki.standart-n.ru
Перейти к: навигация, поиск

Вставить текст в тмс кассира "После сканирования ШК":

uses
  Graphics, Controls, Forms, Dialogs, StdCtrls,
  ComCtrls, ExtCtrls, ibquery, DB, ChequeList, FR, 
  ScriptRes, Barcode,ZKassa, StrUtils, Windows, Classes,
  StrUtils, System,SysUtils,
  IBDataBase, Buttons;

var iq: tibquery;
    i,j: Integer;

procedure SetDsc;
begin
   iq := tibquery.create(nil);
   iq.transaction := CreateRT(CurrDB);
   iq.transaction.starttransaction;

  for i := 0 to chequelist.count - 1 do
    for j := 0 to chequelist[i].count - 1 do
    begin
      chequelist[i].p_index := j;
      iq.active := False;
      iq.sql.text := 'select 100*iif(price_o=0,1,(price-price_o)/price_o) as nac from parts where id='+ inttostr(chequelist[i].P_id);
      iq.active := True;

      if (chequelist[i].P_DscPrc<-3) and (iq.FieldByName('nac').asFloat<=20) then
        chequelist[i].P_SetDiscount(-chequelist[i].P_Price * chequelist[i].P_Quant*0.03);
     end;
   iq.Free;
end;

begin
  SetDsc
end;

Строки

 
iq.sql.text := 'select 100*iif(price_o=0,1,(price-price_o)/price_o) as nac from parts where id='+ inttostr(chequelist[i].P_id);

и

if (chequelist[i].P_DscPrc<-3) and (iq.FieldByName('nac').asFloat<=20) then
  chequelist[i].P_SetDiscount(-chequelist[i].P_Price * chequelist[i].P_Quant*0.03);

меняем в зависимости от пожеланий клиента