Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 4 Следующий »

Этот раздел относится логически к предыдущему про настройку внешнего вида чеков, так как затрагивает использование тех же скриптов.

Имейте ввиду, что для каждого ККМ номера отделов, типов платежа и остального имеют какой-то диапазон или формат. Следует уточнить это в документации по устройству. Также устройство может не поддерживать то или иное.

При желании разделять некоторые платежи по разным отделам можно использовать такую возможность, предоставляемую большинством ККМ. Для этого при добавлении в скрипте "формирование позиции чека" очередной позиции с помощью команды addPayment надо третьим параметром передать номер отдела. Таким образом отдел привязывается к продажной позиции.

Вычислить номер отдела можно на основании любых данных, например, типа платежа, номера принтера и т.д. и т.п. Пример использования:

   int paymentDep = 0;
   switch( payment.getPaymentTypeID() )
   {
   case 1:
      paymentDep = 1;
   break;
   case 2:
      paymentDep = 2;
   break;
   // .... итд 
   }
   check.addPayment( payment.getSumma(), payment.getContractTitle(), paymentDep );

Можно просто отдавать в метод 0 (ноль), если вам не нужна эта возможность.

Тип платежа - это "наличные", "картой" итд. Поддерживается многими ККМ. Он задаётся для всего чека сразу. Вам нужен setPaymentType() у объекта Check. Туда передаётся целочисленный тип, назначение идентификаторов уточняйте в документации устройства или у поставщика. Так как тип платежа привязан ко всему чеку, подходящее место для установки - метод "завершение формирования чека" (но можно ставить и в момент формирования каждой позиции, нужно только учесть, что в следующей позиции он может перекрыться).

Номер налоговой группы - задаётся для всего чека, метод setTax() у объекта Check. Назначение номеров настраивается в самом ККТ, уточняйте в документации устройства.

Признак электронного чека - указание для ККТ что чек электронный, если он умеет такое, то печати бумажного чека не будет. Метод setOnlyElCheck(true) у объекта Check.

Указание customerAddress - для электронных чеков необходимо указание customerAddress (можно указывать и при бумажном). Метод setCustomerEmail("email/phone") у объекта Check. Формат передаваемого телефона/адреса уточняйте в документации ОФД.

Указание произвольного тега для ОФД - можно задать дополнительный любой тег. За это отвечают методы setTag(int tag, String value), setTag(int tag, byte value), setTag(int tag, byte[] value) у объекта Check.

  • Нет меток