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.