При выполнении запроса транспортный модуль егаис вернул ошибку java lang

На Эвотор ошибка обмена с ЕГАИС

На Эвотор ошибка отправки в ЕГАИС возникает из-за проблем с УТМ или ключом Рутокен ЭЦП 2.0. В данной статье вы узнаете, как устранить эту ошибку.

Причины ошибки отправки в ЕГАИС на Эвотор

Самые распространенные причины данной проблемы:

  • УТМ не запущен
  • Ключ Рутокен ЭЦП 2.0 физически не вставлен в ККТ
  • Срок ключа Рутокен ЭЦП 2.0 истек

Также могут быть индивидуальные причины (вплоть до системного сбоя), найти и устранить которые может только технический специалист.

Как устранить ошибку обмена с ЕГАИС на Эвотор

Что делать, когда на Эвотор вместе с ошибкой обмена с ЕГАИС появилась еще и неизвестная ошибка:

    Проверьте, что УТМ работает (актуально для тех, кто торгует алкогольной продукцией)

Настройки → ЕГАИС → Торговля алкоголем → УТМ должен быть активен

Настройки

ЕГАИС

УТМ

Если транспортный модуль выключен, его необходимо включить, чтобы данные о продажах алкогольной продукции отправлялись с кассы в ЕГАИС.

Ваш кассир может случайно выключить УТМ, и поэтому вы можете перестраховаться и ограничить действия на кассе. Для этого вы можете поставить пароль администратора на ККМ.

Попробуйте другой USB-порт. Если ККТ все равно выдает ошибку, проблема, вероятно, в том, что истек срок действия вашей подписи. Чтобы устранить проблему, необходимо удалить старый ключ RSA и получить новую ЭЦП в любом отделении ФНС, это бесплатно. В этой же статье вы узнаете, как проверить срок действия вашей ЭЦП.

Что делать в случае, если на Эвотор ошибка обмена с ЕГАИС появляется с уведомлением, что настройки еще не пройдены?

Вам нужно подождать, когда установится обновление. В УТМ настройки периодически обновляются. Это занимает приблизительно 30 минут. После этого обмен данными должен начать работу в стабильном режиме. Если вдруг он все еще не заработал, то необходимо перезагрузить кассу. В случае, когда и перезагрузка кассы не помогла, подождите еще немного (15 минут.) После этого обновление уже должно загрузиться.

Читайте также:  Python try except in function

Внимание! Если вы не разобрались, как исправить ошибку обмена с ЕГАИС java.lang.illegalargumentexception на Эвотор, то вы можете обратиться в техподдержку Эвотор.

Источник

Исправление ошибок в типовых релизах 1С: УТ 10.3 и Розница 1.0 при отражении продаж в ЕГАИС

В программе УТ 10.3 на релизе 36.1, а так же в Рознице 1.0.19.16, которые на данный момент являеются последними при попытке продажи алкогольной продукции с отправкой данных в ЕГАИС, возникает ошибка « java.lang.IllegalArgumentException: org.xml.sax.SAXParseException; cvc-pattern-valid: Value ‘0’ is not facet-valid with respect to pattern ’15’ for type ‘COUNT'». В процесе анализа ошибки выяснилось, что данная ошибка возникает из-за незаполненых полей в формируемом пакете, который и отправляется в ЕГАИС. Поле номер смены и номер чека ККМ, в программе выгружаются как значение ‘0’. В ЕГАИС по этим данным формируется информация о чеке, они должны быть заполнены обязательно. Проблема в том, что в общем модуле ИнтеграцияЕГАИСКлиентПредопределенный в функцию ПодготовитьВходящиеДанныеДляПодписиЧека не передаестя номер чека и смены. Номер смены особого значения не имеет, можно смело ставить 1, просто при загрузке в ЕГАИС нулевое значение не принимается. Так же важно указать номер чека, для этого в модуле функции Чека ККМ в функции ПараметрыЧекаДляПодписиВЕГАИС в параметр чека можно передать и его номер. Для исправления текущей ошибки можно исправить две функции, которые я описал выше следующим образом: 1.Функция ПараметрыЧекаДляПодписиВЕГАИС в модуле Чека ККМ.

