Почему не работает расшифровка в отчете «Полный свод начислений» в 1С:ЗУП 3.1.8 и как это исправить?

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

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

Выясним причину: технический анализ ошибки 30164914

Ситуация, когда при двойном клике по ячейке отчета (например, в «Полном своде начислений, удержаний и выплат») ничего не происходит или контекстное меню оказывается пустым, напрямую связана с критической программной ошибкой, зарегистрированной под номером 30164914. Проанализируем, почему это затронуло именно ветку 3.1.8.

В этой версии разработчики предприняли попытку глобального изменения механизма работы Системы компоновки данных (СКД). Изменения коснулись стандартной подсистеме «Варианты отчетов», которая отвечает за формирование интерфейса и обработку действий пользователя в отчетах. В результате «оптимизации» кода в релизах 3.1.8.110–3.1.8.113 возникла коллизия: алгоритм не мог корректно определить доступные поля расшифровки для текущего варианта отчета.

Важно понимать, что проблема не ограничивалась только «Сводом». Мы можем наблюдать аналогичное поведение в следующих формах:

Разберем основной способ решения: обновление конфигурации

Как показывает практика и подтверждают сообщения специалистов, никакие манипуляции с платформой (например, переход на 8.3.12 или 8.3.13) не решают проблему, так как ошибка заложена в самом программном коде конфигурации. Проанализируем последовательность действий для исправления ситуации:

  1. Проверим текущий номер релиза. Если ваша конфигурация находится в диапазоне от 3.1.8.110 до 3.1.8.113, расшифровка работать не будет.
  2. Выполним обновление до релиза 3.1.8.137 или выше. В этом выпуске разработчики официально подтвердили исправление ошибки 30164914.
  3. После обновления обязательно произведем обновление вспомогательных данных (запускается автоматически или через обработку «Обновление информационной базы»).

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


Процедура ОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    ПараметрыВыбора = Новый Структура("ИсточникДанных, ПолеРасшифровки", ЭтотОбъект, Расшифровка);
    ОтчетыСервер.ОткрытьФормуВыбораПоляРасшифровки(ПараметрыВыбора);
КонецПроцедуры

Проанализируем сопутствующие риски ветки 3.1.8

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

1. Потеря или замена лицевых счетов сотрудников

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

2. Расчет НДФЛ в межрасчетных документах

Посмотрим на поведение документов Отпуск и Больничный лист. В ранних сборках 3.1.8 наблюдались проблемы с расчетом налога, если у сотрудника были перерасчеты за прошлые периоды. Налог мог распределяться «рваными» частями (положительные и отрицательные суммы), что создавало колоссальные трудности при формировании отчета 6-НДФЛ.

3. Начисление взносов по договорам ГПХ

Выясним причину жалоб на расчеты с договорниками. Если дата акта по договору ГПХ не совпадает с последним днем месяца, документ Начисление зарплаты и взносов мог игнорировать такие начисления при расчете страховых взносов. Это требует тщательной проверки каждого документа после обновления.

Методы временного решения без обновления (для разработчиков)

Если по каким-то причинам мгновенное обновление до 137-го релиза невозможно, проанализируем варианты обхода ошибки:

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

Рассмотрим, как может выглядеть фрагмент кода в расширении для восстановления работоспособности (упрощенный пример):


&Вместо("ПриКомпоновкеРезультата")
Процедура Ист_ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    // Принудительно включаем использование расшифровки
    ЭтотОбъект.РезультатОтчета.ИспользованиеРасшифровки = Истина;
    ПродолжитьВызов(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка);
КонецПроцедуры

Резюме и рекомендации

Подводя итог, можно сказать, что ветка 3.1.8 стала переходным этапом, в котором внедрялись масштабные изменения в ядро системы. Если вы столкнулись с тем, что «Полный свод» не расшифровывается, единственным стабильным решением является обновление до релиза 3.1.8.137 или выше.

Перед обновлением мы рекомендуем выполнить следующие действия:

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

← На главную