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