Пользовательские шаги Workflow Manager
Эта тема относится только к ArcGIS for Desktop Standard и ArcGIS for Desktop Advanced.
Дополнительный модуль ArcGIS Workflow Manager for Desktop предоставляет несколько пользовательских шагов. Исходный код для каждого из них предоставляется как часть набора разработчика. В таблице ниже описаны шаги процессов и их функции.
Библиотека шагов
Библиотека шагов содержит шаги, которые могут быть выполнены как в настольных, так и в серверных рабочих средах. Шаги, их аргументы и коды возврата описаны ниже.
- Проверить Область интереса (AOI):JTXSteps.CheckAOIКоды возврата:
Проверка наличия области интереса (AOI) для текущего задания.
- 1 = Если задание имеет Область интереса
- 2 = Если задание не имеет Области интереса
- CleanUp: JTXSteps.CleanUpКоды возврата:
Очистка задания, в зависимости от аргументов.
Включите Администрирование – Системные настройки (Administration – System Settings), чтобы разрешить пользователям удалять версии, принадлежащие другим пользователям. Появится запрос имени пользователя и пароля.
Примечание:При удалении версии, принадлежащей другому пользователя, необходимо указать учетные данные пользователя SDE.
Version Cleanup: /version|v (optional) MXD Cleanup: /mxd|m (optional) Attachment Cleanup: /attachments|a (optional)
- 0 = Успешное завершение
- CloseJob:JTXSteps.CloseJobКоды возврата:
Закрытие задания как шага, в противоположность процессу, выполняемому вручную при завершении рабочего процесса.
No Argument
- 0 = Успешное завершение
- CreateJob:JTXSteps.CreateJobКоды возврата:
Создание дочернего задания, в зависимости от аргументов.
Job Type ID: /jobtypeid:<job type id> (required)Assign to Group: /assigngroup:<group to assign to> (optional)Assign to User: /assignuser:<user to assign to> (optional)
- 0 = Успешное завершение
- CreatePDFJTXSteps.CreateJobКоды возврата:
Создание PDF-документа базовой карты задания и добавление его к заданию в виде вложения.
Initial Directory: /initdir:<initial directory> (optional) Do not Attach File To Job: /noattach (optional) Resolution (dpi): /resolution:<dpi> (optional) Attach File To Job: /attach (deprecated)
- 0 = Успешное завершение
- CreateVersionJTXSteps.CreateVersionКоды возврата:
Создание версии для задания. Уровень защиты версии определяется одним из следующих аргументов: Версия (Version), Доступ (Access), Область применения (Scope):
/scope
- 0 = Успешное завершение
- ExecuteGPToolJTXSteps.ExecuteGPToolКоды возврата:
Выполнение инструмента геообработки без отображения диалогового окна инструмента.
Toolbox Path (explicit full path to the tbx file combined with toolbox name): /toolboxpath:<toolboxpath> (required) Display Name of the Tool in the toolbox: /tool:<tool> (required) Parameter to override on the tool (can be specified multiple times): /param:<ParamName>:<ParamValue> (optional) Flag to attach the log to the job once the tool has completed: /attach:(optional)
- 0 = Успешное завершение
- 1 = Неудачное завершение
- ExecuteSQLJTXSteps.ExecuteSQLКоды возврата:
Выполнение выражения SQL.
Database to Send SQL: /database:<jtxsystem|data> (required)SQL Command: /sql:<sql command>
- 0 = Успешное завершение
- ExecuteURLJTXSteps.ExecuteURL
Выполнение URL без показа браузера для отражения результата.
Например, вы можете запустить сервис геообработки или любой другой веб-сервис, как шаг рабочего процесса.
URL to execute: /url:<url> (required) Request Timeout: /timeout:<timeout in seconds> (optional) Proxy Server: /proxy:<proxy> (optional) Flag to add a comment to the job with the response: /addjobcomment(optional) Post Data: /postdata:<data to post> (optional)
- ExecuteWorkflowJTXSteps.ExecuteWorkflowКоды возврата:
Выполнение другого рабочего процесса, связанного с типом задания.
Job Type Name: /jobtype:<job type name> (required)Flag to not use AOI: /donotuseaoi (optional)Flag to not use version: /donotuseversion (optional)Flag to not copy activities to the parent job's history: /donotcopyactivities (optional)
- 0 = Успешное завершение
- ReturnValueJTXSteps.ReturnValue
Извлечение значения расширенного свойства или переданного токена, которое является кодом возврата для следующего пути в рабочем процессе.
Return value: /value:<Extended properties field> (required):
- ReassignJobJTXSeteps.ReassignJobКоды возврата:
Переназначение задания.
Assign Type: /assignType:<user|group> (required) Assign To: /assignTo:<user or group name> (required)
- 0 = Успешное завершение
- SendNotificationJTXSteps.SendNotificationКоды возврата:
Отправка уведомления типа, определенного первыми аргументами; тип уведомления.
/notifType:<type> (required)
- 0 = Успешное завершение
- SetVersionJTXSteps.SetVersionКоды возврата:
Установка версии задания на назначенную версию, например версии QC для проверки опубликованных изменений на QC версию. Если аргумент шага не задан, версия задания будет возвращена к изначальной.
Version to use as job version: /version:<versionName> (optional)
- 0 = Успешное завершение
- UpdateExtentFeatureClassJTXSteps.UpdateExtentFeatureClassКоды возврата:
Обновление класса пространственных объектов информацией о задании, для отображения статуса видимости.
Feature Class to Update (must be in data geodatabase): /fclass:<fully qualified feature class name> (required) Job ID Field (field to put job ID in): /jobfield:<field name> (optional) Date Field (field to put date/time): /datefield:<field name> (optional)
- 0 = Успешное завершение
- VersionExistsJTXSteps.VersionExistsКоды возврата:
Проверка, присвоена ли заданию версия базы геоданных.
No Argument
- 1 = Версия существует
- 2 = Версия не существует
- 3 = Рабочая область данных не выбрана
Библиотека DesktopSteps
Библиотека DesktopSteps содержит шаги, которые могут быть выполнены только из настольного приложения, в связи с наличием всплывающих пользовательских интерфейсов. Шаги, их аргументы и коды возврата описаны ниже.
- CopyFileJTXDesktopSteps.CopyFileКоды возврата:
Копирование файла из одного местоположения в другое.
Source File: /src:<source file path> (optional) Destination File: /dest:<destination file path> (optional) File Title: /title:<file title> (optional)
- 0 = Успешное завершение
- CreatJobAdvancedJTXDesktopSteps.CreateJobAdvancedКоды возврата:
Создание задания и предоставление возможности определить родительские/ дочерние отношения с взаимосвязями задания.
Job Type Name: /jobtypename:<job type name>(required) Assign To Group: /assigngroup:<group to assign to>(optional) Assign To User: /assignuser:<username to assign to> (optional) Dependency will be created and current job held at this step: /dependThisStep (optional) Dependency will be created and current job held at the next step in the workflow: /dependNextStep (optional) Dependency status (current job held until new job reaches this status): /dependStatus:<Status Type Name> (optional) Use the current job's AOI as the new job's AOI: /useparentaoi (optional) Create new jobs based on the overlap between the current job's AOI and this feature class: /aoiOverlapFeatureClassName:<fully qualified feature class name >(optional) Default number of jobs to create: /numberJobs:<number of jobs to create> (optional) A version will be created for the new job(s) based on this selection: /createVersionSetting:<the version to use as the parent version> (optional) A version will be assigned to the new job(s) based on this selection: /assignVersionSetting:<the existing version the job will be assigned to>(optional) New job(s) extended properties value will be set to: one of the current job's extended properties values (specified by JTX Token) or to the given string value: /setExtendedProps: <ChildJobFullyQualifiedExtendedPropertiesTableName.FieldName= [JOBEX:ParentJobFullyQualifiedExtendedPropertiesTableName.FieldName]> (optional) Due date of the new job: /dueDate:<due date of the new job>(optional) Job duration: /jobDuration:<duration of the new job >(optional) New Job will be created as a child of the existing job: /child:(optional)
- 0 = Успешное завершение
- 1 = Неудачное завершение
- DefineAOIJTXDesktopSteps.DefineAOIКоды возврата:
Отображение инструмента, с помощью которого пользователь может определить область интереса.
No Argument
- 1 = Успешное завершение
- 0 = Неудачное завершение
- EditExtendedPropertiesJTXDesktopSteps.EditExtendedProperties
Отображение дополнительных свойств задания во всплывающем окне, в котором пользователь может задать необходимые параметры.
No Argument
- LaunchArcMapJTXDesktopSteps.LaunchArcMapКоды возврата:
При выполнении будет запущен ArcMap. Слои будут использовать в качестве источника версию задания, карта будет приближена к Области интереса (AOI) задания, с помощью кнопки Добавить данные пользователь может добавить дополнительные данные на карту. Подробную информацию об аргументах для этого шага можно найти в разделе ниже.
- 0 = Успешное завершение
- LaunchGPToolJTXDesktopSteps.LaunchGPToolКоды возврата:
Выполнение инструментов геообработки из ваших рабочих процессов.
Toolbox Path (explicit path to the tbx file): /toolboxpath:<toolboxpath> (optional) Toolbox Name (if in system toolboxes): /toolbox:<toolbox> (optional) Display Name of the Tool in the toolbox: /tool:<tool> Parameter to override on the tool (can be specified multiple times): /param:<ParamName>:<ParamValue> (optional) Flag to attach the log to the job once the tool has completed: /attach (optional) License enumeration code for any additional license that should be used in the execution of the tool: /license:<enum value> (optional)
- 1 = Успешное завершение
- SelectDataWorkspaceJTXDesktopSteps.SelectDataWorkspaceКоды возврата:
Отображение формы, которая позволяет выбрать рабочую область данных для вашего задания из списка предварительно настроенных рабочих областей данных.
No Argument
- 0 = Успешное завершение
Шаг Запуск ArcMap
Ожидаемое поведение шага Запуск ArcMap без аргументов подробно описано в таблице ниже.
Определен ли документ карты типа задания? |
Запуск ArcMap с рабочей областью данных и версией |
Запуск ArcMap с рабочей областью данных, но без версии |
Запуск ArcMap без рабочей области данных |
---|---|---|---|
Да |
ArcMap запускается, используя определенный документ карты. Слои будут использовать в качестве источника версию задания основе краткого имени Класса объектов.* На карте показывается экстент области интереса. |
Поведение аналогично сценарию, когда версия существует, за исключением того, что в качестве источников слоев используется версия по умолчанию для рабочей области данных. |
Никаких изменений в источниках слоев не производится. Карта отображает экстент Области интереса (AOI). |
No |
ArcMap открывается с пустым документом карты. В этом случае, поскольку карты не существует, слои не предоставляются. Как только слои добавлены на карту, пользователь может перейти с помощью кнопки Добавить данные (Add Data) на панели инструментов Workflow Manager прямо к версии, определенной для задания, или к версии по умолчанию для выбранной рабочей области данных. |
Поведение аналогично сценарию, когда версия существует. |
ArcMap открывается с пустым документом карты. Кнопка Добавить данные, расположенная на панели инструментов Workflow Manager, неактивна. Если для задания существует область интереса (AOI), можно использовать инструмент Приблизить к Области интереса. |
*Короткое имя – это не полностью определенное имя класса пространственных объектов: Streets вместо NIS.Streets, например. Также учтите, что неважно, как изначально была определена базовая карта, любые случаи совпадения кратких имен должны быть предусмотрены.
Описания аргументов
Шаг Запуск ArcMap имеет много необязательных параметров, позволяющих настроить его выполнение в соответствии с вашими потребностями без написания кода.
Описательное имя |
Пример аргумента |
Поведение |
---|---|---|
Приблизить к Области интереса |
или
|
Используя поведение по умолчанию, изображение карты будет перемещено к области интереса и масштабировано с коэффициентом 1 к геометрии формы. При желании можно не перемещать и не масштабировать карту при помощи опции /nozoomaoi. Или можно показать область интереса с большим коэффициентом масштабирования, используя аргумент /aoifactor: аргумент. |
Переопределить MXD |
|
При поведении по умолчанию, когда /norepoint не используется, все слои карты переопределяются в текущую рабочую область данных и, дополнительно, переопределяется версия задания. |
Изменить только версии MXD |
|
При использовании опции /changeversiononly, версия слоев в документе карты типа задания будет изменена. Пользователь данных и информация о подключении затронуты не будут. |
Сохранить версии слоев базовой карты |
|
При поведении по умолчанию, когда аргумент /nochangebasemaplayerversion не используется, информация о подключении для слоев сохраняется в слое базовой карты. Например вы можете добавить слои из базы данных, которые будут использоваться в вашей карте в качестве базовых слоев. По умолчанию, когда выполняется шаг Запуск ArcMap, эти слои переопределяются в текущую версию задания. Включение этого аргумента не переопределяет источник данных для слоев в этой группе. Так как слои базовой карты относительно статичны и не изменяются часто, их отображение может быть вычислено один раз и затем использоваться многократно. Более подробно см. Работа со слоями базовой карты. |
Сохранить MXD |
|
При поведении по умолчанию, когда аргумент /nosavemxd не используется, документ карты задания будет сохранен в базе данных Workflow Manager. Если ваши документы карты имеют большой размер, вам может понадобиться скорректировать настройку конфигурации MAXBLOBSIZE SDE. При использовании опции /nosavemxd, документ карты задания не будет сохраняться. Эта опция позволяет также переключаться между заданиями в ArcMap без очистки документа карты. |
Вырезать фрейм данных по AOI |
|
При поведении по умолчанию, когда аргумент /cliptoaoi не используется, в документе карты будут показаны все доступные для просмотра данные. При использовании опции /cliptoaoi фрейм данных в документе карты задания вырезается по форме области интереса (AOI). Примечание: При этом не создается определяющий запрос для слоев. Все пространственные объекты в слоях карты по-прежнему доступны через соответствующие таблицы. |
Ожидать закрытие ArcMap (приостановка Workflow Manager) |
|
При поведении приложения Workflow Manager по умолчанию, когда аргумент /nowait не используется, приложение скрыто, пока выполняется процесс ArcMap. Это значит, что пользователь не может взаимодействовать с приложением Workflow Manager, работая в ArcMap. При использовании опции /nowait приложение ArcMap будет запущено в отдельном процессе, что дает пользователю возможность взаимодействовать с приложением Workflow Manager во время работы ArcMap.* |
Использовать существующий сеанс ArcMap |
|
При поведении по умолчанию, если аргумент /useexisting не настроен, во время выполнения шага будет открыт новый сеанс ArcMap. При использовании опции /useexisting, если во время выполнения шага открыт сеанс ArcMap, Workflow Manager откроет в этом сеансе документ карты задания. Если открытого сеанса ArcMap нет, Workflow Manager откроет новый. |
Хранить MXD в совместно используемой директории |
|
При поведении по умолчанию, альтернативная директория не настраивается, и документы карты задания будет храниться в базе данных Workflow Manager. Если ваши документы карты имеют большой размер, вам может понадобиться скорректировать настройку конфигурации MAXBLOBSIZE SDE. При использовании опции хранения документов карт в альтернативной директории, Workflow Manager не будет сохранять документы карты в базе данных, а сохранит их в этой директории для последующего использования. |
Использовать альтернативный MXD |
|
При поведении по умолчанию, шаг будет использовать документ карты по умолчанию для типа задания в качестве документа базовой карты для использования при запуске ArcMap. При использовании этой опции Workflow Manager будет загружать документ карты или шаблон, настроенные для данного аргумента. |
Команда запуска ArcMap |
|
После того как ArcMap закончит загрузку, кнопка, представленная введенным ProgID, будет нажата программным путем. |
Загрузить рабочий процесс Task Assistant |
|
Если данный аргумент настроен, то после открытия ArcMap Workflow Manager откроет настроенный рабочий процесс Task Assistant. Введенное имя рабочего процесса – это обозначение (псевдоним) рабочего процесса TAM, хранящегося в системе Workflow Manager. Множественные рабочие процессы можно проводить с помощью добавления дополнительного / рабочего процесса TA: записей или выбором желаемых рабочих процессов в редакторе аргументов. |
Хранить историю Task Assistant в Истории задания |
|
Если данный аргумент настроен, рабочий процесс Task Assistant будет добавлен в историю задания по умолчанию. Вы по-прежнему можете выбрать прикрепление его в виде текстового файла с помощью инструментов Workflow Manager. |
*Эта опция была добавлена, поскольку опция Запустить процесс асинхронно для шагов рабочего процесса недоступна для объектов пользовательских шагов.