Identificador de Regra

CPR-440NFITE01

Módulo: CPR - Compras.

Finalidade: Passar para a regra todos os dados dos itens de produto e serviço da nota fiscal de entrada após o fechamento, após a efetivação no banco de dados.

São passadas para o identificador de regras as seguintes variáveis:
- VSDGDatEnt - Data de entrada dos dados gerais da nota fiscal de entrada (E440NFC.DATENT)
- Todos os campos da tabela E440IPC (VS + nome do campo)
- Todos os campos da tabela E440ISC (VS + nome do campo)

Os tipos devem ser respeitados conforme configuração da base de dados (alfa ou número).

Observação

Embora este identificador seja executado após as informações serem salvas no banco de dados, existem rotinas que empregam transações em cascata, como a rotina da tela F440CNF, na qual o fechamento da nota pode estar incluído. Dessa forma, caso ocorra algum erro após a chamada do identificador, todas as alterações serão revertidas.

Tela: Fechamento Nota Fiscal de Entrada

Transação: Pode estar ligada a uma transação, neste caso considera-se sempre a transação de produto dos dados gerais da nota fiscal. Não existindo produto, considera-se a de serviço.

Importante

Para efetuar a busca dos dados da OC via regra a partir da Nota de complemento, poderá ser consultada a estrutura E439IPO. Durante o processamento da fixação (antes do fechamento da Nota), ocorre o vínculo entre a OC e a Nota de complemento, e será possível fazer a consulta do referido vínculo em tempo de execução do identificador.

Abaixo, veja um exemplo de regra para a busca da OC:

Definir numero VSNumOcp;
Definir numero VSCodEmp;
Definir numero VSCodFil;
Definir numero VSCodFor;
Definir numero VSNumNfc;
Definir alfa VSCodSnf;
Definir cursor Cur439Ipo;

@caso não venha nada da regra, faz a busca da OC pela E439IPO@
se (VSNumOcp = 0) {
Cur439Ipo.SQL "SELECT NUMOCP FROM E439IPO \
WHERE CODEMP = :VsCodEmp AND \
FILNFC = :VsCodFil AND \
FORNFC = :VSCodFor AND \
NUMNFC = :VSNumNfc AND \
SNFNFC = :VSCodSnf ";
Cur439Ipo.AbrirCursor();
Se (Cur439Ipo.Achou) {
se ((Cur439Ipo.NUMOCP>0))
{ @tratativas@ }

}
Cur439Ipo.FecharCursor();
}

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ê?