Как перенести иерархию контрагентов из 1С 9.2 или 10.3 в УТ 11?

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

Переход с платформы 1С 7.7 (версия 9.2) или 1С 8.2 (УТ 10.3) на современную «1С:Управление торговлей 11» часто вызывает ступор у разработчиков и аналитиков. Одной из самых острых проблем становится исчезновение привычных «желтых папок» (групп) в справочнике контрагентов. Давайте подробно разберем, почему старая логика больше не работает, как теперь устроена иерархия и как правильно перенести данные программным способом.

Разделение сущностей: Партнеры и Контрагенты

Первое, что нам необходимо усвоить при работе с УТ 11: справочник Контрагенты теперь является исключительно инструментом регламентированного учета (для печати актов, накладных, счетов-фактур). Он предназначен для хранения реквизитов юридических лиц (ИНН, КПП, адрес). В этом справочнике иерархия (группы) отсутствует на уровне архитектуры. Все записи здесь представлены плоским списком.

Вся управленческая логика, включая холдинговую структуру и иерархию, перенесена в справочник Партнеры. Рассмотрим подробнее, как это влияет на перенос данных:

Проанализируем ситуацию: если в старой базе 9.2 у вас была папка «Холдинг А», внутри которой лежали три разных юрлица, то в УТ 11 правильно будет создать одного Партнера («Холдинг А») и привязать к нему трех Контрагентов. Если же в папке «Опт» лежали независимые клиенты, то структура меняется в сторону иерархии элементов.

Почему не работает метод СоздатьГруппу()?

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


// Ошибка при вызове метода контекста (СоздатьГруппу)
спр = Справочники.Партнеры.СоздатьГруппу();
// по причине: Данный справочник не может содержать группы!

Выясним причину этой ошибки. В УТ 11 для справочника Партнеры установлен тип «Иерархия элементов», в то время как в старых конфигурациях использовалась «Иерархия групп и элементов». Это означает, что «папок» как отдельного типа метаданных не существует. Роль папки теперь выполняет обычный элемент справочника.

Разберем по шагам, как программно создать структуру «папка — элемент» в новой реальности:

  1. Создаем элемент-родитель (бывшая папка). Для наглядности в интерфейсе у такого партнера можно установить признак ЭтоГруппа (хотя технически это все равно элемент).
  2. Создаем подчиненный элемент.
  3. В реквизит Родитель подчиненного элемента записываем ссылку на созданный ранее элемент-родитель.

Посмотрим на пример кода, который реализует перенос группы из старой системы:


// Создаем "папку" (на самом деле элемент-родитель)
НовыйРодитель = Справочники.Партнеры.СоздатьЭлемент();
НовыйРодитель.Наименование = "Региональные клиенты";
НовыйРодитель.ЮридическоеФизическоеЛицо = Перечисления.ЮридическоеФизическоеЛицо.ЮридическоеЛицо;
// В УТ 11 важно заполнять обязательные реквизиты, даже для "групп"
НовыйРодитель.Записать();

// Создаем конкретного клиента
НовыйПартнер = Справочники.Партнеры.СоздатьЭлемент();
НовыйПартнер.Наименование = "ООО Ромашка";
НовыйПартнер.Родитель = НовыйРодитель.Ссылка;
НовыйПартнер.Записать();

Служебный механизм: Регистр сведений «Иерархия партнеров»

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

Важный момент: при записи партнера через программный код платформа автоматически обновляет этот регистр. Однако, если вы используете механизмы прямого копирования данных или сложные обработки загрузки, которые подавляют стандартные события записи, иерархия в отчетах может «рассыпаться». Всегда проверяйте, чтобы после переноса данные в этом регистре соответствовали структуре справочника.

Альтернативы группам: Сегментация и Бизнес-регионы

Часто в версии 9.2 папки использовались не для отражения структуры владения (холдингов), а для простой классификации, например: «Опт», «Розница», «V.I.P.», «Северный регион». В УТ 11 для этих целей созданы более мощные инструменты. Рассмотрим их подробнее.

1. Сегменты партнеров

В отличие от жесткой иерархии (где один клиент может лежать только в одной папке), один партнер может входить в неограниченное количество сегментов. Это гораздо удобнее для маркетинга и аналитики.

Для классификации по типу продаж (Опт/Розница) мы рекомендуем использовать именно сегментацию. Это позволит строить отчеты, пересекая данные по разным признакам.

2. Бизнес-регионы

Если ваша иерархия в старой базе строилась по географическому признаку, разберем, как это реализовано в УТ 11. Для этого выделен отдельный справочник БизнесРегионы. В карточке партнера есть соответствующее поле. Использование этого механизма позволяет использовать стандартные географические отчеты и карты, что невозможно при обычном использовании папок.

Алгоритм успешного переноса (Миграции)

Подводя итог, выделим правильную последовательность действий при миграции из 9.2 (7.7) в УТ 11:

  1. Анализ структуры: Разделите старые группы на «смысловые» (холдинги) и «классификационные» (регионы, типы цен).
  2. Создание иерархии: Группы-холдинги переносите как элементы справочника Партнеры, устанавливая их родителями для конечных клиентов.
  3. Настройка сегментов: Группы типа «Опт/Розница» перенесите в справочник СегментыПартнеров.
  4. Заполнение регионов: Группы-регионы перенесите в справочник БизнесРегионы и проставьте ссылки в карточках партнеров.
  5. Связка с Контрагентами: Для каждого Партнера создайте одного или нескольких Контрагентов (юридических лиц) в соответствующем плоском справочнике.

Таким образом, отсутствие «желтых папок» в привычном понимании — это не ограничение системы, а переход к более гибкой управленческой модели. Использование иерархии элементов вместе с сегментацией дает гораздо больше возможностей для анализа клиентской базы, чем старая жесткая структура папок.

← На главную