В процессе работы с конфигурацией 1С:Зарплата и управление персоналом 3.1 (или ЗКГУ) бухгалтеры часто сталкиваются с необходимостью визуального контроля состояния платежных документов. Один из таких важных индикаторов — признак "Передан для выплаты". По умолчанию этот статус виден только внутри документа "Ведомость в банк", что замедляет работу, заставляя пользователя открывать каждую карточку отдельно. Разберем подробно, как включить этот механизм, где хранятся данные и как вывести заветную "галочку" в общую форму списка документов.
Прежде чем приступать к программированию, нам необходимо убедиться, что в системе активирована соответствующая опция. Без этой настройки кнопка "Передан для выплаты" не появится даже в конфигураторе, так как она управляется функциональными опциями. Проанализируем путь к настройке:
Эта настройка активирует механизм блокировки документов от изменений после того, как они были выгружены в банк или отправлены через DirectBank. Именно этот механизм "зажигает" нужную нам кнопку.
Часто бывает так, что настройка включена, но кнопки в командной панели документа всё равно нет. Рассмотрим, как вынести её на видное место. По умолчанию она может быть скрыта в подменю Еще. Чтобы это исправить, выполним следующие действия внутри любой ведомости:
ПереданДляВыплаты.Теперь кнопка станет доступна бухгалтеру сразу. При её нажатии документ блокируется (устанавливается режим "только чтение"), что предотвращает случайное изменение данных, которые уже ушли в банк.
Для того чтобы вывести этот признак в список, нам нужно понять, где 1С хранит информацию о блокировке. Выясним причину, по которой мы не можем найти реквизит в самом документе Документ.ВедомостьВБанк: его там просто нет. Данные о защищенных документах хранятся в специальном регистре сведений.
Техническая справка: Индикатор "Передан для выплаты" — это запись в регистре сведений ОграниченныеДокументы. Если для конкретной ссылки на ведомость в этом регистре существует запись, значит, документ считается переданным для выплаты.
Разберем самый надежный способ решения задачи — использование расширения конфигурации. Нам потребуется изменить динамический список формы списка документов. Рассмотрим алгоритм действий программиста:
ВедомостьВБанк.Проанализируем пример кода запроса, который необходимо внедрить в динамический список. Мы будем использовать ЛЕВОЕ СОЕДИНЕНИЕ с регистром сведений ОграниченныеДокументы:
ВЫБРАТЬ
ОсновнаяТаблица.Ссылка КАК Ссылка,
ОсновнаяТаблица.Дата КАК Дата,
ОсновнаяТаблица.Номер КАК Номер,
ВЫБОР
КОГДА ОграниченныеДокументы.Документ ЕСТЬ НЕ NULL
ТОГДА ИСТИНА
ИНАЧЕ ЛОЖЬ
КОНЕЦ КАК ПереданДляВыплаты
ИЗ
Документ.ВедомостьВБанк КАК ОсновнаяТаблица
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОграниченныеДокументы КАК ОграниченныеДокументы
ПО ОсновнаяТаблица.Ссылка = ОграниченныеДокументы.Документ
После изменения запроса в списке полей появится новое поле ПереданДляВыплаты. Нам остается лишь перетащить его в элементы формы (в таблицу списка) и настроить заголовок "Передан".
Чтобы список выглядел профессионально, мы можем не просто выводить текст "Да" или "Нет", а использовать визуальные образы. Посмотрим, как это сделать с помощью Условного оформления динамического списка:
ПереданДляВыплаты Равно Истина.Важно учитывать, что механизм ОграниченныеДокументы завязан на правах доступа. В типовых ролях 1С:ЗУП обычно разделены права на установку этой блокировки и её снятие. Рассмотрим ситуацию: если бухгалтер нажал кнопку, запись в регистре появилась. Чтобы её удалить (разблокировать документ), пользователю может потребоваться роль "Администрирование данных" или специальная роль на отмену ограничения редактирования.
Если в вашей организации принято решение, что бухгалтеры могут сами отменять блокировку, убедитесь, что кнопка "Изменить документ" доступна им на форме. При нажатии на эту кнопку запись из регистра ОграниченныеДокументы удаляется, и наш флажок в списке автоматически пропадет.
Рассмотрим еще один нюанс: в актуальных релизах (3.1.23 и выше) признак Передан для выплаты может устанавливаться автоматически при успешной отправке электронного реестра через DirectBank. Если вы используете прямой обмен с банком, ручное нажатие кнопки не требуется — система сама сделает запись в регистр ОграниченныеДокументы после получения подтверждения от банковского сервера. Наше решение с выводом колонки в список будет корректно отображать и такие автоматические блокировки.
Таким образом, мы решили задачу минимальными средствами, используя штатный механизм защиты документов и расширение для визуализации данных в списке. Это значительно повышает удобство работы бухгалтерии без внесения критических изменений в типовой код конфигурации.