База знаний

Номер статьи: 1338 | Категория: Сканирование | Тип: Вопрос/Ответ | Последнее обновление: 27.08.2015

Использование скриптов на Станции Сканирования

Описание

В каких случаях на Станции Сканирования могут быть полезны скрипты? Как их создать?

Решение

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

Можно выделить 3 типа скриптов на Станции Сканирования:

Скрипты экспорта

С помощью такого скрипта можно настроить дополнительный вид экспорта со Станции Сканирования. Как и прочие виды экспорта, этот скрипт будет выполняться в фоновом режиме.

Стоит отметить, что подобные скрипты не могут модифицировать пакет. Они могут только возвращать результирующий приемник экспорта и/или причину возникновения ошибки, а также список проэкспортированных элементов пакета. Этот список и результирующий приемник будут доступны скрипту при продолжении экспорта. Об объектах, доступных из скриптов экспорта, можно прочитать в справке к Станции Сканирования: Использование скриптов в Станции Сканирования → Объекты → Объекты скриптов экспорта.

Обработчики событий

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

Подробнее узнать о каждом событии можно в справке к Станции Сканирования: Использование скриптов в Станции Сканирования  → События.

Такие скрипты, в отличие от скриптов экспорта, уже будут выполняться в основном приложении, а не в фоновом режиме.

Скрипты, выполняемые по явной команде пользователя

Эти скрипты не привязаны к какому-либо событию – просто в типе пакета заводится именованный список скриптов, которые могут быть вызваны пользователем по команде Правка → Выполнить скрипт.

Также для быстроты и удобства использования на панель инструментов может быть добавлена кнопка, вызывающая соответствующий скрипт.

Из этих скриптов доступны те же самые объекты, что и для скриптов обработчиков событий. Они также выполняются в основном приложении.

Как создать скрипты на Станции сканирования

На Станции Сканирования все скрипты привязываются к какому-либо типу пакета.

Доступные языки скриптования: JScript, VBScript.

Добавить скрипт экспорта можно на закладке Отправить диалога свойств типа пакета.

Скрипты для обработки событий и выполняемые по команде пользователя можно добавить на закладке Скрипты. Для этого необходимо  нажать на кнопку Новый…, в открывшемся диалоге ввести название скрипта и выбрать из выпадающего списка нужное событие

 

Если поле Событие оставить пустым, то получим скрипт, который будет выполняться по команде пользователя. Чтобы вызвать такой скрипт для пакета, нужно выделить этот пакет, Выбрать в меню Правка → Выполнить скрипт и указать нужный скрипт из выпадающего списка:

 

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

 

Изображения должны быть предварительно загружены (кнопка Загрузить изображения). Поддерживаемый формат - .bmp 24x24.

По умолчанию панель Скрипты отключена. Чтобы включить ее выберите Вид → Панели инструментов → Скрипты.

Если одна и та же процедура будет использоваться в нескольких скриптах, во избежание дублирования кода она может быть вынесена в глобальный модуль GlobalModule (выбрать в выпадающем списке на панели инструментов редактора скриптов).

Примеры скриптов

 



Код скрипта:

var batch = ActiveBatch
var wshShell = new ActiveXObject("WScript.Shell");
ClearSelection();
// Поочередно выделяем каждый документ в пакете и "нажимаем" для него F7, 
//т.е. подтверждаем его
for( i = 0; i < batch.Children.Count; i++ )
{
    // Получаем доступ к элементу пакета
    var item = batch.Children.Item(i);
    // Если этот элемент документ, то подтверждаем его
    if( item.IsDocument )
    {
        item.IsSelected = true;
        wshShell.SendKeys("{F7}");
        Wait(100); 
        item.IsSelected = false
    }
}

Затем нужно добавить кнопку для вызова этого скрипта на панель инструментов (Настроить панель инструментов... → Новая кнопка...)

708 считают это полезным.
Была ли эта информация вам полезна?