#0
by Crashxxx
Всем привет. Платформа 8.3.5.1119, при работе с ABBYY FlexiCaptureEngine через COMОбъект возникает ошибка "Типы не совпадают ". API FlexiCaptureEngine предоставляет интерфейс для распознавания текста изображений и экспорта этих данных в нужном формате. В строке document = processor.RecognizeNextDocument; получаем объект типа Document (объект со свойствами и методами распознанного документа). В 1С он преобразуется в COMОбъект, далее этот документ необходимо передать в метод ExportDocumentEx для экспорта. Первый параметр этого метода так же ожидает объект типа Document. Но при вызове метода как указано в примере выше возникает ошибка "Типы не совпадают ". Какие могут быть варианты решения?
#2
by Garykom
мдааа слов нету прям из анегдота когда один программер печатает 2 камаза бумаги, а другой их распознает
#3
by Garykom
Нельзя позвонить поставщику и попросить прислать тоже самое но в Excel? Ну или в PDF но которая из текста а не картинкой?
#7
by Лефмихалыч
позвонить и попросить можно, чо ж нельзя-то?.. Правда получить положительный ответ на просьбу вряд ли получится. Такова вот селяви
#14
by Serginio1
в 11 просто примеры. там в 4 параметре стоит неопределено (null) Скачивай последний SDK который будет поддерживать последние версии
#15
by Crashxxx
Пробовал, не помогло, еще пробовал создавать пустой документ Тоже не помогло Пробовал Непределно, 0, пустые строки, нули, просто ничего не передавал processor.ExportDocumentEx(document, "C:ТовНаклПроектФлКапч", "exportFileName", ); все глухо, ну и судя по всему ошибка в первом параметре Не то, этот метод загружает определения документа в память и делает настройки конфигурации, для серверных решений. Пробовал, есть разница между работой через батчи и с использованием процессора. Везде свои "+" и "-", мне нужен именно вариант процессора. Батч тоже пробовал, там возникает ошибка при заполнении экспортных параметров в файл, могу описать её, но это трата времени. И вообще во многих местах, где необходимо передать параметры (в методы ком объекта) и, судя по документации, можно передать значение "0" для использования параметров по умолчанию, возникают ошибки и приходится создавать пустые объекты, и их передавать в виде параметров. Именно это я и хочу реализовать. В примере кода инициализация engine на с++ происходит вызовом InitializeEngine, этот как я понимаю процедура из предварительно загруженной FCEngine.dll (могу ошибаться.) Вообще вот этот кусок мне на 100% не ясен [DllImport("FCEngine.dll", CharSet = CharSet.Unicode), PreserveSig] private static extern int InitializeEngine(string devSN, string reserved1, string reserved2, out IEngine engine); [DllImport("FCEngine.dll", CharSet = CharSet.Unicode), PreserveSig] но в 1с я все равно могу только реализовать все это через COMОбъект, как указано в . , Версия 10. SDK последняя. Неопределено пробовал, и много чего еще, как и писал выше.
#16
by Crashxxx
Мой вариант такой что 1С конвертирует тип значения document при его получении document = processor.RecognizeNextDocument; в COMОбъект, а далее при передаче в processor.ExportDocumentEx(document, "C:ТовНаклПроектФлКапч", "exportFileName", 0); переменная document не конвертируется в ожидаемый методом тип FCEngine.IDocument. вот пример из VB Public Engine As FCEngine.IEngine Dim processor As FCEngine.IFlexiCaptureProcessor Dim document As FCEngine.IDocument ... По хорошему 1С здесь надо бы уметь сделать что-то типа Поэтому мой вариант это писать внешнюю комноненту на том же c++, VB, Delphi... на всем что нормально отработает вызовы методов и передачу параметров. А дальше уже используя ВК делать то что необходимо. Но писать эту ВК не хочется. Может есть какой вариант заставить все это цивилизованно работать и без ВК.
#19
by Crashxxx
Да, тоже этот вариант решил сначала проверить и выяснилось в итоге что проблема была в некорректно написанном определении документа "C:ТоварнаяНакладная.fcdot". Хотя оно отлично отрабатывало в FlexiCapture 10, при использовании в коде тоже не выдавало явных ошибок, указывающих на его проблемы. Но при тестировании данного кода на тестовых данных из поставки sdk все отлично отрабатывает. Тема закрыта.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Ошибка при работе с SQL базой
- Странная ошибка "ошибка формата потока" с вылетом из сеанса
- Ошибка выполнения запроса "Ошибка при выполнении операции над данными: Ошибка SQL: Де
- v7: Ошибка СУБД.Внутренняя ошибка dbeng 8
- При отправке сообщения произошла ошибка : Общая ошибка MAPI
- v8: Ошибка СУБД. Внутренняя ошибка компоненты DBENG8 при обмене данными
- Ошибка при попытке выгрузить данные из УТ в БП. интересная необычная ошибка
- Ошибка в базе. Ошибка в таблице Config.
- Ошибка при вызове web-сервиса 1C 8.3 (Внутренняя ошибка. Ошибка инициализации б)
- Ошибка при вызове метода контекста (Записать) Ошибка при выполнении файловой опе
- Ошибка при вызове конструктора (ComОбъект): Ошибка при выполнении приложения-сер
В этой группе 1С
- Модифицированность() объекта (управляемое приложение)
- Как программно установить ширину колонки в табличном документе
- Подключение считывателя магнитных карт Z-2 USB
- Замена ОАО и ЗАО на ПАО и НАО
- v7: Доступ к сетевому диску из 1с
- программная установка отбора для "Настроить список" УФ 8.3
- v7: Количество записей в транзакции при обмене
- Номера документов. Где хранятся последние значение номеров?
- Неверный формат хранилища данных
- Записать данные из таблицы значений в регистр сведений
- У пользователя USR1CV82 нет доступа к COMОбъект?
- СКД, пропадают параметры
- Программное нажатие на кнопку в поле html документа
- Консоль администрирования серверов 1с
- В отчете с СКД пропадают группировки
- Терминал сбора данных отваливается по таймауту
- настройки печати в УПП
- Вопрос по документу Кадровое перемещение в ЗУП(2.5.85.1)
- 1с Удалять из таблицы значений одинаковые строки
- Поиск и удаление дублей для Бухгалтерия 8 ред. 2.0