1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
| 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");
Data.NumDevice = NumDevice;
Data.InnKkm = "";
Data.KktNumber = "";
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";
Data.ClientAddress = "sochi@papa.com";
Data.ClientInfo = "Везучий В.В. РЕ-125486";
Data.ClientINN = "502906602876";
Data.SenderEmail = "sochi@mama.com";
Data.PlaceMarket = "kkmserver.ru";
Data.TaxVariant = "";
// Дополнительный реквизит пользователя тег ОФД 1084
Data.UserAttribute = {
// Наименование дополнительного реквизита пользователя тег ОД 1085
Name: "Поле-тест",
// Значение дополнительного реквизита пользователя тег ОФД 1086
Value: "Тестовое значение"
};
// Дополнительный реквизит чека тег 1192
Data.AdditionalAttribute = "Тест";
Data.KPP = "782543005";
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(
2,
// Операция платежного агента тег 1044
"95315",
// Телефон платежного агента тег 1073
"+79995554422",
// Телефон оператора по приему платежей тег 1074
"+72223334455",
// Телефон оператора перевода тег 1075
"+74447776655",
// Наименование оператора перевода тег 1026
"ООО Тестовая организация",
// Адрес оператора перевода тег 1005
"Москва, зубовский бульвар 44",
// ИНН оператора перевода тег 1016
"430601071197",
// Телефон поставщика тег 1171
"+76662229955"
);
// Добавление печати текста по полям
//При вставке в текст символов ">#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.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",
4,
1,
"0104300943734342212413195240818240640291ffd092MDEwNDMwMDk0MzczNDM",
// Единица измерения предмета расчета. Можно не указывать
"пара",
// Цифровой код страны происхождения товара (CountryOfOrigin) в соответствии с Общероссийским классификатором стран мира 3 симв. Тег 1230
"156",
// Регистрационный номер таможенной декларации (CustomsDeclaration) 32 симв. Тег 1231
"54180656/1345865/3435625/23",
// Сумма акциза (ExciseAmount) с учетом копеек, включенная в стоимость предмета расчета Тег 1229
0.01,
// Дополнительный реквизит предмета расчета тег 1191, Только для ФФД 1.1 !
"Тест-доп.реквизит"
);
// DataStr.EGAIS = {
// Barcode: "22N0000154NUCPRZ3R8381461004001003499NKAQ0ZBUVDNV62JQAR69PEV878RO93V",
// Ean: "3423290167937",
// Volume: 0.7500,
// };
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");
// Наличная оплата (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[i] != undefined && Data.CheckStrings[i].Register != undefined) {
Data.CheckStrings[i].Register.AgentSign = null;
Data.CheckStrings[i].Register.AgentData = null;
Data.CheckStrings[i].Register.PurveyorData = null;
};
};
} |