Переустанавливал я на днях комп на котором крутится база Розницы.
Захожу в личный кабинет ЕГАИС, а там новая УТМ 4.0.2 !!! Скачал, установил - silent-setup-4.0.2-b1945.exe
Cтарую 3.0.8 уже не скачать или не нашел...
Розница 2.3.7.19 проверяю соединение... нет связи с УТМ.
Заходу на домашнюю страницу УТМ, а там такоооое !
Удалил 4.0.2, нашел в архивах УТМ 3.0.8, установил: -> подключение установлено корректно.
Три дня не спал, дай думаю установлю на другом серваке. но на Рознице 2.3.7.22.
Удаляю 3.0.8 через uninstall, перезагружаюсь, ставлю новую 4.0.2, заходим на домашнюю страницу - все ОК.
Проверяем в Рознице 2.3.7.22 - нет связи с УТМ.
УТМ штука не прихотливая, не требующая частых обновлений. Решил немного вникнуть (погуглить):
25.11.2020 на сайте Авитек вышла статья Вышла новая версия УТМ 4.0.2 26.11.2020 на том же сайте вышла еще одна статья Как обновить УТМ до версии 4.0.2, в которой говориться что в Рознице новая УТМ не работает.
Проверили... - правда, на 06 февраля в Рознице 2.3.7.22 не работает.
возвращаем все обратно - все ОК.
Надеюсь кому-то сэкономил время. Скрины прилагаю
(11) У меня одного, этот фикс не помог? Сравнивая успешную отправку из HTML формы и свою неуспешную из 1С (через Charles), я смог увидеть только одну разницу - при отправке файла из HTML формы, в XML файле есть BOM в начале, а при отправке из 1С - нет. Но к сожалению, 1С жестко вырезает его даже если вставить через Символ(); и пришлось делать двоичные данные:
Тем временем на сайте егаис висит новость :"Настоятельно рекомендуем обновить УТМ до текущей версии в срок до 1 апреля 2021 года.
Также обращаем внимание, что с 15 апреля горячей линией прекращается всякая поддержка УТМ версий ниже 4.2.0."
Короче опять выпустят что-то кривое в последний момент, а может и вообще забьют.
(19) на форуме РАР народ это обсуждает. Пока у всех мнение: продолжать работать на УТМ3
тех поддержка их совсем не может конкртно ответить по вопросам(
я постепенно перевожу на утм 4.2.0. выбора нет. времени мало осталось. все хорошо кроме того что новый утм работает одной службой транспортер, и жрет 350мб оперативки! это еще не все. периодически грузит ЦП до 80%. автозапуск хреново работает, не запускается лаунчер UTM иногда.
(31) Не проверяли ещё, счас проверим
(32) Если у вас (не важно какая конфа) ругается при попытке выгрузить любой документ в УТМ 4, то можете использовать мой фикс в (15) сообщении, только разумеется адаптировав его если требуется, под свою конфу. Либо делать через выгрузку отправляемых данных в файл и отправка в УТМ именно файла (но лично мне, такой способ не нравится)
(32) Сначала не правильно понял ваш вопрос. Проблема в том, что в каком виде это отправляет 1С в конфигурациях современных, Розница и пр., УТМ не принимает документ и ругается. Другие участники данной дискуссии, говорили что данная проблема проявляется в основном на 8.3 Подтвердить или опровергнуть сие не могу, так как используем только 8.3 и относительно современные конфигурации.
Розница 2.3 (2.3.8.17) при попытке подключения к УТМ кричит: "Ошибка при создании контекста сертификата". Копал transport.properties, но ничего не смог найти. Так и откатился до 3.0.8.
(41) Не суть важно какая версия Розницы, код там один и тот же (счас даже специально перепроверил). Вносите небольшую правку в код (40) и будет вам счастье.
(43) Модуль ИнтеграцияЕГАИСКлиентСервер, функция ПараметрыHTTPЗапроса, после строчки "ТелоЗапроса = Новый ТекстовыйДокумент();", нужно вставить строчку "ТелоЗапроса.РазделительСтрок = Символы.CR+Символы.LF;"
На версии 2.3.8.22 УТМ 4 по прежнему не работает. При пробитии алкольного чека вылезает ошибка:
"Ошибка разбора XML: - [1,1] Фатальная ошибка: Document is empty"
Оставлю здесь это, т.к. пытался нагуглить именно этот текст ошибки, и ничего не нашел.
Поправка: все-таки заработало. Но в типовом коде нужно еще одну строку исправить:
//ТелоЗапроса.ДобавитьСтроку("Content-Disposition: form-data; name=""xml_file""); //было
ТелоЗапроса.ДобавитьСтроку("Content-Disposition: form-data; name=""xml_file""; filename=""QeryRest.xml"); //стало
... и все-равно это решение лишь частичное, т.к. несмотря на то, что чеки стали пробиваться, в форме настройки УТМ по прежнему пишется строка "УТМ недоступен" и "Ошибка при создании контекста сертификата". Так что ждем когда 1С-ники проснутся и выпустят работающее с новым УТМ обновление
(50) Форма настройки УТМ получает сертификат в виде двоичных данных по адресу "/info/certificate/RSA?attachment=true" (начало строки обычно "http://localhost:8080" ), а потом из полученных данных сертификата извлекается код ФСРАР.
В новом УТМ код ФСРАР извлекается по адресу "/diagnosis" в виде текста.
Соответственно текст HTTP запроса при определении кода ФСРАР теперь зависит от версии УТМ
версию можно получить запросом GET http://АДРЕСУТМ:ПОРТ/info/version
Я уже накидал расширение, которое получает код ФСРАР из УТМ версии 3.0.8, 4.0.2 и 4.2.0
Перехватом функции ИнтеграцияЕГАИСКлиентСервер.КодФСРАР(НастройкаОбменаЕГАИС) но, это капля в море. Примитив.
про form-data; name=""xml_file""; filename=""QeryRest.xml" кстати написано в документации к транспортному модулю.
(62) Спасибо добрый человек полезная инфа. Однако если строчку заменить, то перестает работать на УТМ3. Я это обошел таким образом
СтрокаЗапросаV3="/info/certificate/RSA?attachment=true";
СтрокаЗапросаV4="/api/certificate/download/RSA?attachment=true";
НастройкаОбменаЕГАИС.ПолучитьДвоичныеДанные=Ложь;
ВерсияУТМ=ВерсияУТМ(НастройкаОбменаЕГАИС).ВерсияУТМ;
НастройкаОбменаЕГАИС.ПолучитьДвоичныеДанные=Истина;
Если ВерсияУТМ="3.0.8" Тогда
СтрокаЗапроса=СтрокаЗапросаV3;
Иначе
СтрокаЗапроса=СтрокаЗапросаV4;
КонецЕсли;
Попытка
РезультатЗапроса = ОтправитьHTTPЗапрос(
НастройкаОбменаЕГАИС,
ИнтеграцияЕГАИСКлиентСервер.СтруктураДанныхHTTPЗапроса("GET", СтрокаЗапроса));
На сайте 1с стали появляться сроки поддержки УТМ 4 правда пока для
1С:ERP Управление предприятием 2
Комплексная автоматизация, редакция 2
Управление торговлей, редакция 11
Запланировано на 16.04.2021
Ждемс...
Правка текста запроса предложенная выше, помогает конечно. Но возникает вопрос. Насколько корректно использовать имя файла filename=""QeryRest.xml" для всех запросов?
Функция КодФСРАР(НастройкаОбменаЕГАИС) Экспорт
ВозвращаемоеЗначение = Новый Структура;
ВозвращаемоеЗначение.Вставить("КодФСРАР", "");
ВозвращаемоеЗначение.Вставить("ТекстОшибки", "");
Попытка
РезультатЗапроса = ОтправитьHTTPЗапрос(
НастройкаОбменаЕГАИС,
СтруктураДанныхHTTPЗапроса("GET", "/diagnosis"));
Если НЕ ЗначениеЗаполнено(РезультатЗапроса.ТекстОшибки)Тогда
Массив=СтрРазделить(РезультатЗапроса.ТекстОтвета," ",ложь);
Длинна = Массив.Количество();
Буфер = новый БуферДвоичныхДанных(Длинна);
Для индекс = 0 по Длинна - 1 Цикл
Буфер.Установить(индекс,AnyToDec(Массив[индекс],16));
КонецЦикла;
Поток = новый ПотокВПамяти(Буфер);
Парсер = Новый ЧтениеXML;
Парсер.ОткрытьПоток(Поток);
Парсер.Прочитать();
Построитель = Новый ПостроительDOM;
Документ = Построитель.Прочитать(Парсер);
Для Каждого Элемент0 Из Документ.ЭлементДокумента.ДочерниеУзлы Цикл
если Элемент0.ИмяУзла="CN" тогда
ВозвращаемоеЗначение.КодФСРАР=Элемент0.ТекстовоеСодержимое;
КонецЕсли;
КонецЦикла;
если ВозвращаемоеЗначение.КодФСРАР="" тогда
СертификатКриптографии = Новый СертификатКриптографии(РезультатЗапроса.ТекстОтвета);
Если СертификатКриптографии.Субъект.Свойство("CN") Тогда
ВозвращаемоеЗначение.КодФСРАР = СертификатКриптографии.Субъект.CN;
ИначеЕсли СертификатКриптографии.Субъект.Свойство("OID2_5_4_3") Тогда
ВозвращаемоеЗначение.КодФСРАР = СертификатКриптографии.Субъект.OID2_5_4_3;
КонецЕсли;
КонецЕсли;
Иначе
ВозвращаемоеЗначение.ТекстОшибки = РезультатЗапроса.ТекстОшибки;
КонецЕсли;
Исключение
ВозвращаемоеЗначение.ТекстОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки;
Возврат ВозвращаемоеЗначение;
КонецФункции
вот ведь, век живи век учись, я почему-то был уверен что адрес /diagnosis в УТМ3 отсутствует. Сейчас пошел проверил, есть и в 4 и в 3. Получается при таком раскладе, совсем не обязательно знать версию УТМ чтобы получить FSRARID.
(76) Хмм, ваши слова да богу в уши.. Клиентов розницы поставщики завалили письмами что треба переход на утм 4 и баста..
Очень сложно объяснить клиенту, почему же 1С не готово..
(80) продержаться 2 недели...
Розница, редакция 2.3
Запланировано 2.3.8.60 от 12.04.2021
Хотя как объяснить всем, почему не можем перейти на утм 4 .. некоторые просто не понимают, что у 1с не готов переход.
(82) народ хочет разобраться :(
В Рознице народ не понимает как будет работать до обновления, запасы активных позиций алкоголя закончатся на след неделе
Только сети наверное готовы?
(83) нам письмо от одного из поставщиков пришло 17.03.21, о их переходе на утм 4 с 1.04.21, как с завтрашнего дня принимать ТТН фиг знает, решения пока нет, запасов алкоголя не хватит.
Я вам так скажу, куча народу даже и не слышала о каком-то там УТМ4. Потому что поставщики рознице даже ничего не говорили. И тут либо поставщики тоже не в курсе, либо что-то знают.
Ничего не понимаю
Один и тот же запрос. Тело одинаковое, заголовки одинаковые. УТМ один и тот же. Платформа 8.3.16.1148
из розницы 2.3.1.47 отправляется в УТМ4 норм, в 2.3.7.22 в ответ
{"timestamp":"2021-03-31T07:42:46.479+00:00","status":403,"error":"Forbidden","message":"","path":"/opt/in/QueryRestsShop_v2"}
Цитата новости:
"Настоятельно рекомендуем обновить УТМ до текущей версии в срок до 1 апреля 2021 года.
Также обращаем внимание, что с 15 апреля горячей линией прекращается всякая поддержка УТМ версий ниже 4.2.0."
Таким образом переход на УТМ4 носит на текущий момент рекомендательный характер.
Переход на УТМ4 не подразумевает автоматического перехода на 4-ю схему документооборота и не подразумевает необходимости немедленного перехода на 4-ю версию документов. УТМ4 полностью поддерживает документооборот 3-й версии.
Пока программы 1С не поддерживают ни УТМ 4, ни обработку документов четвертой версии.
Компания 1С видимо пока не выпустила обновление программы из-за того, что Росалкоголь на сегодня еще не выпустил Методологию работы с документами четвертой версии. Т.е. 1С не обязана осуществлять поддержку оборота документов четвертой версии, т.к. нет Методологии.
Хотя документация к УТМ 4 уже выпущена Росалкоголем и 1С мог бы сделать поддержку работы УТМ четвертой версии. УТМ 4 позволяет работать и с документами третьей версии.
В тоже время согласно ПРИКАЗА ФСРАР от 17 декабря 2020 г. N 397 необходимо с 01.04.2021 отправлять накладные четвертой версии. Приказ требует с 01.04.2021 указывать "Признак перехода права собственности" в транспортном разделе
Формально четвертая версия документооборота вступила в силу, но на запросы по её использованию в ФСРАР отвечают, чтобы ждали доработок и разъяснений.
вероятно в процессе создания нового УТМ, человек поменял совсем немного "химию запросов" и эти изменения почему то прошли мимо фирмы 1с..
вероятно, очень скоро это будет исправлено, а пока надо работать с тем что есть, в частности если остановиться
на "Управление торговлей 10.3.67.3" (30.03 во второй половине дня вышла 68.1 - там этих исправлений нет!)
1. проверка связи с УТМ:
во всех решениях, вначале отправляется get запрос на адрес на УТМ - этот адрес поменялся:
процедура в общем модуле: "ИнтеграцияЕГАИСКлиентСервер.КодФСРАР(НастройкаОбменаЕГАИС) Экспорт"
меняем адрес "/info/certificate/RSA?attachment=true" на "/api/certificate/download/RSA?attachment=true"
2. отправка запросов на УТМ - все форматы 3.0.8 по прежнему поддерживаются! все рабочие запросы как правило отправляются методом "POST" - надо немного изменить технологию отправки самого запроса:
в моменте где формируется тело запроса в УТ 10.3 это делается через "ТекстовыйДокумент" (переменная "ТелоЗапроса"),
в моменте где формируется тело запроса в УТ 10.3 это делается через "ТекстовыйДокумент" (переменная "ТелоЗапроса"), в самом начале ставим разделители строк: