Как реализовать и настроить структуру подчиненности документов в 1С:ЗУП 3.1

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

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

Понятие критериев отбора: фундамент иерархии

Прежде всего, разберем базовый механизм платформы 1С, на котором строится любая структура подчиненности. Это объект метаданных КритерииОтбора. В конфигурации ЗУП 3 за это отвечает критерий СвязанныеДокументы.

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

  1. Откроем конфигуратор и найдем узел Общие -> Критерии отбора -> СвязанныеДокументы.
  2. Перейдем на вкладку Состав. Здесь перечислены все реквизиты документов, которые выступают в роли «ссылки на родителя».
  3. Убедимся, что нужный нам документ (например, ВедомостьНаВыплатуЗарплатыВБанк) и его реквизит (например, ДокументОснование) отмечены в списке.

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

Интеграция через Библиотеку стандартных подсистем (БСП)

Выясним причину, по которой даже при наличии отчета в системе кнопка «Связанные документы» может не появляться на форме. Современные конфигурации используют механизм динамического формирования команд. За это отвечает подсистема БСП «Связи объектов».

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

Пример программного интерфейса для регистрации (используется в некоторых версиях БСП):


Процедура ПриОпределенииНастроекСвязейОбъектов(Настройки) Экспорт
    Настройки.ИспользоватьСтандартнуюКоманду = Истина;
КонецПроцедуры

Добавление команды «Связанные документы» на форму вручную

Если автоматическое добавление через БСП по каким-то причинам не подходит или вы работаете с внешними формами, разберем способ ручного вывода команды. В системе существует общая команда ОбщаяКоманда.ПоказатьСтруктуруПодчиненности. Нам необходимо «прокинуть» ее на форму.

Выполним следующие действия по шагам:

  1. В редакторе формы перейдем на закладку Команды, затем выберем Глобальные команды.
  2. Найдем в списке Параметризуемые -> Показать структуру подчиненности.
  3. Перетащим эту команду в командную панель формы.
  4. В свойствах команды в качестве Параметра действия укажем ссылку на текущий документ (обычно это Объект.Ссылка).

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

Особенности цепочек в ЗУП 3: Ведомости и Платежные поручения

Разберем ситуацию, упомянутую в обсуждении: связь Ведомость — Платежное поручение — Подтверждение зачисления. В старых релизах ЗУП 3 (до 3.1.10) эта цепочка часто не прослеживалась типовыми средствами.

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

Если вы используете расширение конфигурации, мы рекомендуем:

Использование внешних отчетов и обработок

Если типовой механизм кажется слишком жестким, рассмотрим вариант использования внешнего отчета. Существуют универсальные обработки «Структура подчиненности», которые строят дерево связей на основе запросов ко всей базе данных. Они ищут все ссылки на выбранный объект во всех таблицах конфигурации.

Для подключения такого отчета воспользуемся разделом Администрирование -> Печатные формы, отчеты и обработки. При регистрации внешней обработки укажите тип «Заполнение объекта» или «Дополнительный отчет» с привязкой к конкретным типам документов. Это позволит вызывать структуру подчиненности из меню «Отчеты» или «Кнопка выполнения обработок» прямо из документа.

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

← На главную