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

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

При переходе на новую базу данных или при обновлении учетных систем часто возникает необходимость массовой загрузки информации о клиентах и поставщиках из внешних файлов (например, в формате Excel или mxl). Однако пользователи конфигурации «1С:Управление торговлей 11» (УТ 11) часто сталкиваются со странной ситуацией: встроенная обработка Загрузка данных из файла сообщает об успешном завершении операции, но при открытии справочника «Контрагенты» список остается абсолютно пустым. Выясним причину этого поведения системы и разберем по шагам, как правильно выполнить импорт данных.

Понимаем архитектуру: связка «Партнер — Контрагент»

Для того чтобы разобраться в проблеме, проанализируем внутреннее устройство справочников в современных конфигурациях ERP-класса от компании 1С (УТ 11, КА 2, ERP 2). В отличие от старых версий (например, УТ 10.3), здесь реализована двухкомпонентная структура ведения нормативно-справочной информации о деловых партнерах:

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

В чем заключается главная ошибка при загрузке? Когда мы загружаем данные напрямую в справочник Контрагенты, система действительно создает новые записи в базе данных. Но поскольку интерфейс УТ 11 спроектирован так, что все стандартные списки строятся «от партнера», загруженные юрлица без привязки к партнерам превращаются в «невидимок». Они физически существуют в SQL-таблицах базы данных, но не отображаются ни в одном стандартном списке программы.

Настройка «Независимо вести партнеров и контрагентов»

Перед началом загрузки нам необходимо проверить ключевую опцию в настройках системы. Перейдем в раздел НСИ и администрирование — Настройка НСИ и разделов — CRM и маркетинг.

Найдем флаг «Независимо вести партнеров и контрагентов»:

В любом из этих режимов загружать данные напрямую в справочник Контрагенты через простую обработку не рекомендуется.

Правильный алгоритм загрузки через справочник «Партнеры»

Рассмотрим подробнее корректную методику загрузки данных из файла mxl или Excel. Чтобы избежать появления «зависших» записей, мы должны загружать информацию через справочник Партнеры, используя заложенные разработчиками интеллектуальные алгоритмы сопоставления.

Выполним следующие шаги:

  1. Откроем обработку Загрузка данных из файла (ее можно найти через функции для технического специалиста или в разделе администрирования).
  2. В качестве целевого справочника выберем «Партнеры».
  3. Скопируем и вставим наши данные из файла mxl в таблицу загрузки.
  4. На этапе сопоставления колонок обратим внимание на доступные поля. Типовой механизм загрузки партнеров спроектирован очень грамотно: в списке доступных реквизитов есть специальная группа полей, предназначенная для контрагента (ИНН, КПП, Юридическое наименование). Сопоставим их с соответствующими колонками нашего файла.
  5. Запустим процесс импорта. В этом сценарии система создаст элемент справочника Партнеры, автоматически сгенерирует для него связанную карточку в справочнике Контрагенты, заполнит ИНН/КПП и установит корректную связь между ними.

Важные флаги для отображения в документах

Проанализируем еще один важный нюанс. Чтобы вновь загруженные контрагенты были доступны для выбора в документах закупки или продажи, недостаточно просто создать их в базе данных. В процессе импорта нам обязательно нужно передать системе информацию о роли этого партнера. За это отвечают три важных булевых реквизита (флага):

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

Использование внешней обработки «Загрузка данных из табличного документа»

Если стандартный функционал загрузки УТ 11 не позволяет гибко настроить связи в вашем конкретном файле, профессиональные разработчики и аналитики используют внешнюю обработку «Загрузка данных из табличного документа». Данный инструмент предоставляет гораздо больше возможностей:

Что делать с уже загруженными «невидимками»?

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

У нас есть два пути решения проблемы:

Вариант 1. Удаление и повторная загрузка (рекомендуемый)

Это самый простой и чистый способ. Перейдем в меню Функции для технического специалиста (или Все функции), найдем справочник Контрагенты. Здесь мы увидим список всех записей, включая те, у которых не заполнено поле Партнер. Пометим эти записи на удаление, запустим обработку Удаление помеченных объектов, очистим базу и произведем повторный импорт по правильной схеме через справочник Партнеры.

Вариант 2. Программное создание партнеров для существующих контрагентов

Если удаление невозможно (например, по этим контрагентам уже успели провести какие-то документы), нам придется связать их программно. Для этого можно написать небольшую внешнюю обработку или воспользоваться групповой обработкой данных. Примерный программный код для восстановления связей выглядит следующим образом:


Выборка = Справочники.Контрагенты.Выбрать();
Пока Выборка.Следующий() Цикл
    Если НЕ ЗначениеЗаполнено(Выборка.Партнер) Тогда
        // Создаем нового партнера на основании данных контрагента
        НовыйПартнер = Справочники.Partners.СоздатьЭлемент();
        НовыйПартнер.Наименование = Выборка.Наименование;
        НовыйПартнер.РабочееНаименование = Выборка.Наименование;
        НовыйПартнер.Клиент = Истина; // или Поставщик = Истина в зависимости от бизнес-задачи
        
        Попытка
            НовыйПартнер.Записать();
            
            // Связываем контрагента с созданным партнером
            ОбъектКонтрагент = Выборка.ПолучитьОбъект();
            ОбъектКонтрагент.Партнер = НовыйПартнер.Ссылка;
            ОбъектКонтрагент.Записать();
            
            Сообщить("Успешно создан партнер для контрагента: " + Выборка.Наименование);
        Исключение
            Сообщить("Ошибка при обработке контрагента: " + Выборка.Наименование + " - " + ОписаниеОшибки());
        КонецПопытки;
    КонецЕсли;
КонецЦикла;

Таким образом, понимание архитектурного разделения управленческого и регламентированного учета в конфигурации «1С:Управление торговлей 11» позволяет избежать типичных ошибок при миграции данных и обеспечивает корректное отображение всей информации в интерфейсе программы.

← На главную