Как исправить некорректный расчет стажа у совместителей в отчете "Мониторинг оплаты труда ПФР-Минобрнауки" в 1С:ЗГУ?

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

При работе с программными продуктами 1С, особенно в государственном секторе, мы часто сталкиваемся с необходимостью формирования специфической отчетности. Один из таких примеров — отчет "Мониторинг оплаты труда ПФР-Минобрнауки", который, несмотря на его замену более современными формами, порой всё ещё требуется к предоставлению, например, за прошлые периоды, такие как 2022 год. Одной из распространённых и сложных проблем при формировании этого отчета является некорректный расчет стажа для внутренних совместителей, особенно когда одно физическое лицо занимает несколько должностей с различными требованиями к стажу (например, научный сотрудник и врач).

Суть проблемы: Некорректный расчет стажа для совместителей

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

Пользователи 1С:ЗГУ часто сообщают, что в отчете "Мониторинг оплаты труда ПФР-Минобрнауки" стаж для таких совместителей либо считается неправильно, либо вовсе принимает значение 0. Это происходит как для "основного стажа" (который часто соответствует страховому или общему трудовому стажу), так и для "стажа в организации" по конкретной должности. Подобная ошибка приводит к искажению данных в отчете и, как следствие, к необходимости ручной корректировки или поиска глубинного решения проблемы.

Исторический контекст отчета "Мониторинг оплаты труда ПФР-Минобрнауки"

Для того чтобы эффективно разобраться с проблемой, давайте сначала рассмотрим контекст самого отчета. Отчет "Мониторинг оплаты труда ПФР-Минобрнауки" был введен для сбора информации о заработной плате работников государственных и муниципальных учреждений. Этот мониторинг проводился во исполнение поручений Президента РФ и Правительства РФ с целью анализа доходов бюджетников. Отчетность должны были представлять федеральные, региональные и муниципальные учреждения в территориальные органы Пенсионного фонда Российской Федерации (сейчас Социальный фонд России, ОСФР) в электронном виде.

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

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

Путь первый: Анализ и отладка программного кода 1С

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

1. Идентификация источника проблемы:

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

2. Различие функций: СведенияОСтажахФизическихЛиц vs СведенияОСтажахСотрудников:

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

Нам следует понимать, что в 1С:ЗГУ (и ЗУП) справочник ФизическиеЛица содержит общую информацию о человеке, а справочник Сотрудники — это запись о приеме этого физического лица на конкретную должность (или несколько записей при совместительстве). Для корректного отражения стажа по разным должностям совместителей отчет должен оперировать данными на уровне Сотрудники.

3. Пошаговая диагностика и отладка:

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

  1. Откроем отчет в конфигураторе: Перейдем в режим конфигуратора 1С и найдем наш отчет "Мониторинг оплаты труда ПФР-Минобрнауки". Если отчет реализован как расширение, то искать его нужно будет в списке расширений.

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

  3. Поищем вызовы функций, связанных со стажем: В модуле отчета или в запросах СКД (в вычисляемых полях или функциях) найдем фрагменты кода, где происходит расчет или получение данных по стажу. Мы будем искать упоминания функций, таких как СведенияОСтажахФизическихЛиц или СведенияОСтажахСотрудников, а также обращения к регистрам сведений, хранящим информацию о стаже (например, РегистрСведений.СтажиРаботников).

    Например, мы можем найти вызов функции в коде отчета, которая может выглядеть примерно так:

    
    // Некорректный вызов (пример)
    Стаж = КадровыйУчетРасширенный.СведенияОСтажахФизическихЛиц(ФизЛицо, ТипСтажа);
    
    // Корректный вызов (пример)
    Стаж = КадровыйУчетРасширенный.СведенияОСтажахСотрудников(Сотрудник, ТипСтажа);
    
  4. Проанализируем логику определения стажа для разных категорий персонала: Отчет "Мониторинг оплаты труда ПФР-Минобрнауки" требовал указания кода категории персонала (ЗП-наука, ЗП-здрав, ЗП-образование). Мы должны убедиться, что логика расчета стажа в коде учитывает эту категорию и правильно определяет, какой именно стаж (научный, медицинский, педагогический) нужно вывести для данной должности. Возможно, ошибка возникает из-за того, что тип стажа определяется обобщенно, а не исходя из категории должности.

  5. Проверим, как формируются параметры для функций стажа: Убедимся, что в функции, которая вызывается, передаются корректные параметры: ссылка на конкретного Сотрудника, а не на ФизическоеЛицо, и правильный ТипСтажа, соответствующий категории должности.

