-
-
Save FullZero5/38c810551eb82d1cda5627a9e8a228d1 to your computer and use it in GitHub Desktop.
use driver atol ActivX
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
//*********************************************************************************// | |
// Примеры работы с ККТ АТОЛ под новый порядок. // | |
// Примеры предназначены для работы с прошивками, поддерживающими ФФД 1.0. // | |
// Так как в примерах создаются чеки для ОСН и ЕНВД, то ККТ должна // | |
// быть зарегистрирована как минимум на эти 2 СНО. // | |
// Примеры необходимо запускать в 32-ух битном интерпретаторе WScript: // | |
// C:\Windows\SysWOW64\WScript.exe ФФД_1_0_примеры.js // | |
//*********************************************************************************// | |
// Вспомогательные функции для отладочного логирования | |
function AddLeft(str, add, len) | |
{ | |
// Потому что в JScript нет функций форматированного вывода | |
str = String(str); | |
while (str.length < len) | |
str = add + str; | |
return str; | |
} | |
function dump(Text) | |
{ | |
var DumpFolder = "C:\\DUMPS\\"; | |
var now = new Date(); | |
var DumpFile = now.getYear() + '_' + AddLeft(now.getMonth() + 1, '0', 2) + '_' + AddLeft(now.getDate(), '0', 2) + '_' + AddLeft(now.getHours(), '0', 2) + '_' + AddLeft(now.getMinutes(), '0', 2) + '_' + AddLeft(now.getSeconds(), '0', 2) + '_' + AddLeft(now.getMilliseconds(), '0',3) + ".txt"; | |
fso = new ActiveXObject("Scripting.FileSystemObject"); | |
if (!fso.FolderExists(DumpFolder)) | |
fso.CreateFolder(DumpFolder); | |
ts = fso.OpenTextFile(DumpFolder + DumpFile, 8, true); | |
ts.WriteLine(Text); | |
ts.Close(); | |
} | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// --------------------------- Подключение к устройству -----------------------------// | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
var driver = new ActiveXObject ("AddIn.FPrnM8"); | |
// Программное указание параметров подключения | |
driver.AddDevice(); | |
driver.Model = 69; | |
driver.UseAccessPassword = 1; | |
driver.DefaultPassword = 30; | |
// Номер COM порта 8 соответствует значению PortNumber 1008 | |
driver.PortNumber = 1009; | |
driver.BaudRate = 18; | |
// Подключение через окно настройки свойств | |
driver.ShowProperties(); | |
driver.DeviceEnabled = 1; | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // ---------------------------------- Поддерживаемая версия ФФД ------------------------------------// | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
driver.Mode = 0; | |
driver.SetMode (); | |
driver.Caption = "Чтение поддерживаемой версии ФФД"; | |
driver.Alignment = 1; | |
driver.TextWrap = 1; | |
driver.PrintString(); | |
driver.Alignment = 0; | |
driver.Caption = "Формат x.y.z:"; | |
driver.PrintString(); | |
driver.Caption = "x - версия ФФД ККТ"; | |
driver.PrintString(); | |
driver.Caption = "y - версия ФФД ФН"; | |
driver.PrintString(); | |
driver.Caption = "z - версия ФФД"; | |
driver.PrintString(); | |
driver.Caption = "Список значений:"; | |
driver.PrintString(); | |
driver.Caption = "1 – ФФД 1.0"; | |
driver.PrintString(); | |
driver.Caption = "2 – ФФД 1.05"; | |
driver.PrintString(); | |
driver.Caption = "3 – ФФД 1.1"; | |
driver.PrintString(); | |
driver.RegisterNumber = 54; | |
driver.GetRegister(); | |
driver.Caption = "Значение из ККТ: " + driver.ROMVersion; | |
driver.PrintString(); | |
// Печать клише | |
driver.PrintHeader(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // ---------------------------------- Открыть смену ------------------------------------// | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
driver.Mode = 1; | |
driver.SetMode(); | |
driver.AttrNumber = 1021; | |
driver.AttrValue = "Старший кассир Иванов И.И."; | |
driver.WriteAttribute(); | |
// Записать ИНН кассира | |
driver.AttrNumber = 1203; | |
driver.AttrValue = "526317984689"; | |
driver.WriteAttribute(); | |
driver.OpenSession(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // ---------- Чек прихода без отправки электронного чека покупателю ---------- // | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
// Mode - Режим: | |
// 0 - Выбора | |
// 1 - Регистрации | |
// 2 - Отчётов без гашения | |
// 3 - Отчётов с гашением | |
driver.Mode = 1; | |
driver.SetMode(); | |
// Записать должность и ФИО кассира | |
driver.AttrNumber = 1021; | |
driver.AttrValue = "Старший кассир Иванов И.И."; | |
driver.WriteAttribute(); | |
// Записать ИНН кассира | |
driver.AttrNumber = 1203; | |
driver.AttrValue = "526317984689"; | |
driver.WriteAttribute(); | |
// CheckType - Тип чека: | |
// 1 - Приход | |
// 2 - Возврат прихода | |
// 4 - Расход | |
// 5 - Возврат расхода | |
// 7 - Коррекция прихода | |
// 9 - Коррекция расхода | |
driver.CheckType = 1; | |
// CheckMode - Режим формирования чека: | |
// 0 - только в электронном виде без печати на чековой ленте | |
// 1 - печатать на чековой ленте | |
driver.CheckMode = 1; | |
driver.OpenCheck(); | |
// Применяемая система налогооблажения в чеке: | |
// ОСН - 1 | |
// УСН доход - 2 | |
// УСН доход-расход - 4 | |
// ЕНВД - 8 | |
// ЕСН - 16 | |
// ПСН - 32 | |
driver.AttrNumber = 1055; | |
driver.AttrValue = 1; | |
driver.WriteAttribute(); | |
// Регистрация товара или услуги | |
driver.BeginItem(); | |
driver.Name = "Молоко 3.2%"; | |
driver.Price = 50.33; | |
driver.Quantity = 2; | |
// Если значение |Summ - Price * Quantity| > 0.01 , то ККТ посчитает, что была скидка и будет при необходимости преобразовывать позицию, разделяя её на 2 | |
driver.Summ = 100.66; | |
// Признак предмета расчёта. Свойство ItemType может принимать значения: | |
// 1 - товар, за исключением подакцизного товара | |
// 2 - подакцизный товар | |
// 3 - работа | |
// 4 - услуга | |
// 5 - приём ставок при деятельность по организации и проведению азартных игр | |
// 6 - выплата выигрышей в азартных играх | |
// 7 - реализация лотерейных билетов или ставок при деятельность по организации и проведению лотерей | |
// 8 - выплата выигрышей в лотереях | |
// 9 - прав на использование результатов интеллектуальной деятельности или средств индивидуализации | |
// 10 - аванс, задаток, предоплата, кредит, взносе в счет оплаты, пени, штраф, вознаграждение, бонус и иной аналогичный предмет расчета | |
// 11 - предмет расчета, состоящий из предметов, каждому из которых может быть присвоено значение от 0 до 10 (набор) | |
// 12 - предмет расчета, не относящийся к предметам расчета, которым может быть присвоено значение от 0 до 11 | |
driver.ItemType = 1; | |
// Признак способа расчёта. Свойство PaymentMode может принимать значения: | |
// 1 - Полная предварительная оплата до момента передачи предмета расчета | |
// 2 - Частичная предварительная оплата до момента передачи предмета расчета | |
// 3 - Аванс | |
// 4 - Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета | |
// 5 - Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит | |
// 6 - Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит | |
// 7 - Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита) | |
driver.PaymentMode = 1; | |
driver.Department = 0; | |
// TaxTypeNumber - Номер налога: | |
// 0 - Налог из секции | |
// 1 - НДС 0% | |
// 2 - НДС 10% | |
// 3 - НДС 18% | |
// 4 - без НДС | |
// 5 - НДС 10/110 | |
// 6 - НДС 18/118 | |
driver.TaxTypeNumber = 2; | |
// Способ исчисления суммы налога. Доступные значения TaxMode: | |
// 0 - налог расчитывается от суммы позиции | |
// 1 - налог расчитывается от цены позиции | |
driver.TaxMode = 1; | |
// Сумма налога TaxSumm. Если передаётся 0, то ККТ считает самостоятельно по TaxTypeNumber и TaxMode. В противном случае в ОФД отправляется переданная сумма, но при значении настройки Т2Р1П114 бит 1 = 1 ККТ бедет осуществлять контроль переданных данных, при чём контроль в будущем нельзя будет отключить (Русинова). | |
driver.TaxSumm = Math.round(50.33 * 10 / 110 * 100) / 100; | |
// Скидка больше не изменяет сумму позиции, теперь она просто добавляет информационную печать. Необходимо рассчитывать в кассовом ПО цену со скидкой, а информацию по начисленным скидкам печатать нефискальной печатью и не передавать скидку в ККМ, поэтому код для начисления скидки закомментирован | |
//driver.DiscountValue = 10; | |
// DiscountType - Тип скидки: | |
// 0 - суммовая | |
// 1 - процентная | |
//driver.DiscountType = 0; | |
driver.EndItem(); | |
driver.Caption = "В том числе скидка: 4.67"; | |
driver.PrintString(); | |
driver.Caption = "Цена без скидки: 55.00"; | |
driver.PrintString(); | |
// Отброс копеек (округление чека без распределения по позициям). Скидка на чек доступна только для его округления до рубля. Таким образом недоступны: надбавки, назначение "на позицию", процентные значения. SummCharge(), PercentsCharge(), PercentsDiscount () и ResetChargeDiscount () более недоступны | |
// Destination - Назначение скидки: | |
// 0 - на чек | |
// 1 - на позицию (недоступно) | |
driver.Destination = 0; | |
driver.Summ = 0.66; | |
driver.SummDiscount(); | |
// Нефискальная печать с информацией по скидкам чека | |
driver.Caption = "--Скидки по чеку--"; | |
driver.PrintString(); | |
driver.Caption = "Сумма чека без скидок 110.00"; | |
driver.PrintString(); | |
driver.Caption = "Скидки по карте: 9.34"; | |
driver.PrintString(); | |
driver.Caption = "Округление: 0.66"; | |
driver.PrintString(); | |
// Оплата и закрытие чека | |
// TypeClose - Тип оплаты: | |
// 0 - Наличными | |
// 1 - Электронными средствами платежа | |
driver.TypeClose = 0; | |
driver.Summ = 500.00; | |
driver.Payment(); | |
driver.CloseCheck(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // ----- Чек возврата прихода без отправки электронного чека покупателю ---- // | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
// Mode - Режим: | |
// 0 - Выбора | |
// 1 - Регистрации | |
// 2 - Отчётов без гашения | |
// 3 - Отчётов с гашением | |
driver.Mode = 1; | |
driver.SetMode(); | |
// Записать должность и ФИО кассира | |
driver.AttrNumber = 1021; | |
driver.AttrValue = "Старший кассир Иванов И.И."; | |
driver.WriteAttribute(); | |
// Записать ИНН кассира | |
driver.AttrNumber = 1203; | |
driver.AttrValue = "526317984689"; | |
driver.WriteAttribute(); | |
// CheckType - Тип чека: | |
// 1 - Приход | |
// 2 - Возврат прихода | |
// 4 - Расход | |
// 5 - Возврат расхода | |
// 7 - Коррекция прихода | |
// 9 - Коррекция расхода | |
driver.CheckType = 2; | |
// CheckMode - Режим формирования чека: | |
// 0 - только в электронном виде без печати на чековой ленте | |
// 1 - печатать на чековой ленте | |
driver.CheckMode = 1; | |
driver.OpenCheck(); | |
// Применяемая система налогооблажения в чеке: | |
// ОСН - 1 | |
// УСН доход - 2 | |
// УСН доход-расход - 4 | |
// ЕНВД - 8 | |
// ЕСН - 16 | |
// ПСН - 32 | |
driver.AttrNumber = 1055; | |
driver.AttrValue = 1; | |
driver.WriteAttribute(); | |
// Регистрация товара или услуги | |
driver.BeginItem(); | |
driver.Name = "Молоко 3.2%"; | |
driver.Price = 50.33; | |
driver.Quantity = 2; | |
// Если значение |Summ - Price * Quantity| > 0.01 , то ККТ посчитает, что была скидка и будет при необходимости преобразовывать позицию, разделяя её на 2 | |
driver.Summ = 100.66; | |
// Признак предмета расчёта. Свойство ItemType может принимать значения: | |
// 1 - товар, за исключением подакцизного товара | |
// 2 - подакцизный товар | |
// 3 - работа | |
// 4 - услуга | |
// 5 - приём ставок при деятельность по организации и проведению азартных игр | |
// 6 - выплата выигрышей в азартных играх | |
// 7 - реализация лотерейных билетов или ставок при деятельность по организации и проведению лотерей | |
// 8 - выплата выигрышей в лотереях | |
// 9 - прав на использование результатов интеллектуальной деятельности или средств индивидуализации | |
// 10 - аванс, задаток, предоплата, кредит, взносе в счет оплаты, пени, штраф, вознаграждение, бонус и иной аналогичный предмет расчета | |
// 11 - предмет расчета, состоящий из предметов, каждому из которых может быть присвоено значение от 0 до 10 (набор) | |
// 12 - предмет расчета, не относящийся к предметам расчета, которым может быть присвоено значение от 0 до 11 | |
driver.ItemType = 1; | |
// Признак способа расчёта. Свойство PaymentMode может принимать значения: | |
// 1 - Полная предварительная оплата до момента передачи предмета расчета | |
// 2 - Частичная предварительная оплата до момента передачи предмета расчета | |
// 3 - Аванс | |
// 4 - Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета | |
// 5 - Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит | |
// 6 - Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит | |
// 7 - Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита) | |
driver.PaymentMode = 1; | |
driver.Department = 0; | |
// TaxTypeNumber - Номер налога: | |
// 0 - Налог из секции | |
// 1 - НДС 0% | |
// 2 - НДС 10% | |
// 3 - НДС 18% | |
// 4 - без НДС | |
// 5 - НДС 10/110 | |
// 6 - НДС 18/118 | |
driver.TaxTypeNumber = 2; | |
// Способ исчисления суммы налога. Доступные значения TaxMode: | |
// 0 - налог расчитывается от суммы позиции | |
// 1 - налог расчитывается от цены позиции | |
driver.TaxMode = 1; | |
// Сумма налога TaxSumm. Если передаётся 0, то ККТ считает самостоятельно по TaxTypeNumber и TaxMode. В противном случае в ОФД отправляется переданная сумма, но при значении настройки Т2Р1П114 бит 1 = 1 ККТ бедет осуществлять контроль переданных данных, при чём контроль в будущем нельзя будет отключить (Русинова). | |
driver.TaxSumm = Math.round(50.33 * 10 / 110 * 100) / 100; | |
// Скидка больше не изменяет сумму позиции, теперь она просто добавляет информационную печать. Необходимо рассчитывать в кассовом ПО цену со скидкой, а информацию по начисленным скидкам печатать нефискальной печатью и не передавать скидку в ККМ, поэтому код для начисления скидки закомментирован | |
// driver.DiscountValue = 10; | |
// // DiscountType - Тип скидки: | |
// // 0 - суммовая | |
// // 1 - процентная | |
// driver.DiscountType = 0; | |
driver.EndItem(); | |
driver.Caption = "В том числе скидка: 4.67"; | |
driver.PrintString(); | |
driver.Caption = "Цена без скидки: 55.00"; | |
driver.PrintString(); | |
// Отброс копеек (округление чека без распределения по позициям). Скидка на чек доступна только для его округления до рубля. Таким образом недоступны: надбавки, назначение "на позицию", процентные значения. SummCharge(), PercentsCharge(), PercentsDiscount () и ResetChargeDiscount () более недоступны | |
// Destination - Назначение скидки: | |
// 0 - на чек | |
// 1 - на позицию (недоступно) | |
driver.Destination = 0; | |
driver.Summ = 0.66; | |
driver.SummDiscount(); | |
// Нефискальная печать с информацией по скидкам чека | |
driver.Caption = "--Скидки по чеку--"; | |
driver.PrintString(); | |
driver.Caption = "Сумма чека без скидок 110.00"; | |
driver.PrintString(); | |
driver.Caption = "Скидки по карте: 9.34"; | |
driver.PrintString(); | |
driver.Caption = "Округление: 0.66"; | |
driver.PrintString(); | |
// Оплата и закрытие чека | |
// TypeClose - Тип оплаты: | |
// 0 - Наличными | |
// 1 - Электронными средствами платежа | |
driver.TypeClose = 0; | |
driver.Summ = 500.00; | |
driver.Payment(); | |
driver.CloseCheck(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // // ---------- Чек прихода с отправкой электронного чека покупателю ---------- // | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
// Mode - Режим: | |
// 0 - Выбора | |
// 1 - Регистрации | |
// 2 - Отчётов без гашения | |
// 3 - Отчётов с гашением | |
driver.Mode = 1; | |
driver.SetMode(); | |
// Записать должность и ФИО кассира | |
driver.AttrNumber = 1021; | |
driver.AttrValue = "Старший кассир Иванов И.И."; | |
driver.WriteAttribute(); | |
// Записать ИНН кассира | |
driver.AttrNumber = 1203; | |
driver.AttrValue = "526317984689"; | |
driver.WriteAttribute(); | |
// CheckType - Тип чека: | |
// 1 - Приход | |
// 2 - Возврат прихода | |
// 4 - Расход | |
// 5 - Возврат расхода | |
// 7 - Коррекция прихода | |
// 9 - Коррекция расхода | |
driver.CheckType = 1; | |
// CheckMode - Режим формирования чека: | |
// 0 - только в электронном виде без печати на чековой ленте | |
// 1 - печатать на чековой ленте | |
driver.CheckMode = 1; | |
driver.OpenCheck(); | |
// Применяемая система налогооблажения в чеке: | |
// ОСН - 1 | |
// УСН доход - 2 | |
// УСН доход-расход - 4 | |
// ЕНВД - 8 | |
// ЕСН - 16 | |
// ПСН - 32 | |
driver.AttrNumber = 1055; | |
driver.AttrValue = 1; | |
driver.WriteAttribute(); | |
// Запись контакта покупателя для отправки электронного чека | |
driver.AttrNumber = 1008; | |
driver.AttrValue = "+79091235566"; | |
driver.WriteAttribute(); | |
// Регистрация товара или услуги | |
driver.BeginItem(); | |
driver.Name = "Детсткое питание Тёма"; | |
driver.Price = 47.70; | |
driver.Quantity = 6; | |
// Если значение |Summ - Price * Quantity| > 0.01 , то ККТ посчитает, что была скидка и будет при необходимости преобразовывать позицию, разделяя её на 2 | |
driver.Summ = 286.20; | |
// Признак предмета расчёта. Свойство ItemType может принимать значения: | |
// 1 - товар, за исключением подакцизного товара | |
// 2 - подакцизный товар | |
// 3 - работа | |
// 4 - услуга | |
// 5 - приём ставок при деятельность по организации и проведению азартных игр | |
// 6 - выплата выигрышей в азартных играх | |
// 7 - реализация лотерейных билетов или ставок при деятельность по организации и проведению лотерей | |
// 8 - выплата выигрышей в лотереях | |
// 9 - прав на использование результатов интеллектуальной деятельности или средств индивидуализации | |
// 10 - аванс, задаток, предоплата, кредит, взносе в счет оплаты, пени, штраф, вознаграждение, бонус и иной аналогичный предмет расчета | |
// 11 - предмет расчета, состоящий из предметов, каждому из которых может быть присвоено значение от 0 до 10 (набор) | |
// 12 - предмет расчета, не относящийся к предметам расчета, которым может быть присвоено значение от 0 до 11 | |
driver.ItemType = 1; | |
// Признак способа расчёта. Свойство PaymentMode может принимать значения: | |
// 1 - Полная предварительная оплата до момента передачи предмета расчета | |
// 2 - Частичная предварительная оплата до момента передачи предмета расчета | |
// 3 - Аванс | |
// 4 - Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета | |
// 5 - Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит | |
// 6 - Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит | |
// 7 - Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита) | |
driver.PaymentMode = 1; | |
driver.Department = 0; | |
// TaxTypeNumber - Номер налога: | |
// 0 - Налог из секции | |
// 1 - НДС 0% | |
// 2 - НДС 10% | |
// 3 - НДС 18% | |
// 4 - без НДС | |
// 5 - НДС 10/110 | |
// 6 - НДС 18/118 | |
driver.TaxTypeNumber = 2; | |
// Способ исчисления суммы налога. Доступные значения TaxMode: | |
// 0 - налог расчитывается от суммы позиции | |
// 1 - налог расчитывается от цены позиции | |
driver.TaxMode = 1; | |
// Сумма налога TaxSumm. Если передаётся 0, то ККТ считает самостоятельно по TaxTypeNumber и TaxMode. В противном случае в ОФД отправляется переданная сумма, но при значении настройки Т2Р1П114 бит 1 = 1 ККТ бедет осуществлять контроль переданных данных, при чём контроль в будущем нельзя будет отключить (Русинова). | |
driver.TaxSumm = Math.round(47.70 * 10 / 110 * 100) / 100; | |
// Скидка больше не изменяет сумму позиции, теперь она просто добавляет информационную печать. Необходимо рассчитывать в кассовом ПО цену со скидкой, а информацию по начисленным скидкам печатать нефискальной печатью и не передавать скидку в ККМ, поэтому код для начисления скидки закомментирован | |
// driver.DiscountValue = 10; | |
// // DiscountType - Тип скидки: | |
// // 0 - суммовая | |
// // 1 - процентная | |
// driver.DiscountType = 0; | |
driver.EndItem(); | |
driver.Caption = "В том числе скидка: 5.30"; | |
driver.PrintString(); | |
driver.Caption = "Цена без скидки: 53.00"; | |
driver.PrintString(); | |
driver.BeginItem(); | |
driver.Name = "Коньяк Победа 0,5"; | |
driver.Price = 813.50; | |
driver.Quantity = 1; | |
// Если значение |Summ - Price * Quantity| > 0.01 , то ККТ посчитает, что была скидка и будет при необходимости преобразовывать позицию, разделяя её на 2 | |
driver.Summ = 813.50; | |
// Признак предмета расчёта. Свойство ItemType может принимать значения: | |
// 1 - товар, за исключением подакцизного товара | |
// 2 - подакцизный товар | |
// 3 - работа | |
// 4 - услуга | |
// 5 - приём ставок при деятельность по организации и проведению азартных игр | |
// 6 - выплата выигрышей в азартных играх | |
// 7 - реализация лотерейных билетов или ставок при деятельность по организации и проведению лотерей | |
// 8 - выплата выигрышей в лотереях | |
// 9 - прав на использование результатов интеллектуальной деятельности или средств индивидуализации | |
// 10 - аванс, задаток, предоплата, кредит, взносе в счет оплаты, пени, штраф, вознаграждение, бонус и иной аналогичный предмет расчета | |
// 11 - предмет расчета, состоящий из предметов, каждому из которых может быть присвоено значение от 0 до 10 (набор) | |
// 12 - предмет расчета, не относящийся к предметам расчета, которым может быть присвоено значение от 0 до 11 | |
driver.ItemType = 2; | |
// Признак способа расчёта. Свойство PaymentMode может принимать значения: | |
// 1 - Полная предварительная оплата до момента передачи предмета расчета | |
// 2 - Частичная предварительная оплата до момента передачи предмета расчета | |
// 3 - Аванс | |
// 4 - Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета | |
// 5 - Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит | |
// 6 - Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит | |
// 7 - Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита) | |
driver.PaymentMode = 1; | |
driver.Department = 0; | |
// TaxTypeNumber - Номер налога: | |
// 0 - Налог из секции | |
// 1 - НДС 0% | |
// 2 - НДС 10% | |
// 3 - НДС 18% | |
// 4 - без НДС | |
// 5 - НДС 10/110 | |
// 6 - НДС 18/118 | |
driver.TaxTypeNumber = 3; | |
// Способ исчисления суммы налога. Доступные значения TaxMode: | |
// 0 - налог расчитывается от суммы позиции | |
// 1 - налог расчитывается от цены позиции | |
driver.TaxMode = 1; | |
// Сумма налога TaxSumm. Если передаётся 0, то ККТ считает самостоятельно по TaxTypeNumber и TaxMode. В противном случае в ОФД отправляется переданная сумма, но при значении настройки Т2Р1П114 бит 1 = 1 ККТ бедет осуществлять контроль переданных данных, при чём контроль в будущем нельзя будет отключить (Русинова). | |
driver.TaxSumm = Math.round(813.50 * 18 / 118 * 100) / 100; | |
// Скидка больше не изменяет сумму позиции, теперь она просто добавляет информационную печать. Необходимо рассчитывать в кассовом ПО цену со скидкой, а информацию по начисленным скидкам печатать нефискальной печатью и не передавать скидку в ККМ, поэтому код для начисления скидки закомментирован | |
// driver.DiscountValue = 10; | |
// // DiscountType - Тип скидки: | |
// // 0 - суммовая | |
// // 1 - процентная | |
// driver.DiscountType = 0; | |
driver.EndItem(); | |
// Отброс копеек (округление чека без распределения по позициям). Скидка на чек доступна только для его округления до рубля. Таким образом недоступны: надбавки, назначение "на позицию", процентные значения. SummCharge(), PercentsCharge(), PercentsDiscount () и ResetChargeDiscount () более недоступны | |
// Destination - Назначение скидки: | |
// 0 - на чек | |
// 1 - на позицию (недоступно) | |
driver.Destination = 0; | |
driver.Summ = 0.70; | |
driver.SummDiscount(); | |
// Нефискальная печать с информацией по скидкам чека | |
driver.Caption = "--Скидки по чеку--"; | |
driver.PrintString(); | |
driver.Caption = "Сумма чека без скидок 1131.50"; | |
driver.PrintString(); | |
driver.Caption = "Скидки по карте: 31.80"; | |
driver.PrintString(); | |
driver.Caption = "Округление: 0.70"; | |
driver.PrintString(); | |
// TypeClose - Тип оплаты: | |
// 0 - Наличными | |
// 1 - Электронными средствами платежа | |
driver.TypeClose = 0; | |
driver.Summ = 1500.00; | |
driver.Payment(); | |
driver.CloseCheck(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // ---------- Чек прихода с отправкой электронного чека покупателю -----------// | |
// // ---------------------------- без печати на чековой ленте ---------------------------// | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
// Mode - Режим: | |
// 0 - Выбора | |
// 1 - Регистрации | |
// 2 - Отчётов без гашения | |
// 3 - Отчётов с гашением | |
driver.Mode = 1; | |
driver.SetMode(); | |
// Записать должность и ФИО кассира | |
driver.AttrNumber = 1021; | |
driver.AttrValue = "Старший кассир Иванов И.И."; | |
driver.WriteAttribute(); | |
// Записать ИНН кассира | |
driver.AttrNumber = 1203; | |
driver.AttrValue = "526317984689"; | |
driver.WriteAttribute(); | |
// CheckType - Тип чека: | |
// 1 - Приход | |
// 2 - Возврат прихода | |
// 4 - Расход | |
// 5 - Возврат расхода | |
// 7 - Коррекция прихода | |
// 9 - Коррекция расхода | |
driver.CheckType = 1; | |
// CheckMode - Режим формирования чека: | |
// 0 - только в электронном виде без печати на чековой ленте | |
// 1 - печатать на чековой ленте | |
driver.CheckMode = 0; | |
driver.OpenCheck(); | |
// Запись контакта покупателя для отправки электронного чека. Внимание!!! Обязательно передавать сразу после открытия чека | |
driver.AttrNumber = 1008; | |
driver.AttrValue = "+79091235566"; | |
driver.WriteAttribute(); | |
// Применяемая система налогооблажения в чеке: | |
// ОСН - 1 | |
// УСН доход - 2 | |
// УСН доход-расход - 4 | |
// ЕНВД - 8 | |
// ЕСН - 16 | |
// ПСН - 32 | |
driver.AttrNumber = 1055; | |
driver.AttrValue = 1; | |
driver.WriteAttribute(); | |
// Регистрация товара или услуги | |
driver.BeginItem(); | |
driver.Name = "Детсткое питание Тёма"; | |
driver.Price = 47.70; | |
driver.Quantity = 6; | |
// Если значение |Summ - Price * Quantity| > 0.01 , то ККТ посчитает, что была скидка и будет при необходимости преобразовывать позицию, разделяя её на 2 | |
driver.Summ = 286.20; | |
// Признак предмета расчёта. Свойство ItemType может принимать значения: | |
// 1 - товар, за исключением подакцизного товара | |
// 2 - подакцизный товар | |
// 3 - работа | |
// 4 - услуга | |
// 5 - приём ставок при деятельность по организации и проведению азартных игр | |
// 6 - выплата выигрышей в азартных играх | |
// 7 - реализация лотерейных билетов или ставок при деятельность по организации и проведению лотерей | |
// 8 - выплата выигрышей в лотереях | |
// 9 - прав на использование результатов интеллектуальной деятельности или средств индивидуализации | |
// 10 - аванс, задаток, предоплата, кредит, взносе в счет оплаты, пени, штраф, вознаграждение, бонус и иной аналогичный предмет расчета | |
// 11 - предмет расчета, состоящий из предметов, каждому из которых может быть присвоено значение от 0 до 10 (набор) | |
// 12 - предмет расчета, не относящийся к предметам расчета, которым может быть присвоено значение от 0 до 11 | |
driver.ItemType = 1; | |
// Признак способа расчёта. Свойство PaymentMode может принимать значения: | |
// 1 - Полная предварительная оплата до момента передачи предмета расчета | |
// 2 - Частичная предварительная оплата до момента передачи предмета расчета | |
// 3 - Аванс | |
// 4 - Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета | |
// 5 - Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит | |
// 6 - Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит | |
// 7 - Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита) | |
driver.PaymentMode = 1; | |
driver.Department = 0; | |
// TaxTypeNumber - Номер налога: | |
// 0 - Налог из секции | |
// 1 - НДС 0% | |
// 2 - НДС 10% | |
// 3 - НДС 18% | |
// 4 - без НДС | |
// 5 - НДС 10/110 | |
// 6 - НДС 18/118 | |
driver.TaxTypeNumber = 2; | |
// Способ исчисления суммы налога. Доступные значения TaxMode: | |
// 0 - налог расчитывается от суммы позиции | |
// 1 - налог расчитывается от цены позиции | |
driver.TaxMode = 1; | |
// Сумма налога TaxSumm. Если передаётся 0, то ККТ считает самостоятельно по TaxTypeNumber и TaxMode. В противном случае в ОФД отправляется переданная сумма, но при значении настройки Т2Р1П114 бит 1 = 1 ККТ бедет осуществлять контроль переданных данных, при чём контроль в будущем нельзя будет отключить (Русинова). | |
driver.TaxSumm = Math.round(47.70 * 10 / 110 * 100) / 100; | |
// Скидка больше не изменяет сумму позиции, теперь она просто добавляет информационную печать. Необходимо рассчитывать в кассовом ПО цену со скидкой, а информацию по начисленным скидкам печатать нефискальной печатью и не передавать скидку в ККМ, поэтому код для начисления скидки закомментирован | |
// driver.DiscountValue = 10; | |
// // DiscountType - Тип скидки: | |
// // 0 - суммовая | |
// // 1 - процентная | |
// driver.DiscountType = 0; | |
driver.EndItem(); | |
driver.Caption = "В том числе скидка: 5.30"; | |
driver.PrintString(); | |
driver.Caption = "Цена без скидки: 53.00"; | |
driver.PrintString(); | |
driver.BeginItem(); | |
driver.Name = "Коньяк Победа 0,5"; | |
driver.Price = 813.50; | |
driver.Quantity = 1; | |
// Если значение |Summ - Price * Quantity| > 0.01 , то ККТ посчитает, что была скидка и будет при необходимости преобразовывать позицию, разделяя её на 2 | |
driver.Summ = 813.50; | |
// Признак предмета расчёта. Свойство ItemType может принимать значения: | |
// 1 - товар, за исключением подакцизного товара | |
// 2 - подакцизный товар | |
// 3 - работа | |
// 4 - услуга | |
// 5 - приём ставок при деятельность по организации и проведению азартных игр | |
// 6 - выплата выигрышей в азартных играх | |
// 7 - реализация лотерейных билетов или ставок при деятельность по организации и проведению лотерей | |
// 8 - выплата выигрышей в лотереях | |
// 9 - прав на использование результатов интеллектуальной деятельности или средств индивидуализации | |
// 10 - аванс, задаток, предоплата, кредит, взносе в счет оплаты, пени, штраф, вознаграждение, бонус и иной аналогичный предмет расчета | |
// 11 - предмет расчета, состоящий из предметов, каждому из которых может быть присвоено значение от 0 до 10 (набор) | |
// 12 - предмет расчета, не относящийся к предметам расчета, которым может быть присвоено значение от 0 до 11 | |
driver.ItemType = 2; | |
// Признак способа расчёта. Свойство PaymentMode может принимать значения: | |
// 1 - Полная предварительная оплата до момента передачи предмета расчета | |
// 2 - Частичная предварительная оплата до момента передачи предмета расчета | |
// 3 - Аванс | |
// 4 - Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета | |
// 5 - Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит | |
// 6 - Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит | |
// 7 - Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита) | |
driver.PaymentMode = 1; | |
driver.Department = 0; | |
// TaxTypeNumber - Номер налога: | |
// 0 - Налог из секции | |
// 1 - НДС 0% | |
// 2 - НДС 10% | |
// 3 - НДС 18% | |
// 4 - без НДС | |
// 5 - НДС 10/110 | |
// 6 - НДС 18/118 | |
driver.TaxTypeNumber = 3; | |
// Способ исчисления суммы налога. Доступные значения TaxMode: | |
// 0 - налог расчитывается от суммы позиции | |
// 1 - налог расчитывается от цены позиции | |
driver.TaxMode = 1; | |
// Сумма налога TaxSumm. Если передаётся 0, то ККТ считает самостоятельно по TaxTypeNumber и TaxMode. В противном случае в ОФД отправляется переданная сумма, но при значении настройки Т2Р1П114 бит 1 = 1 ККТ бедет осуществлять контроль переданных данных, при чём контроль в будущем нельзя будет отключить (Русинова). | |
driver.TaxSumm = Math.round(813.50 * 18 / 118 * 100) / 100; | |
// Скидка больше не изменяет сумму позиции, теперь она просто добавляет информационную печать. Необходимо рассчитывать в кассовом ПО цену со скидкой, а информацию по начисленным скидкам печатать нефискальной печатью и не передавать скидку в ККМ, поэтому код для начисления скидки закомментирован | |
// driver.DiscountValue = 10; | |
// // DiscountType - Тип скидки: | |
// // 0 - суммовая | |
// // 1 - процентная | |
// driver.DiscountType = 0; | |
driver.EndItem(); | |
// Отброс копеек (округление чека без распределения по позициям). Скидка на чек доступна только для его округления до рубля. Таким образом недоступны: надбавки, назначение "на позицию", процентные значения. SummCharge(), PercentsCharge(), PercentsDiscount () и ResetChargeDiscount () более недоступны | |
// Destination - Назначение скидки: | |
// 0 - на чек | |
// 1 - на позицию (недоступно) | |
driver.Destination = 0; | |
driver.Summ = 0.70; | |
driver.SummDiscount(); | |
// Нефискальная печать с информацией по скидкам чека | |
driver.Caption = "--Скидки по чеку--"; | |
driver.PrintString(); | |
driver.Caption = "Сумма чека без скидок 1131.50"; | |
driver.PrintString(); | |
driver.Caption = "Скидки по карте: 31.80"; | |
driver.PrintString(); | |
driver.Caption = "Округление: 0.70"; | |
driver.PrintString(); | |
// TypeClose - Тип оплаты: | |
// 0 - Наличными | |
// 1 - Электронными средствами платежа | |
driver.TypeClose = 0; | |
driver.Summ = 1500.00; | |
driver.Payment(); | |
driver.CloseCheck(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // ------ Приём операций от лица банковского платёжного агента (1057 = 1) ------ // | |
// // ---------------------------- Или субагента (1057 = 2) ------------------------------------------ // | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
// Mode - Режим: | |
// 0 - Выбора | |
// 1 - Регистрации | |
// 2 - Отчётов без гашения | |
// 3 - Отчётов с гашением | |
driver.Mode = 1; | |
driver.SetMode(); | |
// Записать должность и ФИО кассира | |
driver.AttrNumber = 1021; | |
driver.AttrValue = "Старший кассир Иванов И.И."; | |
driver.WriteAttribute(); | |
// Записать ИНН кассира | |
driver.AttrNumber = 1203; | |
driver.AttrValue = "526317984689"; | |
driver.WriteAttribute(); | |
// CheckType - Тип чека: | |
// 1 - Приход | |
// 2 - Возврат прихода | |
// 4 - Расход | |
// 5 - Возврат расхода | |
// 7 - Коррекция прихода | |
// 9 - Коррекция расхода | |
driver.CheckType = 1; | |
// CheckMode - Режим формирования чека: | |
// 0 - только в электронном виде без печати на чековой ленте | |
// 1 - печатать на чековой ленте | |
driver.CheckMode = 1; | |
driver.OpenCheck(); | |
driver.AttrNumber = 1055; | |
// Применяемая система налогооблажения в чеке: | |
// ОСН - 1 | |
// УСН доход - 2 | |
// УСН доход-расход - 4 | |
// ЕНВД - 8 | |
// ЕСН - 16 | |
// ПСН - 32 | |
driver.AttrValue = 1; | |
driver.WriteAttribute(); | |
driver.AttrNumber = 1057; | |
// Указание признака агента: | |
// Банковскй платежный агент - 1 | |
// Банковскй платежный субагент - 2 | |
// Платежный агент - 4 | |
// Платежный субагент - 8 | |
// Проверенный агент - 16 | |
// Комиссионер - 32 | |
// Иной агент - 64 | |
driver.AttrValue = 4; | |
driver.WriteAttribute(); | |
// Адрес оператора по переводу денежных средств | |
driver.AttrNumber = 1005; | |
driver.AttrValue = "г. Москва, ул. Пушкина, д. колотушкина"; | |
driver.WriteAttribute(); | |
// ИНН оператора по переводу денежных средств | |
driver.AttrNumber = 1016; | |
driver.AttrValue = "006449013711"; | |
driver.WriteAttribute(); | |
// Наименование оператора по переводу денежных средств | |
driver.AttrNumber = 1026; | |
driver.AttrValue = "ООО Супер Банк"; | |
driver.WriteAttribute(); | |
// Операция платёжного агента | |
driver.AttrNumber = 1044; | |
driver.AttrValue = "Перевод"; | |
driver.WriteAttribute(); | |
// Телефон платёжного агента | |
driver.AttrNumber = 1073; | |
driver.AttrValue = "8-800-111-11-11"; | |
driver.WriteAttribute(); | |
// Телефон оператора перевода | |
driver.AttrNumber = 1075; | |
driver.AttrValue = "8-800-222-22-22"; | |
driver.WriteAttribute(); | |
// Телефон поставщика | |
driver.AttrNumber = 1171; | |
driver.AttrValue = "8-800-333-33-33"; | |
driver.WriteAttribute(); | |
// Телефон поставщика | |
driver.AttrNumber = 1171; | |
driver.AttrValue = "8-800-444-44-44"; | |
driver.WriteAttribute(); | |
// Регистрация товара или услуги | |
driver.BeginItem(); | |
driver.Name = "Денежный перевод"; | |
driver.Price = 110.00; | |
driver.Quantity = 1; | |
// Если значение |Summ - Price * Quantity| > 0.01 , то ККТ посчитает, что была скидка и будет при необходимости преобразовывать позицию, разделяя её на 2 | |
driver.Summ = 110; | |
// Признак предмета расчёта. Свойство ItemType может принимать значения: | |
// 1 - товар, за исключением подакцизного товара | |
// 2 - подакцизный товар | |
// 3 - работа | |
// 4 - услуга | |
// 5 - приём ставок при деятельность по организации и проведению азартных игр | |
// 6 - выплата выигрышей в азартных играх | |
// 7 - реализация лотерейных билетов или ставок при деятельность по организации и проведению лотерей | |
// 8 - выплата выигрышей в лотереях | |
// 9 - прав на использование результатов интеллектуальной деятельности или средств индивидуализации | |
// 10 - аванс, задаток, предоплата, кредит, взносе в счет оплаты, пени, штраф, вознаграждение, бонус и иной аналогичный предмет расчета | |
// 11 - предмет расчета, состоящий из предметов, каждому из которых может быть присвоено значение от 0 до 10 (набор) | |
// 12 - предмет расчета, не относящийся к предметам расчета, которым может быть присвоено значение от 0 до 11 | |
driver.ItemType = 4; | |
// Признак способа расчёта. Свойство PaymentMode может принимать значения: | |
// 1 - Полная предварительная оплата до момента передачи предмета расчета | |
// 2 - Частичная предварительная оплата до момента передачи предмета расчета | |
// 3 - Аванс | |
// 4 - Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета | |
// 5 - Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит | |
// 6 - Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит | |
// 7 - Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита) | |
driver.PaymentMode = 1; | |
driver.Department = 0; | |
// TaxTypeNumber - Номер налога: | |
// 0 - Налог из секции | |
// 1 - НДС 0% | |
// 2 - НДС 10% | |
// 3 - НДС 18% | |
// 4 - без НДС | |
// 5 - НДС 10/110 | |
// 6 - НДС 18/118 | |
driver.TaxTypeNumber = 3; | |
// Способ исчисления суммы налога. Доступные значения TaxMode: | |
// 0 - налог расчитывается от суммы позиции | |
// 1 - налог расчитывается от цены позиции | |
driver.TaxMode = 1; | |
// Сумма налога TaxSumm. Если передаётся 0, то ККТ считает самостоятельно по TaxTypeNumber и TaxMode. В противном случае в ОФД отправляется переданная сумма, но при значении настройки Т2Р1П114 бит 1 = 1 ККТ бедет осуществлять контроль переданных данных, при чём контроль в будущем нельзя будет отключить (Русинова). | |
driver.TaxSumm = Math.round(110 * 18 / 118 * 100) / 100; | |
// Скидка больше не изменяет сумму позиции, теперь она просто добавляет информационную печать. Необходимо рассчитывать в кассовом ПО цену со скидкой, а информацию по начисленным скидкам печатать нефискальной печатью и не передавать скидку в ККМ, поэтому код для начисления скидки закомментирован | |
// driver.DiscountValue = 10; | |
// // DiscountType - Тип скидки: | |
// // 0 - суммовая | |
// // 1 - процентная | |
// driver.DiscountType = 0; | |
driver.EndItem(); | |
// Оплата и закрытие чека | |
// TypeClose - Тип оплаты: | |
// 0 - Наличными | |
// 1 - Электронными средствами платежа | |
driver.TypeClose = 0; | |
driver.Summ = 500.00; | |
driver.Payment(); | |
driver.CloseCheck(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // ------- Выполнение операций от лица платёжного агента (1057 = 4) -------// | |
// // ------------------------------- Или субагента (1057 = 8) ------------------------------- // | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
// Mode - Режим: | |
// 0 - Выбора | |
// 1 - Регистрации | |
// 2 - Отчётов без гашения | |
// 3 - Отчётов с гашением | |
driver.Mode = 1; | |
driver.SetMode(); | |
// Записать должность и ФИО кассира | |
driver.AttrNumber = 1021; | |
driver.AttrValue = "Старший кассир Иванов И.И."; | |
driver.WriteAttribute(); | |
// Записать ИНН кассира | |
driver.AttrNumber = 1203; | |
driver.AttrValue = "526317984689"; | |
driver.WriteAttribute(); | |
// CheckType - Тип чека: | |
// 1 - Приход | |
// 2 - Возврат прихода | |
// 4 - Расход | |
// 5 - Возврат расхода | |
// 7 - Коррекция прихода | |
// 9 - Коррекция расхода | |
driver.CheckType = 1; | |
// CheckMode - Режим формирования чека: | |
// 0 - только в электронном виде без печати на чековой ленте | |
// 1 - печатать на чековой ленте | |
driver.CheckMode = 1; | |
driver.OpenCheck(); | |
driver.AttrNumber = 1055; | |
// Применяемая система налогооблажения в чеке: | |
// ОСН - 1 | |
// УСН доход - 2 | |
// УСН доход-расход - 4 | |
// ЕНВД - 8 | |
// ЕСН - 16 | |
// ПСН - 32 | |
driver.AttrValue = 1; | |
driver.WriteAttribute(); | |
driver.AttrNumber = 1057; | |
// Указание признака агента: | |
// Банковскй платежный агент - 1 | |
// Банковскй платежный субагент - 2 | |
// Платежный агент - 4 | |
// Платежный субагент - 8 | |
// Проверенный агент - 16 | |
// Комиссионер - 32 | |
// Иной агент - 64 | |
driver.AttrValue = 4; | |
driver.WriteAttribute(); | |
// Телефон платёжного агента | |
driver.AttrNumber = 1073; | |
driver.AttrValue = "8-800-111-11-11"; | |
driver.WriteAttribute(); | |
// Телефон оператора по приёму платежей | |
driver.AttrNumber = 1074; | |
driver.AttrValue = "8-800-222-22-22"; | |
driver.WriteAttribute(); | |
// Телефон поставщика | |
driver.AttrNumber = 1171; | |
driver.AttrValue = "8-800-333-33-33"; | |
driver.WriteAttribute(); | |
// Телефон поставщика | |
driver.AttrNumber = 1171; | |
driver.AttrValue = "8-800-444-44-44"; | |
driver.WriteAttribute(); | |
// Регистрация товара или услуги | |
driver.BeginItem(); | |
driver.Name = "Оплата услуг"; | |
driver.Price = 110.00; | |
driver.Quantity = 1; | |
// Если значение |Summ - Price * Quantity| > 0.01 , то ККТ посчитает, что была скидка и будет при необходимости преобразовывать позицию, разделяя её на 2 | |
driver.Summ = 110; | |
// Признак предмета расчёта. Свойство ItemType может принимать значения: | |
// 1 - товар, за исключением подакцизного товара | |
// 2 - подакцизный товар | |
// 3 - работа | |
// 4 - услуга | |
// 5 - приём ставок при деятельность по организации и проведению азартных игр | |
// 6 - выплата выигрышей в азартных играх | |
// 7 - реализация лотерейных билетов или ставок при деятельность по организации и проведению лотерей | |
// 8 - выплата выигрышей в лотереях | |
// 9 - прав на использование результатов интеллектуальной деятельности или средств индивидуализации | |
// 10 - аванс, задаток, предоплата, кредит, взносе в счет оплаты, пени, штраф, вознаграждение, бонус и иной аналогичный предмет расчета | |
// 11 - предмет расчета, состоящий из предметов, каждому из которых может быть присвоено значение от 0 до 10 (набор) | |
// 12 - предмет расчета, не относящийся к предметам расчета, которым может быть присвоено значение от 0 до 11 | |
driver.ItemType = 4; | |
// Признак способа расчёта. Свойство PaymentMode может принимать значения: | |
// 1 - Полная предварительная оплата до момента передачи предмета расчета | |
// 2 - Частичная предварительная оплата до момента передачи предмета расчета | |
// 3 - Аванс | |
// 4 - Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета | |
// 5 - Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит | |
// 6 - Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит | |
// 7 - Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита) | |
driver.PaymentMode = 1; | |
driver.Department = 0; | |
// TaxTypeNumber - Номер налога: | |
// 0 - Налог из секции | |
// 1 - НДС 0% | |
// 2 - НДС 10% | |
// 3 - НДС 18% | |
// 4 - без НДС | |
// 5 - НДС 10/110 | |
// 6 - НДС 18/118 | |
driver.TaxTypeNumber = 3; | |
// Способ исчисления суммы налога. Доступные значения TaxMode: | |
// 0 - налог расчитывается от суммы позиции | |
// 1 - налог расчитывается от цены позиции | |
driver.TaxMode = 1; | |
// Сумма налога TaxSumm. Если передаётся 0, то ККТ считает самостоятельно по TaxTypeNumber и TaxMode. В противном случае в ОФД отправляется переданная сумма, но при значении настройки Т2Р1П114 бит 1 = 1 ККТ бедет осуществлять контроль переданных данных, при чём контроль в будущем нельзя будет отключить (Русинова). | |
driver.TaxSumm = Math.round(110 * 18 / 118 * 100) / 100; | |
// Скидка больше не изменяет сумму позиции, теперь она просто добавляет информационную печать. Необходимо рассчитывать в кассовом ПО цену со скидкой, а информацию по начисленным скидкам печатать нефискальной печатью и не передавать скидку в ККМ, поэтому код для начисления скидки закомментирован | |
// driver.DiscountValue = 10; | |
// // DiscountType - Тип скидки: | |
// // 0 - суммовая | |
// // 1 - процентная | |
// driver.DiscountType = 0; | |
driver.EndItem(); | |
// Оплата и закрытие чека | |
// TypeClose - Тип оплаты: | |
// 0 - Наличными | |
// 1 - Электронными средствами платежа | |
driver.TypeClose = 0; | |
driver.Summ = 500.00; | |
driver.Payment(); | |
driver.CloseCheck(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // ----------- Выполнение операций от лица проверенного (1057 = 16) ---------------// | |
// // ------------------------------------- комиссионера (1057 = 32) -------------------------------// | |
// // ------------------------------- или иного агента (1057 = 64) ---------------------------------// | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
// Mode - Режим: | |
// 0 - Выбора | |
// 1 - Регистрации | |
// 2 - Отчётов без гашения | |
// 3 - Отчётов с гашением | |
driver.Mode = 1; | |
driver.SetMode(); | |
// Записать должность и ФИО кассира | |
driver.AttrNumber = 1021; | |
driver.AttrValue = "Старший кассир Иванов И.И."; | |
driver.WriteAttribute(); | |
// Записать ИНН кассира | |
driver.AttrNumber = 1203; | |
driver.AttrValue = "526317984689"; | |
driver.WriteAttribute(); | |
// CheckType - Тип чека: | |
// 1 - Приход | |
// 2 - Возврат прихода | |
// 4 - Расход | |
// 5 - Возврат расхода | |
// 7 - Коррекция прихода | |
// 9 - Коррекция расхода | |
driver.CheckType = 1; | |
// CheckMode - Режим формирования чека: | |
// 0 - только в электронном виде без печати на чековой ленте | |
// 1 - печатать на чековой ленте | |
driver.CheckMode = 1; | |
driver.OpenCheck(); | |
driver.AttrNumber = 1055; | |
// Применяемая система налогооблажения в чеке: | |
// ОСН - 1 | |
// УСН доход - 2 | |
// УСН доход-расход - 4 | |
// ЕНВД - 8 | |
// ЕСН - 16 | |
// ПСН - 32 | |
driver.AttrValue = 1; | |
driver.WriteAttribute(); | |
driver.AttrNumber = 1057; | |
// Указание признака агента: | |
// Банковскй платежный агент - 1 | |
// Банковскй платежный субагент - 2 | |
// Платежный агент - 4 | |
// Платежный субагент - 8 | |
// Проверенный агент - 16 | |
// Комиссионер - 32 | |
// Иной агент - 64 | |
driver.AttrValue = 16; | |
driver.WriteAttribute(); | |
// Телефон поставщика | |
driver.AttrNumber = 1171; | |
driver.AttrValue = "8-800-333-33-33"; | |
driver.WriteAttribute(); | |
// Телефон поставщика | |
driver.AttrNumber = 1171; | |
driver.AttrValue = "8-800-444-44-44"; | |
driver.WriteAttribute(); | |
// Регистрация товара или услуги | |
driver.BeginItem(); | |
driver.Name = "Оплата услуг"; | |
driver.Price = 110.00; | |
driver.Quantity = 1; | |
// Если значение |Summ - Price * Quantity| > 0.01 , то ККТ посчитает, что была скидка и будет при необходимости преобразовывать позицию, разделяя её на 2 | |
driver.Summ = 110; | |
// Признак предмета расчёта. Свойство ItemType может принимать значения: | |
// 1 - товар, за исключением подакцизного товара | |
// 2 - подакцизный товар | |
// 3 - работа | |
// 4 - услуга | |
// 5 - приём ставок при деятельность по организации и проведению азартных игр | |
// 6 - выплата выигрышей в азартных играх | |
// 7 - реализация лотерейных билетов или ставок при деятельность по организации и проведению лотерей | |
// 8 - выплата выигрышей в лотереях | |
// 9 - прав на использование результатов интеллектуальной деятельности или средств индивидуализации | |
// 10 - аванс, задаток, предоплата, кредит, взносе в счет оплаты, пени, штраф, вознаграждение, бонус и иной аналогичный предмет расчета | |
// 11 - предмет расчета, состоящий из предметов, каждому из которых может быть присвоено значение от 0 до 10 (набор) | |
// 12 - предмет расчета, не относящийся к предметам расчета, которым может быть присвоено значение от 0 до 11 | |
driver.ItemType = 4; | |
// Признак способа расчёта. Свойство PaymentMode может принимать значения: | |
// 1 - Полная предварительная оплата до момента передачи предмета расчета | |
// 2 - Частичная предварительная оплата до момента передачи предмета расчета | |
// 3 - Аванс | |
// 4 - Полная оплата, в том числе с учетом аванса (предварительной оплаты) в момент передачи предмета расчета | |
// 5 - Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит | |
// 6 - Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит | |
// 7 - Оплата предмета расчета после его передачи с оплатой в кредит (оплата кредита) | |
driver.PaymentMode = 1; | |
driver.Department = 0; | |
// TaxTypeNumber - Номер налога: | |
// 0 - Налог из секции | |
// 1 - НДС 0% | |
// 2 - НДС 10% | |
// 3 - НДС 18% | |
// 4 - без НДС | |
// 5 - НДС 10/110 | |
// 6 - НДС 18/118 | |
driver.TaxTypeNumber = 3; | |
// Способ исчисления суммы налога. Доступные значения TaxMode: | |
// 0 - налог расчитывается от суммы позиции | |
// 1 - налог расчитывается от цены позиции | |
driver.TaxMode = 1; | |
// Сумма налога TaxSumm. Если передаётся 0, то ККТ считает самостоятельно по TaxTypeNumber и TaxMode. В противном случае в ОФД отправляется переданная сумма, но при значении настройки Т2Р1П114 бит 1 = 1 ККТ бедет осуществлять контроль переданных данных, при чём контроль в будущем нельзя будет отключить (Русинова). | |
driver.TaxSumm = Math.round(110 * 18 / 118 * 100) / 100; | |
// Скидка больше не изменяет сумму позиции, теперь она просто добавляет информационную печать. Необходимо рассчитывать в кассовом ПО цену со скидкой, а информацию по начисленным скидкам печатать нефискальной печатью и не передавать скидку в ККМ, поэтому код для начисления скидки закомментирован | |
// driver.DiscountValue = 10; | |
// // DiscountType - Тип скидки: | |
// // 0 - суммовая | |
// // 1 - процентная | |
// driver.DiscountType = 0; | |
driver.EndItem(); | |
// Оплата и закрытие чека | |
// TypeClose - Тип оплаты: | |
// 0 - Наличными | |
// 1 - Электронными средствами платежа | |
driver.TypeClose = 0; | |
driver.Summ = 500.00; | |
driver.Payment(); | |
driver.CloseCheck(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // ----------------------------- Чек коррекции прихода ------------------------------- // | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
// Mode - Режим: | |
// 0 - Выбора | |
// 1 - Регистрации | |
// 2 - Отчётов без гашения | |
// 3 - Отчётов с гашением | |
driver.Mode = 1; | |
driver.SetMode(); | |
// Записать должность и ФИО кассира | |
driver.AttrNumber = 1021; | |
driver.AttrValue = "Старший кассир Иванов И.И."; | |
driver.WriteAttribute(); | |
// Записать ИНН кассира | |
driver.AttrNumber = 1203; | |
driver.AttrValue = "526317984689"; | |
driver.WriteAttribute(); | |
// CheckType - Тип чека: | |
// 1 - Приход | |
// 2 - Возврат прихода | |
// 4 - Расход | |
// 5 - Возврат расхода | |
// 7 - Коррекция прихода | |
// 9 - Коррекция расхода | |
driver.CheckType = 7; | |
// CheckMode - Режим формирования чека: | |
// 0 - только в электронном виде без печати на чековой ленте | |
// 1 - печатать на чековой ленте | |
driver.CheckMode = 1; | |
driver.OpenCheck(); | |
// Применяемая система налогооблажения в чеке: | |
// ОСН - 1 | |
// УСН доход - 2 | |
// УСН доход-расход - 4 | |
// ЕНВД - 8 | |
// ЕСН - 16 | |
// ПСН - 32 | |
driver.AttrNumber = 1055; | |
driver.AttrValue = 1; | |
driver.WriteAttribute(); | |
// // Тип коррекции: | |
// // 0 - самостоятельная операция | |
// // 1 - операция по предписанию | |
driver.AttrNumber = 1173; | |
driver.AttrValue = 1; | |
driver.WriteAttribute(); | |
// Начало записи комплексного атрибута 1174 | |
driver.AttrNumber = 1174; | |
driver.BeginComplexAttribute(); | |
// Наименование основания для коррекции. Произвольная строка 256 символов | |
driver.AttrNumber = 1177; | |
driver.AttrValue = "Чека покупателя не давал. Деньга из касса вытаскивал, а тута насяльника пришел... бельменде... кульманде..."; | |
driver.WriteAttribute(); | |
// Дата документа основания для коррекции. В формате unixtime | |
driver.AttrNumber = 1178; | |
date = new Date(); | |
driver.AttrValue = parseInt(date.getTime()/1000); | |
driver.WriteAttribute(); | |
// Номер документа основания для коррекции. Произвольная строка 32 символа | |
driver.AttrNumber = 1179; | |
driver.AttrValue = "1234567890"; | |
driver.WriteAttribute(); | |
// Конец записи комплексного атрибута 1174 | |
driver.EndComplexAttribute(); | |
// Регистрация суммы коррекции. В чеках коррекции можно зарегистрировать только одну позицию в количестве 1 на сумму коррекции. Передавать скидки/надбавки, цену, количество запрещено. Чек коррекции можно только закрыть без сдачи по нескольким типам оплаты. | |
// Регистрация товара или услуги | |
driver.BeginItem(); | |
// Свойства Name, Price и Quantity не имеют смысла в чеке коррекции, так как в коррекции нет единицы товара, а регистрируется сумма коррекции | |
//driver.Name = "Коррекция прихода"; | |
//driver.Price = 109.33; | |
//driver.Quantity = 1; | |
driver.Summ = 109.33; | |
// driver.Department = 0; | |
// TaxTypeNumber - Номер налога: | |
// 0 - Налог из секции | |
// 1 - НДС 0% | |
// 2 - НДС 10% | |
// 3 - НДС 18% | |
// 4 - без НДС | |
// 5 - НДС 10/110 | |
// 6 - НДС 18/118 | |
driver.TaxTypeNumber = 2; | |
// Способ исчисления суммы налога. Свойство не имеет смысла в чеке коррекции, так как в коррекции нет единицы товара, а регистрируется сумма коррекции. Доступные значения TaxMode: | |
// 0 - налог расчитывается от суммы позиции | |
// 1 - налог расчитывается от цены позиции | |
//driver.TaxMode = 1; | |
// Сумма налога TaxSumm. Если передаётся 0, то ККТ считает самостоятельно по TaxTypeNumber и TaxMode. В противном случае в ОФД отправляется переданная сумма, но при значении настройки Т2Р1П114 бит 1 = 1 ККТ бедет осуществлять контроль переданных данных, при чём контроль в будущем нельзя будет отключить (Русинова). | |
driver.TaxSumm = Math.round(109.33 * 10 / 110 * 100) / 100; | |
driver.EndItem(); | |
// Оплата и закрытие чека | |
// TypeClose - Тип оплаты: | |
// 0 - Наличными | |
// 1 - Электронными средствами платежа | |
driver.TypeClose = 0; | |
driver.Summ = 99.33; | |
driver.Payment(); | |
driver.TypeClose = 1; | |
driver.Summ = 10.00; | |
driver.Payment(); | |
driver.CloseCheck(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // ---------------------------------- Закрыть смену -------------------------------------// | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
driver.Mode = 3; | |
driver.SetMode(); | |
driver.AttrNumber = 1021; | |
driver.AttrValue = "Старший кассир Иванов И.И."; | |
driver.WriteAttribute(); | |
// Записать ИНН кассира | |
driver.AttrNumber = 1203; | |
driver.AttrValue = "526317984689"; | |
driver.WriteAttribute(); | |
driver.ReportType = 1; | |
driver.Report(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // ------------------------- Отчёт о состоянии расчётов ------------------------------// | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
driver.Mode = 2; | |
driver.SetMode(); | |
driver.AttrNumber = 1021; | |
driver.AttrValue = "Старший кассир Иванов И.И."; | |
driver.WriteAttribute(); | |
// Записать ИНН кассира | |
driver.AttrNumber = 1203; | |
driver.AttrValue = "526317984689"; | |
driver.WriteAttribute(); | |
driver.ReportType = 42; | |
driver.Report(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // ----------- Получение состояния связи фискального накопителя --------------// | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
driver.Mode = 0; | |
driver.SetMode(); | |
driver.Caption = "Состояния связи фискального накопителя"; | |
driver.Alignment = 1; | |
driver.TextWrap = 1; | |
driver.PrintString(); | |
driver.Alignment = 0; | |
// Расшифровки кодов приведены в документации на протокол ККТ. | |
// Код ошибки сети | |
driver.RegisterNumber = 43; | |
driver.OFDLastError = 1; | |
driver.GetRegister(); | |
driver.Caption = "Код ошибки сети: " + driver.OFDLastError; | |
driver.PrintString(); | |
// Код ошибки ОФД | |
driver.RegisterNumber = 43; | |
driver.OFDLastError = 2; | |
driver.GetRegister(); | |
driver.Caption = "Код ошибки ОФД: " + driver.OFDLastError; | |
driver.PrintString(); | |
// Код ошибки ФН | |
driver.RegisterNumber = 43; | |
driver.OFDLastError = 3; | |
driver.GetRegister(); | |
driver.Caption = "Код ошибки ФН: " + driver.OFDLastError; | |
driver.PrintString(); | |
// Печать клише | |
driver.PrintHeader(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // ----------- Получение количества неотправленных документов и --------------// | |
// //------------------- даты самого старого неотправленного -------------------------// | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
driver.Mode = 0; | |
driver.SetMode(); | |
driver.Caption = "Данные по неотправленным документам"; | |
driver.Alignment = 1; | |
driver.TextWrap = 1; | |
driver.PrintString(); | |
driver.Alignment = 0; | |
// // Количество неотправленных документов: | |
driver.RegisterNumber = 44; | |
driver.GetRegister(); | |
driver.Caption = "Количество неотправленных документов: " + driver.Count; | |
driver.PrintString(); | |
// Дата самого старого неотправленного документа | |
driver.RegisterNumber = 45; | |
driver.GetRegister(); | |
driver.Caption = "Дата самого старого неотправленного документа: " + driver.Day + "." + driver.Month + "." + driver.Year + " " + driver.Hour + ":" + driver.Minute; | |
driver.PrintString(); | |
// Печать клише | |
driver.PrintHeader(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // ----------- Получение регистрационных данных ККТ ----------------------------// | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
driver.Mode = 0; | |
driver.SetMode(); | |
driver.Caption = "Регистрационный данные ККТ"; | |
driver.Alignment = 1; | |
driver.TextWrap = 1; | |
driver.PrintString(); | |
driver.Alignment = 0; | |
// Наименование пользователя | |
driver.AttrNumber = 1048; | |
driver.ReadAttribute(); | |
driver.Caption = "Наименование пользователя: " + driver.AttrValue; | |
driver.PrintString(); | |
// ИНН пользователя | |
driver.AttrNumber = 1018; | |
driver.ReadAttribute(); | |
driver.Caption = "ИНН пользователя: " + driver.AttrValue; | |
driver.PrintString(); | |
// Набор выбранных СНО в виде значения в десятичной системе исчисления, которое в двоичной соответствует битовой маске. Например 41 соответствует маске 101001 (ОСН 1, УСН доход 0, УСН доход-расход 0, ЕНВД 1, ЕСН 0, ПСН 1) | |
driver.AttrNumber = 1062; | |
driver.ReadAttribute(); | |
driver.Caption = "Выбранные СНО: " + driver.AttrValue; | |
driver.PrintString(); | |
// Регистрационный номер ККТ | |
driver.AttrNumber = 1037; | |
driver.ReadAttribute(); | |
driver.Caption = "Регистрационный номер ККТ: " + driver.AttrValue; | |
driver.PrintString(); | |
// аналогичным образом запрашиваются и остальные атрибуты | |
// Печать клише | |
driver.PrintHeader(); | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
// // -------------------- Получение прочих данных из ККТ ---------------------------// | |
// // // // // // // // // // // // // // // // // // // // // // // // // // // // // // // | |
driver.NewDocument(); | |
driver.Mode = 0; | |
driver.SetMode(); | |
driver.Caption = "Получение прочих данных из ККТ"; | |
driver.Alignment = 1; | |
driver.TextWrap = 1; | |
driver.PrintString(); | |
driver.Alignment = 0; | |
// Номер фискального накопителя | |
driver.RegisterNumber = 47; | |
driver.GetRegister(); | |
driver.Caption = "Номер фискального накопителя: " + driver.SerialNumber; | |
driver.PrintString(); | |
// Номер фискального документа последней регистрации/перерегистрации, а также дата и время | |
driver.RegisterNumber = 48; | |
driver.GetRegister(); | |
driver.Caption = "Номер ФД последней регистрации/перерегистрации: " + driver.DocNumber; | |
driver.PrintString(); | |
driver.Caption = "Дата ФД последней регистрации/перерегистрации: " + driver.Day + "." + driver.Month + "." + driver.Year + " " + driver.Hour + ":" + driver.Minute; | |
driver.PrintString(); | |
// Данные по последнему фискальному документу чека | |
driver.RegisterNumber = 51; | |
driver.GetRegister(); | |
driver.Caption = "Номер фискального документа: " + driver.DocNumber; | |
driver.PrintString(); | |
driver.Caption = "Тип чека: " + driver.LastCheckType; | |
driver.PrintString(); | |
driver.Caption = "Сумма чека: " + driver.Summ; | |
driver.PrintString(); | |
driver.Caption = "Дата и время чека: " + driver.Day + "." + driver.Month + "." + driver.Year + " " + driver.Hour + ":" + driver.Minute; | |
driver.PrintString(); | |
driver.Caption = "Фискальный признак документа: " + driver.FiscalSign; | |
driver.PrintString(); | |
// Данные по последнему фискальному документу | |
driver.RegisterNumber = 52; | |
driver.GetRegister(); | |
driver.Caption = "Номер фискального документа: " + driver.DocNumber; | |
driver.PrintString(); | |
driver.Caption = "Тип чека: " + driver.LastCheckType; | |
driver.PrintString(); | |
driver.Caption = "Сумма чека: " + driver.Summ; | |
driver.PrintString(); | |
driver.Caption = "Дата и время чека: " + driver.Day + "." + driver.Month + "." + driver.Year + " " + driver.Hour + ":" + driver.Minute; | |
driver.PrintString(); | |
driver.Caption = "Фискальный признак документа: " + driver.FiscalSign; | |
driver.PrintString(); | |
// Получение статуса фискального накопителя | |
// ValuePurpose - назначение параметра: | |
// 0 – проверить наличие ФН. 0 – ФН отсутствует, 1 – ФН есть. | |
// 1 – получить фазу жизни ФН. ответ – битовая маска: бит 0 – проведена настройка ФН, бит 1- открыт фискальный режим, бит 2 – постфискальный режим, бит 3 – закончена передача фискальных данныхв ОФД. Установленный бит 2 означает, что архив ФН закрыт | |
driver.ValuePurpose = 0; | |
driver.ReadFNStatus(); | |
driver.Caption = "Наличие ФН: " + driver.Value; | |
driver.PrintString(); | |
driver.ValuePurpose = 1; | |
driver.ReadFNStatus(); | |
driver.Caption = "Фаза жизни ФН: " + driver.Value; | |
driver.PrintString(); | |
// Получение параметров фискального накопителя | |
// ValuePurpose - назначение параметра: | |
// 0 – получить серийный номер ФН; | |
// 1 – получить номер последнего документа регистрации/перерегистрации ФН; | |
// 2 - получить срок действия ФН, оставшееся количество перегистраций, количество созданных отчётов решистрации/перергистраций | |
driver.ValuePurpose = 0; | |
driver.ReadFNParam(); | |
driver.Caption = "Серийный номер ФН: " + driver.InboundStream; | |
driver.PrintString(); | |
driver.ValuePurpose = 1; | |
driver.ReadFNParam(); | |
driver.Caption = "Номер посл. документа регистрации/перерегистрации ФН: " + driver.InboundStream; | |
driver.PrintString(); | |
driver.ValuePurpose = 2; | |
driver.ReadFNParam(); | |
driver.Caption = "Срок действия ФН: " + driver.Day + "." + driver.Month + "." + driver.Year + " " + driver.Hour + ":" + driver.Minute; | |
driver.PrintString(); | |
driver.Caption = "Оставшееся количество перегистраций ФН: " + driver.Duration; | |
driver.PrintString(); | |
driver.Caption = "Количество созданных отчётов регистраций/перегистраций: " + driver.Count; | |
driver.PrintString(); | |
// Печать клише | |
driver.PrintHeader(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment