IKrScript - интерфейс |
Пространство имён: Tessa.Extensions.Default.Server.Workflow.KrCompilers.UserAPI
public interface IKrScript : ISealable, IKrProcessItemScript, IKrProcessExecutionScript, IKrProcessVisibilityScript, IContextChangeableScript, IExtensionContext
Тип IKrScript предоставляет следующие члены.
Имя | Описание | |
---|---|---|
Action |
Возвращает информацию о конфигурации текущего действия.
| |
Button |
Возвращает кнопку, по нажатию на которую был запущен текущий процесс.
| |
CancellationToken | Объект, посредством которого можно отменить асинхронную задачу. (Унаследован от IExtensionContext.) | |
CanChangeOrder |
Возвращает или задаёт значение, показывающее, можно ли менять порядок этапов шаблона.
| |
CardCache |
Потокобезопасный кэш с карточками и дополнительными настройками.
| |
CardContext |
Возвращает или задаёт контекст расширения, в рамках которого выполняется этап.
| |
CardID |
Возвращает или задаёт идентификатор текущей карточки документа.
| |
CardMetadata |
Содержит метаинформацию, необходимую для использования типов карточек совместно с пакетом карточек.
| |
CardTypeCaption |
Возвращает или задаёт отображаемое название типа текущей карточки документа.
| |
CardTypeID |
Возвращает или задаёт идентификатор типа текущей карточки документа.
| |
CardTypeName |
Возвращает или задаёт название типа текущей карточки документа.
| |
Confirmed |
Признак того, что выполняемый элемент подтвержден условием построения.
| |
CurrentStages |
Возвращает подмножество этапов, относящееся только к текущему скрипту.
Для скрипта выполнения этапа этапа - это коллекция из одного текущего этапа.
Для скрипта построения шаблона этапов - это коллекция из всех этапов текущего шаблона.
Для скрипта построения и выполнения группы этапов - это коллекция из все этапов текущей группы.
Коллекция является неизменяемой. Если необходимо добавить этап, то следует воспользоваться методов AddStageAsync(String, StageTypeDescriptor, Int32).
В случае, когда нужно удалить этап, достаточно выполнить Stages.RemoveAll(Predicate);
Этапы в данной коллекции являются изменяемыми.
| |
Db |
Объект, используемый для выполнения SQL-запросов к текущей БД. По умолчанию уже открыто соединение к основной БД системы,
но посредством вызова using (DbScope.CreateNew("connectionAlias")) { ... } можно изменить базу данных, доступную по свойству Db,
может быть изменена.
Пример выполнения запроса:
int result = Db.SetCommand("select @Result", Db.Parameter("Result", 42)).LogCommand().ExecuteScalar<int>().
Следует учесть, что Db.Parameter("Result", 0) ведет себя нелогично и определит параметр типа nvarchar со значением DbNull,
т.к. будет использована некорректная перегрузка метода Db.Parameter(). В связи с этим добавьте преобразование типа значения к object:
Db.Parameter("Result", (object)0).
| |
DbScope |
Объект, обеспечивающий доступ к базам данных. Позволяет открывать соединение к другим БД:
using (DbScope.CreateNew("connectionAlias")) { ... }.
Также определяет тип СУБД, которая используется системой: DbScope.GetDbmsAsync.
Вместо вызова DbScope.Db для простоты рекомендуется использоваться свойство Db.
| |
DifferentContextCardID |
Идентификатор контекста, в котором необходимо выполнить этап вместо текущего.
(Унаследован от IContextChangeableScript.) | |
DifferentContextProcessInfo |
Дополнительная информация о процессе, выполняемом в другом контексте.
(Унаследован от IContextChangeableScript.) | |
DifferentContextSetupScriptType |
Место, где был установлен признак выполнения в другом контексте.
(Унаследован от IContextChangeableScript.) | |
DifferentContextWholeCurrentGroup |
Признак того, что необходимо выполнить в контексте карточки DifferentContextCardID всю группу.
(Унаследован от IContextChangeableScript.) | |
DocTypeID |
Возвращает иил задаёт идентификатор типа документа для текущей карточки, если тип карточки поддерживает типы документов.
| |
Info |
Возвращает произвольное хранилище для пользовательских данных.
Не является персистентным хранилищем, срок жизни не регламентируется.
| |
InitialStages |
Возвращает набор этапов на момент начала текущей обработки запроса подсистемой маршрутов.
Используется для поиска изменений в маршруте за время обработки запроса.
Использовать в скриптах напрямую не рекомендуется.
| |
InitiationCause |
Возвращает или задаёт причину запуска обработчика процесса.
| |
Initiator |
Возвращает или задаёт инициатора (автора) основного процесса.
| |
InitiatorComment |
Возвращает или задаёт комментарий инициатора основного процесса.
| |
IsSealed | Признак того, что объект был защищён от изменений. (Унаследован от ISealable.) | |
IsStagesReadonly |
Возвращает или задаёт значение, показывающее, можно ли менять настройки этапов в шаблоне.
| |
KrComponents |
Возвращает или задаёт включенные настройки типового решения для текущей карточки.
| |
KrScope |
Объект для работы с текущим контекстом расширений типового расширения и
использования разделяемых объектов карточек.
| |
KrScriptType |
Текущее выполняемое действие.
| |
KrTypesCache |
Кэш по типам карточек и документов, содержащих информацию по типовому решению.
| |
MainCardAccessStrategy |
Возвращает или задаёт стратегия загрузки основной карточки.
| |
MainProcessInfo |
Возвращает dynamic-обёртку над хранилищем Info основного процесса текущей карточки.
| |
MainProcessInfoStorage |
Возвращает хранилище Info основного процесса текущей карточки.
| |
Order |
Возвращает или задаёт порядок сортировки шаблона этапов.
-1 если выполнение происходит без конкретного шаблона.
| |
Position |
Возвращает или задаёт значение определяющее положение относительно этапов, добавленных вручную.
| |
ProcessHolderSatellite |
Возвращает или задаёт процессный сателлит для текущего процесса.
Процессный сателлит содержит в себе список этапов с секции KrStages с состояниями и настройками.
Для основного процесса процессный сателлит совпадает с контекстуальным
| |
ProcessID |
Возвращает или задаёт идентификатор текущего процесса.
| |
ProcessInfo |
Возвращает dynamic-обёртку состояния (Info) процесса.
Представляет из себя персистентное хранилище произвольных данных о процессе.
Может использоваться различными этапами для взаимодействия между собой.
Пример использования:
ProcessInfo.CustomField = 5 | |
ProcessInfoStorage |
Возвращает хранилище состояния (Info) процесса.
Представляет из себя персистентное хранилище произвольных данных о процессе.
Может использоваться различными этапами для взаимодействия между собой.
Пример использования:
ProcessInfoStorage["CustomField"] = 5 | |
ProcessOwner |
Возвращает или задаёт владельца основного процесса.
| |
ProcessTypeName |
Возвращает или задаёт тип текущего процесса.
| |
PureProcess |
Возвращает информацию о конфигурации текущего вторичного процесса.
| |
SecondaryProcess |
Возвращает или задаёт информацию о конфигурации текущего вторичного процесса.
| |
Session |
Сессия текущего пользователя. Используйте Session.User.ID, чтобы получить идентификатор текущего пользователя.
| |
Stage |
Возвращает или задаёт текущий этап.
| |
StageGroupID |
Возвращает или задаёт идентификатор группы этапов для текущего скрипта.
| |
StageGroupName |
Возвращает или задаёт название текущей группы этапов.
| |
StageGroupOrder |
Возвращает или задаёт порядок сортировки текущей группы этапов.
| |
StageInfo |
Возвращает dynamic-обёртку состояния (Info) текущего этапа.
Представляет из себя персистентное хранилище произвольных данных об этапе.
Может использоваться скриптами и обработчиком этапа для хранения данных между вызовами.
Пример использования:
StageInfo.CustomField = 5 | |
StageInfoStorage |
Возвращает хранилище состояния (Info) текущего этапа.
Представляет из себя персистентное хранилище произвольных данных об этапе.
Может использоваться скриптами и обработчиком этапа для хранения данных между вызовами.
Пример использования:
StageInfoStorage["CustomField"] = 5 | |
Stages |
Список этапов в маршруте.
| |
StagesContainer |
Возвращает или задаёт контейнер этапов, выполняющий составление маршрута и сортировку маршрутов при пересчете.
Использовать в скриптах напрямую не рекомендуется.
| |
StageSerializer |
Сериализатор этапов.
| |
TaskHistoryManager |
Текущий используемый менеджер истории заданий.
| |
TaskHistoryResolver |
Объект для работы с группами истории заданий.
| |
TemplateID |
Возвращает или задаёт идентификатор текущего шаблона этапов.
| |
TemplateName |
Возвращает или задаёт название текущего шаблона этапов.
| |
TypeID |
Возвращает эффективный идентификатор типа. Это тип документа, если типы документов включены для типа карточки, иначе тип карточки.
| |
UnityContainer |
IoC-контейнер для получения любых необходимых зависимостей в рамках системы.
Для более удобного использования есть метод Resolve<T>, о котором написано ниже. Пример использования:
var cardRepository = UnityContainer.Resolve<ICardRepository>().
| |
ValidationResult |
Возвращает или задаёт результат валидации текущей обработки запроса.
| |
WorkflowProcess |
Возвращает или задаёт объектную модель текущего процесса.
Содержит полное представление процесса, основанное на контекстуальном и процессном сателлитах.
| |
WorkflowProcessInfo |
Возвращает или задаёт информацию о процессе из WorkflowAPI.
| |
WorkflowSignalInfo |
Возвращает информацию о сигнале из WorkflowAPI.
| |
WorkflowTaskInfo |
Возвращает информацию о задании из WorkflowAPI.
|
Имя | Описание | |
---|---|---|
AddError |
Добавить сообщение в ValidationResult с уровнем Error.
| |
AddInfo |
Добавить сообщение в ValidationResult с уровнем Info.
| |
AddPerformer(Guid, String, Stage, Int32, Boolean) |
Добавляет исполнителя в этап с режимом множественных исполнителей Multiple.
Исполнитель будет добавлен только если на указанном месте для вставки стоит другой исполнитель.
| |
AddPerformer(String, String, Stage, Int32, Boolean) |
Добавляет исполнителя для этапа с режимом множественных исполнителей Multiple.
Исполнитель будет добавлен только если на указанном месте для вставки стоит другой исполнитель.
| |
AddStageAsync |
Добавляет новый этап в маршрут.
| |
AddTaskHistoryRecordAsync(Guid, String, String, Guid, String, NullableGuid, String, NullableInt32, NullableInt32, NullableTimeSpan, FuncCardTaskHistoryItem, ValueTask) |
Асинхронно добавляет запись в текущую группу истории заданий.
| |
AddTaskHistoryRecordAsync(NullableGuid, Guid, String, String, Guid, String, NullableGuid, String, NullableInt32, NullableInt32, NullableTimeSpan, FuncCardTaskHistoryItem, ValueTask) |
Асинхронно добавляет запись в указанную группу истории заданий.
| |
AddWarning |
Добавить сообщение в ValidationResult с уровнем Warning.
| |
AfterAsync |
Скрипт постобработки.
(Унаследован от IKrProcessItemScript.) | |
BeforeAsync |
Скрипт инициализации.
(Унаследован от IKrProcessItemScript.) | |
CardRowsAsync |
Возвращает строго типизированную коллекцию строк из секции основной карточки.
| |
ConditionAsync |
Условие выполнения.
(Унаследован от IKrProcessItemScript.) | |
ContextChangePending |
Смена контекста запланирована с помощью метода RunNextStageInContextAsync(Guid, Boolean, IDictionaryString, Object) | |
DoNotChangeContext |
Отменить смену контекста.
| |
ExecutionAsync |
Метод содержащий условие выполнимости процесса.
(Унаследован от IKrProcessExecutionScript.) | |
ForEachStage |
Выполняет указанное действие над строкой (из коллекционной секции KrStages) этапа текущего процесса в обход объектной модели.
Секция KrStages получается из ProcessHolder-сателлита.
| |
ForEachStageInMainProcessAsync |
Асинхронно выполняет указанное действие над строкой (из коллекционной секции KrStages) этапа основного процесса карточки в обход объектной модели.
Секция KrStages получается из контекстуального сателлита.
| |
GetCardAsync |
Асинхронно возвращает dynamic-обёртку над строковыми секциями карточки документа.
Может использоваться для простого и лаконичного обращения к строковым секциями.
Например:Card.DocumentCommonInfo.AmountCard.MyCustomSection.CustomField | |
GetCardObjectAsync |
Асинхронно возвращает полный объект текущей карточки документа.
| |
GetCardTablesAsync |
Асинхронно возвращает dynamic-обёртку над коллекционными секциями карточки документа.
Может использоваться для простого и лаконичного обращения к коллекционным секциями.
Например:Card.Performers[0].UserID | |
GetContextualSatelliteAsync |
Асинхронно возвращает контекстуальный сателлит KrSatelliteTypeID текущей карточки.
Данный сателлит является основным сателлитом для карточки в подсистеме маршрутов, содержит состояние карточки и инициатора,
а также маршрут для вкладки "Маршруты" (т.е. контекстуальный сателлит по совместительству процессный для основного процесса).
| |
GetCurrentTaskHistoryGroupAsync |
Асинхронно возвращает идентификатор текущей группы истории заданий.
| |
GetCycleAsync |
Асинхронно возвращает номер текущего цикла.
Является прокси для поля в ProcessInfo.Cycle основного процесса.
В вторичных процессах каждое обращение вызывает сериализацию/десериализацию состояния основного процесса,
поэтому следует минимизировать обращения к данному методу.
| |
GetFilesAsync |
Асинхронно возвращает список файлов карточки.
| |
GetNewCardAccessStrategy | ||
GetNewCardAsync | ||
GetOrAddStageAsync |
Возвращает или добавляет новый этап в маршрут, если он отсутсвует в маршруте.
| |
GetPrimaryProcessInfoAsync |
Асинхронно возвращает хранилище Info для основного процесса карточки.
| |
GetProcessInfoForBranch(Guid) |
Возвращает хранилище Info ветки вторичного процесса перед стартом.
Актуально только для этапа ветвления.
| |
GetProcessInfoForBranch(String) |
Возвращает хранилище Info ветки вторичного процесса перед стартом.
Актуально только для этапа ветвления.
| |
GetSecondaryProcessInfoAsync |
Асинхронно возвращает хранилище Info для вторичного процесса карточки.
| |
GetVersionAsync |
Асинхронно возвращает версию карточки.
| |
HasKrComponents(KrComponents) |
Проверяет поддерживаются ли указанные компоненты настроек типового решения для текущей карточки.
| |
HasKrComponents(KrComponents) |
Проверяет поддерживаются ли указанные компоненты настроек типового решения для текущей карточки.
| |
InvokeExtraAsync(String, Object, Boolean) |
Асинхронно выполняет дополнительный метод, приложенный к текущему типу скрипта.
| |
InvokeExtraAsyncT(String, Object, Boolean) |
Асинхронно выполняет дополнительный метод, приложенный к текущему типу скрипта и получить его результат.
| |
IsMainProcess |
Текущий выполняемый процесс является основным (KrProcess)
| |
IsMainProcessInactiveAsync |
Все этапы основного процесса (KrProcess) для текущей карточки находятся в состоянии Inactive .
| |
IsMainProcessStartedAsync |
Возвращает признак, показывающий, что для текущей карточки запущен основной процесс (KrProcess).
| |
NewCardAsync |
Возвращает dynamic обёртку над строковыми секциями карточки из Info этапа по ключу NewCard.
| |
NewCardTablesAsync |
Возвращает dynamic обёртку над коллекционными секциями карточки из Info этапа по ключу NewCard.
| |
RemovePerformer(Guid, Stage, Boolean) |
Удаляет исполнителя по идентификатору указанной роли для этапа с режимом множественных исполнителей Multiple.
| |
RemovePerformer(Int32, Stage, Boolean) |
Удаляет исполнителя расположенному по указанному порядковому индексу для этапа с режимом множественных исполнителей Multiple.
| |
RemovePerformer(String, Stage, Boolean) |
Удаляет исполнителя по роли для этапа с режимом множественных исполнителей Multiple.
| |
RemoveStage |
Удаляет этап из маршрута, добавленный ранее в скриптах.
| |
ResetSinglePerformer |
Устанавливает исполнителя для этапа с режимом одиночного исполнителя Single.
| |
ResolveT |
Получить из UnityContainer зависимость.
| |
ResolveTaskHistoryGroup |
Возвращает группу истории заданий.
| |
RunAfterAsync |
Выполняет скрипт постобработки.
(Унаследован от IKrProcessItemScript.) | |
RunBeforeAsync |
Выполняет скрипт инициализации.
(Унаследован от IKrProcessItemScript.) | |
RunConditionAsync |
Выполняет условие.
(Унаследован от IKrProcessItemScript.) | |
RunExecutionAsync |
Выполняет условие выполнимости процесса.
(Унаследован от IKrProcessExecutionScript.) | |
RunNextStageInContextAsync |
Выполнить этап в другом контексте, т.е. в рамках другой карточки.
Процесс будет собран и выполнен как синхронный вторичный процесс.
Если метод вызывается в Before (Инициализация), то контекст будет переключен для текущего этапа.
Если метод вызывается в After (Постобработка), то контекст будет переключен для следующего этапа.
| |
RunVisibilityAsync |
Выполняет метод определения условия видимости.
(Унаследован от IKrProcessVisibilityScript.) | |
Seal | Защищает объект от изменений. (Унаследован от ISealable.) | |
SetContextualSatellite |
Задаёт контекстуальный сателлит KrSatelliteTypeID текущей карточки.
Данный сателлит является основным сателлитом для карточки в подсистеме маршрутов, содержит состояние карточки и инициатора,
а также маршрут для вкладки "Маршруты" (т.е. контекстуальный сателлит по совместительству процессный для основного процесса).
| |
SetCycleAsync |
Асинхронно задаёт номер текущего цикла.
Является прокси для поля в ProcessInfo.Cycle основного процесса.
В вторичных процессах каждое обращение вызывает сериализацию/десериализацию состояния основного процесса,
поэтому следует минимизировать обращения к данному методу.
| |
SetSinglePerformer(Guid, String, Stage, Boolean) |
Установлевает исполнителя для этапа с режимом одиночного исполнителя Single.
| |
SetSinglePerformer(String, String, Stage, Boolean) |
Установливает исполнителя для этапа с режимом одиночного исполнителя Single.
| |
SetStageStateAsync |
Асинхронно установливает состояние этапа в строке коллекционной секции KrStages.
| |
Show(IDictionaryString, Object) |
Вывести содержимое словаря в ValidationResult с уровнем Info.
| |
Show(Object) |
Вывести объект в ValidationResult с уровнем Info.
| |
Show(IStorageDictionaryProvider) |
Вывести содержимое хранилища в ValidationResult с уровнем Info.
| |
Show(IEnumerablePerformer) |
Вывести информацию о нескольких исполнителях в ValidationResult с уровнем Info.
| |
Show(Performer) |
Вывести информацию об исполнителе в ValidationResult с уровнем Info.
| |
Show(IEnumerableStage) |
Вывести информацию о нескольких этапах в ValidationResult с уровнем Info.
| |
Show(Stage) |
Вывод информации об этапе в ValidationResult с уровнем Info.
| |
Show(String, String) |
Вывести сообщение(message) с уточнением(details) в ValidationResult с уровнем Info.
| |
VisibilityAsync |
Метод определяющий условие видимости.
(Унаследован от IKrProcessVisibilityScript.) |