Как исправить ошибки заполнения и выгрузки подраздела 1.3 ЕФС-1 (ПКГ, ПКУ и системы оплаты) в 1С:ЗиК ГУ?

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

Подраздел 1.3 формы ЕФС-1 предназначен для мониторинга заработных плат работников бюджетной сферы. Этот отчет обязателен не для всех госучреждений, а только для тех, чьи основные ОКВЭД подпадают под действие Приказа Минтруда № 900н (образование, здравоохранение, культура, социальные услуги и т.д.). Кроме того, учреждение должно являться респондентом одной из форм статистического наблюдения серии «ЗП». Разберем по шагам, с какими трудностями сталкиваются пользователи при формировании отчета в конфигурации 1С:Зарплата и кадры государственного учреждения (1С:ЗиК ГУ) и как мы можем их успешно решить.

Настройка автозаполнения ПКГ и ПКУ

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

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

Важно: ПКУ в самом отчете часто заполняется только после проведения и утверждения соответствующих приказов о приеме или кадровом переводе.

Обходной путь: если коды недоступны для заполнения

Иногда возникает зарегистрированная ошибка (например, код 20173776), когда коды, необходимые для подраздела 1.3, просто не видны. Рассмотрим официальный метод обхода: зайдите в настройки особенностей государственного учета и временно установите любую специфичную отрасль, например, «Образовательное учреждение» или «Медицинское учреждение». На основной учет это не повлияет, но нужные поля в форме станут активны. После выхода патчей от 1С эту настройку можно будет отключить.

Проверка системы оплаты труда и кодов основных выплат

С выгрузкой отчета часто возникают ошибки, если указанная система оплаты труда не соответствует кодам выплат (префикс ОВ). Посмотрим на правила, которые требует СФР:

  1. Для значения 1 допустимы только коды ОВ-01 и ОВ-02.
  2. Для значения 2 допустим только код ОВ-04.
  3. Для значения 3 допустим только код ОВ-03.
  4. Для значения 4 допускается указание нескольких кодов основных выплат одновременно.

Если проверочная программа выдает протокол с ошибками, проанализируем карточку сотрудника и убедимся, что при системе оплаты «2» у него не фигурируют другие коды, кроме ОВ-04.

Исправление ошибок выгрузки XML (Расширения и код)

Часто выгрузка прерывается или проверочное ПО жалуется на форматы чисел (например, выгружается 1.00 вместо 1) и пустые значения. Рассмотрим, как программно скорректировать эти моменты. Для исправления можно создать расширение конфигурации.

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


&Вместо("ПотокXML_ВывестиЭлемент")
Процедура ЕФС1_ПотокXML_ВывестиЭлемент(ИмяФормы, ПотокXML, ИмяЭлемента, ЗначениеЭлемента, ОбязательностьЭлемента)
    Если ОбязательностьЭлемента ИЛИ ЗначениеЗаполнено(ЗначениеЭлемента) Тогда
        Если ТипЗнч(ЗначениеЭлемента) = Тип("Строка") Тогда
            ЗначЭлемента = СокрЛП(ЗначениеЭлемента);
        ИначеЕсли ТипЗнч(ЗначениеЭлемента) = Тип("Дата") Тогда
            ЗначЭлемента = Формат(ЗначениеЭлемента, "ДФ=""гггг-ММ-дд""");
        ИначеЕсли ТипЗнч(ЗначениеЭлемента) = Тип("Число") Тогда
            ЗначЭлемента = Формат(ЗначениеЭлемента, "ЧДЦ=2; ЧРД=.; ЧН=0; ЧГ=");
        Иначе
            // Принудительно преобразуем ссылочные типы в строку
            ЗначЭлемента = СокрЛП(Строка(ЗначениеЭлемента)); 
        КонецЕсли;
        ПотокXML.ЗаписатьНачалоЭлемента(ИмяЭлемента);
        ПотокXML.ЗаписатьТекст(ЗначЭлемента);
        ПотокXML.ЗаписатьКонецЭлемента;
    КонецЕсли;
КонецПроцедуры

Чтобы избежать ошибки с лишними нулями (например, 1.00 вместо 1), можно использовать функцию СтрЗаменить в процедуре вывода:


ПотокXML_ВывестиЭлемент(ИмяФормы, ПотокXML, "Вид", СтрЗаменить(Дан_2["П00113М200008"],".00",""));
ПотокXML_ВывестиЭлемент(ИмяФормы, ПотокXML, "Срок", СтрЗаменить(Дан_2["П00113М200009"],".00",""));

Также важно следить за значениями NULL в запросах для отсутствующих ученых степеней или сотрудников в декрете. В запросе расчета показателей необходимо принудительно устанавливать 0 вместо NULL:


// В запросе расширения меняем NULL на 0
| КадровыеДанные.ТарифнаяСтавка КАК П00113М400001,
| 0 КАК П00113М200019,

Дубли и пересечения периодов

Сотрудники СФР жестко контролируют полные дубликаты записей. Если у сотрудника формируются две строки с абсолютно одинаковым набором данных (дата, OID, должность, ПКГ), проверочная программа выдаст ошибку. При внутримесячных переводах мы должны обеспечить четкое разделение периодов или изменить хотя бы один идентификатор (например, код должности).

Порядок исправления по протоколам СФР

Если вы получили протокол с кодом 50 (отчет не принят) или 30 (принят частично), формируем корректирующую форму. Мы не можем просто отправить правильный файл поверх старого. Алгоритм исправления следующий:

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

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

← На главную