Identificador de Regra

VEN-140RTCOM01

Módulo: VEN - Vendas.

Finalidade: Permitir que o usuário selecione as notas fiscais de compra que tenham os componentes a serem retornados. Na regra, após selecionar as notas fiscais de compra que contém os componentes, utilizar a seguinte função para adicionar o item da nota fiscal de compra à lista de componentes a serem retornados:

MontaListaNFCRetornoComponentes(Numero pCodEmp, Numero pCodFil, Numero pForNfc, Alfa pSnfNfc, Numero pNumNfc, Numero pSeqIpc, Numero pQtdFat);

Características: As variáveis "VenACodCmp" e "VenADerCmp" contém o componente a ser retornado. É a partir destas variáveis que deve ser feita a busca pelas notas fiscais de compra. A variável "VenNQtdTot" contém o total do componente a ser selecionado, para o caso de ser necessário usar mais de uma nota fiscal de compra para atender à quantidade do componente.

Tela: Retorno de componentes de serviço produzido

Transação: Não se aplica.

Regra:

definir numero VenNCodEmp;
definir numero VenNCodFil;
definir alfa VenACodSnf;
definir numero VenNNumNfv;
definir numero VenNSeqIte;
definir alfa VenAProSer;
definir alfa VenACodCmp;
definir alfa VenADerCmp;
definir numero VenNQtdTot;

definir numero xCodCli;

@ procura o fornecedor da NFV @
definir cursor cur_E140NFV;
cur_E140NFV.SQL "select codcli from e140nfv where codemp = :VenNCodEmp and codfil = :VenNCodFil and codsnf = :VenACodSnf and numnfv = :VenNNumNfv";
cur_E140NFV.AbrirCursor();
se (cur_E140NFV.Achou)
inicio
xCodCli = cur_E140NFV.CodCli;
fim;

@ procura o fornecedor relacionado @
definir numero xFornecedorRelacionado;
definir cursor cur_E085CLI;
cur_E085CLI.SQL "select codfor from e085cli where codcli = :xCodCli";
cur_E085CLI.AbrirCursor();
se (cur_E085CLI.Achou)
inicio
xFornecedorRelacionado = cur_E085CLI.CodFor;
fim;

definir cursor cur_E440IPC;
cur_E440IPC.SQL "select CodEmp, CodFil, CodFor, CodSnf, NumNfc, SeqIpc, QtdRec from e440ipc
where codemp = :VenNCodEmp and codfil = :VenNCodFil and codpro = :VenACodCmp and codder = :VenADerCmp and qtdrec <= :VenNQtdTot and
((qtdrec - qtddev) > 0) and codfor = :xFornecedorRelacionado order by qtdrec desc";

definir numero xQtdeSelecionada;
xQtdeRestante = VenNQtdTot; @ Qtde. total de itens @
cur_E440IPC.AbrirCursor();
enquanto (cur_E440IPC.Achou)
inicio
MontaListaNFCRetornoComponentes(cur_E440IPC.CodEmp,
cur_E440IPC.CodFil, cur_E440IPC.CodFor, cur_E440IPC.CodSnf,
cur_E440IPC.NumNfc, cur_E440IPC.SeqIpc, cur_E440IPC.QtdRec);
xQtdeRestante = xQtdeRestante - cur_E440IPC.QtdRec;
se (xQtdeRestante = 0)
Pare;
cur_E440IPC.Proximo();
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 da nota fiscal N
VenNNumNfv NÚMERO Número da nota fiscal de venda N
VenNSeqIte NÚMERO Sequência do item da nota fiscal de venda N
VenAProSer ALFA Indicativo se é um produto ou serviço ("P" - Produto; "S" - Serviço) N
VenACodCmp NÚMERO Código do componente a ser retornado N
VenADerCmp ALFA Derivação do componente a ser retornado N
VenNQtdTot NÚMERO Quantidade total do componente a ser retornada 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ê?