Identificador de Regra

FIN-616ROCUA01

Módulo: FIN - Financeiro.

Finalidade: Esse identificador tem a finalidade de controlar a aprovação de registros de ocorrências que não tenham passado pelo processo de aprovação multi-nível e que necessitam de aprovação.

Características: A variável VSRocSitOco somente retorna valor quando o identificador for executado a partir do botões aprovar/desaprovar/baixar.

Tela: F616APO

Transação: Não se aplica.

Regra:

Definir Cursor CUR_E099USU;
Definir Numero VSRocCodEmp;
Definir Alfa VSRocTipOpe;
Definir Numero VSRocCodCto;
Definir Numero VSRocSitOco;
Definir Numero xCodEmp;
Definir Numero xCodUsu;
Definir Numero xNivelUsuario;

se (VSRocTipOpe = "Baixar")
inicio
se ((VSRocCodCto = 1) ou (VSRocCodCto = 2))
VSRocSitOco = 3; @Não necessita de aprovação, ou seja, já é baixada automaticamente para esses tipos@
senao
VSRocSitOco = 2; @2 - Aguardando aprovação de baixa@
fim;
senao
se (VSRocTipOpe = "Aprovar")
inicio
/*
Niveis do usuário (campo criado na tabela E099USU e adicionado a tela F099UPJ)
1 - Assessor
2 - Gerente Divisão
3 - Gerente Núcleo */

xCodEmp = VSRocCodEmp;
xCodUsu = CodUsu;
CUR_E099USU.Sql "SELECT USU_NIVUSU
FROM E099USU WHERE
E099USU.CODEMP = :xCodEmp AND
E099USU.CODUSU = :xCodUsu ";

CUR_E099USU.AbrirCursor();
se (CUR_E099USU.Achou)
inicio
xNivelUsuario = CUR_E099USU.USU_NIVUSU;
fim;
CUR_E099USU.FecharCursor();

se (((VSRocCodCto = 2) e (xNivelUsuario <> 3)) ou ((VSRocCodCto = 3) e (xNivelUsuario <> 2)))
GeraLog("Você não tem permissão para aprovar o registro de ocorrência.");
fim; @se = "Aprovar"@

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
VSRocCodEmp NÚMERO Código da empresa N
VSRocTipRoc NÚMERO Tipo registro da ocorrência N
VSRocSeqRoc NÚMERO Sequência registro da ocorrência N
VSRocCodFor NÚMERO Código do fornecedor N
VSRocNumPrj NÚMERO Número do projeto N
VSRocCodCto NÚMERO Código do tipo da ocorrência N
VSRocCodOco NÚMERO Código da ocorrência N
VSRocTipOpe ALFA Tipo Operação (Aprovar/Baixar/Flexibilizar/Desaprovar/DesaprovarBaixa/DesaprovarFlexibilizacao/ReprovarEntrada/ReprovarBaixa/ReprovarFlexibilizacao) N
VSRocSitOco NÚMERO Indicativo da situação da ocorrência S

Atenção

Caso o parâmetro global LisVarReg esteja habilitado, a variável ListaVariaveis estará disponível em todos os identificadores de regras do sistema. O conteúdo desta variável lista os campos disponibilizados no identificador de regras em questão.

Não é aconselhada a ativação desse parâmetro global para o uso cotidiano. Esse recurso de listagem dos campos de identificadores auxilia a construção de regras e o Suporte para, por exemplo, depuração ou quando não houver acesso à documentação dos identificadores de regras.

Este artigo ajudou você?