Identificador de Regra

VEN-140ATUSU01

Módulo: VEN - Vendas.

Finalidade: acionar a regra em pontos específicos das rotinas que envolvem notas fiscais de saída para manipular os campos de usuário das tabelas que fazem parte do processo. Elas são:

A regra é acionada na geração e/ou alteração de uma nota fiscal de saída ou de seus itens de produto e serviço. Também é acionada na reabilitação, cancelamento ou exclusão de uma nota fiscal.

Características: outros identificadores podem ser usados para atualizar campos de usuário, porém quando os campos estão em tabelas em uso pelo sistema, pode não ser possível controlar os comandos SQL (updates) executados diretamente nas regras. Com esse identificador, os acionamentos da regra foram criados em pontos onde o controle é garantido.

Ele é chamado pela rotina de nota fiscal de entrada (F440GNE) quando as entradas gerarem notas fiscais de saída do tipo "0" (zero), bem como para inserção, alteração, cancelamento e reabilitação das notas fiscais de saída, sempre alimentando a variável VenANomTel com o valor "NF_ENTRADA".

Tela: Notas Fiscais de Saída.

Transação: não se aplica.

Regras:

@Exemplo de regra:@
Definir Numero VenNCodEmp;
Definir Numero VenNCodFil;
Definir Alfa VenACodSnf;
Definir Numero VenNNumNfv;
Definir Numero VenNSeqIte;
Definir Alfa VenANomTel;
Definir Alfa VenATabBas;
Definir Alfa VenAEstado;
Definir Alfa Usuario;

Definir Alfa CodEmpAlfa;
Definir Alfa CodFilAlfa;
Definir Alfa NumNfvAlfa;
Definir Alfa SeqIteAlfa;

Definir Alfa Linha1;
Definir Alfa Linha2;
Definir Alfa Linha3;
Definir Alfa Linha4;
Definir Alfa Linha5;
Definir Alfa Linha6;
Definir Alfa Linha7;
Definir Alfa Linha8;

IntParaAlfa(VenNCodEmp,CodEmpAlfa);
IntParaAlfa(VenNCodFil,CodFilAlfa);
IntParaAlfa(VenNNumNfv,NumNfvAlfa);
IntParaAlfa(VenNSeqIte,SeqIteAlfa);

Concatena("Empresa: ",CodEmpAlfa," - Filial: ",Linha1);
Concatena(Linha1,CodFilAlfa," - Série: ",Linha2);
Concatena(Linha2,VenACodSnf," - Nota: ",Linha3);
Concatena(Linha3,NumNfvAlfa," - Seq.Item: ",Linha4);
Concatena(Linha4,SeqIteAlfa," - Tela: ",Linha5);
Concatena(Linha5,VenANomTel," - Tabela: ",Linha6);
Concatena(Linha6,VenATabBas," - Estado: ",Linha7);
Concatena(Linha7,VenAEstado,"[&OK]",Linha8);
Mensagem(Retorna,Linha8);

Usuario = NomUsu;

se (VenATabBas = "E140NFV")
inicio
execsql "update E140NFV set usu_usuario = :Usuario where codemp = :VenNCodEmp and codfil = :VenNCodFil and codsnf = :VenACodSnf and numnfv = :VenNNumNfv";
fim;

se (VenATabBas = "E140IPV")
inicio
execsql "update E140IPV set usu_usuario = :Usuario where codemp = :VenNCodEmp and codfil = :VenNCodFil and codsnf = :VenACodSnf and numnfv = :VenNNumNfv and seqipv = :VenNSeqIte";
fim;

se (VenATabBas = "E140ISV")
inicio
execsql "update E140ISV set usu_usuario = :Usuario where codemp = :VenNCodEmp and codfil = :VenNCodFil and codsnf = :VenACodSnf and numnfv = :VenNNumNfv and seqisv = :VenNSeqIte";
fim;

Variáveis disponibilizadas:

Nome Tipo Observações Retorna Valor
VenNCodEmp NÚMERO Código da empresa N
VenNCodFil NÚMERO Código da filial N
VenACodSnf ALFA Código da série fiscal N
VenNNumNfv NÚMERO Número da nota fiscal N
VenNSeqIte NÚMERO Sequência do item de produto ou serviço N
VenANomTel ALFA Nome da tela que acionou a regra N
VenATabBas ALFA Tabela base controlada para atualização N
VenAEstado ALFA Estado da nota fiscal ou dos itens (INSERINDO,ALTERANDO,FECHANDO,REABILITANDO,CANCELANDO,EXCLUINDO) N

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