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

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

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

Причина 1: Зарплатный проект не доступен для выбора в обработке

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

Выясним причину: обработка ОбменСБанкамиПоЗарплатнымПроектам производит отбор только тех зарплатных проектов, для которых включен механизм электронного документооборота с банком.

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

После включения электронного обмена зарплатный проект начнет штатно отображаться в поле выбора обработки.

Как устроена система отслеживания состояний выгрузки ведомостей

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

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

  1. ДокументСсылка.ВедомостьНаВыплатуЗарплатыВБанк
  2. ДокументСсылка.ВедомостьПрочихДоходовВБанк
  3. ДокументСсылка.ПлатежноеПоручение

В момент выгрузки файла через вызов процедуры ОбменСБанкамиПоЗарплатнымПроектам.ЗарегистрироватьСостояниеЗачисленияЗарплатыПоДокументу() регистр фиксирует новое состояние — ОжидаетПодтверждения (в интерфейсе отображается как «Выгружен в банк»). Форма списка данного регистра закрыта для ручного редактирования, поэтому изменить запись напрямую через интерфейс пользователь не может.

Штатные способы повторной выгрузки ведомостей без изменения кода

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

Способ 1. Снятие признака «Передан для оплаты»

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

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

Способ 2. Отмена проведения и повторное проведение ведомости

Если по ведомости еще не создавался документ Подтверждение зачисления зарплаты, достаточно перепровести документ выплаты. При отмене проведения регистрационные записи в регистре СостоянияДокументовЗачисленияЗарплаты автоматически очищаются, и документ восстанавливает свой исходный статус.

Способ 3. Отключение автоматической защиты платежных документов

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

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

Способ 4. Использование команды «Оформить повторно» в подтверждении

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

  1. Откроем документ Подтверждение зачисления зарплаты.
  2. Воспользуемся встроенной командой Оформить повторно.
  3. Документ отменит результат зачисления, разблокировав ведомость для новой отправки.

Программное решение для отладки: очистка регистра состояний

При отладке внешних обработок или механизмов взаимодействия с банком часто требуется оперативно сбрасывать состояние ведомости. Напишем простую обработку или исполняемый код для очистки записей регистра сведений СостоянияДокументовЗачисленияЗарплаты по конкретному документу.

Проанализируем пример кода на встроенном языке 1С:


// Пример программной очистки состояния ведомости для повторной выгрузки
НаборЗаписей = РегистрыСведений.СостоянияДокументовЗачисленияЗарплаты.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Документ.Установить(СсылкаНаВедомость);

// Записываем пустой набор для удаления существующей записи о состоянии
НаборЗаписей.Записать();

// При необходимости снимаем флаг передачи в ведомости
ДокументОбъект = СсылкаНаВедомость.ПолучитьОбъект();
Если ДокументОбъект.ПереданДляОплаты Тогда
    ДокументОбъект.ПереданДляОплаты = Ложь;
    ДокументОбъект.Записать(РежимЗаписиДокумента.Проведение);
КонецЕсли;

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

← На главную