Нужна помощь в настройке ффд 1.2 на УТ 10.3.71.3 для работы с маркировкой обуви и текстиля. Конфигурация последняя, прошивка ккт атол 5.8.3 , драйвер 10.9.0.4. До перехода на ффд 1.2 ни каких проблем с маркировкой не было. После обновления ни каких ошибок не показывает, чеки в налоговую уходят, даже что то пытается отправить в честный знак
"1059" : [
{
"1023" : 1,
"1030" : "Полотенце пляжное (карта Крыма, морская тематика) (шт)",
"1043" : 380,
"1079" : 380,
"1163" : {
"1305" : "(01)02900003238333(21)LeQnE!YCKZ3DV" },
но в чз ничего не доходит. Есть мнение что код не должен содержать ковычки.
У кого-то вообще получилось работать в такой конфигурации?
Добрый день!
Хочу поделиться своим опытом трехдневного запуска ФФД 1.2. )))
Имеем: УТ 10.3.72.2 (все штатно, чеки бьем не из РМК, а из обычного интерфейса самого документа Чека ККМ), Штрих RR-01Ф (версия прошивки: C.3.41963 от 26.08.2021)
Сразу хочу сказать спасибо этой ветки и особенно "andrew.ab" - меня хотя бы направили на путь истинный.
Из коробки естественно ничего не заработало и чем дальше я начал вникать что не так, тем больше понимал, что много что не так. Когда я все для себя финишировал (начали нормально пробиваться чеки), то пришел к выводу, что куча людей доделывают эту программу и каждый из них не может все связать воедино. Элементарный пример:
"ПодключаемоеОборудованиеУниверсальныйДрайверКлиент" функция:"ФискализацияЧека":
Строка:
ДанныеЧека = МенеджерОборудованияВызовСервера.ПолучитьXMLПакетДляФискализацияЧека_ТО(ОбщиеПараметры, ВходныеПараметры, СуммаЧека, ШиринаСтроки, НовыйФормат, ВерсияФФД, ПараметрыФискализации);
В этой строке мы получаем XMLку для пробития чека, но на практике мы ее получаем просто так, так как эти данные нигде далее не используются (ну вот зачем вводить людей в заблуждение и загромождать код). Это лирика и эмоции!!!!
Теперь к делу.
1. Допилил обработку ShtrihMkkt.epf (файл прикреплю). А именно: запихнул в макет штриховскую компоненту от дайвера 5.16.0.886 (в драйвере было две компоненты, одна от ФФД1.1, другая от ФФД1.2); добавил три функции: ЗапросКМ; ПолучитьРезультатыЗапросаКМ; ПодтвердитьКМ (что интересно, в поставке Атоловской - они есть); подправил функцию "СоздатьОбъектДрайвера", чтобы попытка не валилась, т.к. компонента от ФФД1.2 теперь называется SMDrvFR1C34.
2. В общем модуле "МенеджерОборудованияВызовСервера" в функции "РевизияИнтерфейсаДрайверов" изменил:
РевизияИнтерфейса = 3004; //MAScorporation - было 3003
Не смотря на то, что после подмены компоненты (от последнего штриховского драйвера), в котором ревизия начинает определяться как 3004 (ФФД1.2), это место возвращает все на 3003 (ФФД1.1).
3. В этом же модуле добавил функцию (для добавление отсутствующего символа GS1, правда "andrew.ab", здесь немного ошибся и написал неверный символ разделения, точней он верный если драйверу напрямую подкидывать марку в виде строки, но в виде Base64 это не прокатывает):
4. В этом же модуле в процедуре "СформироватьXMLПакетДляФискализацияЧека" изменил:
Если ПараметрыФискализации.РевизияИнтерфейса >= 3004 Тогда
//MAScorporation - закоментил условие и добавил свое условие
//Если Не ПустаяСтрока(ТекущаяПозиция.КонтрольнаяМарка) Тогда
// ЗаписьXML.ЗаписатьАтрибут("MarkingCode", XMLСтрока(ТекущаяПозиция.КонтрольнаяМарка));
//КонецЕсли;
Если НЕ ПустаяСтрока(ТекущаяПозиция.ШтрихкодBase64) Тогда
ДанныеКодаТовара = МенеджерОборудованияМаркировкаКлиентСервер.РазобратьШтриховойКодТовара(ТекущаяПозиция.ШтрихкодBase64, Истина);
РеквизитКодаТовара = ДанныеКодаТовара.РеквизитКодаТовара;
Если НЕ ПустаяСтрока(РеквизитКодаТовара) И Не ПустаяСтрока(ДанныеКодаТовара.ШтрихкодBase64) Тогда // Запись тега 1163
ШтрихкодBase64 = ВставкаСимволаРазделителяGS1ВШтрихкод(ДанныеКодаТовара);
ЗаписьXML.ЗаписатьАтрибут("MarkingCode", XMLСтрока(ШтрихкодBase64));
КонецЕсли;
КонецЕсли;
Если Не ПустаяСтрока(ТекущаяПозиция.КодЕдиницыИзмерения) Тогда
Показать
5. В модуле "МенеджерОборудованияКлиент" в процедуре "НачатьВыполнениеКомандыТО" вставил попытку перед выполнением команды:
Попытка
Если ЗначениеЗаполнено(ВходныеПараметры.КонтрольнаяМарка) Тогда //MAScorporation - запишим правильно ШК
ДанныеКодаТовара = МенеджерОборудованияМаркировкаКлиентСервер.РазобратьШтриховойКодТовара(ВходныеПараметры.КонтрольнаяМарка, Истина);
РеквизитКодаТовара = ДанныеКодаТовара.РеквизитКодаТовара;
Если НЕ ПустаяСтрока(РеквизитКодаТовара) И Не ПустаяСтрока(ДанныеКодаТовара.ШтрихкодBase64) Тогда // Запись тега 1163
ШтрихкодBase64 = МенеджерОборудованияВызовСервера.ВставкаСимволаРазделителяGS1ВШтрихкод(ДанныеКодаТовара);
ВходныеПараметры.КонтрольнаяМарка = ШтрихкодBase64;
КонецЕсли;
КонецЕсли;
Исключение КонецПопытки;
Если Команда = "RequestKM" Тогда
Результат = ОбработкаОбслуживания.ЗапросКМ(ОбъектДрайвера, ПараметрыККТ, ВходныеПараметры, ВыходныеПараметры, Идентификатор);
ИначеЕсли Команда = "GetProcessingKMResult" Тогда
Результат = ОбработкаОбслуживания.ПолучитьРезультатыЗапросаКМ(ОбъектДрайвера, ПараметрыККТ, ВходныеПараметры, ВыходныеПараметры, Идентификатор);
ИначеЕсли Команда = "ConfirmKM" Тогда
Результат = ОбработкаОбслуживания.ПодтвердитьКМ(ОбъектДрайвера, ПараметрыККТ, ВходныеПараметры, ВыходныеПараметры, Идентификатор);
КонецЕсли;
Показать
6. В модуле "РозничныеПродажиКлиент" процедура "ПроверитьКодМаркировкиСредствамиККТ" поставил попытку (обратил внимание, что всегда проверяемая марка имеет один и тотже статус и не важно продажа это или возврат):
ПараметрыСканирования = ШтрихкодированиеИСКлиент.ПараметрыСканирования(ФормаВладелец);
Попытка //MAScorporation - иначе всегда будет "Возврат в оборот при розничной реализации"
Если ФормаВладелец.ВидОперации=Перечисления.ВидыОперацийЧекККМ.Продажа Тогда
ПараметрыСканирования.ВидОперацииИСМП = Перечисления.ВидыОперацийИСМП.ВыводИзОборотаРозничнаяПродажа;
КонецЕсли
Исключение КонецПопытки;
Если ФормаПросмотра <> Неопределено
7. В модуль справочника "КассыККМ" функцию "ПараметрыКассыККМ" сделал правку в запросе, т.к. без этой правки всегда возвращается первая попавшаяся Касса ККМ и не факт что нужная вам.
Запрос.Текст ="ВЫБРАТЬ
| КассыККМ.Ссылка КАК КассаККМ,
| КассыККМ.Владелец КАК Организация,
| КассыККМ.СерийныйНомер КАК СерийныйНомер,
| ТорговоеОборудование.Идентификатор КАК ИдентификаторУстройства
|ИЗ
| Справочник.КассыККМ КАК КассыККМ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТорговоеОборудование КАК ТорговоеОборудование
| ПО КассыККМ.Ссылка = ТорговоеОборудование.КассаККМ
|ГДЕ
| КассыККМ.Ссылка = &Ссылка
| И ТорговоеОборудование.Компьютер = &Компьютер
| И ТорговоеОборудование.Подключено = ИСТИНА";
Запрос.УстановитьПараметр("Ссылка", КассаККМ);
Запрос.УстановитьПараметр("Компьютер", ИмяКомпьютера());//MAScorporation - добавил это условие и еще: | И ТорговоеОборудование.Подключено = ИСТИНА
Показать
8. В модуле справочника "ТорговоеОборудование" в функции "ПолучитьПараметрыРегистрацииУстройства" в конце добавил:
Дело в том, что запрос который в этой функции отрабатывает, всегда будет возвращать пустоту, т.к. идет обращение к таблице справочника, которая на данный момент всегда пустая. Если не сделать эту правку (в моем случае), то не будет инициироваться процесс проверки кодов марки фискальником.
9. И на последок абсурдный косяк. В модуле документа "ЧекККМ" в функции "ПараметрыОперацииФискализацииЧека"
вместо строки:
написал условие (без него всегда будут пробиваться чеки прихода ))))) ):
Если ВидОперации=Перечисления.ВидыОперацийЧекККМ.Возврат Тогда //MAScorporation
ПараметрыОперацииФискализацииЧека.ТипРасчета = ПредопределенноеЗначение("Перечисление.ТипыРасчетаДенежнымиСредствами.ВозвратДенежныхСредств");
Иначе
ПараметрыОперацииФискализацииЧека.ТипРасчета = ПредопределенноеЗначение("Перечисление.ТипыРасчетаДенежнымиСредствами.ПриходДенежныхСредств");
КонецЕсли;
10. Небольшой совет. Если идет попытка пробить некорректную марку и фискальник стопориться с ошибкой:
"d3h код товара не распознан", то зайдите в свойства фискильника и исправьте:
Таблица 17 строка 41 "RUS принимать все КТ" = 1
В этом случае независимо от корректности марки чек будет печататься.
(189) Обратите внимание на покупателя. Если это юрлицо - нужен ИНН, если физлицо - нужна дата рождения, соответственно эти данные будут переданы как покупатель. По сути у вас ругается на то что вы передаете наименование покупателя, но нет обязательного ИНН или даты рождения.
собственно вот обсуждение на сайте атол подобной проблемы http://forum.atol.ru/index.php?showtopic=42254&st=0&p=317959&
Всех с наступающим! Теперь другая проблема,возврат сделать не могу (как из документа:Возврат товаров от покупателя,так и через РКО).
Касса в 1с возвращает только "Не поддерживается в данном режиме".Что не поддерживается,не понятно.
Ребята, а кроме драйвера ккт штрихМ ( кстати какой лучше использовать), исправленного обновления и исправленной обработки для оборудования, нужно ещё в базечто-то делать? Например библиотеку какую-нибудь обновлять или ещё что-то?
Удалось ли кому-нибудь на релизе УТ 10.3.73.1 пробить чек с маркой, используя новую типовую обработку обслуживания ККТ Атол и новый драйвер ККТ?
Я ради интереса пробил этот же товар с этой маркой в базе УНФ. Все пробивается, марка проходит проверку успешно. И чек на возврат тоже пробивается.
А в УТ 10 выдает ошибку "Контрольная марка не проверена". Хотя эта проверка на стороне ккт должна выполняться, предполагаю, что УТ 10 этого до сих пор не умеет определять.
(202)
Получилось пробить чек ККМ на продажу, но чек ККМ на возврат не пробивается. Решение:
Название ККТ должно быть стандартное: ККТ "АТОЛ: ККТ с передачей данных" И в регистре сведений "Торговое оборудование" тоже
(202)
на релизе УТ 10.3.73.1 с последней обработкой из папки TradeWareEpf с обработкой AtolKkt и драйвером KKT10-10.9.1.0 получилось сделать как в (81), код маркировки в честном знаке списался, потом Чеком ККМ на возврат вернулся обратно. Но мы используем обработку обслуживания АТОЛ ВЕБ-СЕРВИС из публикации 956348, ждём пока её обновят.
По ревизии, которую нужно менять по умолчанию в конфигурации - проверил - драйвер возвращает правильную ревизию, но в обработке обслуживания ошибка, при попытке получения ревизии:
Попытка
Объект.ПолучитьРевизиюИнтерфейса()
Иначе
КонецПопытки
Т.е ошибки игнорируются.
Объект в том случае - это структура, нужно:
Попытка
Объект.Драйвер.ПолучитьРевизиюИнтерфейса()
Иначе
КонецПопытки
Здравствуйте! УТ 10.3.73.1 доработано согласно посту (153) buka99999 с обработкой ShtrihMkkt_ФФД1.2.epf печатается [M] и KM? в чеке, в ОФД товар приходит как маркированный, но без хвоста, в честный знак ничего не приходит. ККМ Штрих-М02Ф прошит, драйвер DrvFR_5.16_886_x32 в параметрах обработки обслуживания ShtrihMkkt_ФФД1.2.epf Штрих-М: Драйвер ККТ с передачей данных в ОФД 3.4 (Win32), ККТ подключен по сети. При проверке в тесте драйвера кода:010466008502304021CZrZUN4fyaqp;<0x1D>91EE06<0x1D>92vFJ9cAP4f/dX13cktiFtUzVfCFBvl2O1stwczoS4TTM=, средствами ККТ пишет только: Статус локальной проверки : 0
"код маркировки не может быть проверен фискальным накопителем с использованием ключа проверки КП"
Результат локальной проверки : 1, КМ данного типа не подлежит проверке в ФН
Распознанный тип КМ : 3, КМ со значением кода проверки длиной 44 символа, не подлежащим проверке в ФН
Торгуем шинами. Подскажите куда копать? В чем может быть косяк?
Спасибо.
Так и не получается победить ффд 1.2: Штрих-М - последний драйвер/обработка. УТ 10.3 - но по сути уже не переписанная, а самописная.
Вот такой xml отправляется:
(209) если у вас ФФД 1.2, то XML неверный, марка должна передаваться в составе позиции фискальной строки с указанием в поле markingcode в виде строки base64
Подскажите пожалуйста. В ОФД приходит тэг 1305 в таком виде "productCodeNew": {
"gs1m": "010466008502304021CZrZUN4fyaqp;"
},
Касса штрих-м отсылает в таком 1163,КТ:
1305,КТ GS1.М:010466008502304021CZrZUN4fyaqp;
Честный знак не списывает марку. Что должно приходит в ОФД и им передаваться в ЧЗ в тэг 1305?
Подскажите, пожалуйста, кто знает - можно ли по краткой форме марки узнать полный код марки (не имея кода марки) ?) В личном кабинете Честного знака нашел только краткие коды марок.
(222) думаю никак, полный код только в печатной форме. Но если вы получали коды на остатки в виде CSV файла, тогда просто через поиск в блокноте можно найти. Еще в справочнике штрихкоды упаковок и товаров можно что то увидеть.
(223) в какой печатной форме?
есть у Честного Знака Метод «Получить повторно коды маркировки из заказа кодов маркировки», но это я так понимаю если мы производитель и заказываем маркировку в ЧЗ.
В Рознице есть реализованный метод этого - ИнтерфейсСУЗ.ЗапроситьКодыМаркировкиИзБизнесЗаказа_V2.
Но похоже это не подходит, если мы купили обувь у поставщика и продаем ее.
Получается выход только один - сканировать марку на коробках?)
ККМ Атол 22ПТК, активирован ФФД 1.2 прошивка последняя, настройки в раздел проверки марки специалистами по ККТ внесены
Драйвер атол: 10.9.2.3
Конфигурация УТ 10.3, модифицированная.
Обработка обслуживания: стандартная
Маркируемая продукция: Духи.
Проблема следующая:
Не проходит проверка марки средствами ККТ. Соответственно марка не списывается в ЧЗ.
Марка считывается сканером в режиме "Клавиатура", соответственно в систему попадает без разделительных символов #29. Значение марки привожу к виду "01"+GTIN+":21"+СерийныйНомер"+#29+"92"+Криптохвост
Далее:
1. Оправка запроса на проверку марки "ОбъектДрайвера.ЗапросКМ"
Пробовал поместить "ОбъектДрайвера.ПолучитьРезультатыЗапросаКМ" в цикл, чтобы дождаться ответа Result="TRUE", результат нулевой. Функция возвращает один и тот же ответ.
Если продолжить пробитие чека, то в чеке выходит [M] и товар в ЧЗ не списывается.
XML чека
(226)Отвечу сам себе
Ошибка найдена, суть ошибки:
Структура марки на коробке товара (01)+GTIN+(21)+Серийный номер+Символ(29)+(91)+Проверочный код+Символ(29)+(92)+Крипто хвост
В документ реализации читается сканером в режиме "Клавиатура", соответственно символ(29) тупо теряется. При формировании XML для пробития на ККМ происходила подготовка кода маркировки в указанный выше формат, а далее проверка средствами ККМ и фискализация.
1. Через тест-драйвер АТОЛ попробовал отправить на проверку марку в Base64 - проверка не прошла. Сравнив значение итогового Кода маркировки с значением на коробке сканером в режиме не "клавиатура" нашел что отсутствует блок (91). Причина такой ошибки проста: при доработке конфигурации использовался код маркировки без этого блока. Соответственно "обрезанный" код маркировки не проходил проверку. НО проверяя статус товара на честном знаке только двумя блоками (01) и (21) - проверка проходит. Вот это вообще не понятно.
2. В запросе на проверку параметр "Ожидатть проверку ИСМ" установил в "Истина".
3. В случае любого исхода проверки кода маркировки ОБЯЗАТЕЛЬНО закрывать сессию проверки. Иначе в тест драйвере сообщалось что проверка не может быть выполнена так как не закрыта прошлая сессия проверки.
Я хотел еще добавить 1. Что касается АТОЛ, чек на возврат не пробивается, если при загрузке новой обработки обслуживания изменили ее название, например у меня одновременно работали старые кассы и новые когда я новую обработку загрузил изменил ее название, а как оказалось этого делать не надо было. 2. У нас все КМ которые мы самостоятельно вводили в оборот перед отправкой на кассу убирались скобки и ставились разделители, а во всех покупных этого не происходило, проблема решилась добавки в функцию ВставкаСимволаРазделителяGS1ВШтрихкод замену (01) на 01 и т.д. если конечно (01) присутствовал.
Всем привет! У меня ситуация усложнена древним релизом и сильно дописанной УТ 10.3. Подскажите плиз, в итоге, возможно ли поставить отправку в ЧЗ без проверки, а только сформировав правильный xml - файл для компоненты ккт?
Хранение полного года маркировки я уже сделал, есть мысль дописать нужные поля при формировании xml и отправлять в компоненту без проверки. Так будет работать? Или же есть тайный смысл этой самой проверки?
(233) Релиз старый, обновлять нужно так понимаю для того чтобы весь механизм отработал, долго получается очень, конфа сильно перепилена. Я же планировал только подправить xml файл под требуемый формат.
(235)Если посмотрите на мои сообщения выше
Я запускал на сильно перепиленная очень старая УТ 10.3 редакция 10.3.28.1, в которой об обновлении и не может идти речь.
Основная информация о том что нужно сделать в этой ветке есть. Еще, очень помогла информация с сайта ИТС по требованию к разработке. Смотрите структуру и дорабатывайте свою конфу
(238)Нет.
Просто при переходе на ККМ-онлайн часть общих модулей была портирована с актуального релиза с доработкой. Поэтому частично были готовы. С приходом маркировки доработал только формирование XML в нужном формате и контроль марки средствами ККМ перед фискализацией.
Хранение и контроль марок сделал по-своему.
(239) Спасибо за ответ. У нас абсолютно идентичная ситуация. Год назад я переносил из актуального релиза модули для онлайн-касс, сейчас работает на ревизии 3003, поэтому, думаю получится как у вас.
(245) Спасибо. Может знаете - когда сканируем марку обуви - сканируется полная марка 127 символов, когда текстиль сканируем - 83 символа. На текстиле марки короче? На текстиль марка не проходит проверку
Вариант обновления тоже анализирую, пока прикинул что мне нужно будет обновить только процедуры библиотеки Подключаемое оборудование (МенеджерОборудования.... 6 модулей) в принципе не сложно. Но тут непонятно, не слетят ли те кассы что сейчас нормально работают... Очень замучился я их поднимать год назад, кассы Меркурий. Потому и не хочется лезть мне в обновление пока
Огромное спасибо авторам в данной ветке !!!
Еще в ноябре воспользовался вариантом из 81 и как-то работа с маркировкой проходила.
Сейчас кассы АТОЛ обновили до прошивки 5.8.20 и теперь там полный 1.2 без исключений.
Используется переписанная УТ 10.3.72.1 с добавлениями из данной ветки.
Режим совместимости 8.3.6
Драйвера и внешние компоненты АТОЛ 10.9.1.0 и 10.9.2.6 (для обоих драйверов ситуация не меняется)
Получаю ошибку "Не удалось подключить обработчик драйвера" (текст в конфигурации 1С) или "Устройство не найдено" (текст из драйвера).
В определенный момент устройство, инициированное в драйвере становится недоступным.
Касса подключена, обычные чеки пробиваются без нареканий.
Для маркировки проблема, так как начинается проверка.
Проблему сузил до общей формы "ОжиданиеПроверкиКодовМаркировкиИСМП"
Проверочный код такого вида поместил в ПодключаемоеОборудованиеУниверсальныйДрайверКлиент
Функция ТЕСТ_ПолучитьПараметрыККТ(Идентификатор) Экспорт
ОбработкаОбслуживания = Неопределено;
ОбъектДрайвера = Неопределено;
Результат = ПолучитьСерверТО().ПолучитьОбъектДрайвера(Идентификатор, ОбработкаОбслуживания, ОбъектДрайвера);
Результат = ОбработкаОбслуживания.ПолучитьПараметрыККТ(ОбъектДрайвера);
Возврат Результат;
КонецФункции
Процесс проверки.
Шаг 1. Устройство еще есть в этой процедуре
Общая форма "ОжиданиеПроверкиКодовМаркировкиИСМП"
&НаКлиенте
Процедура СледующийШаг(Знач Интервал = Неопределено)
Если Не ЗначениеЗаполнено(Интервал) Тогда
Интервал = 0.1;
КонецЕсли;
//Здесь ставим точку останова
//Выполняем ПодключаемоеОборудованиеУниверсальныйДрайверКлиент.ТЕСТ_ПолучитьПараметрыККТ("7C6A7136-03FF-4C1B-B728-7C8ED98F44A9")
//Устройство есть, параметры возвращаются
ПодключитьОбработчикОжидания("Подключаемый_ВыполнениеШагаПроверки", Интервал, Истина);
КонецПроцедуры
Показать
Шаг 2. Устройства больше нет в этой процедуре
Та же общая форма "ОжиданиеПроверкиКодовМаркировкиИСМП"
&НаКлиенте
Процедура Подключаемый_ВыполнениеШагаПроверки()
//Здесь ставим точку останова
//Выполняем ПодключаемоеОборудованиеУниверсальныйДрайверКлиент.ТЕСТ_ПолучитьПараметрыККТ("7C6A7136-03FF-4C1B-B728-7C8ED98F44A9")
//Устройство не найдено
Если ПараметрыПроверки.ЭлементыПроверки.Количество() = 0
Или ПараметрыПроверки.ТекущийИндекс > ПараметрыПроверки.ЭлементыПроверки.ВГраница()
Или ЗначениеЗаполнено(ПараметрыПроверки.Результат.ТекстОшибки)
Или (ПараметрыПроверки.ПерерватьОперацию
И ТекущаяОперация = ВыполняемыеОперации.ЛокальнаяПроверка) Тогда
ОбработкаРезультатаПроверкиСредствамиККТ();
... и т.д.
Зачем нужна была задержка, не ясно.
Но думаю что из оформительских соображений.
Возможно для оперативной отрисовки открываемой формы.
В общем закомментировал и сделал прямой вызов.
Главное, что устройство в драйвере остается доступным для выполнения методов проверки КМ.
Общая форма "ОжиданиеПроверкиКодовМаркировкиИСМП"
&НаКлиенте
Процедура СледующийШаг(Знач Интервал = Неопределено)
//++ Если Не ЗначениеЗаполнено(Интервал) Тогда
// Интервал = 0.1;
// КонецЕсли;
//
// ПодключитьОбработчикОжидания("Подключаемый_ВыполнениеШагаПроверки", Интервал, Истина);
Подключаемый_ВыполнениеШагаПроверки();
//--
КонецПроцедуры
не заработало и чем дальше я начал вникать что не так, тем больше понимал, что много что не так. Когда я все для себя финишировал (начали нормально пробиваться чеки), то прише
Кто-то может помочь организации, работающей с маркировкой обуви, помочь настроить пробивку чеков на ффд 1.2. 1С УТ ("Управление торговлей", редакция 10.3 (10.3.72.2) ) 1С:Предприятие 8.3 (8.3.18.1563). Есть касса которая переведена на ФФД 1.2, но бьет чеки только без маркировки. Пытались разобраться специалисты, безуспешно. можем всю информацию передать. Разумеется, все за плату. Тел для связи 89530053462
Кассы - атол 11Ф, атол 55ф
Вы хотя бы обрисуйте рамки: типовая или модифицированная, какая продукция.
Ну и обновиться до последнего релиза не помешает.
Из общих рекомендаций:
1. при пробитии чека атол пишет лог в файл тест-драйвера. Найдите его и посмотрите что отсылается на ККМ
2. документы реализации должны содержать реализуемую марку
3. У номенклатуры должен быть установлен признак "Вид продукции ИС"
4.Обработка обслуживания должна стоять с модулем не ниже 10.9.2.0
5. На компьютере должен стоят тест-драйвер не ниже 10.9.2.0
6. ККМ должны быть настроены на маркировку. Активации ФФД 1.2 не достаточно.
Коллеги добрый день!
Внес в УТ 10.3.73.2 правки из (153). Последние пункты 7,8,9 не потребовались. Штрих-ФР-01Ф ФФД 1.2, драйвер 5.17.0.901.
Кстати, в комплекте поставки 10.3.73.2 обработка ShtrihMkkt.epf уже новая, со всеми процедурами и в нее загружена компонента под релиз 3004. Но я все равно сразу заменил макет на свежую версию из поставки 901.
Торгуем шинами. У меня доработки в части сканирования марки, я сделал свою форму, чтобы с обычным сканером работало. При сканировании марки я ее разбираю и записываю в регистр сведений ПулКодовМаркировкиСУЗ, реквизит ПолныйКодМаркировки. Оттуда его вроде и берет 1с потом для чека.
Но осталась одна проблема. В печатной форме чека нет ни [M] ни [M+] и вообще ничего что касается маркировки. Причем в ОФД если чек смотреть там стоит [M+] и в Честном знаке марки списываются и при возврате обратно возвращаются в оборот.
В чем может быть проблема?
Признак маркировки вроде является не обязательным для печати, например у Атола в недавнем "сверхкомпактном" шаблоне он преднамеренно не выводится, у Штриха не знаю - может тоже он где-то в таблицах выключается/включается?
А вообще зря вы свои вопросы задаете в старой теме с "найденным решением".
Здравствуйте! ККТ Стоит ШтрихМ 5.17.0.901. УТ 10.3 последняя версия 73.2., правда база далеко не типовая.
Постоянно проверка ККТ выдает:
<?xml version="1.0"?>
<ProcessingKMResult GUID="" Result="true" ResultCode="-1" HandleCode="0"/>
Я так понимаю, что это нет связи? Не пойму, что за ерунда. Уже не знаю, что ещё и делать. локальные проверки проходят нормально.
Статус локальной проверки : 3
"код маркировки проверен фискальным накопителем с использованием ключа проверки КП"
"результат проверки КП КМ фискальным накопителем с использованием ключа проверки КП положительный"
Результат локальной проверки : 0, КМ проверен в ФН
Распознанный тип КМ : 2, КМ со значением кода проверки длиной 88 символов, подлежащим проверке в ФН
Все проверки проходит, но где-то теряется связь, не пойму...В итоге пишет, что статус не опреден и предлагает распечатать просто с буквой [М]. Может у кого-то было подобное? Не пойму, что делать?
Вот сама марка 0104690459431539215%QGP,Ukn(azh<0x1D>918097<0x1D>92q3JM/eWESD12s6QH2Gicwh4LyaWIFkJ5YBwiqBGt2+l86gSblpoGchpz4/RNKjOlk1wFD4SA3LyvWghUeSCsGA==
Здравствуйте, подскажите, пожалуйста, что я делаю не так. При сканировании марки Текстиля получаем следующий код 83 символа
010463012744052421r1fKvWU9L'VYO91EE079270ABuNwpIbvSSrFjCY6hskCIoxbW9VmHLQqkC0cbNr0=
При кодировании в base64 получается следующий код -
MDEwNDYzMDEyNzQ0MDUyNDIxcjFmS3ZXVTlMJ1ZZTx05MUVFMDcdOTI3MEFC
dU53cElidlNTckZqQ1k2aHNrQ0lveGJXOVZtSExRcWtDMGNiTnIwPQ==
формирую ПараметрыОперацииXML и посылаю марку на проверку - ОбъектДрайвера.ЗапросКМ, в ответ получаю что проверка не пройдена и если послать чек на фискализацию касса возвращает ошибку 999 "Контрольная марка не проверена". А при сканировании марки на обувь длина марки получается 127 символов и проверка по алгоритму успешна
(260)у вас разделительный символ (29) присутствует в сканированном коде?
В кодированной строке есть символы переноса, этого не должно быть. В сообщениях выше уже писали. Смотрите. При проверке возвращается код проверки, это битовая строка, там достаточно красноречиво будет содержаться причина.
(262) "символ (29)" присутствует. Кодирую в Base64 вот этой функцией, добавил, чтобы убирались переносы строк:
Функция ЗакодироватьКодМаркировкиBase64(КодМаркировки, ТолькоЗ1Символ = Ложь) Экспорт
РазделительGS1 = МенеджерОборудованияМаркировкаКлиентСервер.РазделительGS1();//Символ(29)//Это символ GS1
ВременныйФайл = ПолучитьИмяВременногоФайла();
Запись = Новый ЗаписьТекста(ВременныйФайл);
Если ТолькоЗ1Символ Тогда
Запись.Записать(
Лев(КодМаркировки, 31)
);
Иначе
Запись.Записать(
Лев(КодМаркировки, 31) + РазделительGS1
+ Сред(КодМаркировки, 32, 6) + РазделительGS1
+ Сред(КодМаркировки, 38)
);
КонецЕсли;
Запись.Закрыть();
Дв = Новый ДвоичныеДанные(ВременныйФайл);
ВремШтрихкодBase64 = Base64Строка(Дв);
ВремШтрихкодBase64 = СтрЗаменить(ВремШтрихкодBase64, Символы.ПС, "");
ВремШтрихкодBase64 = СтрЗаменить(ВремШтрихкодBase64, Символы.ВК, "");
ШтрихкодBase64 = ?(Лев(ВремШтрихкодBase64, 4) = "77u/", Сред(ВремШтрихкодBase64, 5), ВремШтрихкодBase64);
УдалитьФайлы(ВременныйФайл);
Возврат ШтрихкодBase64;
КонецФункции
Показать
При проверке вы имеете в виду, когда выполняем ПолучитьРезультатыЗапросаКМ ? Она возвращает следующую строку: <?xml version="1.0" encoding="UTF-8"?>
<ProcessingKMResult GUID="c86a2e79-2026-4e64-be5e-bd942ace2e39" Result="False" ResultCode="0"/>
Случайно у себя обнаружил такой момент. Если не закрывать сессию проверки то новая "не работает", т.е. возвращает ResultCode="0", но марка не проходит.
Попробуйте свой ШтрихкодBase64 проверить средствами ккм. Если пройдет, ищите проблему в коде, если нет - у вас не правильный код марки.
P.S: можно двоичные данные не не через файл, а просто функцией, конечно если у вас не платформа 8.2. Но даже в этом случае можно просто потоком.
(264)
Добрый день. Сможете удаленно и за оплату решить мою проблему : последняя 1С 10.3.75.2 (не модифицированная почти) и кассы Атолл 11Ф по маркировке молочкой. Продажа через документ Чек ККМ. Отправляю на проверку марки перед пробитием чека - возвращается ошибка " проверка марки не проходит"
День добрый.
Особо не надеюсь, но вдруг.
У меня отраслевая конфигурация очень сильно переписная. Хотел все сделать на БПО.
Кассы Штрих-М. РевизияИнтерфейса = 3004.
Отправляю XML
Добился что бы ошибка "d3h код товара не распознан" ушла, но [М+] так и не появилось.
В таблице 17 поле 25 ставил 1 - не помогло
В Таблица 17 строка 41 - стоит 0
Коллеги подскажите по маркировке воды. Не даёт пробить на кассе марку.
1сРесторан на базе розницы 2.3.17.18
продаем воду через АТОЛ 20Ф. Прошивку просили обновить в СЦ. Драйвер х86. Атол 10.10.0.0
ТаблицаПараметровККТ - [<?xml version="1.0" encoding="UTF-8"?>
<Parameters KKTSerialNumber="00108123928263" Fiscal="true" DateTime="2023-12-13T10:27:00" DocumentNumber="34031" FFDVersionKKT="1.2" FFDVersionFN="1.2" FNSerialNumber="7281440500501106" FirmwareVersion="5.8.1 (5.10.0)"
Марка
0104603934000786215IqituT8SwPvI93k7+t
2024.01.31 19:51:32.007 T:00001264 INFO [1C] ИДУстройства - [ATOL_KKT_1C_V10#1]
2024.01.31 19:51:32.007 T:00001264 INFO [1C] ШиринаСтроки - [64]
2024.01.31 19:51:32.038 T:00001264 INFO [1C] Версия компонента: [10.9.3.1]
2024.01.31 19:51:32.038 T:00001264 INFO [1C] OpenSessionRegistrationKM
2024.01.31 19:51:32.038 T:00001264 INFO [1C] ИДУстройства - [ATOL_KKT_1C_V10#1]
2024.01.31 19:51:32.145 T:00001264 INFO [1C] Версия компонента: [10.9.3.1]
2024.01.31 19:51:32.145 T:00001264 INFO [1C] RequestKM
2024.01.31 19:51:32.145 T:00001264 INFO [1C] ИДУстройства - [ATOL_KKT_1C_V10#1]
2024.01.31 19:51:32.145 T:00001264 INFO [1C] ЗапросКМ - [<?xml version="1.0" encoding="UTF-8"?>
<RequestKM GUID="77d43334-1686-4de1-9798-10a389115d7e"
WaitForResult="True"
NotSendToServer="False"
MarkingCode="MDEwNDYwMzkzNDAwMDc4NjIxNUlxaXR1VDhTd1B2SR05M2s3K3Q="
PlannedStatus="1"/>]
2024.01.31 19:51:32.380 T:00001264 INFO [1C] РезультатЗапросаКМ - [<?xml version="1.0" encoding="UTF-8"?>
<RequestKMResult Checking="False" CheckingResult="False"/>
]
и получаем ошибку
Скрытый текст
2024.01.31 19:51:33.925 T:00001264 INFO [1C] Open
2024.01.31 19:51:34.198 T:00001264 INFO [1C] ИДУстройства - [ATOL_KKT_1C_V10#2]
2024.01.31 19:51:34.199 T:00001264 INFO [1C] Версия компонента: [10.9.3.1]
2024.01.31 19:51:34.199 T:00001264 INFO [1C] GetLineLength
2024.01.31 19:51:34.199 T:00001264 INFO [1C] ИДУстройства - [ATOL_KKT_1C_V10#2]
2024.01.31 19:51:34.199 T:00001264 INFO [1C] ШиринаСтроки - [64]
2024.01.31 19:51:34.201 T:00001264 INFO [1C] Версия компонента: [10.9.3.1]
2024.01.31 19:51:34.201 T:00001264 INFO [1C] GetProcessingKMResult
2024.01.31 19:51:34.201 T:00001264 INFO [1C] ИДУстройства - [ATOL_KKT_1C_V10#2]
2024.01.31 19:51:34.210 T:00001264 ERROR [1C] [420] Контрольная марка не проверена
2024.01.31 19:51:34.210 T:00001264 INFO [1C] Версия компонента: [10.9.3.1]
2024.01.31 19:51:34.210 T:00001264 INFO [1C] GetLastError
2024.01.31 19:51:34.210 T:00001264 INFO [1C] ОписаниеОшибки - [Контрольная марка не проверена]
2024.01.31 19:51:34.213 T:00001264 INFO [1C] Версия компонента: [10.9.3.1]
2024.01.31 19:51:34.213 T:00001264 INFO [1C] Close