Перейти к содержимому

ЭДО — массовая отправка пачками и сопоставление входящих

Директивный

#эдо#обмен#надёжность#идемпотентность

Работа с ЭДО (1С:ЭДО, Диадок, роуминг) на потоке документов обязана учитывать, что это не один документ, а пачка, и что с ней одновременно работают несколько людей:

  • Массовая отправка/подписание — пачками или в фоне, а не «выделить все и отправить» одним синхронным действием: большой объём упирается в таймаут и ошибки подписи. Повторная отправка шлёт только неотправленные, а не всё заново.
  • Параллельная работа не конфликтует. Два бухгалтера, отправляющие документы одновременно, не должны ловить ошибки и гонки — разделение по организации/участку, блокировка или очередь.
  • Ошибка одного документа не валит пачку. Отправка/подписание — пооперационно (Попытка на документ), упавший фиксируется со статусом и причиной, повтор — только по упавшим.
  • Входящие сопоставляются с документами 1С по устойчивому ключу (номер + дата
  • Статусы ЭДО отражаются, а не теряются: отправлен / подписан / отклонён / аннулирован — видно в 1С; аннулирование и отказ обрабатываются, а не молчат.

ЭДО-задачи почти всегда всплывают на объёме и на параллельности — ровно там, где «работало на одном документе» ломается. Реальные симптомы: массовое выделение документов упирается в долгую обработку и ошибки подписи; одновременная отправка двумя людьми даёт сбой у одного из них; входящие счета-фактуры сопоставляются по одному полю и либо задваивают поступления, либо теряются. Всё это — не баг платформы ЭДО, а отсутствие пачечной, идемпотентной и конкурентно-безопасной логики поверх неё.

  • Разовая отправка одного-двух документов руками — пачечная логика избыточна, но сопоставление входящих по устойчивому ключу остаётся.
  • Платформенный механизм уже гарантирует пачечность и статусы (типовой функционал БСП «Электронный документооборот» без доработок) — не переписываем его; правило действует, когда пишем свою логику поверх.