УТ 11, КА 2 - У хозяйствующих субъектов (Меркурий, Ветис) появляются пустые предприятия

УТ 11 (11.4.9.93), КА 2 (2.4.9.92). У хозяйствующего субъекта (Ветис, Меркурий), соответствующего нашей организации, появляются пустые предприятия. После чего перестает работать обмен с Ветис


Причина

При проведении входящей транспортной операции Ветис вызывается в т.ч. процедура Справочники.ХозяйствующиеСубъектыВетис.СопоставитьСПрикладнымиРеквизитами, которая добавляет в список предприятий ХСа предприятия, которые которые появились в одном документе с ним.

Приводит к следующим последствиям.

Входящая транспортная операция ВетИС (импорт) после проведения в карточке ХСа (импортера, соответствует нашей организации) возникает пустое предприятие. После этого перестает работать обмен с Ветис из-за того что программа пытается запрашивать записи журнала по пустому предприятию.

Пояснение.

1. Входящие импортные ВСД в интеграцию передаются в урезанном виде (без отправителя). (Это не 1С виновата, так Меркурий работает). То есть предприятие - отправитель пустое.

2.Если была свертка предприятий (удаление дублей в Меркурии), то "свернутое" (определенное как дубль предприятие) в реестре имеет статус "удален" и нормально не должно присутствовать в списке предприятий. Однако, если перепровести входящую транспортную операцию с датой раньше даты свертки, оно опять появится.

Для исправления в Справочник.ХозяйствующиеСубъектыВетис, модуль менеджера, процедура СопоставитьСПрикладнымиРеквизитами делаем дополнение

  1. Процедура СопоставитьСПрикладнымиРеквизитами(
  2. ХозяйствующийСубъектВЕТИС,
  3. ПредприятиеВЕТИС,
  4. ОрганизацияКонтрагентГосИС,
  5. ТорговыйПроизводственныйОбъектВЕТИС,
  6. СоответствуетОрганизации) Экспорт
  7.  
  8. // добавлено
  9. Если ЗначениеЗаполнено(ПредприятиеВЕТИС) Тогда
  10. апсСтатус = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ПредприятиеВЕТИС, "Статус");
  11. пСВО = Перечисления.СтатусыВерсионныхОбъектовВЕТИС;
  12. маНеЗагружать = Новый Массив;
  13. маНеЗагружать.Добавить(пСВО.Удален);
  14. маНеЗагружать.Добавить(пСВО.УдаленВРезультатеОбъединения);
  15. маНеЗагружать.Добавить(пСВО.УдаленВРезультатеРазделения);
  16. маНеЗагружать.Добавить(пСВО.УдаленВРезультатеПрисоединения);
  17. Если маНеЗагружать.Найти(апсСтатус) <> Неопределено Тогда
  18. Возврат;
  19. КонецЕсли;
  20. Иначе
  21. Возврат;
  22. КонецЕсли;
  23. // /добавлено
  24.  
  25. ИмяРеквизита = "ПроизводственныйОбъект";
  26. Если Метаданные.ОпределяемыеТипы.ТорговыйОбъектВЕТИС.Тип.СодержитТип(ТипЗнч(ТорговыйПроизводственныйОбъектВЕТИС)) Тогда
  27. ИмяРеквизита = "ТорговыйОбъект";
  28. КонецЕсли;
 

После этого лишние предприятия добавляться не будут.

Обновлено 11.04.2020 14:34
 
home search