← На главную
При отправке электронных документов через сервис 1С:ЭДО пользователи нередко сталкиваются с ситуацией, когда штатный документ учетной системы не отправляется контрагенту. Типичный сценарий: бухгалтер создает и проводит документ «Счет покупателю», нажимает кнопку подписания и отправки, однако процесс прерывается критической системной ошибкой с кратким описанием: «Файл документа изменен». При этом документ не редактировался вручную после создания, а сама ошибка проявляется плавающим образом — например, при каждой второй или третьей отправке.
Проанализируем природу этой неполадки и разберем по шагам, как локализовать и устранить сбой в работе сервиса электронного документооборота.
Выясним причину возникновения ошибки
В отличие от счетов-фактур, товарных накладных или универсальных передаточных документов (УПД), которые передаются в виде формализованных структурированных XML-файлов по утвержденным форматам ФНС, счет на оплату покупателю чаще всего формируется как произвольный вложенный документ — печатная форма в формате PDF.
Сбой может происходить под воздействием следующих факторов:
- Платформенные ошибки обработки формата PDF. В определенных сборках технологической платформы 1С (в частности, в ветках
8.3.27) зарегистрированы ошибки работы встроенного механизма формирования и сериализации PDF в клиент-серверном режиме. При формировании печатной формы на сервере и последующей передаче двоичных данных в клиентскую часть платформа может аварийно завершать операцию либо возвращать исключение о модификации файла.
- Фоновое изменение объекта транзакцией учетной системы. После записи и проведения счета могут инициироваться обработчики подписок на события, фоновые задания автозаполнения, фиксация статусов или версионирование. Если контрольная сумма файла или карточки документа уже была зафиксирована библиотекой электронных документов (
БЭД), любое последующее фоновое изменение реквизита приводит к несовпадению хешей, что расценивается системой как внешнее изменение документа.
- Блокировка и модификация временных файлов антивирусом. Перед подписанием криптографическим сертификатом файл сохраняется во временном хранилище операционной системы (каталог
%TEMP% пользователя или служебный каталог srvinfo кластера серверов). Антивирусное ПО или службы фоновой индексации диска могут сканировать и временно блокировать файл, меняя системные атрибуты доступа и вызывая ошибку платформы.
- Задержки сетевой файловой системы при хранении файлов в томах. Если в базе данных настроено хранение файлов в томах на сетевом диске, между фиксацией записи и физическим сбросом буфера на диск может возникнуть состояние гонки (race condition), из-за чего модуль проверки подлинности считает файл поврежденным или измененным.
Решение 1. Обновление технологической платформы 1С:Предприятие
Рассмотрим основное решение, доказавшее свою эффективность на практике. Поскольку ошибка часто является результатом внутреннего сбоя механизмов формирования PDF-файлов и передачи потоков двоичных данных на сервере 1С, первоочередным действием является обновление платформы.
- Определим текущий номер релиза технологической платформы через главное меню конфигурации: Справка → О программе.
- Проверим наличие актуальных стабильных релизов платформы 1С:Предприятие 8.3 на официальном портале обновлений.
- Выполним резервное копирование информационной базы.
- Установим последнюю стабильную сборку платформы на сервер 1С:Предприятия и на рабочие станции пользователей (либо обновим тонкие клиенты).
- Перезапустим службу
ragent (Агент сервера 1С:Предприятия).
Решение 2. Принудительное переформирование электронного документа
Если обновление платформы временно невозможно или ошибку необходимо быстро обойти для конкретного неотправленного счета, применим ручное переформирование пакета.
- Откроем форму просмотра неотправленного электронного документа.
- В верхней панели команд нажмем кнопку Еще (или Другие действия).
- Выберем команду Переформировать документ.
- Дождемся, пока система удалит ранее сгенерированный рассинхронизированный файл, создаст новый двоичный образ и заново рассчитает его контрольную сумму.
- Повторим подписание сертификатом электронной подписи и отправку.
Решение 3. Настройка исключений антивируса и очистка кэша
Исключим блокировки файлов со стороны операционной системы и сторонних служб защиты. Для этого выполним административную настройку сервера и рабочих станций:
- Добавим в список исключений постоянного мониторинга антивирусного ПО каталоги временных файлов:
- Папки
AppData\Local\Temp пользователей, работающих с ЭДО.
- Рабочую папку кластера серверов 1С (по умолчанию
C:\Program Files\1cv8\srvinfo).
- Каталоги сетевых томов, если файлы информационной базы хранятся на внешнем дисковом ресурсе.
- Выполним полную очистку клиентского кэша на рабочем месте бухгалтера (путем удаления каталогов в
%LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8 либо пересозданием базы в списке запуска).
- Очистим кэш сеансов на сервере 1С:Предприятия, перезапустив службу кластера.
Решение 4. Корректировка настроек отправки и регламента работы
Разберем дополнительные способы обойти ошибку, связанные с логикой отправки данных:
- Изменение формата отправки счета. Перейдем в раздел Администрирование → Обмен электронными документами → Настройки ЭДО. Откроем карточку соглашения с проблемным контрагентом. В табличной части настроек отправки найдем строку «Счет на оплату» и проверим способ формирования. Если отправка настроена в формате произвольного документа PDF, протестируем переключение на структурированный XML-документ (если контрагент поддерживает такой формат), или наоборот.
- Отправка через «Текущие дела ЭДО» с паузой. Если в конфигурации активно версионирование или тяжелые подписки на события при записи, избегайте мгновенного нажатия кнопки отправки сразу после проведения счета. Рекомендуется провести счет, закрыть форму и выполнять отправку пакетов централизованно через рабочее место
Текущие дела ЭДО. За это время все фоновые транзакции записи завершатся, и целостность данных счета не будет нарушена.
- Проверка расположения файлов. В разделе Администрирование → Настройки работы с файлами временно переключим режим хранения файлов в томах на хранение непосредственно В информационной базе. Если после этого проблема исчезает, причина заключается в сетевых задержках или правах доступа к каталогу файлового тома.