kkm Server. Печать чека товара

Mini web-сервер для печати чеков на фискальных регистраторах из мобильных приложений через HTTP запрос JSON.
Ответить
Qist
Сообщения: 3
Зарегистрирован: 11 сен 2020, 14:21

kkm Server. Печать чека товара

Сообщение Qist » 11 сен 2020, 14:32

Используем KKM Server API для печати чека. Как правильно подключиться к системе KKM. Ниже привели пример кода который используем. При его запуске печатается аннулированный чек без товара

Печать производится по нажатию на кнопку:
```
<button class="btn btn-danger" onclick="RegisterCheck(1, 1, 1);">Печать чека</button>
```

Вот код обработчика:

```
function ExecuteSuccess(result) {
$('#kkm-result').html(JSON.stringify(result));
}

// Печать чека
function RegisterCheck(NumDevice, TypeCheck, IsBarCode, Print) {

// Подготовка данных команды, параметры (TypeCheck = 0, NumDevice = 0, InnKkm = "", CashierName = "")
var Data = KkmServer.GetDataCheck(TypeCheck, NumDevice, "", "Kазакова Н.А.", "430601071197");

//***********************************************************************************************************
// ПОЛЯ ПОИСКА УСТРОЙСТВА
//***********************************************************************************************************
// Номер устройства. Если 0 то первое не блокированное на сервере
Data.NumDevice = NumDevice;
// ИНН ККМ для поиска. Если "" то ККМ ищется только по NumDevice,
// Если NumDevice = 0 а InnKkm заполнено то ККМ ищется только по InnKkm
Data.InnKkm = "";
//---------------------------------------------
// Заводской номер ККМ для поиска. Если "" то ККМ ищется только по NumDevice,
Data.KktNumber = "";
// **********************************************************************************************************

// Время (сек) ожидания выполнения команды.
//Если За это время команда не выполнилась в статусе вернется результат "NotRun" или "Run"
//Проверить результат еще не выполненной команды можно командой "GetRezult"
//Если не указано или 0 - то значение по умолчанию 60 сек.
// Поле не обязательно. Это поле можно указывать во всех командах
Data.Timeout = 30;
// Это фискальный или не фискальный чек
Data.IsFiscalCheck = true;
// Тип чека;
// 0 – продажа; 10 – покупка;
// 1 – возврат продажи; 11 - возврат покупки;
// 8 - продажа только по ЕГАИС (обычный чек ККМ не печатается)
// 9 - возврат продажи только по ЕГАИС (обычный чек ККМ не печатается)
Data.TypeCheck = TypeCheck;
// Не печатать чек на бумагу
Data.NotPrint = false; //true,
// Количество копий документа
Data.NumberCopies = 0;
// Продавец, тег ОФД 1021
Data.CashierName = "Kазакова Н.А.";
// ИНН продавца тег ОФД 1203
Data.CashierVATIN = "430601071197";
// Телефон или е-Майл покупателя, тег ОФД 1008
// Если чек не печатается (NotPrint = true) то указывать обязательно
// Формат: Телефон +{Ц} Email {С}@{C}
Data.ClientAddress = "sochi@papa.com";
// Покупатель (клиент) - наименование организации или фамилия, имя, отчество (при наличии), серия и номер паспорта покупателя(клиента). Тег 1227
// Только с использованием наличных / электронных денежных средств и при выплате выигрыша, получении страховой премии или при страховой выплате.
Data.ClientInfo = "Везучий В.В. РЕ-125486";
// ИНН Организации или покупателя(клиента). Тег 1228
// Только с использованием наличных / электронных денежных средств и при выплате выигрыша, получении страховой премии или при страховой выплате.
Data.ClientINN = "502906602876";
// Aдрес электронной почты отправителя чека тег ОФД 1117 (если задан при регистрации можно не указывать)
// Формат: Email {С}@{C}
Data.SenderEmail = "sochi@mama.com";
// Место расчетов, Тег ОФД 1187 (если не задано - берется из регистрационных данных ККТ)
Data.PlaceMarket = "kkmserver.ru";
// Система налогообложения (СНО) применяемая для чека
// Если не указанно - система СНО настроенная в ККМ по умолчанию
// 0: Общая ОСН
// 1: Упрощенная УСН (Доход)
// 2: Упрощенная УСН (Доход минус Расход)
// 3: Единый налог на вмененный доход ЕНВД
// 4: Единый сельскохозяйственный налог ЕСН
// 5: Патентная система налогообложения
// Комбинация разных СНО не возможна
// Надо указывать если ККМ настроена на несколько систем СНО
Data.TaxVariant = "";
// Дополнительный реквизит пользователя тег ОФД 1084
Data.UserAttribute = {
// Наименование дополнительного реквизита пользователя тег ОД 1085
Name: "Поле-тест",
// Значение дополнительного реквизита пользователя тег ОФД 1086
Value: "Тестовое значение"
};
// Дополнительный реквизит чека тег 1192
Data.AdditionalAttribute = "Тест";

// Это только для тестов:
//Data.ClientId = "e1e0c5dbb395acecda9e3ed86a798755b21a53de"; //"541a9db930c2e90670898943",
// Это только для тестов: Получение ключа суб-лицензии : ВНИМАНИЕ: ключ суб-лицензии вы должны генерить у себя на сервере!!!!
//Data.KeySubLicensing = "";
// КПП организации, нужно только для ЕГАИС
Data.KPP = "782543005";

// Если надо одновременно автоматически провести транзакцию через эквайринг
// Эквайринг будет задействован если: 1. чек фискальный, 2. оплата по "ElectronicPayment" не равна 0, 3. PayByProcessing = true
// Использовать эквайринг: Null - из настроек на сервере, false - не будет, true - будет
Data.PayByProcessing = false; //В тестовом чеке автоматический эквайринг выключен
// Номер устройства для эквайринга - Null - из настроек на сервере, 0 - любое, число - номер конкретного устройства
Data.NumDeviceByProcessing = null;
// Номер чека для эквайринга
Data.ReceiptNumber = "TEST-1";
// Печатать Слип-чек после чека (а не в чеке)
PrintSlipAfterCheck = false;
// Печатать Слип-чек дополнительно для кассира (основной слип-чек уже будет печататся в составе чека)
Data.PrintSlipForCashier = true;
//Если это чек возврата то возможны два поля для отмены транзакции (если не указано то по эквайрингу будет не отмена а возврат оплаты)
Data.RRNCode = ""; // RRNCode из операции эквайринга. Только для отмены оплаты! Для Оплаты или возврата оплаты не заполнять!
Data.AuthorizationCode = ""; // AuthorizationCode из операции эквайринга. Только для отмены оплаты! Для Оплаты или возврата оплаты не заполнять!

// Добавление признаков агенте и поставщика
Data.AddDataAgent(
// Признак агента (не обязательно), Тег 1057
// 0: "Банковский платежный агент:" Оказание услуг пользователем, являющимся банковским платежным агентом
// 1: "Банковский платежный субагент:" Оказание услуг пользователем, являющимся банковским платежным субагентом
// 2: "Платежный агент:" Оказание услуг пользователем, являющимся платежным агентом
// 3: "Платежный субагент:" Оказание услуг пользователем, являющимся платежным субагентом
// 4: "Поверенный:" Оказание услуг пользователем, являющимся поверенным
// 5: "Комиссионер:" Оказание услуг пользователем, являющимся комиссионером
// 6: "Агент:" Оказание услуг пользователем, являющимся агентом и не являющимся банковским платежным агентом (субагентом), платежным агентом (субагентом), поверенным, комиссионером
2,
// Операция платежного агента тег 1044
"95315",
// Телефон платежного агента тег 1073
"+79995554422",
// Телефон оператора по приему платежей тег 1074
"+72223334455",
// Телефон оператора перевода тег 1075
"+74447776655",
// Наименование оператора перевода тег 1026
"ООО Тестовая организация",
// Адрес оператора перевода тег 1005
"Москва, зубовский бульвар 44",
// ИНН оператора перевода тег 1016
"430601071197",
// Телефон поставщика тег 1171
"+76662229955"
);

// Добавление печати картинки
Data.AddImageString("Qk3+EwAAAAAAAD4AAAAoAAAA5AAAAJ4AAAABAAEAAAAAAMATAACHHQAAhx0AAAAAAAAAAAAAAAAAAP///wD/////////////////////////////////////8AAAAP/////////////////////////////////////wAAAA//////////////////////////////////////AAAAD/////////////////////////////////////8AAAAP/////////////////////////////////////wAAAA//////////////////////////////////////AAAAD/////////////////////////////////////8AAAAP////+f//////////+P///////////////////wAAAA/////5///////////4////////////////////AAAAD/////n///////////H///////////////////8AAAAP////+f//////////8f///////////////////wAAAA/////5///////////x////////////////////AAAAD/////j//////////+P///////////////////8AAAAP////+PwAj///////w////////////////////wAAAA/////48PgP///////H////////////////////AAAAD/////zH/B///////4f///////////////////8AAAAP/////J/8H///////j////////////////////wAAAA/////+P/4///////8P////////////////////AAAAD///gAx//z///////h////////////////////8AAAAP//4fgP//P//////+P////////////////////wAAAA///H/z//8B//////x///////gP////////////AAAAD//5/8f//gD/////+P//////4AH///////////8AAAAP//P/3//8/B/////x///////AAMf///////+A/wAAAA//8/////H+H////+H//////4/+AH///////AB/AAAAD//n////5/w/8f//yP//////n/w4P//////4fP8AAAAP/+////+f+D/8AH/8f/////8/+f+P/////+H8/wAAAA//7////z//P//g//x//////3/3/+f/////j/5/AAAAD//P///+//8//////H/////8f///8////wB//n8AAAAP/8////z//j/////8/////wB////5//+AH//8PwAAAA//z///+v/+f/P///D////wAH////z/8A////0fAAAAD//P///7//w/+AA/4f///8Aef////n+A////+R8AAAAP/9//////4ID+Tv/7////A/5//8//vA/////znwAAAA//3/P////H4f7Of/v///4//n//n//Q/////8efAAAAD//f+P///x/B/Mc/+f///H//P/+f/+P/////Dz8AAAAP/9/8f//+P4P9x7/5///5//8//wA/z////4A/PwAAAA//3/Mf//z/+/nD3/n///P//z//GAAf////P/8PAAAAD/+f/A//+f/7+evP/f//8///H/8f/x////9//g8AAAAP/5//A//y//Pz6ef8///n//+f/x//P////3/+HwAAAA//n/+Q//7/8/Ps8/z//+///5//n/9///////yfAAAAD/+YABx////n4+z7/v//z///z/+P/n//////8Z8AAAAP/4B/gh///8/n5n3+//+f///P/8/+f/////8DvwAAAA/+D//xh///n+fnfP5//7///+f/z/5///9/+A+/AAAAD/h///jh//4/x+c+f3//P///4//n/n///v/z/z8AAAAP8P///Hg/+H/P578/f/AD///z//f+f//+//f/fwAAAA/D///+fAAB/8/nn58/wfD/wAH/8/9///n/9/7/AAAAD4f///5+AA//z/ffz7+P/n/4AP/5////8////P8AAAAPn////z5///+f9+/nnz//P/j8f/z////H///x/wAAAA8/////Pz///5/z5/uef/++Af4/vD///4///8f/AAAADn////8/P///n/P3/N7/B58//x/eD//8P//8D/8AAAAOf////D8f//+f8/v+QP553n//h88D/4D///B//wAAAAz////+P5///x/7+f8E/P3c///j54D/////h///AAAADf////8fj///P/v9/x35/dz///Dz4h////8P//8AAAAN/////5/P//8/+fj/PfL8Gf///BH57////H///wAAAA3/////z8f//z/58n5993wT////AH/v///4////AAAACf///z/Px///P/nmfn3nPMP////AP+f//+P///8AAAAN///gB+/n//8/+f8+f+e99/////8P5///z////wAAAA3//wAD7+P//3/9/w5/57z3/////4PH//8/////AAAADd/8H+Hv8///f/z/Hn/APAf/////8AP//n////8AAAAMv/D/z8/x//9//PxPf8/8T///////8//+/////wAAAA6/4//P3/n//3/8/+c/z/0f///////5//7/////AAAADj+P/8+f+P/+f/7/9z/P/D////////x//3////8AAAAPfx//zz/8//4//n/zn8/8P////////h//n////wAAAA9+X//Of/5//4f+f4Gf3/x/////////g//P////AAAADn6f/8z//n//4f5//cff/H/////////B/8////8AAAAOf5//yf//O//8fz/879+8A/////////D/5////wAAAA5/n//j//8H//8fP/5v3zw4////////+H/n////AAAADn+f/8H//4///8c//y/fPH8////////8f/f///8AAAAOf5//AH//H///4x//r988f4///h////5/9////wAAAA9/n/58P/8wH/+Hn//P37x/5//4B////n/n////AAAAD3+f//8/8AD//B+f/+/fvD/7//vj///+f+f///8AAAAPP5///AAA///x/4//79+8P+Af8/n///9/x////wAAAA+Pn/////////v/z//vz7weAAH7/P///z+P////AAAAD8AP////////+f/H/+/Pvfg/4Dn/P///Pw////8AAAAP+I/////////9/+f9788B4//+Df+A//+IH////wAAAA//z/////////z/5/zvz3OP///A/AQ//4D/////AAAAD//P/////////v/j/k/O/x////CA/x//h/////8AAAAP/8/////////+f/P/D85+P////g//n//f/////wAAAA//5/////////8/8f8Px3z/////wf/P////////AAAAD//n/////////5/5/4/gef///////8////////8AAAAP/+f/////////n/n/L+Az////////z////////wAAAA//9//////////P/P9v4Cf//h/////P////////AAAAD//z/////////+f8/v/gD//+7////5////////8AAAAP//P/////////4/58//Af//53////z////////wAAAA//+f/////////z/33/8D///zP////H////////AAAAD//5//////////n/Pf/wP///x////+P///////8AAAAP//j//////////P+Z/3B/////////8f///////wAAAA///P/////////+fpr/uP/////////4////////AAAAD//+f/////////48yP+I//////////x///////8AAAAP//8P//////A//xzp/8H//5///////j///////wAAAA///4AAAAAAAH//iPH/8P//N//////+P///////AAAAD////AAAAAf8P/gA4f////93//////8f//////8AAAAP////4AA///4PAADh/////7v//////4///////wAAAA///////////4AAAMH/////x///////z///////AAAAD///////////+AAAwP///f/////////H//////8AAAAP////////////wADA9//7/////////+f//////wAAAA/////////////gAABn//A/////////5///////AAAAD//////////8AHAAAAf/wf///x/////j//////8AAAAP//////////8AAAAAB/8P///+b/////P//////wAAAA///////////8AAAAAH/Bf/9/73////8///////AAAAD///////////8AAAAAAAE//z/3f////z//////8AAAAP///////////8AAAAAAAJ//n/h//v//P//////wAAAA//////////8AAAAAAD4Az//P///8D/8///////AAAAD//////////AAAAAAAPADAAAf///gD/z//////8AAAAP//////////AAAAAAA/gGAAAf//+AD/P//////wAAAA///////////gAAAAAB+AYDn8///wAH9///////AAAAD///////////gAAAAAH4BwHf4///AAPn//////8AAAAP///////////gAAAAAfgHAd/w//8AAc///////wAAAA////////////gAAAAA/AcBz/w//wAAn///////AAAAD////////////AAAAAD8h5Hv/w//AAA///////8AAAAP///////////+AAAAAPzHke//wf8AAD///////wAAAA///////////+AAAAAA7A+D7//4HwAAP///////AAAAD///////////AAAAAAD0H5/n//8AAAAf//////8AAAAP//////////4AAAAAAPb/n+f///AAAB///////wAAAA//////////+AAAAAAA9v+f5////4AAD///////AAAAD//////////wAAAAAAB2/5/3////wAAP//////8AAAAP////////////AAAAAHN/j/f//7/gDg///////wAAAA/////////////4AAAA+3+P5///P/AfH///////AAAAD/////////////wAAAD9v5fn//x/+A8f//////8AAAAP////////////+OAAAP+ft+//8H/8AB///////wAAAA/////////////54AAA/884j//A//8AP///////AAAAD/////////////nuAAD/AHwD/4H//4D///////8AAAAP////////////+8/AAH9P/4v8Af///////////wAAAA/////////////7n/gAP3P/GfAD////////////AAAAD/////////////Of/AAPPP55wAf///////////8AAAAP////////////+z/8wAGffvAAD/z//////////wAAAA/////////////7P/ngAAc+wAAf4f//////////AAAAD/////////////t/8fAAADwAAD8D//////////8AAAAP////////////+H/z+AAAAAAAeAf//////////wAAAA/////////////4f+f8AAAAAADAD///////////AAAAD/////////////z/x/4AAAAAAAAf//////////8AAAAP/////////////P/P/wAAAAAAAD/+/////////wAAAA/////////////8/5/+AAAAAAAA//H/////////AAAAD/////////////3/n/wgAAAAAAH/g/////////8AAAAP/////////////f8/8PAAAAAAB/gH/////////wAAAA/////////////9/3/h+AAAAAAfgB//////////AAAAD/////////////3+f8P+AAAAAAAAP/////////8AAAAP/////////////f7/j/8AAAAAAAD//////////wAAAA/////////////9/P8f/4AAAAAAA///////////AAAAD/////////////n9/j//4AAAAAAf//////////8AAAAP////////////+fn8f//4AAAAAP///////////wAAAA/////////////5+fj//vwAAAAH/4//////////AAAAD/////////////n78f//PwAAAB/AH/////////8AAAAP////////////+fPg///PwAAAAAB//////////wAAAA/////////////598A///HwAAAAAf//////////AAAAD/////////////3nzgf//H4AAAAP//////////8AAAAP/////////////eefgD/wAAAAAD///////////wAAAA/////////////97z+kAAfAcAAH////////////AAAAD/////////////3OP7f///////////////////8AAAAP/////////////Mx/s////////////////////wAAAA/////////////83P+Z////////////////////AAAAD/////////////zZ/4H///////////////////8AAAAP/////////////tH//////////////////////wAAAA/////////////+c///////////////////////AAAAD/////////////4n//////////////////////8AAAAP/////////////w///////////////////////wAAAA//////////////H///////////////////////AAAAD/////////////////////////////////////8AAAAP/////////////////////////////////////wAAAA");

// Добавление печати текста по полям

//При вставке в текст символов ">#10#<" строка при печати выровнеется по центру, где 10 - это на сколько меньше станет строка ККТ
Data.AddTextString(">#2#<ООО \"Рога и копыта\"", 1);
// При вставке в текст в середину строки символов "<#10#>" Левая часть строки будет выравнена по левому краю, правая по правому, где 10 - это на сколько меньше станет строка ККТ
// При вставке в текст в середину строки символов "<#10#>>" Левая часть строки будет выравнена по правому краю, правая по правому, где 10 - отступ от правого клая
Data.AddTextString("<<->>");
Data.AddTextString("Пример №1:<#10#>154,41");
Data.AddTextString("2-рое поле:<#10#>4,00");
Data.AddTextString("<<->>");
Data.AddTextString("Пример №2:<#8#>>4,00");
Data.AddTextString("2-рое поле:<#8#>>1544,00");

// Добавление печати текста шрифтом и интенсивностью
// Data.AddTextString(Data, Текст, Font(1-4, 0 - по настройкам ККМ), Intensity(1-15, 0 - по настройкам ККМ);
Data.AddTextString("<<->>");
Data.AddTextString("Шрифт № 1", 1, 15);
Data.AddTextString("Шрифт № 2", 2, 10);
Data.AddTextString("Шрифт № 3", 3, 5);
Data.AddTextString("Шрифт № 4", 4, 15);
Data.AddTextString("<<->>");

// Добавление печати фискальной строки
var DataStr = Data.AddRegisterString(
// НаименованиеТовара(64 символа)
"Сапоги женские DF-3099-1",
// Количество (3 знака после запятой)
1,
// ЦенаБезСкидки (2 знака после запятой)
1,
// СуммаСтроки (2 знака после запятой)
0.01,
// СтавкаНДС(0(НДС 0%), 10(НДС 10%), 20(НДС 20%), -1(НДС не облагается), 120 (НДС 20/120), 110 (НДС 10/110))
-1,
// Отдел
0,
// Код товара EAN13 - не обязательно
"1254789547853",
// Признак способа расчета. тег ОФД 1214. Для ФФД.1.05 и выше обязательное поле
// 1: "ПРЕДОПЛАТА 100% (Полная предварительная оплата до момента передачи предмета расчета)"
// 2: "ПРЕДОПЛАТА (Частичная предварительная оплата до момента передачи предмета расчета)"
// 3: "АВАНС"
// 4: "ПОЛНЫЙ РАСЧЕТ (Полная оплата, в том числе с учетом аванса в момент передачи предмета расчета)"
// 5: "ЧАСТИЧНЫЙ РАСЧЕТ И КРЕДИТ (Частичная оплата предмета расчета в момент его передачи с последующей оплатой в кредит )"
// 6: "ПЕРЕДАЧА В КРЕДИТ (Передача предмета расчета без его оплаты в момент его передачи с последующей оплатой в кредит)"
// 7: "ОПЛАТА КРЕДИТА (Оплата предмета расчета после его передачи с оплатой в кредит )"
4,
// Признак предмета расчета. тег ОФД 1212. Для ФФД.1.05 и выше обязательное поле
// 1: "ТОВАР (наименование и иные сведения, описывающие товар)"
// 2: "ПОДАКЦИЗНЫЙ ТОВАР (наименование и иные сведения, описывающие товар)"
// 3: "РАБОТА (наименование и иные сведения, описывающие работу)"
// 4: "УСЛУГА (наименование и иные сведения, описывающие услугу)"
// 5: "СТАВКА АЗАРТНОЙ ИГРЫ (при осуществлении деятельности по проведению азартных игр)"
// 6: "ВЫИГРЫШ АЗАРТНОЙ ИГРЫ (при осуществлении деятельности по проведению азартных игр)"
// 7: "ЛОТЕРЕЙНЫЙ БИЛЕТ (при осуществлении деятельности по проведению лотерей)"
// 8: "ВЫИГРЫШ ЛОТЕРЕИ (при осуществлении деятельности по проведению лотерей)"
// 9: "ПРЕДОСТАВЛЕНИЕ РИД (предоставлении прав на использование результатов интеллектуальной деятельности или средств индивидуализации)"
// 10: "ПЛАТЕЖ (аванс, задаток, предоплата, кредит, взнос в счет оплаты, пени, штраф, вознаграждение, бонус и иной аналогичный предмет расчета)"
// 11: "АГЕНТСКОЕ ВОЗНАГРАЖДЕНИЕ (вознаграждение (банковского)платежного агента/субагента, комиссионера, поверенного или иным агентом)"
// 12: "СОСТАВНОЙ ПРЕДМЕТ РАСЧЕТА (предмет расчета, состоящем из предметов, каждому из которых может быть присвоено вышестоящее значение"
// 13: "ИНОЙ ПРЕДМЕТ РАСЧЕТА (предмет расчета, не относящемуся к предметам расчета, которым может быть присвоено вышестоящее значение"
// 14: "ИМУЩЕСТВЕННОЕ ПРАВО" (передача имущественных прав)
// 15: "ВНЕРЕАЛИЗАЦИОННЫЙ ДОХОД"
// 16: "СТРАХОВЫЕ ВЗНОСЫ" (суммы расходов, уменьшающих сумму налога (авансовых платежей) в соответствии с пунктом 3.1 статьи 346.21 Налогового кодекса Российской Федерации)
// 17: "ТОРГОВЫЙ СБОР" (суммы уплаченного торгового сбора)
// 18: "КУРОРТНЫЙ СБОР"
// 19: "ЗАЛОГ"
1,
//штрих - код маркировки товара со сканера(нужно настроить сканер так чтобы не проглатывал управляющие символы)
//КИЗ(контрольный идентификационный знак) товарной номенклатуры Тег ОФД 1162(честный знак), можно не указывать
// Поддерживаются ШК:
// Без идентификатора экземпляра товара: EAN8, EAN13, ITF14
// С идентификатором экземпляра товара: GS1, ШК шуб, ШК табачной продукции., ЕГАИС-2, ЕГАИС-3
//Описание применимых ШК
"0104300943734342212413195240818240640291ffd092MDEwNDMwMDk0MzczNDM",
// Единица измерения предмета расчета. Можно не указывать
"пара",
// Цифровой код страны происхождения товара (CountryOfOrigin) в соответствии с Общероссийским классификатором стран мира 3 симв. Тег 1230
"156",
// Регистрационный номер таможенной декларации (CustomsDeclaration) 32 симв. Тег 1231
"54180656/1345865/3435625/23",
// Сумма акциза (ExciseAmount) с учетом копеек, включенная в стоимость предмета расчета Тег 1229
0.01,
// Дополнительный реквизит предмета расчета тег 1191, Только для ФФД 1.1 !
"Тест-доп.реквизит"
);

// Добавляет в последнею строку Код товарной номенклатуры
// КИЗ (контрольный идентификационный знак) товарной номенклатуры Тег ОФД 1162 (честный знак), можно не указывать
// !!!!Команда нужна если в команде Data.AddRegisterString не добавили КИЗ
//Data.MarkingCode(
// // штрих-код маркировки товара со сканера (нужно настроить сканер так чтобы не проглатывал управляющие символы)
// // Поддерживаются ШК:
// // Без идентификатора экземпляра товара: EAN8, EAN13, ITF14
// // С идентификатором экземпляра товара: GS1, ШК шуб, ШК табачной продукции., ЕГАИС-2, ЕГАИС-3
// "0104300943734342212413195240818240640291ffd092MDEwNDMwMDk0MzczNDM",
// // Проверять содержит ли ШК кода маркировки идентификатор экземпляра товара (если вообше не указать - true)
// // Для некоторых товаров нужно передавать ШК EAN-13, тогда это поле устанавливайте в 'false'
// true
//);

// DataStr.EGAIS = {
// Barcode: "22N0000154NUCPRZ3R8381461004001003499NKAQ0ZBUVDNV62JQAR69PEV878RO93V",
// Ean: "3423290167937",
// Volume: 0.7500,
// };

// Добавляет в последнею строку признак агента (не обязательно), Тег 1222.
// Поле не обязательное. Можно вообще не указывать.
// 0: "Банковский платежный агент:" Оказание услуг пользователем, являющимся банковским платежным агентом
// 1: "Банковский платежный субагент:" Оказание услуг пользователем, являющимся банковским платежным субагентом
// 2: "Платежный агент:" Оказание услуг пользователем, являющимся платежным агентом
// 3: "Платежный субагент:" Оказание услуг пользователем, являющимся платежным субагентом
// 4: "Поверенный:" Оказание услуг пользователем, являющимся поверенным
// 5: "Комиссионер:" Оказание услуг пользователем, являющимся комиссионером
// 6: "Агент:" Оказание услуг пользователем, являющимся агентом и не являющимся банковским платежным агентом (субагентом), платежным агентом (субагентом), поверенным, комиссионером
Data.AddAgentSign(2);
// Добавляет в последнею строку данные агента (не обязательно)
Data.AddAgentData(
// Операция платежного агента тег 1044
"95315",
// Телефон платежного агента тег 1073
"+79995554422",
// Телефон оператора по приему платежей тег 1074
"+72223334455",
// Телефон оператора перевода тег 1075
"+74447776655",
// Наименование оператора перевода тег 1026
"ООО Рога и копыта",
// Адрес оператора перевода тег 1005
"Москва, зубовский бульвар 44",
// ИНН оператора перевода тег 1016
"430601071197"
);
// Добавляет в последнею строку данные поставщика (не обязательно)
Data.AddPurveyorData(
// Телефон поставщика тег 1171
"+76662229955",
// Наименование поставщика ОФД 1225
"ООО 'Гаражик в деревне'",
// ИНН поставщика тег 1226
"430601071197"
);

// Добавление печати штрихкода
// Data.AddBarcodeString(ТипШтрихКода ("EAN13", "CODE39", "CODE128", "QR", "PDF417", "1254789547853"), ШтрихКод);
Data.AddBarcodeString("EAN13", "1254789547853");
Data.AddTextString("<<->>");

Data.AddTextString("Это мега крутой товар. Продается во всех магазинах страны. Покупайте только у нас", 4, 0);

// Добавление печати еще одной фискальной строки
Data.AddRegisterString("Шаровары мужские красные: НИМБУС-2000", 1, 1, 0.01, 1, 1, "1254789547853", 1, 1);

// Добавляет в последнею строку Код товарной номенклатуры
Data.AddGoodCodeData("02", "04630037591316", "sgEdK2y5");

// Добавление печати штрихкода
// Data.AddBarcodeString(ТипШтрихКода ("EAN13", "CODE39", "CODE128", "QR", "PDF417", "1254789547853"), ШтрихКод);
// Data.AddBarcodeString("QR", "12345DFG Proba pera, Print barcode 1234567890.");
// Data.AddBarcodeString("PDF417", "12345DFG Proba pera, Print barcode 1234567890.");

// Наличная оплата (2 знака после запятой)
Data.Cash = 100;
// Сумма электронной оплаты (2 знака после запятой)
Data.ElectronicPayment = 0.01;
// Сумма из предоплаты (зачетом аванса) (2 знака после запятой)
Data.AdvancePayment = 0;
// Сумма постоплатой(в кредит) (2 знака после запятой)
Data.Credit = 0;
// Сумма оплаты встречным предоставлением (сертификаты, др. мат.ценности) (2 знака после запятой)
Data.CashProvision = 0;


//#if Relese
// Скидываем данные об агенте - т.к.у Вас неверняка ККТ не зарегистрирована как Агент.
Data.AgentSign = null;
Data.AgentData = null;
Data.PurveyorData = null;
//#endif
for (var i = 0; i < Data.CheckStrings.length; i++) {
if (Data.CheckStrings != undefined && Data.CheckStrings.Register != undefined) {
Data.CheckStrings.Register.AgentSign = null;
Data.CheckStrings.Register.AgentData = null;
Data.CheckStrings.Register.PurveyorData = null;
};
};

// Вызов команды
OldIdCommand = Data.Execute(ExecuteSuccess).IdCommand;

// Возвращается JSON:
//{
// "CheckNumber": 3, // Номер документа
// "SessionNumber": 1, // Номер смены
// "SessionCheckNumber": 1, // Номер чека в смене
// "URL": "https://ofd-ya.ru/getFiscalDoc?kktRegId ... =839499349",
// "QRCode": "t=20190101T195300&s=0.03&fn=9999078900002838&i=3&fp=839499349&n=1",
// "Command": "RegisterCheck",
// "Cash": 0, // Оплачено наличными
// "ElectronicPayment": 3.02, // Оплачено электронноо
// "AdvancePayment": 0, // Оплачено предоплатой (зачетом аванса)
// "Credit": 0, // постоплатой(в кредит)
// "CashProvision": 0, // встречным предоставлением (сертификаты, др. мат.ценности)
// "Error": "", // Текст ошибки если была - обязательно показать пользователю - по содержанию ошибки можно в 90% случаях понять как ее устранять
// "Message": "", // Сообщение пользователю - Если строка не пустая - ее нужно отобразить пользователю
// "Status": 0, // Ok = 0, Run(Запущено на выполнение) = 1, Error = 2, NotFound(устройство не найдено) = 3, NotRun = 4
// "IdCommand": "dd261969-4190-1125-26cd-aaf5c213c0e3",
// "NumDevice": 2
//}

}
```

Audim
Администратор
Сообщения: 1958
Зарегистрирован: 17 мар 2015, 18:36

Re: kkm Server. Печать чека товара

Сообщение Audim » 11 сен 2020, 23:49

Пришлите на почту kkmserver@gmail.com лог команды.
Инструкция: https://kkmserver.ru/WiKi/GetErrorLog

Ответить