ТМС:Кассир:Классы:Barcode — различия между версиями

Материал из wiki.standart-n.ru
Перейти к: навигация, поиск
 
Строка 13: Строка 13:
 
  </nowiki>
 
  </nowiki>
  
====Пример:====
+
====Пример====
  
 
  <nowiki>
 
  <nowiki>
Строка 44: Строка 44:
 
  </nowiki>
 
  </nowiki>
  
====Пример:====
+
====Пример====
 
  <nowiki>
 
  <nowiki>
 
   ChequeList.Items[0].P_Index := 0;
 
   ChequeList.Items[0].P_Index := 0;
 
   Barcode.ApplyDiscount('000000000314', ChequeList.Items[0].P_ID);
 
   Barcode.ApplyDiscount('000000000314', ChequeList.Items[0].P_ID);
 
  </nowiki>
 
  </nowiki>

Текущая версия на 15:39, 1 октября 2014

Свойства

 Text                  - текст отсканированного штрихкода
 Kind RW               - тип штрихкода: bkUnknown (неизвестно), bkGoods (товар), bkLPGoods (весовой товар),
                         bkLocalDiscount (локальная скидка), bkGlobalDiscount (глобальная скидка)
 Percent RW            - процент скидки (если KIND = bkLocalDiscount или bkGlobalDiscount)
 CardSumm              - сумма накоплений по дисконтной карте (если KIND = bkGlobalDiscount)

Методы

RecalcDiscount

  RecalcDiscount	- пересчет скидки по очереди чеков в случае изменения процента скидки (PERCENT)
 

Пример

  var s: string;
  begin
    s := Barcode.Text + #10;
    case Barcode.Kind of
      bkLocalDiscount: s := s + 'локальная скидка ' + FloatToStr(Barcode.Percent) + '%';
      bkGlobalDiscount: s := s + 'глобальная скидка ' + FloatToStr(Barcode.Percent) + '%; ' + FloatToStr(Barcode.CardSumm);
      bkLPGoods: s := s + 'весовой товар';
      bkGoods: s := s + 'товар';
    else
      s := s + 'непонятно, что за штрихкод';
    end; 
    ShowMessage(s);

    if (Barcode.Kind = bkLocalDiscount) or (Barcode.Kind = bkGlobalDiscount) then
      begin
        Barcode.Percent := -20;
        Barcode.RecalcDiscount;
      end;
  end;
 

ApplyDiscount

  ApplyDiscount		- применить дисконтную карту к одной или всем позициям очереди чеков
    sDiscountBarcode	- штрихкод дисконтной карты
    iPartID		- PART_ID позиции, к которой применяется карта (0 - применить ко всем позициям)
 

Пример

  ChequeList.Items[0].P_Index := 0;
  Barcode.ApplyDiscount('000000000314', ChequeList.Items[0].P_ID);