Как в 1С:ERP настроить связь между организацией и конкретным контрагентом для механизма Интеркампани?

Программист 1С v8.3 (Управляемые формы) 1С:ERP Управление предприятием Управленческий учет
← На главную

Механизм Интеркампани (Intercompany) в 1С:ERP, Комплексной автоматизации 2 и Управлении торговлей 11 предназначен для автоматизации продаж между организациями одной компании. Одной из часто возникающих проблем является некорректное сопоставление Организации-продавца (или покупателя) с элементом справочника Контрагенты при автоматическом формировании документов передачи. Рассмотрим подробно, как система находит нужного контрагента и как мы можем на это повлиять.

Алгоритмы автоматического сопоставления в системе

Разберем, как программные модули 1С:ERP ищут соответствие между Организацией и Контрагентом. Многие пользователи ошибочно полагают, что поиск идет только по наименованию, однако логика системы значительно сложнее. Проанализируем основные критерии поиска:

  1. Поиск по ИНН и КПП: Это первичный и самый надежный способ. Система ищет в справочнике Контрагенты запись, у которой ИНН и КПП полностью совпадают с реквизитами соответствующей организации. Если найдено несколько таких контрагентов, система может выбрать произвольный (обычно первый по внутреннему идентификатору), что и приводит к ошибкам.
  2. Связь через справочник Партнеры: В архитектуре современных конфигураций 1С учет разделен на управленческий (справочник Партнеры) и регламентированный (справочник Контрагенты). Для каждой вашей организации в справочнике Партнеры должен существовать элемент с установленным признаком "Наш партнер".
  3. Сопоставление по Уникальному Идентификатору (GUID): В случаях, когда информационная база создавалась путем переноса данных или через обмены, система может пытаться сопоставить объекты по их UUID. Это актуально для баз, где объекты создавались программно с копированием идентификаторов.

Настройка связи через карточку Организации и Партнера

Для того чтобы система однозначно понимала, какой контрагент соответствует конкретной организации, выполним следующие шаги. Рассмотрим ситуацию на примере организации "Торговый дом" (продавец) и "Производственное предприятие" (покупатель).

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

Настройка передачи товаров между организациями

Выясним причину, по которой документы передачи могут формироваться некорректно, через рабочее место настройки Интеркампани. Перейдем в раздел Финансовый результат и контроллинг -> Настройка передачи товаров между организациями. Здесь задаются правила, по которым одна организация может продавать товар другой.

Разберем по шагам процесс настройки:

  1. В таблице выберем пересечение организации-владельца и организации-продавца.
  2. Установим тип связи (например, "Продажа").
  3. Система при выполнении этой настройки автоматически пытается подобрать подходящий договор и контрагента. Если договор не подбирается, необходимо проверить, созданы ли в системе договоры между этими организациями с типом "С покупателем" и "С поставщиком" соответственно.

Использование регистра Взаимозависимые лица

Проанализируем роль регистра сведений ВзаимозависимыеЛица. Хотя этот регистр в первую очередь предназначен для целей налогового контроля (ТЦО — трансфертное ценообразование), в некоторых доработках или специфических версиях конфигураций он может использоваться для определения структуры группы компаний. Однако для стандартного механизма формирования Передача товаров он не является определяющим. Основная связь всегда идет через Партнер -> Организация.

Программный поиск и работа с дублями (советы программисту)

Если вы столкнулись с тем, что система упорно выбирает "не того" контрагента, и стандартные настройки не помогают, проанализируем ситуацию в отладчике. Посмотрим на типовой запрос, который ищет контрагента. Обычно он выглядит следующим образом (в упрощенном виде):


Запрос = Новый Запрос;
Запрос.Текст = 
    "ВЫБРАТЬ
    |	Контрагенты.Ссылка КАК Контрагент
    |ИЗ
    |	Справочник.Контрагенты КАК Контрагенты
    |ГДЕ
    |	Контрагенты.ИНН = &ИНН
    |	И Контрагенты.КПП = &КПП
    |	И НЕ Контрагенты.ПометкаУдаления";

Запрос.УстановитьПараметр("ИНН", ОрганизацияИНН);
Запрос.УстановитьПараметр("КПП", ОрганизацияКПП);

Если этот запрос возвращает несколько записей, система возьмет первую. Чтобы решить проблему без изменения кода, выполним следующие действия:

  1. Проверим справочник Контрагенты на наличие дублей по ИНН и КПП.
  2. Если дубли необходимы для разных целей (например, разные точки доставки как разные контрагенты, что само по себе методически неверно для ERP), необходимо убедиться, что только у одного "правильного" контрагента заполнена связь с партнером, который в свою очередь связан с нужной Организацией.
  3. Проанализируем УникальныйИдентификатор. Если вы переносите данные, можно программно установить UUID контрагента равным UUID организации. Это не является штатным требованием, но в ряде устаревших механизмов (или самописных обменов) такой поиск до сих пор встречается.

Для программной проверки GUID можно использовать следующий код:


ИдентификаторОрганизации = Строка(ОрганизацияСсылка.УникальныйИдентификатор());
ИдентификаторКонтрагента = Строка(КонтрагентСсылка.УникальныйИдентификатор());

Если ИдентификаторОрганизации = ИдентификаторКонтрагента Тогда
    Сообщить("Объекты имеют идентичные GUID");
КонецЕсли;

Итоги и рекомендации

Подводя итог, можно сказать, что для корректной работы Интеркампани и однозначного определения контрагента необходимо соблюдение трех условий:

Если автоматический подбор все равно работает некорректно, рекомендуем проверить настройки в разделе "Междуорганизационные продажи" и убедиться, что для пары организаций создан и выбран действующий договор.

← На главную