Почему при отправке по электронной почте из 1С не прикрепляется электронный счет на оплату?

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

При работе в 1С:Бухгалтерия 3.0 пользователи часто сталкиваются с ситуацией, когда при отправке счета на оплату напрямую из программы (через кнопку с изображением конверта) в сформированном письме отсутствует вложение в виде электронного счета (формат XML). Хотя в интерфейсе и обучающих материалах предполагается, что электронное представление документа должно добавляться автоматически, на практике поле вложений может оказаться пустым или содержать только печатную форму. Рассмотрим подробно, почему это происходит, как диагностировать ошибку и какие настройки проверить в первую очередь.

Анализ механизмов формирования электронного документа

Для начала разберем, как именно 1С формирует это вложение. Процесс не ограничивается простым копированием данных. Программа запускает механизмы подсистемы «Электронное взаимодействие». Даже если вы не используете полноценный ЭДО с передачей через оператора, для формирования XML-файла счета 1С проверяет документ на соответствие форматам ФНС. Если хотя бы один реквизит, обязательный для выгрузки, заполнен некорректно или отсутствует, система молча (или с записью в системный лог) прерывает формирование файла, и в тело письма ничего не прикрепляется.

Проверка обязательных реквизитов контрагента

Одной из самых распространенных причин является отсутствие или некорректность данных в карточке контрагента. Проанализируем типичную ситуацию: в модуле менеджера документа СчетНаОплатуПокупателю существует проверка заполнения ИНН. Рассмотрим фрагмент кода, который может блокировать процесс:


Если Не ЗначениеЗаполнено(ВыборкаДанных.КонтрагентИНН) Тогда
    // Формирование электронного представления прерывается
    Возврат Ложь;
КонецЕсли;

Если в справочнике Контрагенты у получателя не заполнен ИНН, программа не сможет сформировать юридически значимый XML-документ по стандартам ФНС. Аналогично стоит проверить наличие КПП для юридических лиц и юридического адреса. Если адрес введен в свободной форме, а не по классификатору ФИАС (без индекса или кодов региона), валидация также может не пройти.

Соответствие кодов единиц измерения (ОКЕИ)

Еще один важный момент, на который стоит обратить внимание — это классификатор единиц измерения. Формат электронного счета строго регламентирует длину и формат кода единицы измерения. Разберем пример из практики: если у вас в справочнике КлассификаторЕдиницИзмерения для позиции «Штука» указан код «1» или «шт», система выдаст ошибку, так как ожидается трехзначный цифровой код по ОКЕИ (например, «796» для штук).

Выясним причину через код. В общем модуле ОбменСКонтрагентамиВнутренний в функции СформироватьСчетНаОплатуПоДокументу происходит проверка:


Если Не ЗначениеЗаполнено(Ошибки) Тогда
    // Код формирования XML
Иначе
    // Запись ошибки: "Ожидается длина кода базовой единицы измерения 3 символа, а получено 1"
КонецЕсли;

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

Использование Журнала регистрации для диагностики

Если визуально в документе все заполнено верно, но файл не прикрепляется, нам поможет Журнал регистрации. Это основной инструмент технического анализа в 1С. Для поиска причин выполним следующие шаги:

  1. Откроем раздел Администрирование — Обслуживание — Журнал регистрации.
  2. Установим фильтр по событию: Электронное взаимодействие. Обмен с контрагентами.
  3. Проанализируем записи с уровнем «Ошибка» или «Предупреждение». Именно там программа фиксирует, какой именно реквизит не прошел проверку XSD-схемы.
  4. Дополнительно проверим события Справочники.ПрисоединенныеФайлы, так как электронный счет перед отправкой временно сохраняется в системе как присоединенный файл.

Настройка функциональных опций и шаблонов писем

Иногда проблема кроется не в данных документа, а в настройках самой программы. Рассмотрим параметры, влияющие на отправку:

Технические ограничения платформы и кэширование

В редких случаях проблема может быть вызвана нестандартными символами в наименовании номенклатуры (спецсимволы, кавычки-елочки, невидимые знаки переноса строки), которые не пропускает валидатор XML. Проанализируем также версию платформы 1С. В релизах ветки 8.3.15 наблюдались ошибки в работе модулей криптографии, которые могли косвенно влиять на работу подсистемы обмена. В такой ситуации рекомендуется:

  1. Очистить локальный кэш конфигурации на рабочем месте пользователя.
  2. Проверить работу фоновых заданий, связанных с обработкой электронных документов.
  3. При возможности обновить платформу до актуального стабильного релиза (например, 8.3.22 или выше).

Подводя итог, можно сказать, что отсутствие вложения — это всегда результат непройденной валидации данных. Проверив ИНН контрагента, коды ОКЕИ и заглянув в Журнал регистрации, вы с высокой вероятностью сможете самостоятельно устранить проблему и обеспечить корректную отправку электронных счетов вашим партнерам.

← На главную