Class BPMFlowVO
- Namespace
- PHCBusinessLayer
- Assembly
- PHCBusinessLayer.dll
[AttTable("BPMFlow", 20240308)]
[AttTableVOInfo(typeof(BPMWorkflowAttInfo))]
public class BPMFlowVO : BPMElement, IBaseSerialization, ICloneVO, ICloneable, IChange, IGenericVO, IParent<BPMProcessVO>, IParent
- Inheritance
-
BPMFlowVO
Fields
CodeOnEnd
public const string CodeOnEnd = "OnEnd"
Field Value
CodeOnInit
Sequence of execution of events within the element
public const string CodeOnInit = "OnInit"
Field Value
CodeOnRule
public const string CodeOnRule = "OnRule"
Field Value
CodeOnStatus
public const string CodeOnStatus = "OnStatus"
Field Value
Properties
GetFieldStampName
Use only field name without table name
public override string GetFieldStampName { get; }
Property Value
GetStampValue
public override string GetStampValue { get; }
Property Value
bpmflowstamp
Unique ID
[AttLenght(25)]
public string bpmflowstamp { get; set; }
Property Value
bpmprocessstamp
Connection to BPMProcessVO
[AttForeignKey(typeof(BPMProcessVO))]
[AttLenght(25)]
public string bpmprocessstamp { get; set; }
Property Value
elementtype
Element type
public override BPMElementTypes elementtype { get; set; }
Property Value
filter
Filter
[AttCollection(typeof(SearchItemsVO), new string[] { "[SearchItems].[searchstamp]", "[BPMFlow].[bpmflowstamp]" })]
public List<SearchItemsVO> filter { get; set; }
Property Value
onend
Código de fim
[AttFieldType(AttFieldType.InputTypes.memo)]
public string onend { get; set; }
Property Value
- string
Qualquer retorno de mensagens ou erro de execução é ignorado, pois não é possivel cancelar o fim da execução de um caminho, no entanto todas as mensagens retornadas são registradas no log do workflow.
Remarks
É o último código a correr no elemento, pode usar 'SDKBPM' para facilmente aceder ao SDK do BPM e assim efetuar as operações desejadas.
Payload Se o worflow foi iniciado a partir do ecrã de clientes quando se consultava o cliente João, esses dados estão dentro do workflow através de uma variável especial e em qualquer altura da execução do workflow pode-se obter esses dados da seguinte maneira:
Dim cliente as ClVO = SDKBPM.GetPayload(Of ClVO)()
Contexto SDKBPM.GetProcess() = Tipo de workflow iniciado BPMProcessVO SDKBPM.GetWorkflow() = Workflow iniciado BPMInstanceVO SDKBPM.GetActivity() = Atividade que está a ser processada BPMActivityVO
SDKBPM.GetElement() = Elemento que deu origem á atividade BPMElement SDKBPM.GetElement(Of BPMEventVO)() SDKBPM.GetElement(Of BPMFlowVO)() SDKBPM.GetElement(Of BPMGatewayVO)() SDKBPM.GetElement(Of BPMActionVO)()
Definir valores de variáveis SDKBPM.SetVar('Cod02', 'Meu resumo inicial')
Obter valores de variáveis SDKBPM.GetVar('Cod02'), retorna Object SDKBPM.GetVar(Of String)('Cod02'), retorna String
oninit
Código de inicialização
[AttFieldType(AttFieldType.InputTypes.memo)]
public string oninit { get; set; }
Property Value
- string
Se for retornada alguma mensagem de erro 'MsgError' ou ocorrer erro na execução do código, o caminho é ignorado, mas o processamento do workflow continua a funcionar á procura de outros caminhos válidos, todas as mensagens são registadas no log do workflow.
Remarks
É o primeiro código a correr no elemento, é a altura ideal para definir valores para as variáveis, ou alterar outras configurações do workflow ou da atividade que está a ser processada, pode usar 'SDKBPM' para facilmente aceder ao SDK do BPM e assim efetuar as operações desejadas.
Payload Se o worflow foi iniciado a partir do ecrã de clientes quando se consultava o cliente João, esses dados estão dentro do workflow através de uma variável especial e em qualquer altura da execução do workflow pode-se obter esses dados da seguinte maneira:
Dim cliente as ClVO = SDKBPM.GetPayload(Of ClVO)()
Contexto SDKBPM.GetProcess() = Tipo de workflow iniciado BPMProcessVO SDKBPM.GetWorkflow() = Workflow iniciado BPMInstanceVO SDKBPM.GetActivity() = Atividade que está a ser processada BPMActivityVO
SDKBPM.GetElement() = Elemento que deu origem á atividade BPMElement SDKBPM.GetElement(Of BPMEventVO)() SDKBPM.GetElement(Of BPMFlowVO)() SDKBPM.GetElement(Of BPMGatewayVO)() SDKBPM.GetElement(Of BPMActionVO)()
Definir valores de variáveis SDKBPM.SetVar('Cod02', 'Meu resumo inicial')
Obter valores de variáveis SDKBPM.GetVar('Cod02'), retorna Object SDKBPM.GetVar(Of String)('Cod02'), retorna String
onrule
Código de ativação
[AttFieldType(AttFieldType.InputTypes.memo)]
public string onrule { get; set; }
Property Value
- string
Este código não retorna mensagens, se for necessário registrar informação no log do workflow deve ser utilizado SDKBPM.AddTrace(New MsgInfo('Informação A')) ou SDKBPM.AddTrace(New MsgError('Erro B'))
Remarks
Caso o caminho seja proveniente de um ponto de decisão, pode ter sido ativado nesse elemento de origem, e nesse caso este código não é executado, caso contrário, neste código devemos retornar um valor lógico de verdadeiro para ativar o caminho.
Payload Se o worflow foi iniciado a partir do ecrã de clientes quando se consultava o cliente João, esses dados estão dentro do workflow através de uma variável especial e em qualquer altura da execução do workflow pode-se obter esses dados da seguinte maneira:
Dim cliente as ClVO = SDKBPM.GetPayload(Of ClVO)()
Contexto SDKBPM.GetProcess() = Tipo de workflow iniciado BPMProcessVO SDKBPM.GetWorkflow() = Workflow iniciado BPMInstanceVO SDKBPM.GetActivity() = Atividade que está a ser processada BPMActivityVO
SDKBPM.GetElement() = Elemento que deu origem á atividade BPMElement SDKBPM.GetElement(Of BPMEventVO)() SDKBPM.GetElement(Of BPMFlowVO)() SDKBPM.GetElement(Of BPMGatewayVO)() SDKBPM.GetElement(Of BPMActionVO)()
Exemplo de regra de ativação If SDKBPM.GetVar(Of String)('Cod02').ToLower() = 'tudo ok' Return True End If
If SDKBPM.GetVar(Of String)('Cod02').EqualsWithIgnoreCase('Tudo Ok') Return True End If
Definir valores de variáveis SDKBPM.SetVar('Cod02', 'Meu resumo inicial')
Obter valores de variáveis SDKBPM.GetVar('Cod02'), retorna Object SDKBPM.GetVar(Of String)('Cod02'), retorna String
onstatus
Código de estado
[AttFieldType(AttFieldType.InputTypes.memo)]
public string onstatus { get; set; }
Property Value
- string
Se for retornada alguma mensagem de erro 'MsgError' ou ocorrer erro na execução do código, a alteração do valor do estado é cancelada mas o workflow continua em execução, todas as mensagens retornadas são registradas no log do workflow.
Remarks
Código para definir o valor do estado a ser aplicado ao workflow e á atividade que está a ser processada, este código só é executado se o caminho for ativado e corre após essa ativação, de notar que caso o caminho não seja proveniente de um ponto de decisão, é considerado como ativo, e por isso este código é sempre executado nessa situação, pode usar 'SDKBPM' para facilmente aceder ao SDK do BPM e assim efetuar as operações desejadas.
Payload Se o worflow foi iniciado a partir do ecrã de clientes quando se consultava o cliente João, esses dados estão dentro do workflow através de uma variável especial e em qualquer altura da execução do workflow pode-se obter esses dados da seguinte maneira:
Dim cliente as ClVO = SDKBPM.GetPayload(Of ClVO)()
Contexto SDKBPM.GetProcess() = Tipo de workflow iniciado BPMProcessVO SDKBPM.GetWorkflow() = Workflow iniciado BPMInstanceVO SDKBPM.GetActivity() = Atividade que está a ser processada BPMActivityVO
SDKBPM.GetElement() = Elemento que deu origem á atividade BPMElement SDKBPM.GetElement(Of BPMEventVO)() SDKBPM.GetElement(Of BPMFlowVO)() SDKBPM.GetElement(Of BPMGatewayVO)() SDKBPM.GetElement(Of BPMActionVO)()
Definir o valor de estado SDKBPM.SetStatus("Em Aprovação")
Definir valores de variáveis SDKBPM.SetVar('Cod02', 'Meu resumo inicial')
Obter valores de variáveis SDKBPM.GetVar('Cod02'), retorna Object SDKBPM.GetVar(Of String)('Cod02'), retorna String
sourceIsGateway
The flow is from gateway
[AttVirtualField]
[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public bool sourceIsGateway { get; set; }
Property Value
sourceRef
Incoming element id
[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public string sourceRef { get; set; }
Property Value
sourceRefName
[AttVirtualField]
[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public string sourceRefName { get; set; }
Property Value
status
Status
[AttLenght(40)]
public string status { get; set; }
Property Value
targetRef
Outgoing element id
[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public string targetRef { get; set; }
Property Value
targetRefName
[AttVirtualField]
[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public string targetRefName { get; set; }
Property Value
Methods
SetStampValue(string)
public override void SetStampValue(string stampID)
Parameters
| Nome | Tipo | Descrição |
|---|---|---|
stampID |
string |
ToString()
public string ToString()
Returns
Explicit Interface Implementations
ParentVO
BPMProcessVO ParentVO { get; set; }