Table of Contents

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

string

CodeOnInit

Sequence of execution of events within the element

public const string CodeOnInit = "OnInit"

Field Value

string

CodeOnRule

public const string CodeOnRule = "OnRule"

Field Value

string

CodeOnStatus

public const string CodeOnStatus = "OnStatus"

Field Value

string

Properties

GetFieldStampName

Use only field name without table name

public override string GetFieldStampName { get; }

Property Value

string

GetStampValue

public override string GetStampValue { get; }

Property Value

string

bpmflowstamp

Unique ID

[AttLenght(25)]
public string bpmflowstamp { get; set; }

Property Value

string

bpmprocessstamp

Connection to BPMProcessVO

[AttForeignKey(typeof(BPMProcessVO))]
[AttLenght(25)]
public string bpmprocessstamp { get; set; }

Property Value

string

elementtype

Element type

public override BPMElementTypes elementtype { get; set; }

Property Value

BPMElementTypes

filter

Filter

[AttCollection(typeof(SearchItemsVO), new string[] { "[SearchItems].[searchstamp]", "[BPMFlow].[bpmflowstamp]" })]
public List<SearchItemsVO> filter { get; set; }

Property Value

List<SearchItemsVO>

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

bool

sourceRef

Incoming element id

[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public string sourceRef { get; set; }

Property Value

string

sourceRefName

[AttVirtualField]
[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public string sourceRefName { get; set; }

Property Value

string

status

Status

[AttLenght(40)]
public string status { get; set; }

Property Value

string

targetRef

Outgoing element id

[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public string targetRef { get; set; }

Property Value

string

targetRefName

[AttVirtualField]
[AttFieldType(new AttFieldType.FieldFlags[] { AttFieldType.FieldFlags.isReadOnly })]
public string targetRefName { get; set; }

Property Value

string

Methods

SetStampValue(string)

public override void SetStampValue(string stampID)

Parameters

Nome Tipo Descrição
stampID string

ToString()

public string ToString()

Returns

string

Explicit Interface Implementations

ParentVO

BPMProcessVO ParentVO { get; set; }

Returns

BPMProcessVO