Как исправить ошибку 1С:ЭДО «Файл документа изменен» при отправке счета покупателю?

Системный администратор 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет IT и автоматизация бизнеса
← На главную

При отправке электронных документов через сервис 1С:ЭДО пользователи нередко сталкиваются с ситуацией, когда штатный документ учетной системы не отправляется контрагенту. Типичный сценарий: бухгалтер создает и проводит документ «Счет покупателю», нажимает кнопку подписания и отправки, однако процесс прерывается критической системной ошибкой с кратким описанием: «Файл документа изменен». При этом документ не редактировался вручную после создания, а сама ошибка проявляется плавающим образом — например, при каждой второй или третьей отправке.

Проанализируем природу этой неполадки и разберем по шагам, как локализовать и устранить сбой в работе сервиса электронного документооборота.

Выясним причину возникновения ошибки

В отличие от счетов-фактур, товарных накладных или универсальных передаточных документов (УПД), которые передаются в виде формализованных структурированных XML-файлов по утвержденным форматам ФНС, счет на оплату покупателю чаще всего формируется как произвольный вложенный документ — печатная форма в формате PDF.

Сбой может происходить под воздействием следующих факторов:

  1. Платформенные ошибки обработки формата PDF. В определенных сборках технологической платформы 1С (в частности, в ветках 8.3.27) зарегистрированы ошибки работы встроенного механизма формирования и сериализации PDF в клиент-серверном режиме. При формировании печатной формы на сервере и последующей передаче двоичных данных в клиентскую часть платформа может аварийно завершать операцию либо возвращать исключение о модификации файла.
  2. Фоновое изменение объекта транзакцией учетной системы. После записи и проведения счета могут инициироваться обработчики подписок на события, фоновые задания автозаполнения, фиксация статусов или версионирование. Если контрольная сумма файла или карточки документа уже была зафиксирована библиотекой электронных документов (БЭД), любое последующее фоновое изменение реквизита приводит к несовпадению хешей, что расценивается системой как внешнее изменение документа.
  3. Блокировка и модификация временных файлов антивирусом. Перед подписанием криптографическим сертификатом файл сохраняется во временном хранилище операционной системы (каталог %TEMP% пользователя или служебный каталог srvinfo кластера серверов). Антивирусное ПО или службы фоновой индексации диска могут сканировать и временно блокировать файл, меняя системные атрибуты доступа и вызывая ошибку платформы.
  4. Задержки сетевой файловой системы при хранении файлов в томах. Если в базе данных настроено хранение файлов в томах на сетевом диске, между фиксацией записи и физическим сбросом буфера на диск может возникнуть состояние гонки (race condition), из-за чего модуль проверки подлинности считает файл поврежденным или измененным.

Решение 1. Обновление технологической платформы 1С:Предприятие

Рассмотрим основное решение, доказавшее свою эффективность на практике. Поскольку ошибка часто является результатом внутреннего сбоя механизмов формирования PDF-файлов и передачи потоков двоичных данных на сервере 1С, первоочередным действием является обновление платформы.

  1. Определим текущий номер релиза технологической платформы через главное меню конфигурации: Справка → О программе.
  2. Проверим наличие актуальных стабильных релизов платформы 1С:Предприятие 8.3 на официальном портале обновлений.
  3. Выполним резервное копирование информационной базы.
  4. Установим последнюю стабильную сборку платформы на сервер 1С:Предприятия и на рабочие станции пользователей (либо обновим тонкие клиенты).
  5. Перезапустим службу ragent (Агент сервера 1С:Предприятия).

Решение 2. Принудительное переформирование электронного документа

Если обновление платформы временно невозможно или ошибку необходимо быстро обойти для конкретного неотправленного счета, применим ручное переформирование пакета.

  1. Откроем форму просмотра неотправленного электронного документа.
  2. В верхней панели команд нажмем кнопку Еще (или Другие действия).
  3. Выберем команду Переформировать документ.
  4. Дождемся, пока система удалит ранее сгенерированный рассинхронизированный файл, создаст новый двоичный образ и заново рассчитает его контрольную сумму.
  5. Повторим подписание сертификатом электронной подписи и отправку.

Решение 3. Настройка исключений антивируса и очистка кэша

Исключим блокировки файлов со стороны операционной системы и сторонних служб защиты. Для этого выполним административную настройку сервера и рабочих станций:

  1. Добавим в список исключений постоянного мониторинга антивирусного ПО каталоги временных файлов:
    1. Папки AppData\Local\Temp пользователей, работающих с ЭДО.
    2. Рабочую папку кластера серверов 1С (по умолчанию C:\Program Files\1cv8\srvinfo).
    3. Каталоги сетевых томов, если файлы информационной базы хранятся на внешнем дисковом ресурсе.
  2. Выполним полную очистку клиентского кэша на рабочем месте бухгалтера (путем удаления каталогов в %LOCALAPPDATA%\1C\1cv8 и %APPDATA%\1C\1cv8 либо пересозданием базы в списке запуска).
  3. Очистим кэш сеансов на сервере 1С:Предприятия, перезапустив службу кластера.

Решение 4. Корректировка настроек отправки и регламента работы

Разберем дополнительные способы обойти ошибку, связанные с логикой отправки данных:

  1. Изменение формата отправки счета. Перейдем в раздел Администрирование → Обмен электронными документами → Настройки ЭДО. Откроем карточку соглашения с проблемным контрагентом. В табличной части настроек отправки найдем строку «Счет на оплату» и проверим способ формирования. Если отправка настроена в формате произвольного документа PDF, протестируем переключение на структурированный XML-документ (если контрагент поддерживает такой формат), или наоборот.
  2. Отправка через «Текущие дела ЭДО» с паузой. Если в конфигурации активно версионирование или тяжелые подписки на события при записи, избегайте мгновенного нажатия кнопки отправки сразу после проведения счета. Рекомендуется провести счет, закрыть форму и выполнять отправку пакетов централизованно через рабочее место Текущие дела ЭДО. За это время все фоновые транзакции записи завершатся, и целостность данных счета не будет нарушена.
  3. Проверка расположения файлов. В разделе Администрирование → Настройки работы с файлами временно переключим режим хранения файлов в томах на хранение непосредственно В информационной базе. Если после этого проблема исчезает, причина заключается в сетевых задержках или правах доступа к каталогу файлового тома.
← На главную