Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm является одной из самых неприятных и «симптоматических» в экосистеме 1С:Предприятие 8.3. Она сигнализирует о том, что связь между клиентским приложением и сервером была аварийно разорвана в момент передачи данных формы. Сообщение «На сервере произошла неисправимая ошибка» часто сопровождается закрытием программы, потерей несохраненных данных и зависанием параллельных сессий. Рассмотрим подробно, почему это происходит и как вылечить систему.
Одной из наиболее частых причин падения процесса rphost (который и отвечает за выполнение запроса) является превышение лимитов памяти или некорректная настройка кластера. Если серверу не хватает ресурсов для сериализации данных формы (превращения их в пакет для отправки клиенту), он просто завершает работу.
Разберем шаги по оптимизации кластера:
rphost приходится слишком много соединений, риск падения возрастает. Рекомендуется установить параметр «Количество ИБ на один процесс» в значение 1, а «Количество соединений на один процесс» ограничить разумным пределом (например, 25–50).300 секунд (или другое небольшое значение) может помочь временно «сбрасывать» накопившиеся ошибки в памяти, однако это лишь борьба с симптомами.Иногда ошибка возникает не из-за платформы, а из-за конкретных данных, которые система пытается отрисовать на форме. Выясним причину через анализ объектов:
Поврежденные изображения: Как показывает практика, часто ошибка POST /e1cib/moxel или logForm возникает при печати документов (например, Счетов на оплату), где используются факсимиле (печати и подписи). Если загруженный файл картинки поврежден или имеет несовместимый формат, сервер падает при попытке сформировать печатную форму.
Рассмотрим алгоритм исправления:
Реструктуризация таблиц: Если ошибка «плавающая» и возникает только при работе с конкретным справочником или документом, возможно, повреждена структура таблицы в SQL. Попробуем выполнить принудительную реструктуризацию:
Справочник.Контрагенты) новый реквизит Реквизит1 с типом Строка.Проанализируем ситуацию с точки зрения разработки. Ошибка может быть вызвана некорректной работой с объектами, которые «умирают» в памяти раньше, чем к ним обращается форма.
Типичный пример ошибки при работе с ПостроительDOM:
// Ошибочный код
Для каждого Узел Из СписокУзлов Цикл
// Если здесь мы переопределяем переменную, которая держит основной ДокументDOM,
// то СписокУзлов может стать невалидным, и следующая итерация вызовет краш.
ДокументDOM = ПрочитатьНовыйФайл();
КонецЦикла;
Также проверим права доступа. Бывают случаи, когда форма пытается отобразить данные, к которым у пользователя нет прав (например, через механизм RLS или параметры построителя отчета). Если система не может корректно обработать отказ в доступе на уровне формирования данных формы, она может выдать ошибку POST.
Не забудем про самое простое — очистку кэша. Но в случае с logForm речь часто идет не только о локальном кэше пользователя, но и о серверных временных файлах.
Рассмотрим шаги по полной очистке:
srvinfo\reg_1541\snccntx* (папки сеансовых данных). В версиях платформы 8.3.22.1750 и выше был зафиксирован баг (ошибка 70018120), когда каталог сеансовых данных портился после рестарта сервера, что приводило к вылетам при передаче больших объемов данных.%AppData%\1C\1Cv8 и %LocalAppData%\1C\1Cv8).Если база опубликована через веб-сервер (IIS или Apache), проанализируем настройки публикации. Ошибка POST-запроса может возникать из-за того, что веб-сервер обрывает соединение по таймауту или из-за слишком большого объема передаваемого контента.
maxAllowedContentLength.rphost.exe в исключения или включить DEP только для основных программ Windows.Резюме: Если вы столкнулись с ошибкой /e1cib/logForm, начните с очистки кэша и проверки макетов печатей. Если это не помогло — переходите к тонкой настройке рабочих процессов сервера и увеличению лимитов памяти. В самых сложных случаях поможет технологический журнал (ТЖ) с настроенным событием EXCP, который покажет конкретный модуль или запрос, на котором «падает» серверный процесс.