Извлечение реквизитов из карточки компании и документов для 1С через АПИ

16.04.26

Интеграция - Распознавание документов и образов

В современном бизнесе часто возникает задача автоматического распознавания реквизитов: будь то из карточки контрагента (ИНН, КПП, ОГРН) или из текстовых документов (договоров, счетов, актов). Ручной ввод данных трудоёмок и подвержен ошибкам. Представляю вашему вниманию универсальный HTTP API для решения этой задачи — с готовыми примерами интеграции для платформы 1С:Предприятие 8.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
«API извлечения реквизитов из карточки компании и документов для 1С»
.epf 14,82Kb ver:1.0.0.1
1 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

🔹 Введение

В современном бизнесе часто возникает задача автоматического распознавания реквизитов: будь то из карточки контрагента (ИНН, КПП, ОГРН) или из текстовых документов (договоров, счетов, актов). Ручной ввод данных трудоёмок и подвержен ошибкам.
 
Представляем вашему вниманию универсальный HTTP API для решения этой задачи — с готовыми примерами интеграции для платформы 1С:Предприятие 8 и других языков программирования.

 

🔹 Возможности API

API поддерживает извлечение реквизитов из двух типов источников:
 
Источник
Поддерживаемые форматы
Что извлекается
Карточка компании
Изображение (картинка с реквизитами)
Юридически значимые реквизиты: ИНН, КПП, ОГРН, адрес, банковские данные
Файлы документов
PDF (с текстовым слоем), DOCX, DOC, TXT, RTF, HTML
Реквизиты сторон, номера и даты документов, подписанты, суммы

🔹 Технические параметры эндпоинта

 
Параметр
Значение
Метод
POST
URL
https://api-k.ru/api/rekvizit_json
Таймаут
Рекомендуется 120 секунд (для обработки больших файлов)
Кодировка
multipart/form-data
Макс. размер файла
20 МБ

Заголовки запроса

 
Заголовок
Значение
Обязательно
X-API-Key
Ваш уникальный ключ доступа
; Да
Content-Type
multipart/form-data
; Да (устанавливается автоматически)

Тело запроса

Одно поле file — файл, поддерживаемые форматы текстовый PDF, docx, doc, rtf, txt, html.

🟦 1С:Предприятие 8 (управляемые формы)

