Расширение сервера Mobile SMARTS «Вызов серверных операций»

Последние изменение: 29.08.2019

В платформе Mobile SMARTS начиная с версии 3.1.xx.xxxx появилась возможность вызова серверных операций из конфигурации Mobile SMARTS в качестве обработчиков событий сервера. Серверная операция - это операция, выполняемая на сервере Mobile SMARTS, в отличии от обычной операции, которая выполняется на самом ТСД. 

С помощью расширения «Вызов серверных операций» можно, например, выполнять предобработку выгружаемых в базу Mobile SMARTS документов (построение дополнительных таблиц документа, проверка условий, которым должен удовлетворять документ) или можно документ, завершенный на одном из ТСД, отправить след. пользователю для работы на другом ТСД. 

Для того, чтобы операция выполнялась на сервере, в панели управления в свойствах операции нужно установить настройку «Выполняется на сервере - Да».

  

Узел «Вызов серверных операций» всегда присутствует в конфигурации Mobile SMARTS в случае использования серверной базы Mobile SMARTS. 

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


События документов

Документ добавляется

Событие, возникающее в процессе добавления документа на сервере. Вызывается при выгрузке документа в базу Mobile SMARTS из внешней системы.

В серверную операцию передается добавляемый документ (переменная сессии Document). Если выполнение операции прерывается (переход [прервать операцию]), добавление документа на сервер отменяется, в лог сервера добавляется запись: «Документ отклонен обработчиком события». Если отмена добавления не требуется, операция должна завершиться по переходу [завершить операцию].

Параметры:

Имя Тип Описание
Document Объект документа Добавляемый документ

Возвращаемые значения:

Имя Тип Описание
Error строка Описание ошибки. Если значение заполнено, считается, что операция завершилась неудачно, вызывается исключение.

Документ добавлен

Событие, возникающее после добавления документа на сервере. Вызывается при выгрузке документа в базу Mobile SMARTS из внешней системы.

В серверную операцию передается добавленный документ (переменная сессии Document). Обработчик может внести изменения в документ. После вызова обработчика документ сохраняется на сервере.

Параметры:

Имя Тип Описание
Document Объект документа Добавленный документ

Возвращаемые значения:

Имя Тип Описание
Error строка Описание ошибки. Если значение заполнено, считается, что операция завершилась неудачно, вызывается исключение.

Документ назначается пользователю

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

В серверную операцию передается назначаемый пользователю документ (переменная сессии Document). Если выполнение серверной операции прерывается (переход [прервать операцию]), назначение документа пользователю ТСД отменяется. Если отмена назначения не требуется, операция должна завершиться по переходу [завершить операцию].

Операция может внести изменения в документ. 

Параметры:

Имя Тип Описание
Document Объект документа Назначаемый документ
DeviceInfo Объект DeviceInfo Информация о состоянии ТСД. Можно получить ид. пользователя ТСД и др.

Возвращаемые значения:

Имя Тип Описание
NeedSave булево Указание серверу сохранить документ. Применяется при успешном завершении операции.
NeedRestore булево Указание серверу загрузить документ из файла. Применяется при успешном завершении операции. Внесенные операцией изменения будут отменены.
Error строка Описание ошибки. Если значение заполнено, считается, что операция завершилась неудачно, вызывается исключение.

Документ назначен пользователю

Событие о том, что документ захвачен на обработку. Вызывается в момент, когда документ был передан на ТСД для работы с ним. 

В серверную операцию передается добавленный документ (переменная сессии Document). Обработчик может внести изменения в документ. После вызова обработчика документ сохраняется на сервере и отдается на обработку.

Параметры:

Имя Тип Описание
Document Объект документа Назначенный документ
DeviceInfo Объект DeviceInfo Информация о состоянии ТСД. Можно получить ид. пользователя ТСД и др.

Возвращаемые значения:

Имя Тип Описание
Error строка Описание ошибки. Если значение заполнено, считается, что операция завершилась неудачно, вызывается исключение.

Документ изменен

Событие об изменении документа. Вызывается при сохранении документа на сервер в процессе работы на ТСД при использовании в конфигурации Mobile SMARTS действия «Сохранение документа на сервер».

В серверную операцию передается измененный документ (переменная сессии Document).

Операция может внести изменения в документ. 

Параметры:

Имя Тип Описание
Document Объект документа Измененный документ
DeviceInfo Объект DeviceInfo Информация о состоянии ТСД. Можно получить ид. пользователя ТСД и др.

Возвращаемые значения:

