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

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

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

Основные функциональные блоки БСП для документов

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

  1. Печать. Позволяет выводить документ на печать через стандартную кнопку и общую форму. Для реализации необходимо добавить документ в определяемый тип ОбъектСКомандамиПечати и прописать процедуру ДобавитьКомандыПечати в модуле менеджера.
  2. Присоединенные файлы. Дает возможность хранить сканы приказов или пояснительные записки непосредственно в карточке документа. Потребуется создание справочника ИмяДокументаПрисоединенныеФайлы и включение его в типы владельцев файлов.
  3. Версионирование объектов. Механизм «История изменений», позволяющий увидеть, кто и когда изменил реквизиты документа. Подключается через определяемый тип ОбъектСПоддержкойВерсионирования.
  4. Дополнительные реквизиты и сведения. Позволяет пользователям добавлять новые поля в документ без изменения конфигурации. Для этого документ включается в определяемые типы ОбъектСДополнительнымиРеквизитами и АвторДополнительныхСведений.
  5. Связанные документы (Структура подчиненности). Отображает дерево связей (на основании чего создан документ и что создано на его основании). Необходимо включить документ в определяемый тип СтруктураПодчиненностиТипУзла.

Инфраструктурные механизмы и автоматизация

Разберем далее более глубокие механизмы, которые отвечают за удобство массовой работы и интеграцию в общую экосистему информационной базы.

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

Полнотекстовый поиск. Чтобы пользователи могли найти документ по номеру, комментарию или специфическому тексту в строках через глобальный поиск, необходимо настроить свойства «Использование полнотекстового поиска» у самого объекта и его реквизитов.

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

Групповое изменение реквизитов. Чтобы администраторы могли массово менять значения в вашем документе через стандартную обработку, документ должен быть доступен для этого механизма. Проверьте включение в определяемый тип ОбъектСНастраиваемымиПорядкомИ Группировкой (если применимо).

Специфика ЗУП 3.1: Кадры и Расчеты

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

Механизм перерасчетов

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


Процедура ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    Если ОбменДанными.Загрузка Тогда
        Возврат;
    КонецЕсли;
    
    // Регистрируем необходимость перерасчета для сотрудников
    ЗарплатаКадрыСоставДокументов.ЗарегистрироватьИзменениеДокумента(ЭтотОбъект);
КонецПроцедуры

Пересечение периодов

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

Безопасность и разграничение прав (RLS)

Одной из самых сложных задач является настройка прав доступа. В ЗУП реализован мощный механизм RLS (Row Level Security), который ограничивает доступ по организациям, подразделениям и физическим лицам. Проанализируем ситуацию: если вы создали документ, но не включили его в механизмы доступа, пользователи с ограниченными правами либо не увидят его совсем, либо увидят лишнее.

Группы доступа. Необходимо добавить документ в определяемые типы:

После этого нужно обновить справочник «Идентификаторы объектов метаданных» и настроить роли. Помните, что для корректной работы RLS в ЗУП 3.1 часто требуется прописывать логику в модуле менеджера для шаблонов ограничений доступа.

Интерфейсные решения и работа с пользователем

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

Система взаимодействия и Обсуждения. Подключите возможность чата внутри документа. Это позволит бухгалтерам обсуждать конкретный расчет прямо в контексте объекта. Включается в настройках системы взаимодействия через определяемый тип ПредметОбсуждения.

Заметки и Напоминания. Если бухгалтер планирует вернуться к заполнению документа позже, он может создать напоминание («Напомнить через 2 часа»). Для этого документ должен входить в тип ИсточникНапоминания.

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

Техническая реализация в коде

Разберем по шагам, как обычно выглядит типовое наполнение модуля менеджера для интеграции с БСП. Рассмотрим пример структуры:


#Область БСП

// Заполнение команд печати
Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
    // Здесь описываются настройки печатных форм
КонецПроцедуры

// Настройка версионирования
Процедура ПриОпределенииНастроекВерсионированияОбъектов(Настройки) Экспорт
    // Указываем параметры хранения версий
КонецПроцедуры

// Настройка дополнительных реквизитов
Процедура ПриОпределенииНастроекДополнительныхРеквизитовИСведений(Настройки) Экспорт
    // Настройки отображения доп. полей
КонецПроцедуры

#КонецОбласти

Подводя итог, можно сказать, что разработка документа в ЗУП — это на 30% проектирование его структуры и на 70% интеграция в существующую экосистему. Правильное использование механизмов БСП не только экономит время на разработку велосипедов (вроде своей системы хранения файлов), но и делает вашу конфигурацию стабильной и легкой в обновлении.

← На главную