При администрировании файловых баз 1С:Предприятие, опубликованных на веб-сервере IIS, мы можем столкнуться с труднодиагностируемой проблемой. Пользователи работают нормально, но при попытке сформировать определенную печатную форму (например, «Акт сверки») или ввести документ на основании, программа аварийно завершается с ошибкой.
Текст ошибки выглядит следующим образом:
Неспецифицированная ошибка работы с ресурсом
Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm
В этой статье мы подробно разберем причины возникновения этой ошибки, выясним, почему она появляется именно при работе с печатными формами, и рассмотрим пошаговый план решения проблемы.
Прежде чем приступать к «лечению», давайте разберемся в диагнозе. Адрес /e1cib/logForm используется клиентским приложением 1С (тонким клиентом или веб-клиентом) для отправки данных об ошибках на сервер.
Когда мы видим сообщение «Ошибка при выполнении запроса POST к ресурсу /e1cib/logForm», это означает следующее: клиентское приложение попыталось сообщить серверу о сбое, но сервер не ответил. Почему сервер не ответил? В 99% случаев это означает, что рабочий процесс веб-сервера (в случае с IIS это процесс w3wp.exe), который обслуживал данный сеанс, аварийно завершился (упал) именно в этот момент.
Поэтому искать причину нужно не в логах 1С (они могут просто не успеть записаться), а в настройках веб-сервера IIS и окружения операционной системы.
Одна из самых распространенных причин краха процесса IIS при работе с 1С — это несоответствие разрядности модулей расширения веб-сервера и настроек пула приложений.
Если мы установили 64-битную платформу 1С:Предприятие и опубликовали базу, IIS должен запускать рабочий процесс в 64-битном режиме. Однако часто по умолчанию или из-за старых настроек IIS пытается запустить процесс как 32-битный.
Давайте проверим это:
Решение: Если у вас установлена 64-битная версия 1С, значение этого параметра должно быть строго False. Если там стоит True, IIS пытается загрузить 64-битные DLL 1С в 32-битное адресное пространство, что при любой серьезной нагрузке (генерация печатной формы) приводит к падению процесса.
При формировании печатных форм, особенно содержащих сложные таблицы или картинки (например, QR-коды в счетах), платформа 1С активно использует временные файлы. Процесс IIS работает от имени служебного пользователя (обычно это IIS AppPool\ИмяПула или IUSR).
Если у этого пользователя нет прав на запись в системные временные папки, процесс может завершиться аварийно при попытке создать временный файл.
Проанализируем необходимые права:
1Cv8.1CD).C:\Windows\Temp. Пользователь IIS должен иметь права на чтение и запись в эту папку.Диагностический прием: Чтобы исключить проблему прав, попробуйте временно сменить удостоверение пула приложений. В Дополнительных параметрах пула найдите поле Удостоверение (Identity) и установите там локального администратора. Если ошибка исчезнет — проблема точно в правах доступа к файловой системе.
Это очень неочевидная, но частая проблема. Когда мы формируем табличный документ (например, «Акт сверки»), платформа 1С обращается к драйверу принтера, чтобы рассчитать, как текст будет размещаться на листе (разрывы страниц, шрифты, отступы).
Веб-сервер IIS работает как служба, без интерактивного входа пользователя. В этом режиме:
w3wp.exe).Решение:
Файловая база данных при работе через веб-сервер загружает движок СУБД прямо в память рабочего процесса веб-сервера. При формировании «тяжелых» отчетов потребление оперативной памяти может резко возрастать.
В настройках Пула приложений IIS есть механизмы защиты (Recycling), которые перезапускают процесс, если он потребляет слишком много ресурсов. Если лимит установлен слишком низким, IIS просто «убивает» процесс 1С в момент формирования отчета.
Давайте проверим настройки рециркуляции:
Решение: Для теста установите эти значения в 0 (что означает «без ограничений»). Это позволит убедиться, что IIS не принудительно завершает процесс из-за скачка потребления памяти.
Для файловых баз 1С критически важно, чтобы с файлом базы данных работал только один процесс. Файловая версия плохо переносит конкурентный доступ со стороны разных процессов веб-сервера, что может приводить к блокировкам и крахам.
Проверим параметр Максимальное число рабочих процессов (Maximum Worker Processes) в настройках пула приложений.
Решение: Убедитесь, что значение этого параметра равно 1. Использование режима Web Garden (значение больше 1) для файловых баз 1С недопустимо и гарантированно приведет к ошибкам.
Ошибка /e1cib/logForm при печати — это следствие падения процесса веб-сервера. Чтобы устранить проблему, выполните следующие действия в указанном порядке:
C:\Windows\Temp.