Розница 2.3.18.13, ошибки разрешительного режима и все с этим связанное
Здравствуйте, имеем на текущий момент Розницы 2.3.18.13, с последними патчами, выставленной датой разрешительного режима, включенными режимами проверок и всем остальным. Сигареты сканируются, проверки идут, но по итогу в Честном знаке ошибки связанные с разрешительным режимом продолжают накапливаться. Это у всех так? Возможно ли дело в кассовых аппаратах Атол, что там какой то особенный тег появился?
Найденные решения
(46) заменил ЗаписьXML.ЗаписатьАтрибут("WaitForResult", ?(ПараметрыОперации.ОжидатьПолучениеОтветаОИСМ, "True", "False"));
на ЗаписьXML.ЗаписатьАтрибут("WaitForResult", "True");
теперь атол принудительно проверку делает, и в чеках м+
на ЗаписьXML.ЗаписатьАтрибут("WaitForResult", "True");
теперь атол принудительно проверку делает, и в чеках м+
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(194.)
да, и в УТ также:
если добавлять шк в РМК напрямую - то ошибка владельца (хотя ИНН наш показывает, а вот название от магазина, а не от головной ООО)
Но если добавить шк через кнопку "Акцизные марки ---> Табачная продукция" то ошибки нет
да, и в УТ также:
если добавлять шк в РМК напрямую - то ошибка владельца (хотя ИНН наш показывает, а вот название от магазина, а не от головной ООО)
Но если добавить шк через кнопку "Акцизные марки ---> Табачная продукция" то ошибки нет
(196) Спасибо, проверим
По поводу тега 1260, вот нашел на сайте ЧЗ:
Значения реквизитов, входящие в реквизит «отраслевой реквизит предмета расчета» 1260, имеют значения по умолчанию:
Значение реквизита «идентификатор ФОИВ» (тег 1262): 030;
Значение реквизита «дата документа основания» (тег 1263): 16.06.2022;
Значение реквизита «номер документа основания» (тег 1264): 174;
Значение реквизита «значение отраслевого реквизита» (тег 1265): crpt=mrk;
По поводу тега 1260, вот нашел на сайте ЧЗ:
Значения реквизитов, входящие в реквизит «отраслевой реквизит предмета расчета» 1260, имеют значения по умолчанию:
Значение реквизита «идентификатор ФОИВ» (тег 1262): 030;
Значение реквизита «дата документа основания» (тег 1263): 16.06.2022;
Значение реквизита «номер документа основания» (тег 1264): 174;
Значение реквизита «значение отраслевого реквизита» (тег 1265): crpt=mrk;
Всем привет.
Обратил внимание что сигареты с ШК EAN 13 проходят проверку без проблем, а короткие EAN8 которым мы выгружаем в офлайн кассу с ведущими нулями все падают в ошибку. Ни у кого такого не было?
Обратил внимание что сигареты с ШК EAN 13 проходят проверку без проблем, а короткие EAN8 которым мы выгружаем в офлайн кассу с ведущими нулями все падают в ошибку. Ни у кого такого не было?
Добрый день! Подскажите, пожалуйста, как исправить: если откладываем чек, то при его продолжении коды маркировки запрашивает снова (раньше откладывали и потом пробивали без проблем)... Ситуация, например, такая, очередь... пробиваем несколько упаковок воды, у покупателя не хватает денег..... откладываем чек, пока он ходит за другой картой, чтобы обслуживать дальше.... он возвращается, и приходится всю маркированную продукцию сканировать снова....в итоге, злая очередь, недовольный покупатель ...
Такая же фигня. На УТ 10.3. Разрешительный режим запущен, токен записан, прописаны площадки CDN, и прочие параметры. Проверка идёт при сканировании. А на чеке [М]. В ОФД ссылочка на чек(и), якобы не получен ответ от ЧЗ и т.д.. В ЧК ЧЗ всё отражено и обработано. Но есть отклонения "Продажа товара без проверки КМ".
фрагмент чека в TLV
1059": [
{
"1023": 1,
"1030": "Максим Серая пачка (лайт) МРЦ-100-00",
"1043": 14000,
"1079": 14000,
"1163": {
"1306": "010460165303005321r5Yn5KY"
},
"1199": 6,
"1212": 31,
"1214": 4,
"1260": {
"1262": "030",
"1263": "21.11.2023",
"1264": "1944",
"1265": "UUID=49d9831e-b2ee-44f2-8783-df1d9f59d9e0&Time=1712743594644"
},
"2102": 0,
"2106": 0,
"2108": 0
*****************************
фрагмент чека в JSON
"Items": [
{
"Name": "Максим Серая пачка (лайт) МРЦ-100-00",
"Price": 14000,
"Quantity": 1,
"Total": 14000,
"CalculationMethod": 4,
"SubjectType": 31,
"ProductCode": {
"Code_KMK": "010460165303005321r5Yn5KY"
},
"NDS_Rate": 6,
"ProductCheckResultDetails": 0,
"ProductUnitOfMeasure": 0,
"IndustryPropertyFOIV": "030",
"IndustryPropertyDocDate": "21.11.2023",
"IndustryPropertyDocNumber": "1944",
"IndustryPropertyValue": "UUID=49d9831e-b2ee-44f2-8783-df1d9f59d9e0&Time=1712743594644"
1059": [
{
"1023": 1,
"1030": "Максим Серая пачка (лайт) МРЦ-100-00",
"1043": 14000,
"1079": 14000,
"1163": {
"1306": "010460165303005321r5Yn5KY"
},
"1199": 6,
"1212": 31,
"1214": 4,
"1260": {
"1262": "030",
"1263": "21.11.2023",
"1264": "1944",
"1265": "UUID=49d9831e-b2ee-44f2-8783-df1d9f59d9e0&Time=1712743594644"
},
"2102": 0,
"2106": 0,
"2108": 0
*****************************
фрагмент чека в JSON
"Items": [
{
"Name": "Максим Серая пачка (лайт) МРЦ-100-00",
"Price": 14000,
"Quantity": 1,
"Total": 14000,
"CalculationMethod": 4,
"SubjectType": 31,
"ProductCode": {
"Code_KMK": "010460165303005321r5Yn5KY"
},
"NDS_Rate": 6,
"ProductCheckResultDetails": 0,
"ProductUnitOfMeasure": 0,
"IndustryPropertyFOIV": "030",
"IndustryPropertyDocDate": "21.11.2023",
"IndustryPropertyDocNumber": "1944",
"IndustryPropertyValue": "UUID=49d9831e-b2ee-44f2-8783-df1d9f59d9e0&Time=1712743594644"
(202) Насчет [М] и [М+] ЧЗ сказал что все равно что пишет, [М+] это отголосок уведомительного режима, когда касса проверяет марку.
Насчет тайм-аута попробуйте установить больше времени "ожидание ответа от ГИС МТ" по умолчанию там стоит 1.5 сек
Не знаю как в УТ10.3, но в Розницах и УТ11.5 в подключаемом оборудовании в журнале операций нужно поставить галку "хранить успешные операции при разрешительном режиме", было обсуждение в телеграмме насчет таких чеков. И было сказано что проверке нужно будет показать что проверка была, но от серверов ГИС МТ не было получено ответа.
Насчет тайм-аута попробуйте установить больше времени "ожидание ответа от ГИС МТ" по умолчанию там стоит 1.5 сек
Не знаю как в УТ10.3, но в Розницах и УТ11.5 в подключаемом оборудовании в журнале операций нужно поставить галку "хранить успешные операции при разрешительном режиме", было обсуждение в телеграмме насчет таких чеков. И было сказано что проверке нужно будет показать что проверка была, но от серверов ГИС МТ не было получено ответа.
Доброго дня, при пробитии товаров в 1с РОзница 2.3, не проходит проверка кодов, после настройки разрешительного режима, на чеке печатается (м), хотя в честном знаке товар списывается, в чем может быть проблема, дравера кассы атол обновлены до последней версии
(203) Смотрите в офд теги 1260-1265, а так же скачивайте чек из ЧЗ и смотрите передается туда данные теги. Прошивка АТОЛ должна быть 5.8.1 а дальше все равно и драйвера 10.9.3.1 так как интеграционная компонента 10.9.3.1. Насчет М в чеке можете почитать ответы там был ответ насчет что при РР хватает в чеке М.
у меня есть кассы с прошивкой 5.8.1.20 и 5.8.1.100 все передается.
у меня есть кассы с прошивкой 5.8.1.20 и 5.8.1.100 все передается.
EF_00_00622672: Обычная: Ошибка инициализации модуля: EF_00_00622672 ОбщийМодуль.ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.Модуль
по причине:
{EF_00_00622672 ОбщийМодуль.ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.Модуль(37,10)}: Недостаточно фактических параметров (EF_00_00622672_КодЕдиницыИзмеренияПоККТКоду)
Возврат <<?>>EF_00_00622672_КодЕдиницыИзмеренияПоККТКоду();
[ОшибкаКомпиляцииВстроенногоЯзыка]
Вот такая ошибка
по причине:
{EF_00_00622672 ОбщийМодуль.ОборудованиеЧекопечатающиеУстройстваРФКлиентСервер.Модуль(37,10)}: Недостаточно фактических параметров (EF_00_00622672_КодЕдиницыИзмеренияПоККТКоду)
Возврат <<?>>EF_00_00622672_КодЕдиницыИзмеренияПоККТКоду();
[ОшибкаКомпиляцииВстроенногоЯзыка]
Вот такая ошибка
Хранить успешные операции при разрешительном режиме
Где находиться эта настройка , все уже перетыкал?
Где находиться эта настройка , все уже перетыкал?
Розница 2.3.18.17. Разрешительный режим включен, теги 1260 в чеках есть. Одна и та же пачка сигарет успешно пробивается два раза. Почему продажа не блокируется?
Бью пиво, 7 литров на остатке. Продаю 6. Следующий чек опять 6 литров, ну думаю сейчас касса блокирует продажу, остаток по марке литр должен быть, и выбить лишнего касса не даст. Хрен там, никакого блока, да и остаток по марке смотрю те же 7 литров, ничего не уменьшилось. Оказалось закончилось время 10-и часового токена. Актуализировал. Сразу всё ок, остаток литр. Вообще не могу понять как всё это работает, и для чего тогда вообще нужен токен из ЧЗ.
(218) при подборе иногда есть зависания на мин 20. решается ребутом сервера 1с. (бывает раз-два в неделю)
а вот, короба, тоже подбираются в РМК, получается продавать можно? (в коробе 50 блоков, но штрихкод короба то один)) меньше мороки)
а вот, короба, тоже подбираются в РМК, получается продавать можно? (в коробе 50 блоков, но штрихкод короба то один)) меньше мороки)
Вчера настраивал розницу + патчи с кассой штрих. В итоге там все чеки с [м+]. Никаких доп настроек. Так же настроено по этой ссылке
Кто-нибудь добился такого же результата на атол?
Такое ощущение, что это косяк прошивок атол.
Кто-нибудь добился такого же результата на атол?
Такое ощущение, что это косяк прошивок атол.
Прикрепленные файлы:
Добрый день!
Розница редакция 2.3 (2.3.18.17)
Разрешительный режим включен, проверка проходит в журнале код 200 и вся нужная информация, печатаются чеки с М+, данные есть в ЧЗ.
Но все чеки без тега 1260... И соответственно копятся отклонения
Куда копать, почему он не берет данные из проверки и не вставляет их в тег 1260.
ККТ Штрих
Розница редакция 2.3 (2.3.18.17)
Разрешительный режим включен, проверка проходит в журнале код 200 и вся нужная информация, печатаются чеки с М+, данные есть в ЧЗ.
Но все чеки без тега 1260... И соответственно копятся отклонения
Куда копать, почему он не берет данные из проверки и не вставляет их в тег 1260.
ККТ Штрих
(221) Меня тоже раньше интересовал этот вопрос, только всё было почти наоборот. Разрешительный режим активен, проверки в журнале или false или вообще ничего нет. Чеки (М), в ЧЗ всё ровно. Отклонений нет, тег 1260 присутствует.Задал им вопрос по этому поводу. Ответили что (М+) при РР не обязателен.
(220) При РР не важно будет стоять [М+] или будет [М], [М+] - это отголосок УР. Ответы ТП ЧЗ насчет М и М+ главное что бы теги 1260-1265 передавались, если хотите что бы печаталась М+ в этой теме на первой странице есть расширение которое даст возможность печатать М+.
(229) Ответ был дан и ЧЗ и самими разработчиками которые бывают в том канале телеграмма что М+ при РР не важно, М+ относится к уведомительному режиму - это другой режим и к РР не относится. При РР важны теги 1260-1265 которые формирует ПО и передает в ОФД, а затем в ЧЗ.
нужно ли М+ на разливном Пиве?
или только штучные ?
кто подскажет по коду..
у меня в обработке стоит закомменированным строка
а в требованиях к драйверам 1С написано
Обязательное наличие в структуре ДА
Quantity Да double Количество
или только штучные ?
кто подскажет по коду..
у меня в обработке стоит закомменированным строка
// ДЛЯ НОВЫХ РЕДАКЦИЙ ФН с 2024 года
//Если СокрЛП(Стр.MeasureOfQuantity)="41" Тогда
// // Только количества <> 1
// ЗаписьМаркиXML.ЗаписатьАтрибут("PlannedStatus", ?(СуммаВсехВидовОплаты>0,"2","4"));
// //ЗаписьМаркиXML.ЗаписатьАтрибут("Quantity", XMLСтрока(0));а в требованиях к драйверам 1С написано
Обязательное наличие в структуре ДА
Quantity Да double Количество
Пытаемся настроить разрешительный режим. В новой РКИ При сканировании выдает предупреждение инн владельца не наше. Помогите найти в чем ошибка.
С первомаем всех
У кого на молоко и воду запрашивает владельца. в данный момент только на УТ, по настройкам изменить ничего не дает, но при этом пишет что владельца он по этим группам не проверяет
У кого на молоко и воду запрашивает владельца. в данный момент только на УТ, по настройкам изменить ничего не дает, но при этом пишет что владельца он по этим группам не проверяет
Розница 2.3.19 (со всеми патчами), ККТ Штрих (драйвер 5.17.987), РМК старое, журнал проверки РР чистый!
всегда вылетает ошибка (во вложении), но пробивать даёт.
Что не так?
всегда вылетает ошибка (во вложении), но пробивать даёт.
Что не так?
Прикрепленные файлы:
Подскажите, вообще не получается настроить РР через годовой токен, который сгенерировал в кабинете Честного Знака. Все время требует сертификат. СDN площадки актуализируются, к примеру.
Есть кто настраивал через годовой токен без ЭЦП?
Розница, редакция 2.3 (2.3.19.24)
Все патчи стоят
Есть кто настраивал через годовой токен без ЭЦП?
Розница, редакция 2.3 (2.3.19.24)
Все патчи стоят
Прикрепленные файлы:
(250)
Удалось в итоге заставить работать без ЭЦП? У меня такая же ситуация. 2 организации распределение продаж. Токен если указать, то ругается на отсутствие ЭЦП. Если ЭЦП показать, то 10 часов работает. Дальше без ЭЦП не работает. Старый РМК
та и нет даже)
Удалось в итоге заставить работать без ЭЦП? У меня такая же ситуация. 2 организации распределение продаж. Токен если указать, то ругается на отсутствие ЭЦП. Если ЭЦП показать, то 10 часов работает. Дальше без ЭЦП не работает. Старый РМК
Обновился до 2.3.20.26, со всеми патчами.
Напрочь отвалилась продажа крепкого алкоголя. При переходе к оплате вылетает ошибка распределения марок по строкам. Пол дня убил на это, ничего не помогало пока не отключил все виды маркировки в интеграции гиис.
Пиво пока по маркам не продают. Но это временная мера.
Кто нить сталкивался? Есть решение?
Напрочь отвалилась продажа крепкого алкоголя. При переходе к оплате вылетает ошибка распределения марок по строкам. Пол дня убил на это, ничего не помогало пока не отключил все виды маркировки в интеграции гиис.
Пиво пока по маркам не продают. Но это временная мера.
Кто нить сталкивался? Есть решение?
Добрый день,
Подскажите пожалуйста на Розница 2.3 релиз 2.3.18.23 Старое РМК 2 юр лица на рабочем месте. С 1 сентября разрешительный режим будет работать нормально для групп упакованная вода и молочная продукция?
Подскажите пожалуйста на Розница 2.3 релиз 2.3.18.23 Старое РМК 2 юр лица на рабочем месте. С 1 сентября разрешительный режим будет работать нормально для групп упакованная вода и молочная продукция?
(255) вопрос не по теме: вот такие схемы не ведут к позиции ИФНС о разделении бизнеса? Наверное ООО на УСН, ИП - на патенте?
У моих замену по патенту проводят раз в годю Сначала года один ИП, потом перерегистрация на другой ИП. (Выручка превышает патент).
У моих замену по патенту проводят раз в годю Сначала года один ИП, потом перерегистрация на другой ИП. (Выручка превышает патент).
(258) формально ФНС может предьявить за дробление бизнеса, но тот самый клиент бизнес разделил на 4 части: ООО - УСН Д-Р, ИП на патенте: он, жена и сын (на каждом магазине свои ИП), т.к. выручка зашкаливает за лимит. И в таком режиме 3-ий год работает после отмены ЕНВД, государство его не трогает. Может из-за того, что регион такой удаленный провинциальный
Розница 2.3.18.23 РМК старый, наборы упаковок не используются, продавец отсканировал код маркировки блока сигарет - 10 шт, затем еще 5 КМ с пачек, итого 15 шт по цене 160, и введено 6 КМ. Разрешительный, уведомительный режим - ок, чек пробит. В 1С - в чеке 15 шт по цене 160 = 2400, а чеке ккм 6 х 400 = 2400. Т.е.в программе сумма была поделена на 6 КМ. В ОФД и ЧЗ ушло 6 по 400, в результате в ЧЗ зафиксирована ошибка (пока без последствий)
Возник еще вопрос, может кто сталкивался - в ЧЗ ошибка Продажа товара без проверки КМ. Встречается у клиентов, но идет не потоком, т.е. возникает периодически. Сейчас попробую в 1С увеличить время ожидания ответа, но вдруг кто-то уже имеет опыт?
Добрый день. В статистике отклонений Цена отличается от МРЦ, но не ниже ЕМЦ каждый месяц накапливается, 1с розница 2.3.18.23, в настройках сканирования стоит галка учитывать мрц, но цена берется из установки цен при сканировании в рмк. Писал в 1с, говорят должно работать) Кто-то сталкивался с подобным и как удалось победить?
По просьбе клиента, торгующего сигаретами сделал проверку чека перед пробитием (расширение для розницы 2.3.18.ХХХ старое рмк)
- сигареты оформляются отдельным чеком, если есть сигареты и другой товар - запрет пробития
- проверка мрц, если расхождение - запрет
- блоки и пачки в одном чеке - запрет, блоки в своем чеке, пачки в своем
неудобно, но сообщений из чз о нарушениях нет
- сигареты оформляются отдельным чеком, если есть сигареты и другой товар - запрет пробития
- проверка мрц, если расхождение - запрет
- блоки и пачки в одном чеке - запрет, блоки в своем чеке, пачки в своем
неудобно, но сообщений из чз о нарушениях нет
(267)
&НаКлиенте
Процедура РМК_РасшКартинкаЧО05НаличныеНажатиеВместо(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
РМК_Расш_ДействиеОплата="ВыполнитьЧО05Наличные()";
Если ПроверкаЧекаНаОшибки()=Ложь Тогда
ВыполнитьЧО05Наличные();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура РМК_РасшКартинкаЧО06ПлатежнаяКартаНажатиеВместо(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
РМК_Расш_ДействиеОплата="ВыполнитьЧО06ПлатежнаяКарта()";
Если ПроверкаЧекаНаОшибки()=Ложь Тогда
ВыполнитьЧО06ПлатежнаяКарта();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура РМК_РасшКартинкаЧО07СложнаяОплатаНажатиеВместо(Элемент, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
РМК_Расш_ДействиеОплата="ВыполнитьЧО07СложнаяОплата()";
Если ПроверкаЧекаНаОшибки()=Ложь Тогда
ВыполнитьЧО07СложнаяОплата();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Функция ПроверкаЧекаНаОшибки()
ЕстьОшибки=Ложь;
ТекстОшибки="";
ПроверкаЧекаНаОшибкиНаСервере(ЕстьОшибки,ТекстОшибки);
Если ЕстьОшибки Тогда
Оповещение=Новый ОписаниеОповещения("ПроверкаЧекаНаОшибкиЗавершение",ЭтаФорма);
Кнопки=Новый СписокЗначений;
Кнопки.Добавить(0,"Закрыть");
Если РМК_Расш_РазрешитьПробитьЧекОшибки Тогда
Кнопки.Добавить(1,"Пробить чек с ошибками");
КонецЕсли;
Кнопки.Добавить(2,"Настройка разрешения");
ПоказатьВопрос(Оповещение,ТекстОшибки,Кнопки);
КонецЕсли;
Возврат ЕстьОшибки;
КонецФункции
&НаКлиенте
Процедура ПроверкаЧекаНаОшибкиЗавершение(Результат,ДопПараметры) ЭКСПОРТ
Если Результат=1 И РМК_Расш_РазрешитьПробитьЧекОшибки Тогда
Выполнить(РМК_Расш_ДействиеОплата);
КонецЕсли;
Если Результат=2 Тогда
Оповещение=Новый ОписаниеОповещения("ИзменитьРазрешениеПробитьЧекОшибкиЗавершение",ЭтаФорма);
Значение=РМК_Расш_РазрешитьПробитьЧекОшибки;
Массив = Новый Массив;
Массив.Добавить(Тип("Булево"));
ОписаниеТипов = Новый ОписаниеТипов(Массив);
ПоказатьВводЗначения(Оповещение,Значение,"Разрешить пробить чек с ошибками",ОписаниеТипов);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьРазрешениеПробитьЧекОшибкиЗавершение(Результат,ДопПараметры) ЭКСПОРТ
РМК_Расш_РазрешитьПробитьЧекОшибки=Результат;
КонецПроцедуры
&НаСервере()
Процедура ПроверкаЧекаНаОшибкиНаСервере(ЕстьОшибки,ТекстОшибки)
ОсобенностьУчетаТабак=Перечисления.ОсобенностиУчетаНоменклатуры.ТабачнаяПродукция;
Запрос=Новый Запрос;
Массив=Новый Массив;
Для каждого стр из Объект.Товары Цикл;
Массив.Добавить(стр.Номенклатура);
КонецЦикла;
Запрос.УстановитьПараметр("Массив",Массив);
Запрос.Текст="ВЫБРАТЬ РАЗЛИЧНЫЕ
| Номенклатура.ОсобенностьУчета КАК ОсобенностьУчета
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| Номенклатура.Ссылка В(&Массив)";
ТЗ=Запрос.Выполнить().Выгрузить();
Если ТЗ.Количество()>1 Тогда
Если ТЗ.НайтиСтроки(Новый Структура("ОсобенностьУчета",ОсобенностьУчетаТабак)).Количество()>0 Тогда
ЕстьОшибки=Истина;
ТекстОшибки="В чеке есть сигареты и другие товары,
|нужно изменить состав чека,
|продажу сигарет нужно оформлять отдельным чеком";
Возврат;
КонецЕсли;
КонецЕсли;
Если ТЗ.Количество()=1 И ТЗ[0].ОсобенностьУчета=ОсобенностьУчетаТабак Тогда
КоличествоКМ=Объект.АкцизныеМарки.Количество();
КоличествоТоваров=Объект.Товары.Итог("Количество");
ТЗ=Объект.АкцизныеМарки.Выгрузить();
Для каждого стр из ТЗ Цикл
GTIN=""+стр.КодАкцизнойМарки;
Если Лев(GTIN,1)="(" Тогда
GTIN=Сред(GTIN,5,14);
Иначе
GTIN=Сред(GTIN,1,14);
КонецЕсли;
стр.КодАкцизнойМарки=GTIN;
КонецЦикла;
Запрос.УстановитьПараметр("ТЗ",ТЗ);
Запрос.Текст="ВЫБРАТЬ РАЗЛИЧНЫЕ
| ТЗ.КодАкцизнойМарки КАК КодАкцизнойМарки
|ПОМЕСТИТЬ ВТ_ТЗ
|ИЗ
| &ТЗ КАК ТЗ
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВТ_ТЗ.КодАкцизнойМарки КАК КодАкцизнойМарки,
| ОписаниеGTINИС.ВидУпаковки КАК ВидУпаковки
|ПОМЕСТИТЬ ВТ2
|ИЗ
| ВТ_ТЗ КАК ВТ_ТЗ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОписаниеGTINИС КАК ОписаниеGTINИС
| ПО ВТ_ТЗ.КодАкцизнойМарки = ОписаниеGTINИС.GTIN
|;
|
|//////////////////////////////////////////////////////////// ////////////////////
|ВЫБРАТЬ РАЗЛИЧНЫЕ
| ВТ2.ВидУпаковки КАК ВидУпаковки
|ИЗ
| ВТ2 КАК ВТ2";
ТЗ2=Запрос.Выполнить().Выгрузить();
Если ТЗ2.Количество()>1 Тогда
ЕстьОшибки=Истина;
ТекстОшибки="В чеке присутствуют пачки и блоки сигарет"+символы.ПС+
"количество кодов маркировки "+xmlстрока(КоличествоКМ)+символы.ПС+
"не соответствует количеству товаров "++xmlстрока(КоличествоТоваров)+символы.ПС+
"продажу блоков сигарет нужно оформлять отдельным чеком";
Возврат;
КонецЕсли;
Для каждого стр из Объект.АкцизныеМарки Цикл
МРЦ=МРЦ_КМ_Табак(""+стр.КодАкцизнойМарки);
НомерСтрокиТовары=стр.КлючСвязи-1;
Если НомерСтрокиТовары>Объект.Товары.Количество()-1 Тогда
ЕстьОшибки=Истина;
ТекстОшибки="Чек нужно очистить или аннулировать";
Возврат;
КонецЕсли;
стрТ=Объект.Товары[НомерСтрокиТовары];
Если МРЦ<>стрТ.Цена Тогда
ЕстьОшибки=Истина;
ТекстОшибки="Строка "+стр.КлючСвязи+" "+стрТ.Номенклатура+Символы.ПС+
" цена "+xmlстрока(стрТ.Цена)+" <> МРЦ "+xmlстрока(МРЦ)+Символы.ПС;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецПроцедуры
&НаСервереБезКонтекста
Функция МРЦ_КМ_Табак(ШК)
Если Лев(ШК,1)="(" Тогда
МРЦ=0;
Попытка
МРЦ=Число(Прав(ШК,6))/1000;
Исключение
КонецПопытки;
Возврат МРЦ;
КонецЕсли;
Если СтрДлина(ШК)=28 тогда //ШК с криптохвостом
МРЦСтрокой=Сред(ШК,21,4);
Иначе
МРЦСтрокой=Прав(ШК,4);
КонецЕсли;
РезультатПроверки = Новый Структура("ЭтоМРЦ, ЗначениеМРЦ", Ложь, 0);
МРЦ = 0;
АлфавитМРЦ = ДопустимыеСимволыВКодеМаркировки().БуквыЦифрыЗнакиМРЦ;
Для Индекс = 1 По СтрДлина(МРЦСтрокой) Цикл
Символ = Сред(МРЦСтрокой, Индекс, 1);
ИндексСимвола = СтрНайти(АлфавитМРЦ, Символ) - 1;
МРЦ = МРЦ + Pow(80, 4 - Индекс) * ИндексСимвола;
КонецЦикла;
Возврат МРЦ/100;
КонецФункции
&НаСервереБезКонтекста
Функция ДопустимыеСимволыВКодеМаркировки()
Алфавит = Новый Структура;
Алфавит.Вставить("БуквыЦифры", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456 789");
Алфавит.Вставить("БуквыЦифрыЗнаки", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456 789!”""%&’'()*+,-./_:;=<>?");
Алфавит.Вставить("БуквыЦифрыЗнакиМРЦ", "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456 789!""%&'*+-./_,:;=<>?");
Алфавит.Вставить("Цифры", "0123456789");
Возврат Алфавит;
КонецФункции
ПоказатьПрикрепленные файлы:
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот