Variáveis
As variáveis permitem a centralização e organização das informações que serão utilizadas no processo. Estas variáveis se dividem em variáveis do processo e locais, sendo criadas e editadas pelo Editor de variáveis.
Quando utilizada uma variável em um campo no workflow, e houver uma variável do processo e uma variável local com o mesmo nome utilzado, será utilizado o valor da variável local.
Variáveis do processo
As variáveis do processo, ficam disponíveis durante toda a execução do processo, podendo ser acessada por qualquer atividade do processo.
Variáveis locais
As variáveis locais, ficam disponíveis apenas durante a execução da tarefa na qual esta criado, sendo acessível somente por esta tarefa.
Além do editor de variáveis, as variáveis locais podem ser criadas através de funções JavaScript.
Serialização
A serialização das variáveis é feita no formato XML, sendo que:
- O encode utilizado é "ISO-8859-1";
- O nó raiz chama-se "data";
- Os nomes dos nós correspondem aos nomes das variáveis;
- O tipo de cada nó é determinado pelo tipo da variável correspondente.
Formato dos dados de acordo com o tipo:
- INTEGER e LONG: Texto simples, sem separador de milhar.
- DOUBLE: Texto simples, sem separador de milhar, usando o ponto "." como separador decimal. Aceita valores com notação científica.
- BOOLEAN: Aceita apenas os valores "true" ou "false".
- STRING: Pode ser passado como texto simples ou CDATA.
- DATE: Texto simples, seguindo o formato "yyyy-MM-dd", sendo que :
- yyyy = ano;
- MM = mês;
- dd = dia.
- DATETIME: Texto simples, seguindo o formato "yyyy-MM-dd'T'HH:mm:ss.SSSZ", onde:
- yyyy, MM e dd = mesma definição de DATE;
- HH = hora, no formato 24 horas;
- mm = minutos;
- ss = segundos;
- SSS = milésimos de segundo;
- Z = GMT (opcional).
- BINARY: Sequência de bytes formatada em base64.
- OBJECT: Nó com o nome da variável correspondente, contendo um nó para cada propriedade. Cada propriedade, por sua vez, pode ser de qualquer tipo definido neste cenário, recursivamente.
- LIST: Nó com o nome da variável correspondente, contendo um nó "value" para cada item da lista. Cada item pode ser de qualquer tipo definido neste cenário, recursivamente.
Exemplo de serialização da variáveis
O exemplo abaixo mostra um XML que corresponde ao seguinte conjunto de variáveis do processo utilizadas pela Engine:
| Nome | Tipo |
| CODIGO | integer |
| ID | long |
| VALOR | double |
| OUTRO_VALOR | double (usando notação científica) |
| ATIVO | boolean |
| NOME | string |
| NASCIMENTO | date |
| GERACAO | datetime |
| FOTO | binary |
| ENDERECO | object (propriedades: log, cidade, cep) |
| ENDERECO_LOG | string |
| ENDERECO_CIDADE | string (usando CDATA) |
| ENDERECO_CEP | string |
| LISTA_IDS | list (lista de valores do tipo integer) |
| LISTA_ITENS | list (lista de valores do tipo object, com as propriedades id e desc) |
<?xml version="1.0" encoding="ISO-8859-1"?>
<data>
<codigo>123456</codigo>
<id>12345678901234567</id>
<valor>123456.78</valor>
<outro_valor>8.100051840331778e-6</outro_valor>
<ativo>true</ativo>
<nome>Fulano</nome>
<nascimento>2012-06-15</nascimento>
<geracao>2012-06-15T14:08:56.235-0300</geracao>
<foto>asgGaslkdjhkawehhfJNJSDkdkjaHAJKSsdJKjskalppoejhwasdqdddGHalk</foto>
<endereco>
<log><![CDATA[Rua São Paulo, 123 - Victor Konder] ]></log>
<cidade>Blumenau</cidade>
<cep>89000-999</cep>
</endereco>
<lista_ids>
<value>123</value>
<value>456</value>
<value>789</value>
</lista_ids>
<lista_itens>
<value>
<id>123</id>
<desc>item_123</desc>
</value>
<value>
<id>456</id>
<desc>item_456</desc>
</value>
<value>
<id>789</id>
<desc>item_789</desc>
</value>
</lista_itens>
<_dados><![CDATA[<?xml version="1.0" encoding="ISO-8859-1"?><data>...</data>]]</_dados>
</data>

English
Español


