Identificador de Regra

CPR-440PRMED02

Módulo: CPR - Compras

Finalidade: Este identificador tem por objetivo permitir que seja utilizado o preço médio do produto, informado via regra em vez do valor líquido do item na valorização dos produtos na tela Valorização do Produto (F440VPR). Para isso, serão disponibilizados na regra a chave do item da nota de entrada que está sendo valorizado, junto com a chave do item da nota fiscal de saída ligada a este item, quando existir.

Observação

O identificador de regra CPR-440PRMED02 irá sobrepor o identificador CPR-440PRMED01, caso os dois estiverem ativos no sistema ao mesmo tempo.

Características: A regra retornará um preço médio que será disponibilizado visualmente na grade inferior da tela F440VPR, que por consequência irão agregar valor aos itens da grade superior, quando relacionados a eles.

O identificador de regra será chamado para todos os componentes da nota fiscal, independente se estes tiverem nota de saída vinculada. O identificador é executado na abertura da tela de valorização (F440VPR) que é o momento em que o sistema carrega os componentes para valorização.

Tela: Valorização de Produtos da Nota Fiscal de Entrada (F440VPR)

Transação: Pode estar ligado à transação do item de produto da nota fiscal de entrada.

Regra:

@ - Variáveis disponíveis na regra - @
definir numero CprNCodEmp;
definir numero CprNCodFil;
definir numero CprNCodFor;
definir alfa CprACodSnf;
definir numero CprNNumNfc;
definir numero CprNSeqIpc;

definir numero CprNEmpNfv;
definir numero CprNFilNfv;
definir alfa CprASnfNfv;
definir numero CprNNumNfv;
definir numero CprNSeqIpv;
definir numero CprNPreMed;

@ - Variáveis utilizadas pelo exemplo - @
definir cursor xSql;
definir numero xTipNfe;

xTipNfe = 0;

xSql.SQL "SELECT TIPNFE FROM E440NFC

WHERE E440NFC.CODEMP=:CprNCodEmp AND

E440NFC.CODFIL=:CprNCodFil AND

E440NFC.CODFOR=:CprNCodFor AND

E440NFC.CODSNF=:CprACodSnf AND

E440NFC.NUMNFC=:CprNNumNfc";

xSql.AbrirCursor();

Se (xSql.Achou)

xTipNfe = xSql.TIPNFE;

xSql.FecharCursor();

@ - Busca e Cálculo Fictício - @
@ ---------------------------- @

Se ((CprNNumNfv > 0) e (xTipNfe = 4)) {

xSql.SQL "SELECT E140IPV.VLRLIQ,E140IPV.QTDFAT, E140IPV.PERICM

FROM E140IPV

WHERE E140IPV.CODEMP=:CprNEmpNfv AND

E140IPV.CODFIL=:CprNFilNfv AND

E140IPV.NUMNFV=:CprNNumNfv AND

E140IPV.CODSNF=:CprASnfNfv AND \

E140IPV.SEQIPV=:CprNSeqIpv";

xSql.AbrirCursor();

Se (xSql.Achou)

CprNPreMed = (xSql.VLRLIQ/xSql.QTDFAT)* (1+(xSql.PERICM/100));

xSql.FecharCursor();

}

@ ---------------------------- @

Variáveis Disponibilizadas:

Nome Tipo Observações Retorna Valor
CprNCodEmp NÚMERO Código da empresa da nota fiscal de entrada N
CprNCodFil NÚMERO Código da filial da nota fiscal de entrada N
CprNCodFor NÚMERO Código do fornecedor da nota fiscal de entrada N
CprACodSnf ALFA Código da série da nota fiscal de entrada N
CprNNumNfc NÚMERO Número da nota fiscal de entrada N
CprNSeqIpc NÚMERO Sequência do item na nota fiscal de entrada N
CprNEmpNfv NÚMERO Código da empresa da nota fiscal de saída N
CprNFilNfv NÚMERO Código da filial da nota fiscal de saída N
CprASnfNfv ALFA Série da nota fiscal de saída N
CprNNumNfv NÚMERO Número da nota fiscal de saída N
CprNSeqIpv NÚMERO Sequência do item da nota fiscal de saída N
CprNPreMed NÚMERO Preço médio do componente da valorização 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ê?