4. Возможные корректировки:

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

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

  2. Доработка самой функции: Если изменить вызов в отчете не представляется возможным (например, отчет является частью типовой конфигурации, которую нельзя напрямую править), или если проблема глубже, мы можем рассмотреть возможность доработки самой функции в общем модуле КадровыйУчетРасширенный (через расширение конфигурации), чтобы она корректно обрабатывала сценарии с совместителями, возможно, добавляя дополнительную логику для учета категории должности.

  3. Учет категории персонала и условий занятости: Удостоверимся, что отчет правильно использует поля "Код категории персонала" и "Условия занятости" из настроек должности сотрудника для выбора соответствующего вида стажа и его корректного расчета.

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

Путь второй: Использование готового внешнего инструмента

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

1. Преимущества готового решения:

2. Описание функционала готового решения:

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

3. Где искать подобные решения:

Подобные разработки обычно доступны на специализированных платформах для сообщества 1С, например, на таких ресурсах, как Infostart. На этих площадках можно найти как бесплатные, так и платные решения, которые уже учитывают особенности расчета стажа для различных категорий работников и сценариев совместительства. При поиске мы можем использовать ключевые слова, такие как "стаж совместители ЗГУ", "мониторинг оплаты труда ПФР Минобрнауки", "расчет стажа в 1С ЗУП/ЗГУ".

Важное уточнение: Многие качественные и проверенные решения могут быть платными. Мы должны взвесить стоимость такого решения по сравнению со временем и трудозатратами на самостоятельную доработку или отладку.

Общие принципы учета стажа для совместителей в 1С:ЗГУ

Чтобы лучше понять, как работает расчет стажа, давайте вспомним основные принципы учета совместительства в 1С:ЗГУ.

  1. Создание нового элемента в справочнике Сотрудники: Когда мы оформляем внутреннее совместительство, для одного и того же физического лица в программе 1С:ЗГУ создается новый элемент в справочнике Сотрудники. Это позволяет системе различать основное место работы и работу по совместительству, даже если они приходятся на одно и то же лицо.

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

  3. Различные виды стажа: В зависимости от отрасли (наука, образование, здравоохранение) и типа деятельности, нам могут быть важны различные виды стажа:

    • Страховой стаж: Это общая продолжительность периодов работы и иной деятельности, за которые уплачивались страховые взносы. Он важен для расчета пенсий и пособий по временной нетрудоспособности. Работа по совместительству полностью входит в страховой стаж.

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

    • Научно-педагогический стаж: Хотя Трудовой кодекс РФ прямо не использует этот термин, он встречается в квалификационных справочниках. Организация-работодатель часто самостоятельно определяет правила его исчисления, исходя из профиля деятельности.

    • Медицинский стаж: Для работников здравоохранения также существуют специальные правила исчисления стажа, необходимые для получения надбавок, досрочных пенсий и т.д.

    Для каждого из этих видов стажа в 1С:ЗГУ могут быть свои особенности настройки и расчета.

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

  5. Отражение стажа в ЕФС-1: Хотя мы решаем проблему старой формы, важно помнить, что сведения о страховом стаже теперь представляются в подразделах 1.2 и 1.3 раздела 1 формы ЕФС-1. Подраздел 1.2 подается ежегодно до 25 января следующего года по всем сотрудникам, а подраздел 1.3 — ежемесячно для государственных (муниципальных) учреждений. При формировании ЕФС-1 также крайне важно корректно указывать данные о совместительстве и соответствующие коды стажа из классификатора, если для совместителя действуют особые правила его исчисления.

Внимательное отношение к настройкам кадрового учета и понимание логики работы программы 1С:ЗГУ являются ключевыми для предотвращения ошибок в отчетности, особенно при работе со сложными сценариями, такими как внутреннее совместительство.

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

← На главную