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