Полезно следить за обстановкой

Иногда полезно следить за новостями из мира 1С. Вообще, тусоваться на форумах программистов 1С полезно. Можно заранее знать о проблемах, которые могут «словить» твои клиенты.

Поэтому, когда ко мне обратились клиенты с проблемой, что после обновления БП перестали приходить документы из УТ в БП, я был уже во всеоружии — ведь недавно эту позорную для 1С проблему мы уже обсуждали с коллегами.

Дело в том, что 1С допустило ошибку в обновлении УТ — максимальный формат правил обмена был указан для УТ как 1.10, хотя на самом деле УТ поддерживает только 1.8.

В результате обмен вёл себя крайне подло — никаких сообщений об ошибках, 1С выдает информацию, что обмен прошел и главное — удаляет регистрацию изменений к обмену.

Почему при этом не выдается ошибка, для меня загадка — как 1С может считать, что в этой ситуации обмен происходит нормально?

Но, памятуя о проблеме, я не стал разбираться сам в коде, а поискал готовые решения. И они нашлись, причем там даже выложен патч Исправление_ВозвратНаОбмен_1_8.cfe, исправляющий проблему.

Мне стало любопытно, что за код содержится в этом расширении, оно заменяет одну процедуру модуля ОбменДаннымиУТ:

&Вместо("ДоступныеВерсииУниверсальногоФормата")
Процедура Расш1_ДоступныеВерсииУниверсальногоФормата(ВерсииФормата)
    ВерсииФормата.Вставить("1.3", МенеджерОбменаЧерезУниверсальныйФормат);
    ВерсииФормата.Вставить("1.4", МенеджерОбменаЧерезУниверсальныйФормат);
    ВерсииФормата.Вставить("1.5", МенеджерОбменаЧерезУниверсальныйФормат);
    ВерсииФормата.Вставить("1.6", МенеджерОбменаЧерезУниверсальныйФормат);
    ВерсииФормата.Вставить("1.7", МенеджерОбменаЧерезУниверсальныйФормат);
    ВерсииФормата.Вставить("1.8", МенеджерОбменаЧерезУниверсальныйФормат);
    //ВерсииФормата.Вставить("1.10", МенеджерОбменаЧерезУниверсальныйФормат);
    //ПродолжитьВызов(ВерсииФормата);
КонецПроцедуры

Ну что ж, логично, вполне соответствует описанию заявленной проблемы.

В итоге я сделал следующие пункты и все заработало:

  1. Установил расширение в УТ, причем отключил галочку «Безопасны режим» для расширения.
  2. Перезапустил УТ.
  3. В УТ и БП прописал версию формата обмена 1.8, записал настройки обмена.
  4. Перепровел несколько накладных для теста.
  5. Запустил из БП обмен.
  6. Перепроведенные накладные появились.

Чтобы поменять версию формата обмена, в настройках формы добавил видимость закладки «Служебная информация»:

Как говорится, лучше учиться на чужих ошибках и преждем чем лезть на амбразуру, гуглить!

Среда:
Управление торговлей, редакция 11 (11.4.13.227)
Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.98.17)

Объем факт: 1.5 час

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *