Как стать автором
Обновить

Автоматическое создание скан-архива документов в 1С

Время на прочтение5 мин
Количество просмотров6.5K

Мы сторонники электронного документооборота с клиентами и поставщиками, в котором отсутствует проблема/задача возврата/сканирования бумажных оригиналов. Оригиналы документы подписанные по ЭДО всегда доступны в электронном виде. По разным причинам остается массив документов с контрагентами, которые не участвуют в электронном документообороте и требуется возврат и сканирование бумажных оригиналов.

Общая логика обмена сканами документов с контрагентами
Общая логика обмена сканами документов с контрагентами

Примеры таких документов: УПД, счет-фактура, транспортная накладная, договор, спецификация, дополнительное соглашение, акт выполненных работ и т.д.

Есть две основные задачи, связанные со сканами оригиналов первичных документов с контрагентами:

  1. Хранить сканы оригиналов, в том числе на случай утраты бумажного оригинала.

  2. Предоставлять сканы оригиналов в гос. органы, например, при запросе от ФНС.

Сложности: сканировать оригиналы первичных документов, упорядочивать хранение, оперативно находить среди сканов нужные документы по запросу.

До последнего времени обработкой бумажных оригиналов занимались менеджеры по документообороту, т.е. ручное: упорядочивание, сканирование, хранение, выборка. Объем документов - несколько тысяч экземпляров в месяц.

Далее, на примере транспортных накладных, описан способ автоматической идентификации сканов и их хранения с привязкой к документам в 1С. А когда скан хранится в 1С, то такие документы легко найти выгрузить по запросу.

Штрихкодирование документов для распознавания сканов, идентификации и хранения в 1С

Штрихкоды в печатных формах документов, на ценниках или этикетках в 1С, как правило, используются для идентификации с помощью сканера штрихкодов или ТСД.

Как правило, штрихкод в 1С кодирует УИД документа в формате Code 128 высокой плотности, который позволяет кодировать цепочку символов произвольной длины.

Идея автоматизации: идентифицировать сканы первичных документов по штрихкоду.

Быстрое тестирование показало, что штрихкод отсканированного документа не поддается распознаванию, так как после сканирования штрихкод становится нечитаемый из-за высокой плотности формата Code 128.

Штрихкод в формате Code 128 после сканирования становится нечитаемый
Штрихкод в формате Code 128 после сканирования становится нечитаемый

Затем были проверены другие популярные форматы штрихкодирования (QR-код, DataMarix, EAN-13):

  • QR-код и DataMatrix на выходе давали низкий процент распознавания после сканирования (~50)

  • EAN-13 оказался наиболее подходящим из-за низкой плотности (EAN-8 тоже подходит, но слишком маленькая разрядность для кодирования)

Другая особенность компоненты BarcodeRecognitionAddIn в 1С, которую мы используем для распознавания штрихкодов со сканов - должны быть заданы координаты QR-кода, что усложняет процесс распознавания.

Для распознавания скана с QR-кодом нужно задать область расположения штрихкода
Для распознавания скана с QR-кодом нужно задать область расположения штрихкода

Общая особенность распознавания штрихкодов со сканов - потеря качества после сканирования оригинала документа. Как в пример ниже, документы со сканированием в качестве 200 dpi не читаемые. Поэтому мы перешли на качество 300 dpi (отрицательный момент - увеличивает размеры файлов для хранения).

Сканы документов в качестве 200 dpi становятся не читаемые
Сканы документов в качестве 200 dpi становятся не читаемые

Другая проблема сканов с качеством 300 dpi - потеря качества при ч/б сканировании. Цветное сканирование позволяет этого избежать, минус - увеличен размер файла скана. Наглядное сравнение видно при увеличении штрихкода после сканирования в двух разных режимах.

Разница цветного и ч/б сканирования
Разница цветного и ч/б сканирования

Еще одна проблема - фантомные штрихкоды, которые случайно распознаются. Пример:

Артефакты скана, которые встречаются и похожи на штрихкод
Артефакты скана, которые встречаются и похожи на штрихкод
Система распознала фантомный шьрих код из артефактов
Система распознала фантомный шьрих код из артефактов

Задача №1: идентифицировать документы 1С с помощью штрихкода

Возникла первая задача идентификации документа 1С, из которого выполняется печать первичного документа. УИД документа в 1С 8275005056b84a2d11eddeaee1857d5a содержит 32 символа, что не позволяет его использовать в формате EAN-13. Другой ньюанс в том, что некоторые печатные формы (например, счет-фактура) могут быть рапечатаны из разных документов в 1С.

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

  • первые 2 цифры кодидуют вида документа 1С

  • следующие 2 цифры кодидуют год для идентификации по номеру документа 1С (или сразу номер, если нумерация сквозная и не в пределе одногогода)

  • остальные цифры кодируют номер документа 1С с учетом префикса, из которого напечатан первичный документ

