Как прикрепить сканы документов к кадровым приказам в 1С:ЗКБУ 1.0?

Программист 1С v8.3 (Обычные формы)
← На главную

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

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

Способ 1. Использование типового механизма привязки к физическим лицам (без программирования)

Проанализируем возможности стандартного функционала ЗКБУ 1.0. Несмотря на то, что к самим кадровым документам прикрепить файлы нельзя, в программе реализован типовой механизм хранения сканов для элементов справочника ФизическиеЛица.

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

  1. Оформите и проведите необходимый кадровый приказ в программе.
  2. Перейдите в справочник Физические лица и найдите сотрудника, по которому был оформлен документ.
  3. Откройте карточку физлица и перейдите на вкладку, предназначенную для работы с присоединенными файлами или сканированными документами.
  4. Загрузите скан-копию приказа и сопутствующих документов непосредственно в карточку человека.

Преимущества: Этот способ абсолютно безопасен, не требует привлечения программистов и не нарушает типовую структуру метаданных конфигурации. Вся история документов по конкретному человеку будет собрана в одном месте.

Недостатки: Быстро открыть скан напрямую из экранной формы конкретного приказа не получится — пользователю придется совершать дополнительные действия и переходить в карточку физического лица.

Способ 2. Доработка конфигурации с использованием справочника «ХранилищеДополнительнойИнформации»

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

Разберем алгоритм адаптации:

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

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


Процедура ДействияФормыПрикрепленныеФайлы(Кнопка)
    ФормаСписка = Справочники.ХранилищеДополнительнойИнформации.ПолучитьФормуСписка();
    ФормаСписка.Отбор.ОбъектОтбора.Значение = Ссылка;
    ФормаСписка.Отбор.ОбъектОтбора.Использование = Истина;
    ФормаСписка.Открыть();
КонецПроцедуры

При таком подходе пользователи смогут прикреплять любые файлы (PDF, JPG, DOCX) непосредственно к документу. Ссылка на документ запишется в реквизит ОбъектОтбора справочника хранилища.

Проблема раздувания базы данных и пути ее решения

Важное предупреждение: Хранение тяжелых бинарных данных (особенно многостраничных PDF-сканов в высоком разрешении) непосредственно внутри базы данных 1С быстро приведет к ее лавинообразному росту. Например, при объеме учетных данных в 1.5 Гб размер базы со сканами может легко превысить 70 Гб. Это существенно снизит производительность СУБД, усложнит процесс создания резервных копий (выгрузку файлов .dt) и может приводить к регулярным зависаниям при обновлении конфигурации.

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

Вариант А. Настройка хранения файлов на диске (в сетевом томе)

Штатный механизм работы с файлами в 1С позволяет настроить хранение не в самой таблице базы данных (СУБД), а в выделенной папке на сервере. При этом в системе будут храниться только пути к файлам.

Для реализации этого варианта необходимо выполнить следующие условия:

  1. Создать на сервере отдельный дисковый раздел под файловое хранилище. Желательно ограничить его квотой, чтобы при переполнении диска пользователями сама СУБД и сервер 1С не прекратили работу.
  2. Настроить общий сетевой доступ к этой папке.
  3. Критически важно: Служба сервера «1С:Предприятие» (под учетной записью которой запущен сервер приложений) должна обладать полными правами (чтение и запись) на эту сетевую папку. Пути к файлам в кодовой части необходимо прописывать строго в формате UNC (например, \\имя_сервера\имя_папки\).

Вариант Б. Создание внешней базы данных для хранения файлов

Если требования к безопасности или архитектуре не позволяют использовать общие сетевые папки, можно пойти по пути интеграции с внешней базой данных. Для этого под управлением СУБД (например, MS SQL Server или PostgreSQL) создается отдельная база данных, содержащая таблицы для хранения бинарных данных файлов.

В основной базе ЗКБУ 1.0 создается специальная обработка, которая при сохранении приказа обращается по внешнему соединению к этой базе данных, передает туда файл и связывает его с уникальным идентификатором (GUID) кадрового документа 1С. При запросе файла пользователем обработка быстро считывает его из внешней СУБД. Это полностью исключает нагрузку на основную базу 1С.

Современные альтернативы для крупных учреждений

Если ваше учреждение обладает развитой ИТ-инфраструктурой, рекомендуем рассмотреть более технологичные методы автоматизации:

← На главную