Как вывести признак Передан для выплаты в список ведомостей в 1С:ЗУП 3.1

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

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

Шаг 1. Включение стандартного функционала защиты документов

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

  1. Перейдем в раздел Настройка.
  2. Выберем пункт Расчет зарплаты.
  3. Найдем и установим флаг Автоматически защищать платежные документы от редактирования после выгрузки из системы.

Эта настройка активирует механизм блокировки документов от изменений после того, как они были выгружены в банк или отправлены через DirectBank. Именно этот механизм "зажигает" нужную нам кнопку.

Шаг 2. Настройка видимости кнопки внутри документа

Часто бывает так, что настройка включена, но кнопки в командной панели документа всё равно нет. Рассмотрим, как вынести её на видное место. По умолчанию она может быть скрыта в подменю Еще. Чтобы это исправить, выполним следующие действия внутри любой ведомости:

  1. Нажмем кнопку Еще в правом верхнем углу формы документа.
  2. Выберем пункт Изменить форму.
  3. В дереве элементов найдем командную панель и кнопку с именем ПереданДляВыплаты.
  4. В свойствах элемента установим значение Только в командной панели для свойства Использование в командной панели.

Теперь кнопка станет доступна бухгалтеру сразу. При её нажатии документ блокируется (устанавливается режим "только чтение"), что предотвращает случайное изменение данных, которые уже ушли в банк.

Шаг 3. Анализ механизма хранения данных

Для того чтобы вывести этот признак в список, нам нужно понять, где 1С хранит информацию о блокировке. Выясним причину, по которой мы не можем найти реквизит в самом документе Документ.ВедомостьВБанк: его там просто нет. Данные о защищенных документах хранятся в специальном регистре сведений.

Техническая справка: Индикатор "Передан для выплаты" — это запись в регистре сведений ОграниченныеДокументы. Если для конкретной ссылки на ведомость в этом регистре существует запись, значит, документ считается переданным для выплаты.

Шаг 4. Реализация вывода признака в списке через расширение

Разберем самый надежный способ решения задачи — использование расширения конфигурации. Нам потребуется изменить динамический список формы списка документов. Рассмотрим алгоритм действий программиста:

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

Проанализируем пример кода запроса, который необходимо внедрить в динамический список. Мы будем использовать ЛЕВОЕ СОЕДИНЕНИЕ с регистром сведений ОграниченныеДокументы:


ВЫБРАТЬ
    ОсновнаяТаблица.Ссылка КАК Ссылка,
    ОсновнаяТаблица.Дата КАК Дата,
    ОсновнаяТаблица.Номер КАК Номер,
    ВЫБОР
        КОГДА ОграниченныеДокументы.Документ ЕСТЬ НЕ NULL
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК ПереданДляВыплаты
ИЗ
    Документ.ВедомостьВБанк КАК ОсновнаяТаблица
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОграниченныеДокументы КАК ОграниченныеДокументы
        ПО ОсновнаяТаблица.Ссылка = ОграниченныеДокументы.Документ

После изменения запроса в списке полей появится новое поле ПереданДляВыплаты. Нам остается лишь перетащить его в элементы формы (в таблицу списка) и настроить заголовок "Передан".

Шаг 5. Визуальное оформление (Условное оформление)

Чтобы список выглядел профессионально, мы можем не просто выводить текст "Да" или "Нет", а использовать визуальные образы. Посмотрим, как это сделать с помощью Условного оформления динамического списка:

  1. В настройках динамического списка на форме (вкладка "Условное оформление") добавим новое правило.
  2. В условии укажем: ПереданДляВыплаты Равно Истина.
  3. В оформлении можно выбрать:
    • Цвет текста: например, серый, чтобы показать "завершенность" документа.
    • Текст: установить значение "✅".
    • Или использовать специальное поле картинки, выводя пиктограмму замка.

Шаг 6. Обработка прав доступа

Важно учитывать, что механизм ОграниченныеДокументы завязан на правах доступа. В типовых ролях 1С:ЗУП обычно разделены права на установку этой блокировки и её снятие. Рассмотрим ситуацию: если бухгалтер нажал кнопку, запись в регистре появилась. Чтобы её удалить (разблокировать документ), пользователю может потребоваться роль "Администрирование данных" или специальная роль на отмену ограничения редактирования.

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

Дополнительные возможности автоматизации

Рассмотрим еще один нюанс: в актуальных релизах (3.1.23 и выше) признак Передан для выплаты может устанавливаться автоматически при успешной отправке электронного реестра через DirectBank. Если вы используете прямой обмен с банком, ручное нажатие кнопки не требуется — система сама сделает запись в регистр ОграниченныеДокументы после получения подтверждения от банковского сервера. Наше решение с выводом колонки в список будет корректно отображать и такие автоматические блокировки.

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

← На главную