Пример кодировки документа 1С в формате EAN-13 для последующей идентификации
Пример кодировки документа 1С в формате EAN-13 для последующей идентификации

Пример штрихкода транспортной накладной в формате EAN-13, который успешно распознается после сканирования документа благодаря низкой плотности.

Штрихкод в формате EAN-13 после сканирования успешно распознается
Штрихкод в формате EAN-13 после сканирования успешно распознается
Как выглядят настройки штрихкодирования EAN-13 для документов в 1С
Пример настройки штрихкодирования документов 1С в формате EAN-13
Пример настройки штрихкодирования документов 1С в формате EAN-13

Задача №2: распознавать пачки отсканированных документов и хранить сканы в 1С

Сканирование и распознавание одного документа - это половина решения. Если менеджер по документообороту будет отдельно сканировать каждую транспортную накладную, то процесс особо не улучшается, а усложняется.

Идея автоматизации: сканировать пачки документов и разбивать на отдельные файлы для хранения в 1С - без участия менеджера по документообороту.

Для распознавания штрихкодов в формате EAN-13 используется стандартная компонента 1С BarcodeRecognitionAddIn. Особенность компоненты в том, что она распознает штрихкоды EAN-13 только с изображений (сканы мы храним в формате PDF). Поэтому было решено использовать утилиту ImageMagick, которая умеет разбирать PDF на изображения и собирать обратно.

Для сканирования пачек документов на МФУ настроена сетевая папка, куда сохраняются все отсканированные документы.

Общая сетевая папка на МФУ для сохранения отсканированных пачек документов
Общая сетевая папка на МФУ для сохранения отсканированных пачек документов

Принцип автоматического распознавания сканов документов по штрихкоду следующий:

  • Сотрудники сканируют пачки документов в сетевую папку

  • Обработка в 1С каждые 15 минут считывает файлы из сетевой папки

  • Каждая пачка PDF разбивается на отдельные страницы

  • Затем каждая страница распознается отдельно

  • Распознанные и нераспознанные страницы в исходном виде объединяются в файлы (транспортная накладная - это 1 файл из 2-х страниц)

  • Распознанные файлы идентифицируются с документами 1С и сканы сохраняются в них

  • Нераспознанные файлы загружаются в 1С и ожидают ручной привязки ответственным к документам 1С

Таким образом, мы получаем скан-архив с адресным хранением документов в 1С.

Как выглядит процесс распознавания сканов с точки зрения пользователя в 1С

Пачки документов могут содержать любое количество страниц. Главное, чтобы в одной пачке содержались документы одного вида, например, только транспортные накладные. Порядок и последовательность документов в пачке может быть любая.

После сканирования на МФУ каждой пачки документоа ответственный менеджер получает задачу на рабочий стол в 1С: пачка распознана с ошибками или без ошибок.

Пример пачки отсканинрованных документов до распознавания
Файл скана транспортных накладных содержит 92 страницы
Файл скана транспортных накладных содержит 92 страницы

Пример задачи пользователю, когда пачка сканов распознана без ошибок
Пример задачи пользователю, когда пачка сканов распознана без ошибок
Пример задачи пользователю, когда пачка сканов распознана с ошибками - 5 из 46 документов не распознано
Пример задачи пользователю, когда пачка сканов распознана с ошибками - 5 из 46 документов не распознано
Примеры документов, когда штрихкод скана нераспознан автоматически
Пример 1
Пример 1
Пример 2
Пример 2
Пример 3
Пример 3

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

История импорта сканов в 1С
История импорта сканов в 1С

Когда документ не распознан, ответственный прямо из отчета делает привязку файла скана к документу 1С этого вида.

Ручная привязка не распознанного скана к документу в 1С
Ручная привязка не распознанного скана к документу в 1С

По такому же принципу штрихкодируются печатные формы, сканируются пачки и распознаются сканы других видов первичных документов, которые автоматически сохраняются в 1С.

Кроме транспортных накладных, к ним относятся: УПД и счета-фактуры, договора с клиентами и поставщиками, дополнительные соглашения, спецификации к договорам, протоколы цен, акты выполненных работ. Т.е. практически все исходящие документы из наиболее массовых.

Результативность системы распознавания сканов документов в 1С по штрихкодам в формате EAN-13 составляет > 95%.

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

Теги:
Хабы:
Всего голосов 2: ↑1 и ↓1+2
Комментарии13

Публикации

Истории

Работа

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань