В периоды введения ограничительных мер, связанных с распространением коронавирусной инфекции (COVID-19), перед многими организациями встала задача оперативной подготовки справок для сотрудников, которым необходимо находиться на рабочем месте. Поскольку единого федерального стандарта для таких справок изначально не существовало, регионы вводили свои собственные формы. Рассмотрим, как реализовать механизм формирования таких документов в программе 1С:Зарплата и управление персоналом 3.1, используя внешние обработки и расширения.
Проанализируем базовый вариант решения задачи — создание внешней печатной формы. Это наиболее безопасный способ, так как он не требует внесения изменений в конфигурацию. Основная цель такой обработки — автоматически собрать данные о сотруднике, его должности и организации, подставив их в шаблон, утвержденный местной администрацией (например, для Красноярского края или Ростовской области).
Разберем основные шаги реализации такой обработки:
Сотрудники и Организации.Рассмотрим пример кода, который может использоваться для получения фактического адреса сотрудника, так как именно он часто требуется в справках для патрульных служб:
Функция ПолучитьАдресПроживания(ФизическоеЛицо)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| КонтактнаяИнформация.Представление КАК Адрес
|ИЗ
| РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
|ГДЕ
| КонтактнаяИнформация.Объект = &ФизическоеЛицо
| И КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
| И КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.АдресПроживанияФизЛица)";
Запрос.УстановитьПараметр("ФизическоеЛицо", ФизическоеЛицо);
Выборка = Запрос.Выполнить().Выбрать();
Если Выборка.Следующая() Тогда
Возврат Выборка.Адрес;
КонецЕсли;
Возврат "";
КонецФункции
Выясним причину, по которой универсальная справка не всегда подходит. В разных субъектах РФ требования к содержанию документа существенно различались. Например, в Ростовской области форма должна была строго соответствовать образцу, вплоть до формата печати (А5), а в Нижегородской области позже были внедрены QR-коды.
При разработке печатной формы важно учитывать следующие моменты:
2019-nCov, COVID-19 или Коронавирусная инфекция. Рекомендуется выносить официальное название инфекции в отдельное поле на форме обработки, чтобы пользователь мог изменить его без редактирования макета.Комментарий или отдельный реквизит на форме обработки.Проанализируем ситуацию: если организация большая, выдача справок становится массовым процессом. Обычная внешняя печатная форма позволяет напечатать документ, но не сохраняет историю выдачи. В этом случае целесообразно использовать расширение конфигурации.
Разберем, какие возможности дает расширение:
Сотрудники или в документ Прием на работу.Пример структуры данных для учета справок в расширении:
// Создание записи в регистре сведений при печати
МенеджерЗаписи = РегистрыСведений.РеестрВыданныхСправок.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Период = ТекущаяДата();
МенеджерЗаписи.Сотрудник = Объект.Ссылка;
МенеджерЗаписи.Организация = Объект.Организация;
МенеджерЗаписи.НомерСправки = СгенерироватьНовыйНомер();
МенеджерЗаписи.Записать();
Посмотрим на практические советы, которые помогут избежать проблем при проверке документов сотрудниками правопорядка:
Во-первых, обязательно проверяйте соответствие печатной формы актуальной редакции регионального указа. В некоторых областях формы менялись несколько раз в неделю, и старые образцы мгновенно признавались недействительными.
Во-вторых, если организация использует фирменный бланк, убедитесь, что это не противоречит требованиям администрации. Бывали случаи (как в Краснодарском крае), когда требовалось совместить элементы фирменного стиля и жестко заданную структуру государственного образца.
В-третьих, учитывайте технические параметры печати. Если в указе прописан формат А5, необходимо настроить параметры страницы в 1С (ТабличныйДокумент.ПараметрыПечати), чтобы при выводе на печать форма не масштабировалась до А4 случайным образом.
В заключение отметим, что хотя фирма «1С» и выпускала официальные патчи с типовыми справками, региональная специфика часто требовала «самописных» решений. Использование внешних обработок с открытым кодом позволяло программистам оперативно вносить правки в макеты, не дожидаясь официальных релизов, что критически важно в условиях быстро меняющегося законодательства.