При работе с крупными отчетами в системе 1С:Предприятие, такими как «Анализ ФОТ по начислениям» за длительный период (год и более), пользователи часто сталкиваются с неприятной ситуацией. В толстом клиенте система выдает сообщение «Параметр сеанса отсутствует или удален» или «Возникла непредвиденная ошибка», а в тонком клиенте отчет попросту не формируется, показывая пустой результат.
В этой статье мы подробно разберем причины возникновения этой проблемы, проанализируем техническую природу ошибки и рассмотрим пошаговые алгоритмы ее «лечения» — от простых манипуляций с кэшем до глубокой настройки серверной части.
Прежде чем переходить к активным действиям, выясним причину сбоя. Ошибка «Параметр сеанса отсутствует или удален» обычно возникает в тот момент, когда отчет формируется во вторичном (фоновом) задании. Для повышения производительности 1С часто выносит построение тяжелых отчетов в фон.
Когда фоновое задание завершает работу, оно должно передать результат (структуру данных) обратно в основной сеанс пользователя. Если в этот момент связь между фоновым заданием и контекстом сеанса разрывается или данные в специальном хранилище на сервере оказываются повреждены, система «теряет» параметры сеанса. Это может происходить из-за нехватки оперативной памяти, блокировок файлов антивирусом или некорректной работы менеджера временных хранилищ платформы.
Как показывает практика и подтверждают участники обсуждения, наиболее эффективным способом является физическая очистка временных данных кластера серверов 1С. Проанализируем, как это сделать правильно, чтобы не повредить рабочую базу.
Алгоритм действий для серверной базы:
rmngr или rphost. Перейдите в «Службы» (services.msc) и остановите Агент сервера 1С:Предприятия.
C:\Program Files\1cv8\srvinfo\reg_1541\
Здесь reg_1541 — это идентификатор вашего кластера (номер может отличаться, если вы меняли порты).snccntx. Именно в этой директории хранятся контексты сеансов. Со временем там могут накапливаться «битые» файлы, которые мешают корректной инициализации параметров.Иногда проблема кроется не в сервере, а в «испорченных» пользовательских настройках конкретного отчета. Если отчет перестал открываться только у одного пользователя или после внесения изменений в структуру, рассмотрим следующий вариант:
Это действие полностью сбросит компоновку данных к тому виду, который был задуман разработчиком конфигурации, и исключит ошибки в пользовательских полях.
Если ваша база работает в файловом режиме и опубликована на веб-сервере (например, IIS или Apache), то папки snccntx в привычном понимании может не быть. В этом случае проанализируем работу веб-компонентов:
World Wide Web Publishing Service (для IIS) или службы Apache. Это принудительно завершит все зависшие сеансы и очистит временный кэш пула приложений.IUSR или NetworkService), имеет полные права (Запись, Изменение) на папку с базой данных и на системную папку Temp.Бывают ситуации, когда ошибка вызвана отсутствием предопределенных элементов, на которые ссылается код отчета. Посмотрим на пример из практики: при выгрузке отчета во внешний файл может выпасть сообщение о том, что отсутствует элемент в ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.
В такой ситуации рекомендуется выполнить Тестирование и исправление (ТиИ):
Проанализируем ситуацию, когда ошибка возникает только при выборе очень большого периода (например, отчет за 3 года). Это явный признак того, что процесс rphost достигает лимита выделенной ему памяти.
Посмотрим на настройки в консоли администрирования кластера 1С:
0 (без ограничений). Если памяти физически не хватает, сервер убивает «прожорливый» процесс, что и приводит к потере параметров сеанса.Также стоит проверить настройки SQL-сервера. Если база данных tempdb переполнена или расположена на диске с малым объемом свободного места, это может приводить к сбоям при формировании временных таблиц для тяжелых отчетов.
Резюмируем: в большинстве случаев «лечение» заключается в очистке папки snccntx и перезапуске служб. Если же проблема повторяется, следует обратить внимание на объем оперативной памяти сервера и настройки лимитов в консоли кластера.