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.