Инструменты пользователя

Инструменты сайта


кассир5:транзакцииподробно:810

Данные о проданных билетах лотереи (НЛ)

Если в чеке были продажи билетов НЛ, то на чек пишется одна или несколько транзакций с типом 810.
В поле №8 (Код товара) записывается строка, с данными о проданных в чеке билетах.
В зависимости от типа лотереи строка данных билета может различаться по составу.

Общая часть

(1)ИндексПозицииСоставаЧека|(2)ШтрихкодБилета|(3)Порядковый номер кадра|(4)ИД операции|(5)Тип лотереи|(6)Код продукта(лотереи)|(7)Цена билета|(8)Наименование лотереи

(1) - индекс позиции в чеке, учитывая сторнированные позиции
(2) - штрихкод (номер) билета
(3) - Порядковый номер кадра
Строка с данными о билете может быть длиннее 150 символов. Чтобы не плодить еще какие-то транзакции (а потом их каким-то раком агрегировать и сопоставлять, если в чеке несколько билетов) была принята следующая схема записи транзакций: Составляется строка с данными билета БЕЗ полей ИндексПозицииСоставаЧека, ШтрихкодБилета, Порядковый номер кадра. Для моментальной лотереи вид строки с данными билета будет таким: СтрокаСДаннымиБилета = ИД операции|Тип лотереи|Код продукта(лотереи)|Цена билета|Наименование лотереи|Номер билета

Тогда алгоритм записи транзакции(транзакций билета) будет выглядеть так:

ПорядковыйНомерКадра = 0;
НЕ ПустаяСтрока(СтрокаСДаннымиБилета) Цикл
  МетаданныеКадра = ИндексПозицииСоставаЧека|ШтрихкодБилета|ПорядковыйНомерКадра;
  ДлинаСтрокиСМетаданнымиКадра = СтрДлина(МетаданныеКадра);
  МаксимальнаяДлинаСтрокиДанныхТекКадра = 150 - ДлинаСтрокиСМетаданнымиКадра;
  ДанныеДляЗаписиВТекКадр = МетаданныеКадра + Лев(СтрокаСДаннымиБилета, МаксимальнаяДлинаСтрокиДанныхТекКадра);
  СтрокаСДаннымиБилета = Сред(СтрокаСДаннымиБилета, МаксимальнаяДлинаСтрокиДанныхТекКадра + 1);

  ЗаписатьВремТранзакцию(810, ДанныеДляЗаписиВТекКадр);

  ПорядковыйНомерКадра = 0;
КонецЦикла

(4) - идентификатор операции в НЛ.
(5) - Тип лотереи. Возможные значения: INSTANTLY_LOTTERY, NUMBER_LOTTERY, BINGO_LOTTERY
(6) - код продукта (лотереи) в системе НЛ
(7) - цена билета
(8) - наименование лотереи.

Моментальная лотерея

Для билета моментальной лотереи достаточно общей части. В поле (4) Идентификатор операции всегда значение ноль (0).

Числовая и Бинго лотерея

<Общая часть>|(9)Ближайший тираж|(10)Дата тиража|(11)Сведения о числовой комбинации|(12)Дата регистрации билета в НЛ|(13)Юридическая информация|(14)Номер телефона|(15)Номер телефона|(16)Номер билета

кассир5/транзакцииподробно/810.txt · Последнее изменение: 2023/12/08 15:13 — dzayonchkovskiy