Процедура ОтправитьФайлНаСервере()
    // 1. Проверка - выбран ли файл
    Если ПустаяСтрока(ЭтотОбъект.ПутьКФайлу) Тогда
        Сообщить("Ошибка: Не выбран файл для отправки", СтатусСообщения.Важное);
        Возврат;
    КонецЕсли;
    
    // 2. Проверка наличия API-ключа
    Если ПустаяСтрока(ЭтотОбъект.APIКлюч) Тогда
        Сообщить("Ошибка: Не указан API-ключ", СтатусСообщения.Важное);
        Возврат;
    КонецЕсли;   
    
    // 3. Проверка существования файла
    ФайлДляПроверки = Новый Файл(ЭтотОбъект.ПутьКФайлу);
    Если Не ФайлДляПроверки.Существует() Тогда
        Сообщить("Ошибка: Файл не найден по пути " + ЭтотОбъект.ПутьКФайлу, СтатусСообщения.Важное);
        Возврат;
    КонецЕсли;
    
    // 4. Чтение файла в двоичные данные
    ДвоичныеДанныеФайла = Новый ДвоичныеДанные(ЭтотОбъект.ПутьКФайлу);
    ИмяФайла = ФайлДляПроверки.Имя;
    
	// 5. Формирование тела запроса (multipart/form-data) — ИСПРАВЛЕННЫЙ вариант
	Граница = "----WebKitFormBoundary" + СтрЗаменить(Строка(Новый УникальныйИдентификатор()), "-", "");

	Тело = Новый ПотокВПамяти;
	ЗаписьДанных = Новый ЗаписьДанных(Тело, , , Символы.ВК + Символы.ПС, "");  // Ключ: CRLF и пустой РазделительСтрок

	ЗаписьДанных.ЗаписатьСтроку("--" + Граница);
	ЗаписьДанных.ЗаписатьСтроку("Content-Disposition: form-data; name=""file""; filename=""" + ИмяФайла + """");
	ЗаписьДанных.ЗаписатьСтроку("Content-Type: application/octet-stream");
	ЗаписьДанных.ЗаписатьСтроку("");  // Пустая строка перед данными
	ЗаписьДанных.Записать(ДвоичныеДанныеФайла);  // Двоичные данные файла
	ЗаписьДанных.ЗаписатьСтроку("");  // Пустая строка после данных
	ЗаписьДанных.ЗаписатьСтроку("--" + Граница + "--");  // Закрывающий разделитель

	ЗаписьДанных.Закрыть();
	ДвоичныеДанныеТела = Тело.ЗакрытьИПолучитьДвоичныеДанные();    
    // 6. Формирование HTTP-запроса
    ИмяСервера = "api-k.ru";
    Порт = 443;
    ЗащищенноеСоединение = Истина;
    
    // Создаем HTTP-соединение
    Попытка
        HTTPСоединение = Новый HTTPСоединение(ИмяСервера, Порт, "", "", , ЗащищенноеСоединение);
    Исключение
        Сообщить("Ошибка при создании HTTP-соединения: " + ОписаниеОшибки(), СтатусСообщения.Важное);
        Возврат;
    КонецПопытки;
    
    // Создаем HTTP-запрос
    HTTPЗапрос = Новый HTTPЗапрос("/api/rekvizit_json");
    HTTPЗапрос.Заголовки.Вставить("X-API-Key", ЭтотОбъект.APIКлюч);
    HTTPЗапрос.Заголовки.Вставить("Content-Type", "multipart/form-data; boundary=" + Граница);  
    HTTPЗапрос.УстановитьТелоИзДвоичныхДанных(ДвоичныеДанныеТела); 
	HTTPЗапрос.Заголовки.Вставить("Content-Length", XMLСтрока(ДвоичныеДанныеТела.Размер())); 
    
    // Отправляем запрос
    Попытка
        Ответ = HTTPСоединение.ВызватьHTTPМетод("POST", HTTPЗапрос);
        
        Если Ответ.КодСостояния = 200 Тогда
            СтрокаОтвета = Ответ.ПолучитьТелоКакСтроку();
            РазобратьИОтобразитьРезультат(СтрокаОтвета);
            ЭтотОбъект.ОтветСервера = СтрокаОтвета;
            Сообщить("Успешно! Файл обработан, реквизиты получены.", СтатусСообщения.Информация);
        Иначе
            СтрокаОшибки = Ответ.ПолучитьТелоКакСтроку();
            ЭтотОбъект.ОтветСервера = СтрокаОшибки;
            Сообщить("Ошибка HTTP " + Строка(Ответ.КодСостояния) + ": " + СтрокаОшибки, СтатусСообщения.Важное);
        КонецЕсли;
        
    Исключение
        Сообщить("Ошибка запроса: " + ОписаниеОшибки(), СтатусСообщения.Важное);
    КонецПопытки;   
КонецПроцедуры

 

Структура ответа API

Успешный ответ (HTTP 200)

{
  "data": {
    "organization_name": "ООО «Пример»",
    "inn": "7701234567",
    "kpp": "770101001",
    "ogrn": "1027700123456",
    "address": "109457, г. Москва, ул. Привольная, д. 61, кв. 1",
    "phone": "+7(899) 456-23-33",
    "bank_name": "ПАО Сбербанк",
    "bik": "044525225",
    "checking_account": "40702810123456789012",
    "correspondent_account": "30101810400000000225",
    "type_doc": "акт",
    "nom_doc": "1",
    "signatory": "Иванова Н.В."
  },
  "file_size": 20480,
  "filename": "2.doc",
  "success": true
}

Ответ с ошибкой

{
  "success": false,
  "error": "invalid_request",
  "message": "Отсутствует тело запроса"
}

📋 Описание полей ответа

 
Поле
Описание
organization_name
Наименование организации
inn
ИНН (10 или 12 цифр)
kpp
КПП (9 цифр)
ogrn
ОГРН (13 или 15 цифр)
address
Юридический адрес
phone
Контактный телефон
bank_name
Наименование банка
bik
БИК банка
checking_account
Расчётный счёт
correspondent_account
Корреспондентский счёт
type_doc
Тип документа (акт, счёт, договор)
nom_doc
Номер документа
signatory
Подписант (ФИО)

🔹 Обработка ошибок

 
Код HTTP
Код ошибки
Описание
Решение
400
invalid_request
Неверный формат файла, пустой запрос
Проверьте тело запроса и формат файла
401
unauthorized
Неверный или отсутствующий X-API-Key
Убедитесь, что ключ передан корректно
413
payload_too_large
Файл превышает лимит
Сожмите файл или разделите документ
408
timeout
Превышено время обработки
Увеличьте таймаут до 120 секунд
500
internal_error
Внутренняя ошибка сервера
Повторите запрос позже, обратитесь в поддержку

🔹 Рекомендации по интеграции в 1С

  1. Таймаут: всегда устанавливайте 120 секунд, особенно для PDF с большим объёмом текста.
  2. Форматы файлов: для PDF убедитесь, что документ содержит текстовый слой (не скан-изображение).
  3. Валидация: проверяйте поле success перед использованием данных.
  4. Логирование: сохраняйте ответы API для отладки и аудита.
  5. Безопасность: храните X-API-Key в защищённом хранилище, не в коде.

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.195.40

Вступайте в нашу телеграмм-группу Инфостарт

распознавания реквизитов для 1С реквизиты в 1С

См. также

Учет документов Распознавание документов и образов Бухгалтер Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

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

6588 руб.

23.12.2021    16245    30    25    

13

SALE! 35%

Распознавание документов и образов Программист Пользователь 1С 8.3 1С:Розница 2 1С:Бухгалтерия 3.0 Россия Абонемент ($m)

Тестируем, как ИИ распознает разные pdf, и результат пробуем запихнуть в документы 1С... Нужна установленная LM Studio и видеокарта. На 1660 супер работает так себе (по скорости). На 3070 уже бодрее. На 50 серии пока не тестировал. Распознавание 1 страницы (секунд 10-40). Добавлен поиск номенклатуры по схожести (Процент схожести). Из пдф картинка делается, и она уже отдается ИИ. Поэтому в обработке преобразователь картинок. При первом запуске положится сам в темпы. Писал для себя - в коде полный бардак - т.к. хотелось быстрее. Но все пашет и в файловой, и на серверах.

2 стартмани

13.03.2026    711    6    PORGY3000    9    

3

Нейросети Распознавание документов и образов Программист Бухгалтер Пользователь 1С 8.3 1С:Комплексная автоматизация 1.х 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Россия Абонемент ($m)

Решение поставляется в 2 версиях: при наличии видеокарты расширение+GPU версия или расширение+СPU версия. Поддерживает 3 режима работы, локальное (на вашем ПК), ИИ-модель (облачная), гибридная локальная+ИИ. В локальном режиме распознавание бесплатно. В ИИ режиме в среднем 0.5 рубля за страницу. Неограниченное количество пользователей. Распознает сканы: УПД, счета-фактуры, товарные накладные. Проверяет цифры и помогает создавать документы в 1С. Отправляйте документы через Telegram бот

10 стартмани

20.02.2026    1063    5    dasan92    5    

4

Распознавание документов и образов Программист 1С 8.3 Бесплатно (free)

Рано или поздно каждый 1С-специалист может столкнуться с фактически нерешаемой задачей: организацией загрузки из файла контрагента, где данные предлагается синхронизировать по строке, например, наименованию номенклатуры. Зачастую это строковое представление лишь отдаленно напоминает наименование из соответствующего справочника информационной базы заказчика. То есть фактически контрагент произвольно излагает своё желание, а заказчик требует автоматизировать процесс сопоставления. Надо понимать, что 100% решения задачи не существует. Например, если при анализе примеров стало понятно, что клиентам несвойственна грамотность, лучше вообще не браться за такую автоматизацию. Тем не менее, задачу сопоставления строки из последовательности слов с наименованиями из справочника, где порядок слов может различаться, автору удалось решить в приемлемом для заказчика виде. Предлагаются формулировка условий задачи и подходы к реализации решения

09.02.2026    677    Sergey1CSpb    0    

1

Распознавание документов и образов Бухгалтер Пользователь 1С 8.3 1С:Бухгалтерия 3.0 Россия Абонемент ($m)

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

1 стартмани

05.02.2026    702    7    user213093test    0    

3

Распознавание документов и образов Программист Пользователь 1С 8.3 1С:Розница 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Абонемент ($m)

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

2 стартмани

19.12.2025    2854    8    kras_71    24    

12
Для отправки сообщения требуется регистрация/авторизация