Функция ПараметрыЧекаДляПодписиВЕГАИС(ТаблицаТоваров, СуммаНал, СуммаБезНал, ТранспортныйМодуль = Неопределено) Запрос = Новый Запрос; Запрос.УстановитьПараметр("Ссылка", Ссылка); Запрос.Текст = "ВЫБРАТЬ | ЧекККМ.Организация.ИНН КАК ИНН, | ЧекККМ.Организация.КПП КАК КПП, | """" КАК АдресМагазина, | ЧекККМ.Склад.Наименование КАК НаименованиеМагазина, | 0 КАК ЗаводскойНомерККМ, | ВЫБОР | КОГДА ЧекККМ.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийЧекККМ.Возврат) | ТОГДА ИСТИНА | ИНАЧЕ ЛОЖЬ | КОНЕЦ КАК Возврат, | ЧекККМ.Организация КАК Организация, | ЧекККМ.Склад КАК Склад |ИЗ | Документ.ЧекККМ КАК ЧекККМ |ГДЕ | ЧекККМ.Ссылка = &Ссылка"; Выборка = Запрос.Выполнить().Выбрать(); Выборка.Следующий(); ПараметрыЧека = Новый Массив; ПараметрыЧека.Добавить(ТаблицаТоваров); ПараметрыЧека.Добавить(СуммаНал); ПараметрыЧека.Добавить(СуммаБезНал); ПараметрыЧека.Добавить(Выборка.Возврат); ПараметрыЧека.Добавить(Выборка.ИНН); ПараметрыЧека.Добавить(Выборка.КПП); ПараметрыЧека.Добавить(Выборка.АдресМагазина); ПараметрыЧека.Добавить(Выборка.НаименованиеМагазина); ПараметрыЧека.Добавить(Выборка.ЗаводскойНомерККМ); ТранспортныйМодуль = ИнтеграцияЕГАИСПереопределяемый.ИспользуемыйТранспортныйМодуль(Выборка.Склад, Выборка.Организация); ПараметрыЧека[6] = ТранспортныйМодуль.Адрес; ПараметрыЧека[9] = Прав(Ссылка.Номер,5); Возврат ПараметрыЧека; КонецФункции

Прав(Ссылка.Номер,5) — применяется для того, чтобы исбавиться от префикса в номере чека. Если у Вас в программе установлен префикс в номере документов, то это не позволит использовать номер при передачи в ЕГАИС, так как в стандарте обмена прописано, что номер чека является числовым значением. 2. Функция ПодготовитьВходящиеДанныеДляПодписиЧека в общем модуле ИнтеграцияЕГАИСКлиентПредопределенный.

Функция ПодготовитьВходящиеДанныеДляПодписиЧека(ПараметрыЧека, НомерЧека = 0, НомерСмены = 1, РезультатПодготовки = Неопределено) Экспорт РезультатПодготовки = Новый Структура("Результат, ОписаниеОшибки", Ложь, ""); ВходящиеДанные = СтруктураДанныхЧекаККМ(); ТаблицаТоваров = ПараметрыЧека[0]; Если ТаблицаТоваров.Колонки.Найти("ПараметрыАлкогольнойПродукции") = Неопределено Тогда РезультатПодготовки.ОписаниеОшибки = НСтр("ru = 'В процедуру подготовки входящих данных передана некорректная структура параметров.'"); Возврат ВходящиеДанные; КонецЕсли; ВыгружатьНемаркируемуюПродукцию = ИнтеграцияЕГАИСКлиентПовтИсп.ВыгружатьПродажиНемаркируемойПродукцииВЕГАИС(); ВходящиеДанные.ИНН = ПараметрыЧека[4]; ВходящиеДанные.КПП = ПараметрыЧека[5]; ВходящиеДанные.АдресМагазина = ПараметрыЧека[6]; ВходящиеДанные.НаименованиеМагазина = ПараметрыЧека[7]; ВходящиеДанные.ЗаводскойНомерККМ = ПараметрыЧека[8]; ВходящиеДанные.НомерСменыККМ = НомерСмены; ВходящиеДанные.НомерЧекаККМ = ПараметрыЧека[9]; ВходящиеДанные.ДатаВремяЧека = ТекущаяДата(); ВходящиеДанные.Возврат = ПараметрыЧека[3]; Для Каждого СтрокаТаблицы Из ТаблицаТоваров Цикл ПараметрыАлкогольнойПродукции = СтрокаТаблицы.ПараметрыАлкогольнойПродукции; Если ТипЗнч(ПараметрыАлкогольнойПродукции) <> Тип("Структура") Тогда РезультатПодготовки.ОписаниеОшибки = НСтр("ru = 'В процедуру подготовки входящих данных передана некорректная структура параметров.'"); Возврат ВходящиеДанные; КонецЕсли; Если НЕ ПараметрыАлкогольнойПродукции.Свойство("АлкогольнаяПродукция") ИЛИ НЕ ПараметрыАлкогольнойПродукции.Свойство("Маркируемая") ИЛИ НЕ ПараметрыАлкогольнойПродукции.Свойство("Штрихкод") ИЛИ НЕ ПараметрыАлкогольнойПродукции.Свойство("Объем") Тогда РезультатПодготовки.ОписаниеОшибки = НСтр("ru = 'В процедуру подготовки входящих данных передана некорректная структура параметров.'"); Возврат ВходящиеДанные; КонецЕсли; Если НЕ ПараметрыАлкогольнойПродукции.АлкогольнаяПродукция Тогда Продолжить; КонецЕсли; Если ПараметрыАлкогольнойПродукции.Маркируемая Тогда Если НЕ ПараметрыАлкогольнойПродукции.Свойство("ШтрихкодМарки") Тогда РезультатПодготовки.ОписаниеОшибки = НСтр("ru = 'Отсутствует обязательное поле ""Штрихкод марки"".'"); Возврат ВходящиеДанные; КонецЕсли; Иначе Если НЕ ВыгружатьНемаркируемуюПродукцию Тогда Продолжить; КонецЕсли; Если НЕ ПараметрыАлкогольнойПродукции.Свойство("Крепость") Тогда РезультатПодготовки.ОписаниеОшибки = НСтр("ru = 'Отсутствует обязательное поле ""Крепость"".'"); Возврат ВходящиеДанные; КонецЕсли; Если НЕ ПараметрыАлкогольнойПродукции.Свойство("КодВидаПродукции") Тогда РезультатПодготовки.ОписаниеОшибки = НСтр("ru = 'Отсутствует обязательное поле ""Код вида алкогольной продукции"".'"); Возврат ВходящиеДанные; КонецЕсли; КонецЕсли; КоличествоСтрок = ?(ПараметрыАлкогольнойПродукции.Маркируемая, СтрокаТаблицы.Количество, 1); Для Сч = 1 По КоличествоСтрок Цикл СтрокаЧека = СтруктураДанныхСтрокиЧекаККМ(); СтрокаЧека.Наименование = СтрокаТаблицы.Наименование; СтрокаЧека.Количество = ?(ПараметрыАлкогольнойПродукции.Маркируемая, 1, СтрокаТаблицы.Количество); Если СтрокаТаблицы.Количество = 0 ИЛИ СтрокаТаблицы.Скидка = 0 Тогда СтрокаЧека.Цена = СтрокаТаблицы.Цена; Иначе СтрокаЧека.Цена = Окр(СтрокаТаблицы.Цена * СтрокаТаблицы.Скидка * 0.01, 2); КонецЕсли; СтрокаЧека.ШтрихкодТовара = ПараметрыАлкогольнойПродукции.Штрихкод; СтрокаЧека.Объем = ПараметрыАлкогольнойПродукции.Объем; Если НЕ ПараметрыАлкогольнойПродукции.Маркируемая Тогда СтрокаЧека.Крепость = ПараметрыАлкогольнойПродукции.Крепость; СтрокаЧека.КодВидаПродукции = ПараметрыАлкогольнойПродукции.КодВидаПродукции; ВходящиеДанные.ТаблицаТоваровБезМарки.Добавить(СтрокаЧека); Иначе Если ТипЗнч(ПараметрыАлкогольнойПродукции.ШтрихкодМарки) = Тип("Массив") Тогда СтрокаЧека.ШтрихкодМарки = ?(ПараметрыАлкогольнойПродукции.ШтрихкодМарки.ВГраница() < Сч - 1, "", ПараметрыАлкогольнойПродукции.ШтрихкодМарки[Сч - 1]); ИначеЕсли ТипЗнч(ПараметрыАлкогольнойПродукции.ШтрихкодМарки) = Тип("Строка") И Сч = 1 Тогда СтрокаЧека.ШтрихкодМарки = ПараметрыАлкогольнойПродукции.ШтрихкодМарки; КонецЕсли; ВходящиеДанные.ТаблицаТоваров.Добавить(СтрокаЧека); КонецЕсли; КонецЦикла; КонецЦикла; РезультатПодготовки.Результат = Истина; Возврат ВходящиеДанные; КонецФункции // ПодготовитьВходящиеДанныеДляПодписиЧека()

Еще в рознице может возникать ошибка: java.lang.IllegalArgumentException: org.xml.sax.SAXParseException; cvc-pattern-valid: Value '' is not facet-valid with respect to pattern '\S' for type 'NOEMPTY' Как и с предыдущей ошибкой из текста ясно лишь одно, что какое-то поле из передаваемых данных не заполнено или заполнено не корректно. Как оказалось после анализа отправляеммых данных, что проблема в незаполненных данных кассы. В рознице в кассе проставляются данные "Серийный номер" и "Регистрационный номер" кассового аппарата. Данные эти не выжны, но не должны быть пустыми, можно поставить просто 1, после этого ошибка исчезнет и данные будут отправляться нормально. В управлении торговлей данная ошибка не возникает, т.к. в настройках кассы нет серийного номера и 1с передает в ЕГАИС значение по умолчанию "0", а это удовлетворяет требованиям выгрузки.
Публикации конфигураций с возможностью подключать к одному рабочему месту двух кассовых аппаратов уже не содержат данных ошибок и могут отправлять данные о продажах в ЕГАИС.
P.S. Если у Вас есть еще какие-либо ошибки, с которыми Вы столкнулись в момент начала продаж алкогольной продукции через систему ЕГАИС, пишите в комментариях, с радостью добавлю описание и решение их в статью.

Читайте также:  Css стиль тега html

Источник

Оцените статью