База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как реализовать распознавание и загрузку первичных документов в 1С?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 месяц, 1 неделя назад сделано  Odin — Одинэсник. Odin — Одинэсник.
- 
		АвторСообщения
- 
		
			- 
20 сентября 2025 в 21:15 #33467 OdineskiУчастник OdineskiУчастникрасскажи про распознавание первичных документов и их загрузку в 1С. Как это реализовано? Приведи пример кода 
- 
20 сентября 2025 в 21:15 #33468 Odin — ОдинэсникУчастник Odin — ОдинэсникУчастникРаспознавание первичных документов и их загрузка в 1С — это процесс автоматического извлечения данных из внешних файлов (чаще всего Excel, PDF, сканированных изображений) и последующего создания соответствующих документов в базе 1С. ### Как это реализовано в 1С 1. **Загрузка файла** 
 Пользователь выбирает файл с первичным документом (например, счет-фактура, накладная, УПД).2. **Распознавание структуры документа** 
 — Для Excel и текстовых файлов — это чтение таблиц, поиск нужных колонок и строк с данными.
 — Для PDF и сканов — используется OCR (оптическое распознавание символов) и/или специализированные внешние сервисы (например, ABBYY, Tesseract), которые преобразуют изображение в текст и выделяют нужные поля.3. **Парсинг данных** 
 Извлечённые данные структурируются в табличные и реквизитные данные, соответствующие структуре документа 1С.4. **Поиск и сопоставление номенклатуры** 
 Для корректного заполнения документа необходимо сопоставить позиции из файла с номенклатурой в базе 1С. Обычно реализуется через поиск по наименованию, артикулу, коду или другим признакам.5. **Создание документа в 1С** 
 На основании распознанных данных создаётся новый документ (например, «Поступление товаров и услуг»), заполняются реквизиты и табличные части.6. **Обработка ошибок и подтверждение** 
 Пользователь проверяет распознанные данные, при необходимости корректирует и сохраняет документ.— ### Пример упрощённого кода загрузки из Excel с распознаванием и созданием документа 1С (Код)12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849bsl&НаКлиентеПроцедура ЗагрузитьДокументИзExcel(Команда)Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);Диалог.Фильтр = "Excel файлы (*.xls;*.xlsx)|*.xls;*.xlsx";Если Диалог.Выбрать() ТогдаПутьКФайлу = Диалог.ПолноеИмяФайла;Результат = ВызватьНаСервере("РаспознатьИДозагрузитьДокумент", ПутьКФайлу);Если Результат = Истина ТогдаСообщить("Документ успешно загружен");ИначеСообщить("Ошибка при загрузке документа");КонецЕсли;КонецЕсли;КонецПроцедуры&НаСервереФункция РаспознатьИДозагрузитьДокумент(ПутьКФайлу)Попытка// Читаем Excel-файлТаблицаДанных = Новый ТаблицаЗначений;ТаблицаДанных.ЗагрузитьИзФайла(ПутьКФайлу, Новый ФорматТаблицы("XLSX"));// Создаем новый документ Поступление товаров и услугДокумент = Документы.ПоступлениеТоваровУслуг.СоздатьДокумент();Документ.Дата = ТекущаяДата();Документ.Контрагент = Справочники.Контрагенты.НайтиПоНаименованию("Поставщик"); // пример// Предположим, что в таблице есть колонки: "Номенклатура", "Количество", "Цена"Для Каждого Строка Из ТаблицаДанных ЦиклНоваяСтрока = Документ.Товары.Добавить();// Поиск номенклатуры по наименованиюНоменклатура = Справочники.Номенклатура.НайтиПоНаименованию(Строка.Номенклатура);Если ЗначениеЗаполнено(Номенклатура) ТогдаНоваяСтрока.Номенклатура = Номенклатура;НоваяСтрока.Количество = Строка.Количество;НоваяСтрока.Цена = Строка.Цена;Иначе// Можно добавить обработку ошибок или создание новой номенклатурыВозврат Ложь;КонецЕсли;КонецЦикла;Документ.Записать();Возврат Истина;ИсключениеВозврат Ложь;КонецПопытки;КонецФункции— ### Комментарии — В реальных решениях распознавание PDF и сканов требует интеграции с OCR-сервисами (например, ABBYY FlexiCapture), которые возвращают структурированные данные. 
 — Для Excel часто создают шаблоны с фиксированной структурой, что упрощает парсинг.
 — Важна обработка ошибок, проверка данных и возможность ручной корректировки.
 — Существуют готовые коммерческие и бесплатные обработки для загрузки и распознавания первичных документов (например, на Infostart).— Рекомендую посмотреть здесь: 
 https://infostart.ru/marketplace/560551/ — готовая обработка для загрузки документов из Excel с распознаванием и поиском номенклатуры.
 https://infostart.ru/1c/articles/1695607/ — пример создания обработки выгрузки и загрузки данных.
 https://infostart.ru/1c/articles/1839854/ — работа с файлами и вложениями в 1С.Если нужно, могу помочь с более сложным примером под конкретную задачу. 
 
- 
- 
		АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.
