public interface IKrScript : ISealable,
IKrProcessItemScript, IKrProcessExecutionScript, IKrProcessVisibilityScript, IContextChangeableScript, IExtensionContext
Public Interface IKrScript
Inherits ISealable, IKrProcessItemScript, IKrProcessExecutionScript, IKrProcessVisibilityScript,
IContextChangeableScript, IExtensionContext
public interface class IKrScript : ISealable,
IKrProcessItemScript, IKrProcessExecutionScript, IKrProcessVisibilityScript, IContextChangeableScript, IExtensionContext
type IKrScript =
interface
interface ISealable
interface IKrProcessItemScript
interface IKrProcessExecutionScript
interface IKrProcessVisibilityScript
interface IContextChangeableScript
interface IExtensionContext
end
Action | Возвращает информацию о конфигурации текущего действия. |
Button | Возвращает кнопку, по нажатию на которую был запущен текущий процесс. |
CancellationToken |
Объект, посредством которого можно отменить асинхронную задачу.
(Унаследован от IExtensionContext) |
CanChangeOrder | Возвращает или задаёт значение, показывающее, можно ли менять порядок этапов шаблона. |
CardCache | Потокобезопасный кэш с карточками и дополнительными настройками. |
CardContext | Возвращает или задаёт контекст расширения, в рамках которого выполняется этап. |
CardID | Возвращает или задаёт идентификатор текущей карточки документа. |
CardMetadata | Содержит метаинформацию, необходимую для использования типов карточек совместно с пакетом карточек. |
CardType | Возвращает или задаёт тип текущей карточки. |
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, NullableGuid, FuncCardTaskHistoryItem, ValueTask) | Асинхронно добавляет запись в текущую группу истории заданий. |
AddTaskHistoryRecordAsync(NullableGuid, Guid, String, String, Guid, String, NullableGuid, String, NullableInt32, NullableInt32, NullableTimeSpan, NullableGuid, FuncCardTaskHistoryItem, ValueTask) | Асинхронно добавляет запись в указанную группу истории заданий. |
AddWarning | Добавить сообщение в ValidationResult с уровнем Warning. |
AfterAsync |
Сценарий постобработки.
(Унаследован от IKrProcessItemScript) |
BeforeAsync |
Сценарий инициализации.
(Унаследован от IKrProcessItemScript) |
CardRowsAsync | Возвращает строго типизированную коллекцию строк из секции основной карточки. |
ConditionAsync |
Сценарий C#-условия.
(Унаследован от IKrProcessItemScript) |
ContextChangePending | Смена контекста запланирована с помощью метода RunNextStageInContextAsync(Guid, Boolean, IDictionaryString, Object) |
DoNotChangeContext | Отменить смену контекста. |
ExecutionAsync |
Метод содержащий условие выполнимости процесса.
(Унаследован от IKrProcessExecutionScript) |
ForEachStage | Выполняет указанное действие над строкой (из коллекционной секции KrStages) этапа текущего процесса в обход объектной модели. Секция KrStages получается из ProcessHolder-сателлита. |
ForEachStageInMainProcessAsync | Асинхронно выполняет указанное действие над строкой (из коллекционной секции KrStages) этапа основного процесса карточки в обход объектной модели. Секция KrStages получается из контекстуального сателлита. |
GetCardAsync |
Асинхронно возвращает dynamic-обёртку над строковыми секциями карточки документа.
Может использоваться для простого и лаконичного обращения к строковым секциями. Например: Card.DocumentCommonInfo.Amount Card.MyCustomSection.CustomField |
GetCardObjectAsync | Асинхронно возвращает полный объект текущей карточки документа. |
GetCardTablesAsync |
Асинхронно возвращает dynamic-обёртку над коллекционными секциями карточки документа.
Может использоваться для простого и лаконичного обращения к коллекционным секциями. Например: Card.Performers[0].UserID |
GetContextualSatelliteAsync | Асинхронно возвращает контекстуальный сателлит KrSatelliteTypeID текущей карточки. Данный сателлит является основным сателлитом для карточки в подсистеме маршрутов, содержит состояние карточки и инициатора, а также маршрут для вкладки "Маршруты" (т.е. контекстуальный сателлит по совместительству процессный для основного процесса). |
GetCurrentTaskHistoryGroupAsync | Асинхронно возвращает идентификатор текущей группы истории заданий. |
GetCycleAsync | Асинхронно возвращает номер текущего цикла. Является прокси для поля в ProcessInfo.Cycle основного процесса. В вторичных процессах каждое обращение вызывает сериализацию/десериализацию состояния основного процесса, поэтому следует минимизировать обращения к данному методу. |
GetFilesAsync | Асинхронно возвращает список файлов карточки. |
GetNewCardAccessStrategy | Возвращает стратегию загрузки карточки, получаемой из Info этапа по ключу NewCard. |
GetNewCardAsync | Асинхронно возвращает карточку из Info этапа по ключу NewCard. |
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 |
Выполняет сценарий постобработки AfterAsync.
(Унаследован от IKrProcessItemScript) |
RunBeforeAsync |
Выполняет сценарий инициализации BeforeAsync.
(Унаследован от IKrProcessItemScript) |
RunConditionAsync |
Выполняет C#-условие ConditionAsync.
(Унаследован от 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(IEnumerablePerformer) | Вывести информацию о нескольких исполнителях в ValidationResult с уровнем Info. |
Show(IEnumerableStage) | Вывести информацию о нескольких этапах в ValidationResult с уровнем Info. |
Show(IStorageDictionaryProvider) | Вывести содержимое хранилища в ValidationResult с уровнем Info. |
Show(Object) | Вывести объект в ValidationResult с уровнем Info. |
Show(Performer) | Вывести информацию об исполнителе в ValidationResult с уровнем Info. |
Show(Stage) | Вывод информации об этапе в ValidationResult с уровнем Info. |
Show(String, String) | Вывести сообщение(message) с уточнением(details) в ValidationResult с уровнем Info. |
VisibilityAsync |
Метод определяющий условие видимости.
(Унаследован от IKrProcessVisibilityScript) |