Почему изменения в форме списка документа в расширении 1С не отображаются в пользовательском режиме?

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

При доработке типовых конфигураций 1С (например, «Зарплата и управление персоналом 3.1», «Управление торговлей 11» или «ERP») через расширения разработчики часто сталкиваются с ситуацией: изменения в форме документа работают идеально, а доработки в форме списка того же документа игнорируются платформой. В пользовательском режиме отображается стандартная форма, новые реквизиты не появляются, а точки останова в событиях модуля формы (например, в ПриСозданииНаСервере) даже не срабатывают.

Рассмотрим подробно причины такого поведения платформы 1С:Предприятие и разберем варианты решения данной проблемы.

Причины, по которым форма списка из расширения не вызывается

Проанализируем архитектуру типовых решений. Существует две основные причины, почему отредактированная ФормаСписка не отображается пользователю:

  1. Использование журнала документов вместо формы списка документа. В типовых конфигурациях на базе Библиотеки Стандартных Подсистем (БСП) для учета однотипных документов часто применяется ЖурналДокументов. Например, в 1С:ЗУП 3.1 список договоров ГПХ открывается из раздела «Зарплата» через журнал документов ЖурналДокументов.ДоговорыГПХ. В этом случае отдельная ФормаСписка самого документа ДоговорРаботыУслуги в стандартном интерфейсе просто не задействована.
  2. Переопределение формы в свойствах метаданных или модуле менеджера. В основной конфигурации основной формой списка объекта может быть назначена форма другого объекта или общая форма. Кроме того, открытие формы может перехватываться в процедурах модуля менеджера документа (например, при вызове обработки получения формы).

Как проверить, какую форму видит пользователь

Чтобы убедиться, какая именно форма открывается на экране у пользователя, выполним следующие шаги:

  1. В пользовательском режиме откроем нужный список документов.
  2. Перейдем в меню: «Главное меню» → «Окно» → «Информация для технического специалиста» (в старых версиях — «О программе» или «Все функции»).
  3. Проверим путь к объекту метаданных. Если в окне указано ЖурналДокументов.ДоговорыГПХ.Форма.ФормаСписка, значит, открыта форма журнала, а не самого документа.
  4. Для проверки открывания собственной формы документа задействуем «Функции для технического специалиста» → ветка «Документы» → «Договор (работы, услуги)». При открытии напрямую через эту ветку запустится именно ФормаСписка документа, и точка останова в расширении сработает.

Варианты решения задачи

Рассмотрим основные способы вывода необходимых реквизитов и колонок в зависимости от требований к доработке.

Способ 1. Доработка формы журнала документов в расширении (Рекомендуемый)

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

  1. Добавим в расширение конфигурации объект ЖурналДокументов, к которому относится документ (например, ДоговорыГПХ).
  2. Добавим в расширение его основную форму списка.
  3. Если нужные реквизиты отсутствуют в графах журнала, откорректируем текст запроса объекта ДинамическийСписок на форме журнала, присоединив таблицу документа или связанных справочников.
  4. Выведем новые поля динамического списка в пользовательский интерфейс формы.

Способ 2. Вывод дополнительных колонок средствами настройки формы

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

  1. В форме списка или журнала нажмем «Еще» → «Изменить форму...».
  2. Найдем в дереве элементов поле Ссылка или имеющийся реквизит (например, Сотрудник).
  3. Нажмем кнопку «Добавить поля» и отметим галочками реквизиты через точку (например, табельный номер или код сотрудника).

Способ 3. Включение собственной формы списка в командный интерфейс

Если требуется задействовать именно оригинальную форму списка документа ДоговорРаботыУслуги:

  1. В расширении найдем команду открытия списка документа ДоговорРаботыУслуги.
  2. Включим эту команду в состав нужной подсистемы командного интерфейса.
  3. Выведем отдельную ссылку на список документов в навигационную панель раздела.

Важная деталь: Кэш пользовательских настроек

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

← На главную