Дубли на сайте ВетИС и незавершенные исходящие документы ВетИС

1. Kazaams 07.04.20 10:13 Сейчас в теме
Работаем на интеграционном решении 1С — Бухгалтерия предприятия, редакция 3.0 (3.0.76.77).
При оформлении исходящих транспортных операций ВетИС, начиная с 06.04.2020 происходит следующее:
— в ВетИС создается несколько исходящих документов ВСД — два или четыре, вместо одного.
— в 1С не завершается процесс оформления исходящего документа ВСД, который получает статус "К оформлению(обрабатывается)"



Воспользовался в Протоколе обмена такого исходящего документа ВСД кнопкой "Рассчитать статус". В итоге получил причину ошибки: "Запрос на оформление транспортной партии по документу "Исходящая транспортная операция ВетИС 00000002191 от 07.04.2020 8:19:26" выполнялся с 07.04.2020 13:06 по 07.04.2020 13:10. Количество повторов 4. Ответ от сервиса не получен."

На одном из форумов нашел объяснение появления дублей в УТ 11: "1С шлет много запросов с маленькими интервалами, Меркурий на запрос состояния дает отказ из за этого. И 1С не узнает что документ создан и отправляет его повторно. Исправление мне в 2х местах уже радикально сократило число отказов."

Функцию, которую правили в УТ 11, называется ВремяОжиданияИтерации из общего модуля ИнтеграцияВЕТИСВызовСервера. В БП 3.0 она выглядит так:
Функция ВремяОжиданияИтерации(НомерИтерации)
	
	Если НомерИтерации <= 1 Тогда
		ВремяОжидания = 5;
	ИначеЕсли НомерИтерации < 15 Тогда
		ВремяОжидания = 5 * Pow(1.4, НомерИтерации - 1);
	Иначе
		ВремяОжидания = 120;
	КонецЕсли;
	
	Возврат ВремяОжидания;
	
КонецФункции
Показать


Исправленная функция из УТ 11 пользователю немного помогла, но не исправила проблему создания дублей. Исправленная функция:
Функция ВремяОжиданияИтерации(НомерИтерации)
   
    Если НомерИтерации < 10 Тогда // исправлено было 15
        ВремяОжидания = 5; // исправлено было 1
        Для осНомерИтерации = 2 По НомерИтерации Цикл // исправлено было НомерИтерации
            ВремяОжидания = ВремяОжидания * 1.4;
        КонецЦикла;
    Иначе
        ВремяОжидания = 120;
    КонецЕсли;
   
    Возврат ВремяОжидания;
   
КонецФункции
Показать


Подскажите, пожалуйста, как можно решить данную проблему создания дублей в ВетИС? Или может кто-нибудь уже сталкивался с этим
Прикрепленные файлы:
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. alexeyvol 18.08.20 16:23 Сейчас в теме
Также испытываем проблему с задвоениями для исходящих траспортных операций в УТ11 (релиз - конец прошлого года).
Ваши исправления насколько помогли в решении этой проблемы в УТ11? Имеет смысл их применить на например на старом релизе конфигурации?

Сейчас вот такой код
Функция ВремяОжиданияИтерации(НомерИтерации)
	
	Если НомерИтерации <= 1 Тогда
		ВремяОжидания = 5;
	ИначеЕсли НомерИтерации < 15 Тогда
		ВремяОжидания = 5 * Pow(1.4, НомерИтерации - 1);
	Иначе
		ВремяОжидания = 120;
	КонецЕсли;
	
	Возврат ВремяОжидания;
	
