Почему в авансовом отчете выводится некорректный табельный номер уволенного сотрудника и как это исправить?

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

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

Проанализируем причину: архитектура справочников 1С

Для начала выясним причину такого поведения системы. В современных программах 1С жестко разделены два понятия:

  1. Справочник ФизическиеЛица — здесь хранится информация о самом человеке (его ФИО, ИНН, СНИЛС, паспортные данные). Для одного человека в базе всегда должна быть только одна карточка физического лица.
  2. Справочник Сотрудники — здесь хранится история работы человека по конкретному трудовому договору.

Прием ранее уволенного работника путем создания нового элемента в справочнике Сотрудники и его привязки к старому элементу из справочника ФизическиеЛица — это абсолютно верный и методологически правильный подход. В результате в программе получается одно физическое лицо, но два сотрудника с разными табельными номерами (один уволенный, другой действующий).

Проблема кроется в самом документе АвансовыйОтчет. В качестве подотчетного лица в нем выбирается элемент из справочника ФизическиеЛица. Чтобы сформировать печатную форму (вывести должность и табельный номер), программа делает запрос к кадровым регистрам сведений, например, к регистру РаботникиОрганизации (или аналогичным кадровым регистрам актуальных версий) на дату авансового отчета. Если в алгоритме конфигурации нет жесткого отбора, отсекающего уволенных по дате, система просто берет первую попавшуюся связанную запись, которая чаще всего оказывается старой.

Решение 1: Корректировка кадровых регистров

Рассмотрим подробнее основной метод решения, предложенный специалистами на форуме. Нам необходимо проверить и при необходимости поправить движения в регистрах.

  1. Откройте главное меню 1С и перейдите в раздел Функции для технического специалиста (ранее этот раздел назывался "Все функции").
  2. Найдите нужный регистр сведений, в котором хранятся кадровые данные (например, КадровыйСтоимость, РаботникиОрганизации или текущие актуальные регистры версии Бухгалтерии 3.0).
  3. Установите отбор по нашему проблемному физическому лицу.
  4. Проанализируйте ситуацию. Вы увидите историю записей. Вам необходимо убедиться, что кадровые движения стоят так, чтобы последней (актуальной) записью на текущую дату стояло движение по правильному, новому табельному номеру.
  5. Иногда достаточно просто перепровести документ нового приема на работу, чтобы он "перебил" старые записи и встал в регистре корректно.

Решение 2: Проверка документа "Увольнение"

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

Если вы ведете учет заработной платы в отдельной программе (например, в 1С:ЗУП) и переносите данные с помощью синхронизации, вполне вероятно, что кадровое событие увольнения просто не перенеслось или загрузилось с ошибкой. Из-за этого база 1С:Бухгалтерии все еще "видит" старого сотрудника как действующего и подтягивает его данные в печатные формы. Проверьте статус старого сотрудника и наличие проведенного документа увольнения.

Решение 3: Настройка "Основного сотрудника"

В некоторых релизах и конфигурациях 1С разработчики предусмотрели механизм выбора главного договора для человека.

  1. Откройте карточку проблемного физического лица в справочнике ФизическиеЛица.
  2. Посмотрим на верхнюю панель или основные реквизиты. Если там есть гиперссылка или поле Основной сотрудник, нажмите на нее.
  3. Убедитесь, что в качестве основного выбран актуальный (новый) элемент справочника сотрудников с правильным табельным номером. Это укажет программе, чьи именно данные брать по умолчанию при печати документов.

Решение 4: Ручная корректировка печатной формы

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

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

Решение 5: Обновление конфигурации или доработка

Наконец, проанализируем ситуацию с точки зрения кода. Ошибка, при которой подтягиваются данные уволенных сотрудников — это часто недоработка конкретного релиза 1С. Разработчики регулярно выпускают патчи и обновления, исправляющие логику заполнения печатных форм.

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

← На главную