При переносе данных из других конфигураций (например, из 1С:УНФ или 1С:Бухгалтерии) в 1С:Управление торговлей 11.4 пользователи часто сталкиваются с ситуацией, когда в справочнике Партнеры записи существуют, признак «Клиент» установлен, однако в специализированном списке «Клиенты» эти записи не отображаются. Рассмотрим причины этой проблемы и разберем пошаговый алгоритм её решения.
Для начала выясним причину такого поведения системы. В конфигурации УТ 11 реализована сложная архитектура разделения управленческого и регламентированного учета. Сущность Партнеры отвечает за управленческий учет, а Контрагенты — за юридическую фиксацию взаимоотношений. Список «Клиенты», который мы видим в интерфейсе раздела «Продажи», представляет собой форму справочника Партнеры с установленным динамическим отбором по признаку Объект.Клиент = Истина.
Однако простого наличия «галочки» недостаточно. Динамические списки в 1С работают на основе сложных запросов, и если объект записан в базу с нарушением бизнес-логики (например, через прямой перенос данных без проверки обязательных полей), он может попросту игнорироваться формой списка или модулями системы. Проанализируем ситуацию: чаще всего при переносе данных через «Конвертацию данных» или другие механизмы остаются незаполненными ключевые реквизиты, такие как ЮрФизЛицо (тип партнера) и НаименованиеПолное (публичное наименование). Без них объект считается системой «битым» или некорректным.
Проанализируем ситуацию с настройками системы. В разделе НСИ и администрирование -> CRM и маркетинг существует опция «Независимо вести партнеров и контрагентов». Если эта опция отключена, система требует жесткой связки 1:1. Если при переносе данных из УНФ эта связь была нарушена или не создана, партнер не будет корректно отображаться в специализированных формах.
Кроме того, важную роль играет реквизит ЮрФизЛицо. Это перечисление, которое определяет логику работы всей карточки партнера. Если поле пустое, программный код модулей формы не может определить, какие элементы интерфейса выводить, и динамический список может исключать такие записи из выдачи для предотвращения ошибок исполнения кода.
Если записей много, открывать каждую и пересохранять вручную — трудозатратный процесс. Мы воспользуемся стандартной обработкой ГрупповоеИзменениеРеквизитов. Однако, как заметил автор темы на форуме, обычная перезапись может не сработать, так как стандартная проверка заполнения выдаст ошибку о пустых обязательных полях.
Рассмотрим, как обойти это ограничение с помощью Произвольного алгоритма. Выполним следующие действия:
Партнеры.НаименованиеПолное не заполнено).Теперь проанализируем код, который нам необходимо выполнить. Нам нужно принудительно перенести данные из рабочего наименования в публичное и установить тип лица. Посмотрим на пример кода:
// Устанавливаем публичное наименование из рабочего наименования
Объект.НаименованиеПолное = Объект.Наименование;
// Если не заполнено поле Юр/Физлицо, устанавливаем значение по умолчанию (например, ЮрЛицо)
Если НЕ ЗначениеЗаполнено(Объект.ЮрФизЛицо) Тогда
Объект.ЮрФизЛицо = Перечисления.КомпанияИлиЧастноеЛицо.ЮрЛицо;
КонецЕсли;
// Убеждаемся, что признак клиента установлен
Объект.Клиент = Истина;
Этот алгоритм позволяет «подтянуть» данные в нужные поля непосредственно перед записью объекта. После выполнения обработки система выполнит метод Объект.Записать(), и партнер станет валидным для всех списков и отборов.
Если после выполнения группового изменения партнеры все равно не видны в списке «Клиенты», разберем еще несколько критических моментов:
Ключи аналитики учета по партнерам. Если записи в них отсутствуют, это может вызывать проблемы в отчетах и списках, учитывающих иерархию или права доступа.Родитель и ГоловнойПартнер.ГруппаДоступаПартнеров. Если поле пустое, а RLS (ограничение прав на уровне записей) включено, пользователи могут просто не видеть этих партнеров.Подводя итог, можно сказать, что проблема «исчезновения» партнеров при переносе из УНФ в УТ 11.4 чаще всего кроется в неполноте данных. Система 1С:Управление торговлей крайне чувствительна к заполнению реквизитов НаименованиеПолное и ЮрФизЛицо. Использование групповой обработки с небольшим фрагментом кода на языке 1С позволяет быстро привести базу в порядок и сделать партнеров доступными для полноценной работы в качестве клиентов.