Почему партнеры не отображаются в списке клиентов в 1С:УТ 11.4 и как исправить ошибку прав доступа?

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

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

Анализ архитектурных различий справочников в УТ 11.1 и УТ 11.4

Для начала проанализируем, почему данные, перенесенные простыми инструментами (например, через Загрузку данных из табличного документа), могут отображаться некорректно. В версии 11.4 разработчики 1С существенно оптимизировали работу динамических списков для повышения быстродействия системы. В частности, для отображения контактной информации в списках справочника Партнеры был введен вспомогательный механизм.

Разберем ключевой момент: в УТ 11.4 в табличной части справочника Партнеры, отвечающей за контактную информацию, появился новый служебный реквизит — ВидДляСписка. Этот реквизит используется системой для быстрой фильтрации и вывода основных данных (телефон, адрес, email) прямо в форму списка без обращения к тяжелым запросам. При переносе данных из версии 11.1 этот реквизит остается пустым, так как в старой архитектуре его просто не существовало. В результате динамический список, настроенный на работу с этим полем, «теряет» записи или отображает их некорректно.

Решение проблемы отображения через групповое изменение реквизитов

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

  1. Перейдем в раздел НСИ и администрирование — Обслуживание — Корректировка данных.
  2. Выберем пункт Групповое изменение реквизитов.
  3. В поле «Изменять» выберем справочник Партнеры.
  4. Нажмем кнопку Дополнительные параметры и убедимся, что установлены флаги «Изменять в транзакции» и «Выполнять в обработчиках при записи». Это критически важно, так как именно программные обработчики при записи объекта в 1С:УТ 11.4 отвечают за заполнение служебных реквизитов и связанных регистров.
  5. Нам не обязательно менять какой-то значимый реквизит. Достаточно выбрать любое малозначимое поле или просто нажать кнопку Изменить параметры, не внося правок в значения, чтобы система «перезаписала» каждый объект.
  6. После завершения процесса система автоматически заполнит реквизит ВидДляСписка и обновит данные в связанных таблицах.

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

Устранение ошибки «Недостаточно прав» и зацикливания интерфейса

Ситуация, когда администратор видит список, а менеджер получает бесконечное окно с ошибкой, связана с механизмом RLS (Record Level Security) — ограничением доступа на уровне записей. Рассмотрим, почему это происходит именно в списке Партнеры.

При активации строки в списке партнеров система пытается считать данные не только из самого справочника, но и из связанных объектов: Контрагенты, Банковские счета, Соглашения с клиентами. Если у пользователя в профиле настроен доступ к партнерам, но отсутствуют права на чтение связанных контрагентов (или права настроены по группам доступа, которые не были заполнены при переносе), возникает исключение. Для детальной проверки прав и профилей пользователей к связанным объектам подойдёт обработка для анализа прав доступа к объекту.

Почему ошибка зацикливается? Это происходит из-за особенностей работы управляемых форм. Когда фокус ввода (курсор) перемещается на строку, срабатывает событие ПриАктивизацииСтроки. Система выдает ошибку, пользователь нажимает «ОК», окно закрывается, фокус снова возвращается на ту же строку, что провоцирует повторный вызов события и новую ошибку. Выясним, как это лечить:

Проверка и настройка групп доступа партнеров

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

Проанализируем шаги по исправлению:

  1. Проверим справочник Группы доступа партнеров (НСИ и администрирование — Настройка НСИ и разделов — CRM и маркетинг).
  2. Если используется ограничение по группам, необходимо назначить каждому партнеру соответствующую группу. Это также можно сделать через Групповое изменение реквизитов.
  3. Проверим профиль групп доступа (раздел Администрирование — Настройки пользователей и прав). Убедимся, что у роли Менеджер по продажам есть права на чтение справочника Контрагенты и Виды контактной информации.

Техническое обслуживание базы после переноса

Помимо исправления реквизитов, важно выполнить регламентные операции, которые «склеивают» разорванные связи в базе данных. Посмотрим на список необходимых действий:

  1. Обновление индекса полнотекстового поиска: Динамические списки часто используют индекс для быстрого поиска. Если индекс не актуален, объекты могут быть «невидимы». Путь: Администрирование — Поддержка и обслуживание — Полнотекстовый поиск — Очистить индекс / Обновить индекс.
  2. Регистр «Публичные идентификаторы объектов»: При программном создании объектов (загрузке) записи в этом регистре могут не создаться. Повторная запись справочника Партнеры в режиме обмена или через групповое изменение (с включенными обработчиками) решит эту проблему.
  3. Тестирование и исправление: В Конфигураторе рекомендуется запустить процедуру со следующими настройками:
    • Проверка логической целостности.
    • Реиндексация таблиц информационной базы.
    • Пересчет итогов.

Проверка связей Партнер — Контрагент

В УТ 11.4 существует функциональная опция «Независимо вести партнеров и контрагентов». Если в исходной базе (11.1) она была выключена, а в новой включена (или наоборот), это может привести к конфликту отображения. Проанализируем настройки по пути: НСИ и администрирование — Настройка НСИ и разделов — CRM и маркетинг — Настройки CRM.

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


ВЫБРАТЬ
    Партнеры.Ссылка КАК Партнер,
    Контрагенты.Ссылка КАК Контрагент
ИЗ
    Справочник.Партнеры КАК Партнеры
    ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагенты
    ПО Контрагенты.Партнер = Партнеры.Ссылка
ГДЕ
    Контрагенты.Ссылка ЕСТЬ NULL
    И Партнеры.ЭтоГруппа = ЛОЖЬ

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

Подведем итог: Основная причина проблем после переноса данных в УТ 11.4 — это недозаполнение служебных реквизитов и игнорирование механизмов RLS. Использование штатной обработки Групповое изменение реквизитов с включенной опцией «Выполнять в обработчиках» является самым быстрым и безопасным способом привести базу в рабочее состояние.

← На главную