При подготовке регламентированной отчетности бухгалтеры и системные администраторы нередко сталкиваются с крайне неприятной проблемой: при попытке заполнить или открыть Расчет по страховым взносам (РСВ) программа «1С:Зарплата и управление персоналом» зависает. На экране часами висит диалоговое окно «Отчет формируется. Пожалуйста подождите», после чего сеанс аварийно завершается с ошибкой или система просто закрывается без объяснения причин.
Особенно остро эта проблема проявилась на стыке обновлений платформы 1С:Предприятие (в частности, при переходе на релизы ветки 8.3.16) и конфигурации 1С:ЗУП версии 3.1.14.61. В этой статье мы подробно разберем, почему возникает данная техническая коллизия, и пошагово рассмотрим все доступные методы ее решения.
Как показывает практика практикующих специалистов, наиболее частой причиной «мертвого» зависания тяжелых отчетов после обновления платформы является рассинхронизация индексов СУБД или повреждение таблиц базы данных. При обновлении платформы механизмы работы с СУБД оптимизируются, и если в структуре базы были скрытые дефекты, они мгновенно выходят наружу.
Для исправления этой ситуации выполним процедуру Тестирования и исправления (ТиИС) информационной базы. Настоятельно рекомендуем перед началом процедуры создать резервную копию (бэкап) базы данных! Для автоматического архивирования и тестирования баз 1С по расписанию без участия пользователя предусмотрен специализированный инструмент технического обслуживания.
Разберем по шагам, как запустить тестирование:
Реиндексация таблиц информационной базы — восстановит корректный порядок индексов, что напрямую влияет на скорость выполнения тяжелых запросов при заполнении РСВ.Проверка логической целостности информационной базы — проверит логические связи между таблицами и исправит внутренние ошибки конфигурации.Проверка ссылочной целостности информационной базы — поможет выявить «битые» ссылки (объекты, которые были удалены, но на них остались ссылки в документах начислений). В положениях «При наличии несуществующих ссылок» выберем вариант Очищать ссылки или Создавать объекты (в зависимости от учетной политики).Реструктуризация таблиц информационной базы — самый глубокий процесс, который физически пересоздаст таблицы базы данных, исключая любые скрытые сбои формата хранения.После завершения тестирования запустим программу в режиме «Предприятие» и проверим заполнение РСВ. В большинстве случаев этот метод полностью решает проблему бесконечного ожидания.
В период сдачи отчетности за 2020 год контролирующие органы часто вносили изменения «на лету». Чтобы оперативно отразить эти изменения без выпуска полноценного релиза конфигурации, разработчики 1С применили механизм автоматического подключения внешних форм отчетов через интернет-поддержку. Однако интеграция внешнего отчета РСВ иногда приводила к критическим багам и конфликтам с кодом платформы.
Если тестирование базы не принесло результатов, попробуем отключить внешний отчет и вернуться к стандартному встроенному объекту конфигурации. Проанализируем, как это сделать:
Администрирование -> Печатные формы, отчеты и обработки -> Регламентированные отчеты).После этого перезапустим сеанс программы и попробуем сформировать отчет заново. Встроенный объект отработает без привлечения стороннего внешнего кода.
При обновлении технологической платформы (например, при переходе на релиз 8.3.16.1502) локальные файлы кэша, хранящиеся на компьютере пользователя, могут начать некорректно обрабатываться новой версией платформы. Это приводит к зависаниям интерфейса при построении сложных схем компоновки данных (СКД), которые активно используются при заполнении РСВ.
Рассмотрим процедуру ручной очистки кэша программы:
%userprofile%\AppData\Local\1C\1Cv8, после чего нажмем Enter.29d846cb-83d3-4a1d-84e1...). Это и есть временный кэш баз данных. Удалим все эти папки.%userprofile%\AppData\Roaming\1C\1Cv8 и также очистим все папки с длинными буквенно-цифровыми именами.Альтернативный и более быстрый способ очистить кэш для конкретной базы — удалить ее из списка запуска в окне выбора баз 1С, а затем добавить заново под тем же путем.
Если зависание заканчивается аварийным вылетом, нам необходимо понять, на каком именно этапе прерывается выполнение кода. Для этого проанализируем системные логи.
Перейдем в раздел Администрирование -> Журнал регистрации. Установим фильтр по критичности сообщений («Ошибки» и «Предупреждения») и найдем записи, созданные в момент зависания и вылета программы. Часто там можно встретить следующие записи:
{ОбщийМодуль.ЗаполнениеРегламентированнойОтчетности.Модуль}: Ошибка при вызове метода контекста (Выполнить)
по причине: Превышено максимальное время ожидания блокировки!
или: Недостаточно свободной памяти для выполнения операции.
Если в логах фигурирует ошибка нехватки памяти или превышения времени ожидания блокировки на сервере, то проблема кроется в аппаратных ресурсах. Заполнение РСВ по организации с численностью сотрудников более 100-200 человек требует колоссального объема оперативной памяти для сопоставления всех начислений по вредным условиям труда и тарифам МСП.
Рекомендация для клиент-серверного варианта: Обратимся к системному администратору с просьбой временно скорректировать настройки кластера серверов 1С:
rphost).Если отчет все-таки удалось сформировать после очистки кэша или тестирования, важно помнить о внутренних багах самого релиза 3.1.14.61, которые могут исказить показатели РСВ за 2020 год:
Для гарантированного устранения программных ошибок заполнения настоятельно рекомендуем выполнить обновление конфигурации 1С:ЗУП до более позднего стабильного релиза (например, до версий веток 3.1.14.97 / 3.1.18 и выше), в которых данные ошибки были официально зафиксированы и исправлены разработчиками. При необходимости массового обновления сумм после исправления ошибок учета можно использовать обработку для пересчета страховых взносов в документах за период.