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