Identificador de Regra
VEN-000TNSDE01
Módulo: VEN - Vendas.
Finalidade: alterar a transação de faturamento sugerida na geração de uma nota fiscal de saída.
Observação
- Na tela Faturamento Agrupado de Cargas (F149GNA), o identificador de regras é acionado somente para o cabeçalho da NF e não para os itens da mesma;
- Na tela de Faturamento Individual de Cargas (F149GNC), a variável VsNumPed só irá receber a informação do número do pedido quando a execução do identificador for para os itens da carga, ou seja, quando a variável VsIndIte for igual a 1;
- Para o identificador ser executado para os dados gerais, não pode haver nenhuma transação já sugerida, caso contrário ela terá prioridade;
- O identificador sempre é executado ao inserir itens de serviço e produto na tela F140GNF, mesmo havendo uma transação sugerida;
- Nas telas F140DSI, F149GNC, F149GNP e F135GNA, o identificador é executado apenas para itens de produtos;
- Na tela F140NFR, as variáveis VsCodPro e VsCodDer não recebem a informação. O identificador é executado no momento de digitar o produto, porém na tela os dados não são inseridos, e sim carregados de outros documentos (pedido ou NF).
Características:
- as variáveis VenNFilNfc, VenASnfNfc, VenNNumNfc, VenNCodFor, VenNSeqIpc e VenNSeqIsc ficam disponíveis nas rotinas de preparação (F140PRE, quando a opção for Via Nota Entrada) e fixação de preços (F439FIX);
- a variável VENATNSPRO traz para a regra a transação informada e, depois, é possível atribuí-la à variável de retorno VSCODTNS;
- quando a opção da tela F140PRE for Via Cupom Fiscal, a variável VSPRCTNS terá o valor CupomFiscal;
- o identificador também é chamado na tela F118PSI ao clicar no botão Faturar. Nessa situação, a variável VSPRCTNS assume o valor AssistenciaTecnica.
Observação
O identificador de regras é acionado para todos os itens nas telas de faturamento F140LOT e F140FGR. Em outras telas, como a F140PRE, é acionado apenas se o código ou a transação do produto for diferente da anterior.
Transação: não se aplica.
Definir Cursor Cur_tnsUf;
Definir Numero VSCodEmp;
Definir Numero VSCodFil;
Definir Alfa VSSigUfs;
Definir Alfa VSTnsPro;
Definir Alfa VSTnsSer;
Definir Cursor Cur_tnsUf;
/* Exemplo para compra, sequência = 1 */
Cur_tnsUf.sql "SELECT TNSPRO, TNSSER FROM E009PTE where E009PTE.CODEMP = :VSCodEmp AND E009PTE.CODFIL = :VSCodFil AND E009PTE.SEQPTE = 1 AND E009PTE.SIGUFS = :VSSigUfs ";
Cur_tnsUf.AbrirCursor();
ENQUANTO (Cur_tnsUf.Achou)
Inicio
VSTnsPro = Cur_tnsUf.TNSPRO;
VSTnsSer = Cur_tnsUf.TNSSER;
Cur_tnsUf.Proximo();
Fim;
Cur_tnsUf.FecharCursor();
Definir Cursor Cur_tnsUf;
Definir Numero VSCodEmp;
Definir Numero VSCodFil;
Definir Alfa VSSigUfs;
Definir Alfa VSProSer;
Definir Alfa VSCODTNS;
/* Exempro para venda, sequencia = 2 */
Definir Cursor Cur_tnsUf;
Cur_tnsUf.sql "SELECT TNSPRO, TNSSER FROM E009PTE where E009PTE.CODEMP = :VSCodEmp AND E009PTE.CODFIL = :VSCodFil AND E009PTE.SEQPTE = 2 AND E009PTE.SIGUFS = :VSSigUfs ";
Cur_tnsUf.AbrirCursor();
ENQUANTO (Cur_tnsUf.Achou)
Inicio
Se (VSProSer = "P")
VSCODTNS = Cur_tnsUf.TNSPRO;
Senao
VSCODTNS = Cur_tnsUf.TNSSER;
Cur_tnsUf.Proximo();
Fim;
Cur_tnsUf.FecharCursor();
Variáveis disponibilizadas:
Nome | Tipo | Observações | Retorna Valor |
---|---|---|---|
VSINDITE | NÚMERO | 1 - sugestão é para o item e 0 - sugestão é para os DG. | N |
VSPROSER | ALFA | P - Produto e S - Serviço | N |
VSTIPNFI | NÚMERO | Tipo da NF de Saída | N |
VSCODEMP | NÚMERO | Código da Empresa | N |
VSCODFIL | NÚMERO | Código da Filial | N |
VSCODCLI | NÚMERO | Código do Cliente | N |
VSTIPEMP | ALFA | Tipo da Empresa | N |
VSSIGUFS | ALFA | Estado do Cliente | N |
VSTIPMER | ALFA | Tipo de Mercado do Cliente | N |
VSINSEST | ALFA | Inscrição Estadual do Cliente | N |
VSCLICON | ALFA | Indicativo se o cliente é contribuinte | N |
VSCODPRO | ALFA | Código do Produto | N |
VSCODSER | ALFA | Código do Serviço | N |
VSTIPPRO | ALFA | Tipo do Produto | N |
VSNUMPED | NÚMERO | Número do Pedido | N |
VSTNSPED | ALFA | Transação do item ou dos dados gerais do Pedido | N |
VSINDNFR | ALFA | Indica se a regra foi chamada a partir da tela de geração de cobrança e remessa | N |
VSORIWEB | ALFA | Indica se a chamada do identificador foi através do Sistema N ou da Web S | N |
VSORIROTINA | NÚMERO | Número da rotina sapiens que está chamando o identificador de regras | N |
VSNUMEMB | ALFA | Número da embalagem | N |
VSFILPED | NÚMERO | Código da Filial do Pedido | N |
VSPRCTNS | ALFA | Procedência/Origem da chamada da regra, pode ser NFSaida, PreFatura, Pedido, CupomFiscal, AssistenciaTecnica ou Contrato | N |
VENNFILNFC | NÚMERO | Filial da NF de Entrada | N |
VENASNFNFC | ALFA | Série da NF de Entrada | N |
VENNNUMNFC | NÚMERO | Número da NF de Entrada | N |
VENNCODFOR | NÚMERO | Código do fornecedor da NF de Entrada | N |
VENNSEQIPC | NÚMERO | Sequencia do item de produto da NF de Entrada | N |
VENNSEQISC | NÚMERO | Sequencia do item de serviço da NF de Entrada | N |
VENNCODREM | NÚMERO | Código do remetente informado na tela F140COL | N |
VENNCODDES | NÚMERO | Código do destinatário informado na tela F140COL | N |
VENNCODCON | NÚMERO | Código do consignatário informado na tela F140COL | N |
VENACIFFOB | ALFA | Frete que poderá ser C-por conta do emitente, F-por conta do destinatário e T=por conta do consignatário | N |
VENATNSPRO | ALFA | Transação informada na tela F140NFT | N |
VENAORIGEM | ALFA | Tela origem F140NFT | N |
VENACODDEP | ALFA | Depósito no qual o item processado se encontra | N |
VSUFSFIL | ALFA | Sigla do estado da filial | N |
VENNORIFIL | NÚMERO | Filial Origem. | N |
VENNORINFV | NÚMERO | Nota Fiscal de Venda Origem. | N |
VENNORICTR | NÚMERO | Número comtrato Origem. | N |
VENNDATCPT | DATA | Mês e ano de competência do item do contrato. | N |
VENNSEQCVP | ALFA | Sequência do item de serviço do contrato. | N |
VENATNSSER | ALFA | Transação de serviço. | N |
VenATnDPro | ALFA | Transação de Produto dos Dados Gerais | N |
VenATnDSer | ALFA | Transação de Serviço dos Dados Gerais | N |
VSAIndGer | ALFA | Indicativo se a transação dos itens da nota fiscal deve ser sugerida para os dados gerais. Essa opção tem efeito apenas na |
S |
VSCODTNS | ALFA | Transação Sugerida | S |
VenNSeqIpd | NÚMERO | Sequência do item de produto do pedido | N |
VenNSeqIsp | NÚMERO | Sequência do item de serviço do pedido | N |
VSCodDer | ALFA | Derivação do item de produto do pedido | 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.