Как решить проблему с загрузкой контрагентов из Excel в 1С:Управление торговлей 11.5?

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

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

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

Разберем архитектурные особенности: Партнеры и Контрагенты

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

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

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

Выясним причину ошибки «Реквизит отсутствует»

Проанализируем ситуацию: если при загрузке возникает ошибка, связанная с ГруппойДоступа, это означает, что в коде обработки загрузки прописано обращение к этому полю, но на уровне метаданных оно скрыто. Это происходит из-за того, что в базе выключена функциональная опция использования групп доступа партнеров.

Рассмотрим, как включить необходимую опцию через интерфейс:

  1. Перейдем в раздел НСИ и администрирование.
  2. Выберем пункт Настройка пользователей и прав.
  3. Раскроем подраздел Группы доступа.
  4. Установим флаг Ограничивать доступ на уровне записей (RLS).
  5. После этого станет доступен флаг Группы доступа партнеров, который и нужно включить.

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

Программный способ включения функциональной опции

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


Константы.ИспользоватьГруппыДоступаПартнеров.Установить(Истина);
ПараметрыСеанса.ИспользоватьГруппыДоступаПартнеров = Истина;

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

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

Многие опытные специалисты рекомендуют отказаться от стандартного помощника «Загрузка данных из файла» в пользу универсальной обработки ЗагрузкаДанныхИзТабличногоДокумента.epf. Посмотрим на алгоритм работы с ней:

  1. Загружаем Партнеров: Сначала загружаем данные в справочник Партнеры. Это критично, так как контрагент не может существовать без привязки к партнеру в типовой конфигурации.
  2. Загружаем Контрагентов: После создания партнеров запускаем загрузку в справочник Контрагенты. В качестве ключевого поля для связи (поля поиска) используйте ИНН или Наименование, а в поле Партнер укажите ссылку на уже созданного партнера.

Почему данные «загружены», но не отображаются в списке?

Иногда возникает ситуация, когда обработка рапортует об успешном создании записей, но справочник Контрагенты остается пустым. Проанализируем возможные причины:

Рекомендации по использованию встроенного «Помощника регистрации»

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

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

Резюмируя: для успешной загрузки контрагентов в 1С:УТ 11.5 проверьте статус функциональной опции ИспользоватьГруппыДоступаПартнеров, убедитесь в наличии связки со справочником Партнеры и корректно заполняйте перечислимые типы данных (ЮрЛицо/ФизЛицо).

← На главную