Páginas filhas
  • WfProcessSend


Movimenta uma solicitação já existente no ECM para um novo estado (atividade).

Atenção

Para a utilização desta função é necessário que o processo e a solicitação já tenham sido criados no ECM.



Sintaxe:
    LET lStatus = _ADVPL_WfProcessSend( nSolicitation, nChoosedState, cColleagues, cComments, cUserId, lCompleteTask, aAttachs, oCardData, cAppointments, lManagerMode, nThreadSequence, cReplacementId )
Parâmetros:
    nSolicitation → Número da solicitação que será movimentada de estado <obrigatório>.
    nChoosedState → Número da atividade para qual a solicitação será movida <obrigatório>. 
    cColleagues → Códigos dos usuários ou grupos que receberão a solicitação [opcional]. Em caso de mais de um usuário/grupo, deve-se delimitar as ocorrências da lista usando ";" (ponto e vírgula).
    cComments → Comentários a serem incluidos na movimentação da solicitação [opcional].
    cUserId → Código do usuário que executará a tarefa [opcional, padrão: Usuário publicador configurado na chave de profile logix.ecm.user].
    lCompleteTask → VERDADEIRO se a tarefa deve ser salva e concluída ou FALSO para indicar que tarefa apenas será salva [opcional, padrão: VERDADEIRO].
    cAttachments → Lista dos documentos a serem anexados a solicitação [opcional]. [NÃO IMPLEMENTADO]
    oCardData → Objeto (RECORD) com as colunas e valores da solicitação [opcional].
    cAppointments → Apontamentos da tarefa [opcional]. Em caso de mais de um apontamento, deve-se delimitar as ocorrências da lista usando ";" (ponto e vírgula).  [NÃO IMPLEMENTADO]
    lManagerMode → VERDADEIRO para indicar se o usuário está executando a tarefa como gestor do processo [opcional, padrão FALSO].
    nThreadSequence → Número da atividade paralela no processo [opcional, padrão: 0]. Se existir, este valor pode ser de 1 a infinito dependendo da quantidade de atividades paralelas existentes no processo.
    cReplacementId → Código do usuário substituto [opcional].
Retorno:
    lStatus → VERDADEIRO se a solicitação foi movimentada com sucesso.


EXEMPLO

#--------------------------------------------#
FUNCTION log02700_send_process(l_solicitation)
#--------------------------------------------#
    DEFINE l_solicitation SMALLINT
    DEFINE l_status SMALLINT

    # Tenta finalizar a solicitação (etapa 3).
    LET l_status = _ADVPL_WfProcessSend(l_solicitation,3,NULL,'Finaliza a criação do usuário',p_user,TRUE,NULL,NULL)
 
    IF l_status THEN
        CALL LOG_message("Solicitação movimentada com sucesso.","INFO",NULL,NULL,0)
    ELSE
        CALL LOG_message("Não foi possível movimentar a solicitação.","ERROR",_ADVPL_WfGetError(2),NULL,0)
    END IF

    RETURN l_status
END FUNCTION


OBSERVAÇÕES

Se houver erros durante a movimentação da solicitação, para recuperar a mensagem e os detalhes do erro ocorrido, deve-se utilizar a função WfGetError.

Arquivo 4GL utilizado no exemplo desta função: log02700.4gl.

VEJA TAMBÉM

WfProcessStart