Как включить возможность отбора по группе в списке видов документов в 1С:Документооборот?

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

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

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

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

Прежде всего, выясним причину такого поведения системы. В релизе 2.1.28.14 разработчиками были внесены изменения в метаданные, которые затронули свойства реквизита Вид документа. В норме свойство Выбор групп и элементов у справочников и связанных с ними полей в формах установлено в значение Авто. Это означает, что платформа 1С самостоятельно определяет, можно ли выбирать группу, исходя из контекста (например, если это отбор "Равно", то выбирается элемент, а если "В группе", то папка).

Однако из-за программной ошибки в указанном релизе свойство Выбор групп и элементов фактически заблокировалось в режиме выбора только элементов. Это привело к тому, что даже при использовании иерархических отборов форма выбора справочника принудительно открывалась в плоском виде или с запретом на выбор родительских категорий.

Решение 1: Исправление через Конфигуратор (для администраторов и разработчиков)

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

  1. Откроем Конфигуратор и найдем в дереве метаданных документ (например, ВнутреннийДокумент) или форму списка, в которой наблюдается проблема.
  2. Проанализируем свойства реквизита ВидДокумента. Нас интересует вкладка "Основные" и поле "Выбор групп и элементов".
  3. Если в данном поле установлено значение Авто, и при этом в пользовательском режиме выбор групп недоступен, нам необходимо принудительно изменить это значение. Выберем вариант Группы и элементы.
  4. Также проверим свойства поля в самой форме. Если реквизит выведен на форму списка как элемент управления, проверим аналогичное свойство в палитре свойств элемента формы. Изменение Авто на Группы и элементы гарантирует, что платформа перестанет ограничивать пользователя в выборе.
  5. Обновим конфигурацию базы данных.

Важный нюанс: После внесения изменений в метаданные крайне важно выполнить сброс настроек формы у пользователей, так как 1С кэширует визуальные параметры и поведение элементов формы. Для этого в пользовательском режиме нужно зайти в меню Еще — Установить стандартные настройки.

Решение 2: Настройка отбора в пользовательском режиме

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

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

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

Решение 3: Использование патчей и обновлений

Фирма "1С" оперативно реагирует на подобные критические ошибки. Для релиза 2.1.28.14 выпускались специальные исправления (патчи). Посмотрим, как проверить их наличие:

Проанализируем раздел администрирования. В подразделе "Обслуживание" — "Обновление программы" — "Установленные исправления (патчи)" можно найти записи вида EF_001xxxx. Если вы видите патч, описывающий исправление отборов в 1С:Документооборот, убедитесь, что он активен.

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

Программный аспект: работа с динамическим списком

Для разработчиков будет полезно рассмотреть, как это выглядит "под капотом". В динамических списках ДинамическийСписок отбор управляется через коллекцию Отбор. Если мы программно устанавливаем отбор, мы можем использовать следующий подход:


// Пример программной установки отбора по группе
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ВидДокумента");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии; // Аналог "В группе"
ЭлементОтбора.ПравоеЗначение = ГруппаВидовДокументов;
ЭлементОтбора.Использование = Истина;

Важно помнить, что если в метаданных жестко стоит запрет на выбор групп, то даже программная установка может вызвать ошибку или пустой результат в форме выбора значения для ПравоеЗначение. Поэтому установка свойства ВыборГруппИЭлементов в значение Группы и элементы является наиболее универсальным "лекарством".

Рекомендация по сбросу настроек

Рассмотрим ситуацию, когда вы внесли правки, но "ничего не изменилось". Выясним причину: 1С хранит настройки пользователей в системных таблицах (хранилище настроек). Чтобы изменения вступили в силу:

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

← На главную