Почему при списании заработной платы со счета в 1С:Бухгалтерии список ведомостей пуст?

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

При работе с 1С:Бухгалтерией версии 3.0.189.29 пользователи могли столкнуться с неожиданной проблемой: при попытке списать заработную плату со счета через документ «Списание с расчетного счета» и выборе операции «Перечисление заработной платы по ведомостям», список доступных ведомостей оказывался пустым. Это происходило даже при наличии проведенных ведомостей с корректными датами. Давайте разберемся, почему возникла эта ситуация и как ее можно решить.

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

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

Если в документе «Списание с расчетного счета» мы выбирали вид операции «Перечисление заработной платы по ведомостям», то система начинала искать только те ведомости, у которых «Вид места выплаты» был установлен как «В рамках зарплатного проекта». И, соответственно, если в организации выплата заработной платы осуществлялась на счета сотрудников, но не в рамках зарплатного проекта (то есть ведомости имели «Вид места выплаты» «На счета сотрудников»), эти ведомости просто не попадали в отображаемый список. Именно поэтому пользователи видели пустой список, хотя все необходимые ведомости были созданы и проведены.

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

Официальное решение: обновление до версии 3.0.190.11

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

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

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

Временное программное решение: корректировка кода в конфигураторе

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

  1. Открытие конфигуратора: Запустите 1С:Предприятие в режиме «Конфигуратор».

  2. Навигация к общему модулю: В дереве объектов конфигурации найдите и откройте Общие -> Общие модули -> СписаниеСРасчетногоСчетаФормыКлиент. Для этого можно воспользоваться поиском по конфигурации или вручную развернуть ветки.

  3. Поиск процедуры: В открывшемся модуле найдите процедуру с именем ПеречислениеЗаработнойПлатыВедомостьНачалоВыбора. Эта процедура отвечает за формирование параметров для формы выбора ведомостей, когда мы пытаемся выбрать ведомость из документа «Списание с расчетного счета».

  4. Анализ и корректировка кода: Внутри этой процедуры мы обнаружим проблемный фрагмент кода, который жестко устанавливает фильтр на вид места выплаты. Давайте посмотрим на его структуру:

    
    // ... другие строки кода ...
    
    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("Организация", Объект.Организация);
    ПараметрыФормы.Вставить("ВидМестаВыплаты", ПредопределенноеЗначение("Перечисление.ВидыМестаВыплатыЗарплаты.ЗарплатныйПроект"));
    
    // ... другие строки кода ...
    

    Ключевая строка, вызывающая проблему, это: ПараметрыФормы.Вставить("ВидМестаВыплаты", ПредопределенноеЗначение("Перечисление.ВидыМестаВыплатыЗарплаты.ЗарплатныйПроект"));. Она безусловно добавляет параметр фильтра, который ограничивает выбор ведомостями только по зарплатному проекту, игнорируя ведомости «на счета сотрудников».

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

    Вариант 1 (рекомендуемый временный): Закомментировать проблемную строку.

    
    // ... другие строки кода ...
    
    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("Организация", Объект.Организация);
    // Проблемная строка закомментирована для временного обхода ошибки 3.0.189.29
    // ПараметрыФормы.Вставить("ВидМестаВыплаты", ПредопределенноеЗначение("Перечисление.ВидыМестаВыплатыЗарплаты.ЗарплатныйПроект"));
    
    // ... другие строки кода ...
    

    После комментирования этой строки система больше не будет принудительно устанавливать фильтр на «Вид места выплаты», что позволит вам видеть все доступные ведомости, включая те, что оформлены «на счета сотрудников».

  5. Обновление конфигурации базы данных: После внесения изменений в модуль необходимо сохранить конфигурацию (Файл -> Сохранить) и затем обновить конфигурацию базы данных (Конфигурация -> Обновить конфигурацию базы данных). После этого можно запустить программу в режиме «Предприятие» и проверить работоспособность выбора ведомостей.

Помните, что это временное решение. При первом же удобном случае обновитесь до актуальной версии 1С:Бухгалтерии, где эта ошибка будет исправлена официально.

Дополнительные временные обходные пути

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

  1. Массовое изменение вида места выплаты в ведомостях:

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

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

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

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

← На главную