Изменена версия Net.FrameWork
Из за поддержки Windows-7 я долго не переводил kkmserver на свежие версии Net.FrameWork
Но вот сегодня случилось: браузеры обновились и перестали открывать сайты по устаревшим протоколам TLS.
Раньше они требовали один раз указать что сайт нужно открывать по устаревшему протоколу.
Сегодня они требуют такое подтверждение каждый день.
Чтобы kkmserver мог хоть как-то работать на Window-7 перевел его на Net.FrameWork 4.8
На Win-8, Win-10 не скажется вообще ни как (Net.FrameWork 4.8 там уже давно прилетел с обновлениями)
А вот на Win-7 если система не пропатчена всеми обновлениями Net.FrameWork 4.8 нету.
После установки kkmserver ver. 2.1.38.10 он может попросить установить Net.FrameWork 4.8.
И не факт что Net.FrameWork 4.8 установится!
Если не встанет то придется натягивать все обновления на Win-7.
Сори за неудобства но по другому ни как....
Передача кода маркировки (Честный знак/КИЗ) товаров по ШК
Изменился API в части передачи кода маркировки.
Очень сложное законодательство получилось в части маркированного товара.
Разные виды товаров маркируются по разному.
Разные правила генерации ШК кодов маркировки:
Табак, алкоголь, лекарства, шубы, обувь и пр. - и все НЕ СОВМЕСТИМО между собой.
Плюс накладываются еще разные версии маркировки одного и того-же вида товаров.
ШК в формате GS1 довольно трудно распарсирить:
Есть много полей применения фиксированного размера.
И для таких полей нужно знать точно размер каждого, а всего полей за сотню...
Короче клоака полная...
Чтобы хоть как-то облегчить жизнь простого программиста сделано следующее:
Вам не нужно более парсирить ШК различных товаров а просто передавать в команде отсканированный сканером ШК.
Изменения в API расширения для браузеров:
Изменена функция "AddRegisterString"
Код: Выделить всё
var DataStr = Data.AddRegisterString(
"Сапоги женские DF-3099-1", // НаименованиеТовара(64 символа)
3, // Количество (3 знака после запятой)
100, // ЦенаБезСкидки (2 знака после запятой)
0.01, // СуммаСтроки (2 знака после запятой)
-1, // СтавкаНДС(0(НДС 0%), 10(НДС 10%), 20(НДС 20%), -1(НДС не облагается), 120 (НДС 20/120), 110 (НДС 10/110))
0, // Отдел
"1254789547853", // Код товара EAN13 - не обязательно
4, // Признак способа расчета. тег ОФД 1214. Для ФФД.1.05 и выше обязательное поле
1, // Признак предмета расчета. тег ОФД 1212. Для ФФД.1.05 и выше обязательное поле
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
//штрих - код маркировки товара со сканера
"0104300943734342212413195240818240640291ffd092MDEwNDMwMDk0MzczNDM",
// !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
"пара", // Единица измерения предмета расчета. Можно не указывать
"156", // Цифровой код страны происхождения товара (CountryOfOrigin) в соответствии с Общероссийским классификатором стран мира 3 симв. Тег 1230
"54180656/1345865/3435625/23", // Регистрационный номер таможенной декларации (CustomsDeclaration) 32 симв. Тег 1231
0.01, // Сумма акциза (ExciseAmount) с учетом копеек, включенная в стоимость предмета расчета Тег 1229
"Тест-доп.реквизит" // Дополнительный реквизит предмета расчета тег 1191, Только для ФФД 1.1 !
);
В JSON структуре "Register" фискальной строки изменено поле - структура:
Код: Выделить всё
GoodCodeData: {
// штрих-код маркировки товара со сканера
BarCode: "0104300943734342212413195240818240640291ffd092MDEwNDMwMDk0MzczNDM",
// Проверять содержит ли ШК кода маркировки идентификатор экземпляра товара (если вообше не указать - true)
// Для некоторых товаров нужно передавать ШК EAN-13, тогда это поле устанавливайте в 'false'
ContainsSerialNumber: true
}
Сканер нужно настроить так чтобы он не съедал управляющие символы.
Разные сканеры по разному их передают в строку ШК:
Кто просто байтом, другие могут экранировать строками: "\x1d", "\u001d", "\x001d", "<FNC1>", "<GS>"
Примеры ШК коды которые поддерживаются:
EAN-8:
- "46120441"
- "2900001462105"
- "02900001462105"
- "(01)12345678901231(253)1234567890123(8003)1234567890123456(10)12345678901234567890(21)12345678"
- "0104300943734342212413195240818240640291ffd092MDEwNDMwMDk0MzczNDM"
- "010460043993125621JgXJ5.T\u001d8005112000\u001d930001\u001d923zbrLA ==\u001d24014276281"
- "010460043993125621JgXJ5.T\\u001d8005112000\\u001d930001\\u001d923zbrLA ==\\u001d24014276281"
- "010460406000600021N4N57RSCBUZTQ\x1d2403004002910161218\x1d1724010191ffd0\x1d92tIAF/YVoU4roQS3M/m4"
- "010460406000600021N4N57RSCBUZTQ\\x1d2403004002910161218\\x1d1724010191ffd0\\x1d92tIAF/YVoU4roQS3M/m4"
- "010460406000600021N4N57RSCBUZTQ\x001d2403004002910161218\x001d1724010191ffd0\x001d92tIAF/YVoU4roQS3M/m4"
- "010460406000600021N4N57RSCBUZTQ\\x001d2403004002910161218\\x001d1724010191ffd0\\x001d92tIAF/YVoU4roQS3M/m4"
- "<FNC1>0108691234567890211323424679<FNC1>1707011910AX785910BC"
- "0183525492885520210000000859314<GS> 91ee05<GS> 92r7fLjLdSQBRRL8KgReiJ0mgdFWhlR9gsfe1QS3ibhck="
- "0183525492885520210000000859314<GS>91ee05<GS>92r7fLjLdSQBRRL8KgReiJ0mgdFWhlR9gsfe1QS3ibhck="
- "010460620309891021MCEb6/r890123800511700093EBBm240FA068592.14"
- "RU-430301-ABCDEF1234"
- "00000046186195Xp4k=xyAQDPtFEa"
- "00000046186195Xp4k=xyAQDP"
- "22N00002NU5DBKYDOT17ID980726019019608CW1A4XR5EJ7JKFX50FHHGV92ZR2GZRZ"
- "136222000058810918QWERDFEWT5123456YGHFDSWERT56YUIJHGFDSAERTYUIOKJ8HGFVCXZSDLKJHGFDSAOIPLMNBGHJYTRDFGHJKIREWSDFGHJIOIUTDWQASDFRETYUIUYGTREDFGHUYTREWQWE"
Выложите в этой теме фотку (именно фотку а не строку со сканера - я сканерам не доверяю ) такого ШК.
Я обязательно добавлю поддержку такого ШК маркировки.
Команда Проверки ШК кода маркировки товара
Добавил новую команды к kkmserver для проверки ШК маркировки - чтобы можно было проверить ШК до регистрации чека.
И не получить ошибку во время регистрации чек или чтобы не профукать вывод из оборота маркированного товара
https://kkmserver.ru/KkmServer#PrimerAd ... odCodeData