Почему в окне «Подбор исполнителей» в 1С:Документооборот не отображаются пользователи и группы после переноса данных?

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

При выполнении переноса пользователей, их групп и структуры предприятия из 1С:Управление производственным предприятием (УПП 1.3) в 1С:Документооборот (ДО 2.0) с использованием правил обмена Конвертации Данных 2.1 технические специалисты часто сталкиваются с нестандартным поведением формы подбора. Элементы справочников переносятся корректно, однако в окне «Подбор исполнителей» (при выборе рабочей группы документа, исполнителей процессов или групп доступа) пользователи отображаются как пустые строки, а группы пользователей отсутствуют в дереве выбора вовсе.

Разберем подробно причины такого поведения конфигурации и проанализируем последовательность шагов, необходимых для восстановления полной работоспособности подбора исполнителей.

Причины возникновения проблемы

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

  1. Режим загрузки данных (ОбменДанными.Загрузка = Истина): Стандартные обработки обмена (например, V8Exch82.epf) записывают элементы в режиме загрузки данных. В этом режиме платформа отключает выполнение обработчиков событий ПриЗаписи, ПередЗаписью и подписок на события. Типовые механизмы 1С:ДО, которые при создании пользователя должны автоматически вносить записи в служебные таблицы, просто не срабатывают.
  2. Незаполненность регистра сведений СоставыГруппПользователей: Иерархия и членство пользователей в группах отображаются в интерфейсах подбора на основании данных этого регистра. Если регистр пуст, система не может построить дерево групп и сопоставить пользователей.
  3. Несформированные данные справочника АдреснаяКнига: Форма подбора исполнителей работает с данными справочника АдреснаяКнига. Если кэш адресной книги не заполнен, список выбора элементов возвращает пустые строки. При этом подсказки и детализация по выделенной пустой строке могут работать правильно, так как они обращаются напрямую к объекту СправочникСсылка.Пользователи.
  4. Некорректные исходные данные в базе-источнике: Наличие в УПП 1.3 задвоенных записей пользователей в составах групп или наличие групп с пустым составом приводит к сбоям и аварийному завершению типовых фоновых процедур пересчета.

Шаг 1. Подготовка и коррекция правил выгрузки

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

Проверим и откорректируем правила выгрузки в Конвертации Данных 2.1:

  1. Исключим дублирование записей при формировании состава групп пользователей.
  2. Проверим корректность переноса следующих объектов целевой базы:
    • Справочник Пользователи;
    • Регистр сведений СведенияОПользователяхДокументооборот;
    • Справочник ГруппыПользователей;
    • Справочник СтруктураПредприятия;
    • Справочник Должности;
    • Справочник ФизическиеЛица.

Шаг 2. Интерактивный запуск перезаполнения служебных объектов

Если данные уже загружены в 1С:Документооборот, восстановить их отображение можно прямо из режима 1С:Предприятие от имени пользователя с административными правами.

  1. Перезаполнение состава групп пользователей:

    Откроем форму списка регистра сведений СоставыГруппПользователей (через меню «Все функции» / «Функции для администратора»). В меню Еще найдем и выполним команду перезаполнения состава групп. Процесс выполняется достаточно быстро.

  2. Перезаполнение Адресной книги:

    Откроем форму списка справочника АдреснаяКнига или откроем контекстное меню прямо в окне подбора пользователей (нажав правой кнопкой мыши на корень дерева «Группы пользователей»). Выполним команду перепостроения/перезаполнения адресной книги.

    Важно: Заполнение справочника АдреснаяКнига может занять длительное время из-за рекурсивного расчета связей пользователей, ролей и подразделений.

Шаг 3. Программная автоматизация обновления после загрузки

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

Рассмотрим пример кода для автозаполнения регистра составов групп и адресной книги:


// 1. Обновляем составы групп пользователей
Пользователи.ОбновитьСоставыГруппПользователей();

// 2. Запускаем обновление данных адресной книги
ОбновитьАдреснуюКнигу();

// Пример вызова процедур пересчета прав и дескрипторов (при необходимости)
УправлениеДоступом.ОбновитьДанныеДоступа();

Для программного заполнения адресной книги в 1С:Документооборот используется вызов специализированного метода подсистемы:


Процедура ОбновитьАдреснуюКнигу()
    // Вызов типовой процедуры обновления кэша адресной книги
    РегламентныеЗаданияСервер.ЗапуститьВыполнениеРегламентногоЗадания(
        Метаданные.РегламентныеЗадания.ЗаполнениеАдреснойКниги
    );
КонецПроцедуры

Дополнительные факторы: Права доступа (RLS) и дескрипторы

Если после выполнения всех шагов записи по-прежнему скрыты для обычных пользователей, проанализируем права доступа. В 1С:Документооборот расчет прав выполняется на основе дескрипторов доступа (регистры ДескрипторыДоступаОбъектов и ПраваПоДескрипторамДоступаОбъектов).

При загрузке с флагом ОбменДанными.Загрузка = Истина дескрипторы не формируются автоматически. Для решения этой проблемы выполним следующие действия:

  1. Запустим фоновое задание «Выполнение отложенного обновления прав доступа» через панель администрирования регламентных заданий.
  2. Убедимся, что у перенесенных элементов справочника Пользователи реквизит Недействителен имеет значение Ложь, а реквизит Служебный не установлен в значение Истина.

Итоги

Перенос пользователей из 1С:УПП 1.3 в 1С:Документооборот 2.0 с помощью КД 2.1 требует обязательной пост-обработки. Схема успешного переноса состоит из двух ключевых этапов:

  1. Загрузка основных нормативно-справочных объектов средствами КД 2.1 без дублей в составах групп.
  2. Последовательное обновление регистра СоставыГруппПользователей, справочника АдреснаяКнига и дескрипторов доступа в целевой базе.
← На главную