Мы сторонники электронного документооборота с клиентами и поставщиками, в котором отсутствует проблема/задача возврата/сканирования бумажных оригиналов. Оригиналы документы подписанные по ЭДО всегда доступны в электронном виде. По разным причинам остается массив документов с контрагентами, которые не участвуют в электронном документообороте и требуется возврат и сканирование бумажных оригиналов. Примеры таких документов: УПД, счет-фактура, транспортная накладная, договор, спецификация, дополнительное соглашение, акт выполненных работ и т.д. Есть две основные задачи, связанные со сканами оригиналов первичных документов с контрагентами: Хранить сканы оригиналов, в том числе на случай утраты бумажного оригинала. Предоставлять сканы оригиналов в гос. органы, например, при запросе от ФНС. Сложности: сканировать оригиналы первичных документов, упорядочивать хранение, оперативно находить среди сканов нужные документы по запросу. До последнего времени обработкой бумажных оригиналов занимались менеджеры по документообороту, т.е. ручное: упорядочивание, сканирование, хранение, выборка. Объем документов - несколько тысяч экземпляров в месяц. Далее, на примере транспортных накладных, описан способ автоматической идентификации сканов и их хранения с привязкой к документам в 1С. А когда скан хранится в 1С, то такие документы легко найти выгрузить по запросу. Штрихкоды в печатных формах документов, на ценниках или этикетках в 1С, как правило, используются для идентификации с помощью сканера штрихкодов или ТСД. Как правило, штрихкод в 1С кодирует УИД документа в формате Code 128 высокой плотности, который позволяет кодировать цепочку символов произвольной длины. Идея автоматизации: идентифицировать сканы первичных документов по штрихкоду. Быстрое тестирование показало, что штрихкод отсканированного документа не поддается распознаванию, так как после сканирования штрихкод становится нечитаемый из-за высокой плотности формата Code 128. Затем были проверены другие популярные форматы штрихкодирования (QR-код, DataMarix, EAN-13): QR-код и DataMatrix на выходе давали низкий процент распознавания после сканирования (~50) EAN-13 оказался наиболее подходящим из-за низкой плотности (EAN-8 тоже подходит, но слишком маленькая разрядность для кодирования) Другая особенность компоненты BarcodeRecognitionAddIn в 1С, которую мы используем для распознавания штрихкодов со сканов - должны быть заданы координаты QR-кода, что усложняет процесс распознавания. Общая особенность распознавания штрихкодов со сканов - потеря качества после сканирования оригинала документа. Как в пример ниже, документы со сканированием в качестве 200 dpi не читаемые. Поэтому мы перешли на качество 300 dpi (отрицательный момент - увеличивает размеры файлов для хранения). Другая проблема сканов с качеством 300 dpi - потеря качества при ч/б сканировании. Цветное сканирование позволяет этого избежать, минус - увеличен размер файла скана. Наглядное сравнение видно при увеличении штрихкода после сканирования в двух разных режимах. Еще одна проблема - фантомные штрихкоды, которые случайно распознаются. Пример: Возникла первая задача идентификации документа 1С, из которого выполняется печать первичного документа. УИД документа в 1С 8275005056b84a2d11eddeaee1857d5a содержит 32 символа, что не позволяет его использовать в формате EAN-13. Другой ньюанс в том, что некоторые печатные формы (например, счет-фактура) могут быть рапечатаны из разных документов в 1С. С другой стороны, большинство документов в 1С имеют нумерацию в пределах года. Т.е. внутри года номер документа для вида документа 1С является уникальным. Поэтому мы реализовали кодирование штрихкода в формате EAN-13 для идентификации документов 1С: первые 2 цифры кодидуют вида документа 1С следующие 2 цифры кодидуют год для идентификации по номеру документа 1С (или сразу номер, если нумерация сквозная и не в пределе одногогода) остальные цифры кодируют номер документа 1С с учетом префикса, из которого напечатан первичный документ Пример штрихкода транспортной накладной в формате EAN-13, который успешно распознается после сканирования документа благодаря низкой плотности.  Сканирование и распознавание одного документа - это половина решения. Если менеджер по документообороту будет отдельно сканировать каждую транспортную накладную, то процесс особо не улучшается, а усложняется. Идея автоматизации: сканировать пачки документов и разбивать на отдельные файлы для хранения в 1С - без участия менеджера по документообороту. Для распознавания штрихкодов в формате EAN-13 используется стандартная компонента 1С BarcodeRecognitionAddIn. Особенность компоненты в том, что она распознает штрихкоды EAN-13 только с изображений (сканы мы храним в формате PDF). Поэтому было решено использовать утилиту ImageMagick, которая умеет разбирать PDF на изображения и собирать обратно. Для сканирования пачек документов на МФУ настроена сетевая папка, куда сохраняются все отсканированные документы.  Принцип автоматического распознавания сканов документов по штрихкоду следующий: Сотрудники сканируют пачки документов в сетевую папку Обработка в 1С каждые 15 минут считывает файлы из сетевой папки Каждая пачка PDF с помощью ImageMagick разбивается на отдельные файлы JPG Для лучшей читаемости штрихкода с помощью ImageMagick повышается контрастность Затем каждый файл распознается отдельно с помощью BarcodeRecognitionAddIn Распознанные и нераспознанные файлы в исходном виде объединяются в документы с помощью ImageMagick (транспортная накладная - это 1 файл из 2-х страниц) Распознанные файлы идентифицируются с документами 1С и сканы сохраняются в них Нераспознанные файлы загружаются в 1С и ожидают ручной привязки ответственным к документам 1С Таким образом, мы получаем скан-архив с адресным хранением документов в 1С. Пачки документов могут содержать любое количество страниц. Главное, чтобы в одной пачке содержались документы одного вида, например, только транспортные накладные. Порядок и последовательность документов в пачке может быть любая. После сканирования на МФУ каждой пачки документоа ответственный менеджер получает задачу на рабочий стол в 1С: пачка распознана с ошибками или без ошибок.   При наличии ошибок автоматического распознавания сканов ответственный менеджер формирует отчет по истории импорта сканов. Когда документ не распознан, ответственный прямо из отчета делает привязку файла скана к документу 1С этого вида. По такому же принципу штрихкодируются печатные формы, сканируются пачки и распознаются сканы других видов первичных документов, которые автоматически сохраняются в 1С. Кроме транспортных накладных, к ним относятся: УПД и счета-фактуры, договора с клиентами и поставщиками, дополнительные соглашения, спецификации к договорам, протоколы цен, акты выполненных работ. Т.е. практически все исходящие документы из наиболее массовых. Результативность системы распознавания сканов документов в 1С по штрихкодам в формате EAN-13 составляет > 95%. Возможно, у вас есть другие способы решения подобной задачи. Поделитесь в комментариях.  CIO, Team Lead, Software Engineer, Product Owner