КонецФункции
Показать
3. alex_phantom 18.12.20 12:12 Сейчас в теме
Добрый день!
Удалось ли решить проблему?
У нас тоже самое после обновлений.
На релизе 11.4.10.75 всё работает нормально при переходе на любой другой начинается эта проблема.
Началось с релиза 11.4.10.94. Сейчас стоит 11_4_13_51. те же проблемы.
Исправления от 1С не помогают. Видимо они этой проблемы не видят.
Может уже нашлось решение. Не возможно работать, хоть опять откатывайся.
4. kondi55 10 19.01.21 11:52 Сейчас в теме
У меня такая же проблема. Решения пока не найдено. Релиз 11.4.13.103
5. alex_phantom 27.07.21 13:10 Сейчас в теме
(4)Удалось.
Все проблемы были в разнице времени клиента и сервера 1С.
И не только времени, а и часового пояса.
Это и в торговле и в другом месте в УНФ уже проверено.
Причём до какого то релиза всё проходило, иногда спотыкалось из за обновления.
А в случае УНФ в один прекрасный понедельник появилось расхождение на час из за разницы часовых поясов сервера и клиента.
Хотя раньше оно было, но меркурий или 1С на него не обращало внимания.

<issueDate>2021-07-26T10:47:01+03:00</issueDate>
<rcvDate>2021-07-26T09:46:59+03:00</rcvDate>

Причём в основном проходили накладные с маленьким количеством строк, но не всегда.

Установили обновление часовых поясов и пошло нормально
<issueDate>2021-07-27T12:32:11+03:00</issueDate>
<rcvDate>2021-07-27T12:32:10+03:00</rcvDate>

Так что смотрите на время в протоколах.
6. Izaak 03.02.23 15:09 Сейчас в теме
Конфигурация УНФ 1.6.27.295. Регулярно дублируются и даже затраиваются исходящие транспортные ВСД. Никакие изменения любых параметров в настройках оптимизации ВЕТИС не помогают. Изменения часовых поясов не помогает, работают в терминале клиент и сервер на одной машине. Программа выдает несколько версий одинаковых запросов с интервалом в пару секунд и на все получает ответы. 10-15 задвоенных документов "Исходящая транспортная операция" в день из 200, в каждом больше десятка ВСД. Бывает даже задвоение производственных операций. Это очень мешает, приходится выявлять дубли, идти в web меркурия и аннулировать их.
Протокол обмена при этом выглядит так:
Запрос на оформление транспортной партии. Версия 1
Запрос на оформление транспортной партии. Версия 2
Запрос на оформление транспортной партии. Версия 3
Ответ на запрос оформления транспортной партии
Ответ на запрос оформления транспортной партии
Ответ на запрос оформления транспортной партии

После долгой и мучительной борьбы с задвоением ВСД у себя сделал такую заплатку : в функцию ЗапросНаОформлениеТранспортнойПартииXML (в модуле менеджера) добавил следующий код:
	    
//после строки 	Шапка = ДанныеДокумента.Шапка[0];
	
Если Шапка.ПоследнийНомерВерсии>0 тогда

	ЕстьОшибкиОформленияТранспортнойПартиии = Ложь;
	ДанныеПоследнегоСообщения = Справочники.ВЕТИСПрисоединенныеФайлы.ПоследнееСообщение(ДокументСсылка, "СОшибкой");
	Если ДанныеПоследнегоСообщения <> Неопределено Тогда
		Если ДанныеПоследнегоСообщения.Операция = Перечисления.ВидыОперацийВЕТИС.ОтветНаЗапросОформленияТранспортнойПартии Тогда   
			ЕстьОшибкиОформленияТранспортнойПартиии = Истина;
		КонецЕсли;
	КонецЕсли;
	Если ЕстьОшибкиОформленияТранспортнойПартиии = Ложь тогда  
		Возврат СообщенияXML;
	КонецЕсли;
		
КонецЕсли;	
Показать


Смысл такой: если в документе уже были отправлены запросы на оформление транспортной партии и ответов с ошибками не приходило, тогда возвращаем пустой массив сообщений.
Пока такой костыль мне помогает, решил поделиться с вами.
Оставьте свое сообщение
Вакансии
Аналитик
Москва
зарплата от 150 000 руб.
Полный день

Разработчик 1С
Москва
зарплата от 150 000 руб.
Полный день

Разработчик 1С:ERP WE
Москва
зарплата от 250 000 руб.
Полный день

Аналитик 1С:ЗУП
Москва
зарплата от 150 000 руб.
Полный день

Ведущий разработчик 1С
Москва
зарплата от 200 000 руб.
Полный день