Regras Workflow > Categoria TRA > Cód. OBJCRE (Criação objecto sem assinatura) 

Este evento é genérico, e se aplica aos objetos nos casos seguintes :

  • A tabela principal não tem campo ENAFLG (sem circuito de validação possível).
  • Pretende-se rastrear as criações de ficha.
  • Um código utilizador destinatário está associado ao código objeto afetado na regra de afetação OBJCRE definido por outro lado.

Contexto e modo de funcionamento.

Esta regra Workflow desencadeia-se na gestão de objecto, unicamente para as seguintes operações :

 Create

Desencadeia uma mensagem.

A regra de afectação OBJCRE (Criação objecto genérico) é utilizado pela regra de workflow OBJCRE.

Do facto do seu caracter genérico, a parametrização de evento está suficientemente complicado.

  • O código modelo associado não parte a tabela principal do objeto ! Isto não será o caso de uma regra de assinatura "simples" ligado a um objeto bem determinado (cf. as regras BPSCRE, BPSVAL, e BPSREJ que são também mais simples dedicados a um objeto, BPS na ocorrência).

    Com efeito, como temos necessidade de testar as informações emitidas da estrutura de objeto e da tabela, o código modelo associado à regra de afetação tem por tabela principal a tabela ATEXTE (uma das raras janelas abertas qualquer que seja o contexto). Lê-se, por uma ligação artificial, a tabela dos objetos (ligação 1,1). A chave de ligação é ""+GABREV : com efeito,GABREV é uma variável global que permite, num contexto objeto, de conhecer o código de objeto corrente. Como um controlo de existência está feito na tabela de origem da ligação se resume a um campo, inibe-se aqui o controlo em colocando uma expressão resultante da concatenação de um campo vazio e desta variável.

    Assim, no evento OBJCRE, dispõe-se em linha da tabela AOBJET (estrutura de objeto), e da tabela ATABLE (tabela principal do objeto). Isto permite em seguida de testar a existãncia do campo ENAFLG no dicionário da tabela principal.
  • Está-se em gestão de objeto (sem código objeto indicado), em criação de ficha.

Critérios desencadeamento

Os critérios complementares de desencadeamento são os seguintes :

  • O campo [ABV]ENAFLG não existe (ABV sendo a abreviação da tabela associada ao objeto,o que explica que se passa por uma função avaliada).
  • A regra de afetação dos destintários deve ter rendido um valor ([L]USER não vazio).
  • Um campo Intitulado deve existir na tabela principal do objeto (isto para permitir de reenviar um titulo no mail).
  • Este intitulado não pode ser dependente da língua. De facto, este Workflow não poderá ser utilizado para os objetos que apresentam esta particularidade. Neste caso, escrever-se-á uma regra Workflow não genérico que será então infinitamente mais simples.

Destinatários

A escolha dos destinatários é definida da seguinte maneira :

  • O destinatário da mensagem e do seguimento é [L]USER (utilizador emitido da regra de afetação)

Mensagem e seguimento

O exemplo de mensagem dado a seguir se apoia sobre a criação de um ficheiro terceiro. Neste caso, o objeto da mensagem enviada seguirá o modelo seguinte :

Ficha Terceiros MARTIN criado

Para obter este modelo, encontra-se o título do objeto em partindo do campo LIBEL da tabela objeto. Este campo é de tipo "texto dicionário", falta então utilizar a função AFNC.TEXTE para ter o texto na língua corrente do utilizador enviando o mail. A chave corrente do objeto é dada pela variável CLEOBJ, que está sempre preenchida num contexto objeto.

O corpo da mensagem seguirá então o modelo seguinte :

Designação MARTIN e Associados

Criado por : DOE ( John DOE )

A designação está obtida em avaliando o campo intitulado da tabela associada ao objeto, e as variáveis GUSER e GNOMUSER dão o código e o nome de utilizador corrente (aquele que criou a ficha).

O seguimento realizado aqui é mínimo, pois que não há processo de assinatura. Contenta-se de enviar uma linha no monitor Workflow do mesmo utilizador, com o título :

Ficha criada : Terceiros MARTIN (Martin e associados)

Aqui concatena-se o nome de objeto, a chave criada, e o título entre parênteses

A check box seguimento estando assinalado, o utilizador poderá simplesmente colocar um visa sem assinatura para significar que leu a linha em questão.

Tabelas consideradas

As seguintes tabelas estão referidas na regra OBJCRE :

Tabela

Descr. Tabela

AOBJET [AOB]

Objectos de base

ATABLE [ATB]

Dicionário das tabelas

ATEXTE [ATX]

Mensagens do dicionário