Почему в документах 1С:ЗУП 3.1 заполняются некорректные ответственные лица и как это исправить?

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

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

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

Выясняем причину: как работает механизм запоминания подписей

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

  1. Когда пользователь открывает любой кадровый или расчетный документ и вручную изменяет ответственное лицо через гиперссылку «Подписи» внизу формы, программа предлагает запомнить этот выбор.
  2. При согласии пользователя (или при определенных настройках автоматического сохранения) система записывает измененную пару «Физическое лицо — Должность» в специальный кэш — персональные настройки конкретного пользователя информационной базы.
  3. Технически эти данные сохраняются в системную таблицу базы данных через объект платформы ХранилищеОбщихНастроек. Запись производится по ключу объекта "НастройкиПользователя" и ключу настроек "ПодписиДокументов".

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

Рассмотрим подробнее три основных способа решения этой проблемы: от быстрого программного сброса настроек до штатных интерактивных методов в интерфейсе программы.

Способ 1. Программная очистка кэша подписей через встроенный язык 1С

Если вы являетесь программистом или администратором системы и вам необходимо быстро сбросить некорректные настройки для определенного пользователя (или группы пользователей), самым эффективным методом будет использование встроенного языка 1С. Для этого можно воспользоваться внешней обработкой «Консоль кода» или написать небольшую обработку с кнопкой.

Обратите внимание на синтаксис удаления настроек. Для удаления сохраненных подписей используется метод ХранилищеОбщихНастроекУдалить общего модуля ОбщегоНазначения. Ниже приведен правильный и безопасный вариант программного кода:


УстановитьПривилегированныйРежим(Истина);

// Очищаем кэш подписей для текущего авторизованного пользователя
ОбщегоНазначения.ХранилищеОбщихНастроекУдалить(
    "НастройкиПользователя",
    "ПодписиДокументов",
    ПараметрыСеанса.ТекущийПользователь.Наименование
);

Разберем этот код по шагам:

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

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

Способ 2. Самостоятельная очистка настроек пользователем в интерфейсе

Далеко не всегда у пользователей есть возможность обратиться к программисту для запуска кода. Разработчики предусмотрели простой и доступный интерактивный способ сбросить эти настройки непосредственно из пользовательского режима.

Давайте пошагово разберем, как сам пользователь может решить эту проблему:

  1. В главном меню программы откройте раздел Главное (в некоторых интерфейсах этот пункт может находиться в разделе Настройка) и выберите пункт Персональные настройки.
  2. В открывшейся форме найдите область, отвечающую за работу с документами, и перейдите по гиперссылке «Настроить смену подписи в документах».
  3. Перед вами откроется служебное окно управления сохраненными подписями. Чтобы полностью стереть старый кэш, нажмите на кнопку или ссылку «Очистить настройки подписей». После этого система мгновенно удалит устаревшие привязки.
  4. В этом же окне мы рекомендуем сразу предотвратить появление проблемы в будущем. Для этого в поле настройки смены подписей выберите вариант «Не запоминать для последующих документов». Данный режим является наиболее безопасным в условиях, когда в организации часто меняются подписанты или один и тот же сотрудник оформляет документы от лица разных ответственных лиц.

Способ 3. Очистка настроек администратором базы данных

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

Выполним следующие шаги в режиме «1С:Предприятие» под учетной записью с административными правами:

  1. Перейдем в раздел Администрирование, затем выберем пункт меню Настройки пользователей и прав.
  2. В открывшемся окне найдем подраздел «Пользователи» и перейдем по ссылке «Очистка настроек» (или «Копирование и очистка настроек» в зависимости от релиза конфигурации).
  3. В появившейся форме выберем конкретного пользователя, у которого наблюдаются проблемы с подстановкой ответственных лиц.
  4. Программа выведет дерево всех сохраненных настроек данного пользователя (внешний вид форм, настройки отчетов, избранное и т.д.). Нам необходимо найти ветку настроек, связанных с подписями документов ("ПодписиДокументов").
  5. Выделим эту строку флажком и нажмем кнопку «Очистить». Это позволит точечно удалить только проблемный кэш подписей, сохранив при этом все остальные важные пользовательские настройки (такие как масштаб отображения окон, настройки отборов в списках и т.д.).

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

← На главную