База знаний

Номер статьи: 1414 | Категория: Настройка проекта | Тип: Задача – Решение | Последнее обновление: 27.02.2014

Экспорт меток как числовых значений

Описание

Часто с помощью ABBYY FlexiCapture нужно обрабатывать документы, в которых есть группы меток типа «Оцените качество сервиса: Плохо/Неудовлетворительно/Удовлетворительно/Хорошо/Отлично». При обработке необходимо выгружать в базу данных соответствующую оценку по пятибалльной шкале (как число). Как настроить такой экспорт в ABBYY FlexiCapture?

Решение

Начиная с 5ого релиза, ABBYY FlexiCapture 10 предоставляет возможность экспорта групп меток как числовых значений.

Настройка такого экспорта очень проста. Достаточно просто отметить соответствующую опцию для группы меток:

В более ранних версиях программы данная функциональность не поддержана и значения групп меток будут экспортироваться в БД как текст. Но существуют способы, позволяющие настроить такой экспорт.

Возможны следующие решения:

  1. Копировать проэкспортированное значения в типизированную колонку (тип: число) средствами самой БД.
  2. Создать скрипт пользовательского экспорта, который будет экспортировать все поля с заданными настройками. Подробнее о скриптах пользовательского экспорта можно прочитать в отдельной статье.
  3. Для каждой группы меток можно создать дополнительное скрытое поле с типом данных «Число», записывать в него нужное значение в зависимости от состояния соответствующей группы меток и экспортировать именно это поле, а не группу. Для автоматического заполнения такого поля нужно использовать скриптовое правило.

Поясним третье решение на примере.

Допустим, документ содержит 5 групп меток (Question1, Question2, Question3, Question4 и Question5), данные о состоянии которых (числовые значения) должны быть выгружены в БД.

Для этого мы создадим 5 дополнительных текстовых полей с типом данных «Число»: _Question1, _Question2, _Question3, _Question4 и _Question5. Эти поля не должны отображаться на форме данных, но должны экспортироваться:

 

Экспорт групп меток Question1, Question2, Question3, Question4 и Question5, наоборот, нужно отключить.

Для автоматического заполнения созданных полей в зависимости от состояния соответствующих им групп меток необходимо настроить скриптовые правила. Возможно два варианта:

  1. одно скриптовое правило на уровне секции документа, которое будет заниматься заполнением сразу всех дополнительных полей;
    Код такого скрипта:

    Context.Field("_Question1").Text = Context.Field("Question1").Value.ToString();
    Context.Field("_Question2").Text = Context.Field("Question2").Value.ToString();
    Context.Field("_Question3").Text = Context.Field("Question3").Value.ToString();
    Context.Field("_Question4").Text = Context.Field("Question4").Value.ToString();
    Context.Field("_Question5").Text = Context.Field("Question5").Value.ToString();

    При создании этого скрипта нужно не забыть снять галочку «Только для чтения» для заполняемых полей:

  2. 5 скриптовых правил на уровне групп меток, каждое из которых будет заниматься заполнением одного соответствующего поля.
    В этом случае для упрощения настройки можно использовать одинаковые имена полей в скриптах (alias), например, Question для группы меток и _Question для дополнительного поля. Тогда у всех скриптов будет одинаковый код:

    Context.Field("_Question").Text = Context.Field("Question").Value.ToString();

    В настройках скриптов для полей _Question должна быть отключена галочка «Только для чтения».
223 считают это полезным.
Была ли эта информация вам полезна?