ТМС:Кассир:Классы:Barcode

Материал из wiki.standart-n.ru
Версия от 15:39, 1 октября 2014; Aleksnick (обсуждение | вклад)

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

Свойства

 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);