Почему при открытии созданного контрагента открывается пустая форма создания в 1С:Управление торговлей 11

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

Разберем типичную проблему, с которой сталкиваются разработчики при переносе данных из конфигураций предыдущих поколений (например, УТ 10.3) или при программном заполнении справочников в 1С:Управление торговлей 11 (а также ERP и Комплексной автоматизации). При создании нового элемента справочника Контрагенты код отрабатывает без ошибок, объект записывается, однако при попытке интерактивно открыть полученную ссылку платформа открывает форму с заголовком Контрагент (создание).

Архитектурная причина поведения системы

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

  1. Справочник Партнеры — представляет управленческую сущность (холдинг, бренд, торговая сеть, магазин, филиал). Именно с партнером фиксируются правила продаж, соглашения, маркетинговые программы и коммерческие условия.
  2. Справочник Контрагенты — хранит юридические лица (ООО, ИП, физические лица) с их ИНН, КПП, ОГРН и банковскими счетами для регламентированного документооборота и выписки первичных документов.

В конфигурации предусмотрена функциональная опция НезависимоВестиПартнеровИКонтрагентов (находится в разделе НСИ и администрирование — Настройка НСИ и разделов — CRM и маркетинг):

  1. Если опция отключена: система объединяет работу с партнерами и контрагентами в едином интерфейсе по схеме «один к одному». В этом режиме при открытии контрагента срабатывает обработчик формы, который пытается найти и открыть связанного партнера через единую форму помощника. Если в контрагенте реквизит Партнер пустой, логика конфигурации расценивает это как прерванный процесс создания нового клиента и выводит пустую форму мастера ввода.
  2. Если опция включена: разделение сущностей явно отображается в подсистемах, но реквизит Партнер у контрагента все равно остается обязательным системным разрезом для корректной работы бизнес-логики и проведения торговых документов.

Правильный алгоритм программного создания связки Партнер — Контрагент

Проанализируем корректный порядок создания данных. Чтобы элемент корректно открывался и участвовал в документообороте, необходимо одновременно создавать и партнера, и контрагента, связывая их ссылками.

Посмотрим на пример правильного программного кода:


// 1. Создаем элемент справочника Партнеры
ОбъектПартнер = Справочники.Партнеры.СоздатьЭлемент();
ОбъектПартнер.Наименование = "Торговый Дом Ромашка";
ОбъектПартнер.Клиент = Истина;
ОбъектПартнер.Поставщик = Ложь;
ОбъектПартнер.БизнесРегион = Справочники.БизнесРегионы.ПустаяСсылка();
ОбъектПартнер.Записать();

// 2. Создаем элемент справочника Контрагенты
ОбъектКонтрагент = Справочники.Контрагенты.СоздатьЭлемент();
ОбъектКонтрагент.Наименование = "ООО ""ТД Ромашка""";
ОбъектКонтрагент.НаименованиеПолное = "Общество с ограниченной ответственностью ""Торговый Дом Ромашка""";
ОбъектКонтрагент.ИНН = "7701234567";
ОбъектКонтрагент.КПП = "770101001";
ОбъектКонтрагент.ЮрФизЛицо = Перечисления.ЮрФизЛицо.ЮридическоеЛицо;

// Обязательно связываем контрагента с созданным партнером
ОбъектКонтрагент.Партнер = ОбъектПартнер.Ссылка;
ОбъектКонтрагент.Записать();

Если в вашей учетной модели не требуется детализация по партнерам для отдельных контрагентов (например, при розничной торговле или специфическом импорте), в качестве значения реквизита Партнер можно указать ссылки на предопределенные элементы: Справочники.Партнеры.НеизвестныйПартнер или Справочники.Партнеры.РозничныйПокупатель.

Перенос иерархии справочника Контрагенты из УТ 10.3

Рассмотрим частый вопрос: как перенести структуру папок из УТ 10.3 в УТ 11. В УТ 10.3 справочник Контрагенты имел классическую иерархию групп и элементов (папки). В УТ 11 структура принципиально иная:

  1. Справочник Контрагенты в УТ 11 является линейным — у него отключена иерархия. Создавать в нем группы технически невозможно.
  2. Справочник Партнеры имеет иерархию элементов (не групп). Это означает, что родителем партнера может быть только другой партнер (например, «Головной холдинг — Филиал 1»).

Для адаптации старой структуры папок при миграции применяются следующие подходы:

  1. Использование сегментов (рекомендуемый способ): структуру группировок из УТ 10.3 переносят в справочник СегментыПартнеров. Сегментация позволяет настраивать динамические и статические правила отбора, строить гибкие отчеты и назначать индивидуальные коммерческие условия.
  2. Дополнительные реквизиты: если папки в УТ 10.3 использовались исключительно для визуального разделения менеджерами, в УТ 11 создают дополнительный реквизит для партнеров или контрагентов (через механизм свойств БСП) со списком старых категорий.
  3. Иерархия партнеров: используется строго в тех случаях, когда вложенность в УТ 10.3 отражала реальные холдинговые структуры, сети магазинов или зависимые обособленные подразделения.

Особенности переноса контактной информации

Обратим внимание на хранение контактных данных (адреса, телефоны, email):

  1. В УТ 10.3 контактная информация хранилась в отдельном регистре сведений КонтактнаяИнформация.
  2. В УТ 11 контактная информация хранится непосредственно в табличных частях КонтактнаяИнформация объектов справочников Партнеры и Контрагенты.
  3. Для партнеров и контрагентов в конфигурации предопределены разные элементы справочника ВидыКонтактнойИнформации (например, «Юридический адрес контрагента» и «Фактический адрес партнера»). Простое копирование строк табличной части между справочниками приведет к ошибкам валидации. Для программного заполнения контактной информации следует использовать методы общего модуля УправлениеКонтактнойИнформацией.
← На главную