Имя Тип Описание
NeedSave булево Указание серверу сохранить документ. Применяется при успешном завершении операции.
NeedRestore булево Указание серверу загрузить документ из файла. Применяется при успешном завершении операции. Внесенные операцией изменения будут отменены.
Error строка Описание ошибки. Если значение заполнено, считается, что операция завершилась неудачно, вызывается исключение.

Документ завершен

Событие о завершении обработки документа. Вызывается при получении сервером завершенного документа с ТСД.

В серверную операцию передается завершенный документ (переменная сессии Document).

Операция может внести изменения в документ. 

Параметры:

Имя Тип Описание
Document Объект документа Завершенный документ.
DeviceInfo Объект DeviceInfo Информация о состоянии ТСД. Можно получить ид. пользователя ТСД и др.

Возвращаемые значения:

Имя Тип Описание
NeedSave булево Указание серверу сохранить документ. Применяется при успешном завершении операции.
NeedRestore булево Указание серверу загрузить документ из файла. Применяется при успешном завершении операции. Внесенные операцией изменения будут отменены.
Error строка Описание ошибки. Если значение заполнено, считается, что операция завершилась неудачно, вызывается исключение.

Документ возвращен с ТСД без обработки

Вызывается когда документ с терминала был возвращен пользователем вызовом release (вернуть документ без изменений).

В серверную операцию передается возвращенный документ (переменная сессии Document).

Параметры:

Имя Тип Описание
Document Объект документа Возвращенный документ
DeviceInfo Объект DeviceInfo Информация о состоянии ТСД. Можно получить ид. пользователя ТСД и др.

Возвращаемые значения:

Имя Тип Описание
Error строка Описание ошибки. Если значение заполнено, считается, что операция завершилась неудачно, вызывается исключение.

Документ удален

Событие об удалении документа с сервера. Удаление выполняется внешней системой.

В серверную операцию передается удаленный документ (переменная сессии Document). Отменить удаление нельзя.

Параметры:

Имя Тип Описание
Document Объект документа Возвращенный документ
DeviceInfo Объект DeviceInfo Информация о состоянии ТСД. Можно получить ид. пользователя ТСД и др.

Возвращаемые значения:

Имя Тип Описание
Error строка Описание ошибки. Если значение заполнено, считается, что операция завершилась неудачно, вызывается исключение.

Получить список документов

Событие о запросе получения списка документов с сервера. Вызывается при заходе в список документов на терминале и периодически при нахождении внутри списка. 

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

Параметры:

Имя Тип Описание
Result Коллекция описаний документов DocumentDescriptionCollection В параметр Result передается список описаний документов, полученный предыдущим обработчиком данного события в цепочке обработчиков. Если предыдущего обработчика нет или он вернул null, передается null.   
Document Объект документа Новый документ с тем типом, список документов которого был запрошен.
DeviceInfo Объект DeviceInfo Информация о состоянии ТСД. Можно получить ид. пользователя ТСД и др.

Возвращаемые значения:

Имя Тип Описание
Result Коллекция описаний документов DocumentDescriptionCollection Операция может внести изменения в переданную коллекцию описаний документов или вернуть новую коллекцию
Error строка Описание ошибки. Если значение заполнено, считается, что операция завершилась неудачно, вызывается исключение.

Получить документ

Событие о запросе получения документа по идентификатору или штрихкоду с сервера. Событие может использоваться совместно с событием «Получить список документов».

Также получение документа может выполняться по штрихкоду, отсканированному в окне выбора документов. В этом случае в параметрах типа документа должна быть включена настройка «Выбирать по штрихкоду с сервера - Да».

Параметры:

Имя Тип Описание
DocumentTypeName строка Имя типа запрошенного документа
DocumentId строка Идентификатор или штрихкод запрошенного документа
GetDocumentMode целое число Режим получения документа:
=0 - получить документ по ид;
=1 - получить документ по штрихкоду.
Document Объект документа Документ, полученный предыдущим обработчиком данного события в цепочке обработчиков. Если предыдущего обработчика нет или он вернул null, передается новый документ соответствующего типа.   
DeviceInfo Объект DeviceInfo Информация о состоянии ТСД. Можно получить ид. пользователя ТСД и др.

Возвращаемые значения:

Имя Тип Описание
Result Объект документа Документ, возвращаемый обработчиком на ТСД. Если документ не найден, нужно вернуть null.
Error строка Описание ошибки. Если значение заполнено, считается, что операция завершилась неудачно, вызывается исключение.