Identificador de Regra
CPR-440TNSDE01
Módulo: CPR - Compras.
Finalidade: sugerir a transação de produto e serviço para dados gerais e itens nas notas fiscais de entrada manuais via OC ou via NFS. Isso pode ser verificado pela variável VSProSer (D = Dados Gerais, P = Produto e S = Serviço). O identificador será chamado antes da sugestão das transações nos dados gerais da nota fiscal de entrada e na transferência de itens (OC e NFS para os dados gerais e itens). Na chamada dos dados gerais, as transações de produto e serviço passadas na regra serão as transações da parametrização, ou seja, as que seriam sugeridas normalmente. Na chamada do itens, serão passadas sempre as transações dos dados gerais.
Características: a variável VSNUMNFC estará disponível apenas nas telas que já possuem o número ao processar. Nas demais telas, o valor ficará em branco. Telas que possuem o valor de VSNUMNFC disponível:
- F440COC - NFE - Consulta Ordem de Compra
- F443GNP - NF de Entrada de Produtor
- F435CCC - NF Produtor
- F440GNE - NFE - Agrupada
- F440NFV - NFE - Consulta de Nota de Saída
- F440NOR - NFE - Via Ordem de Compra Simplificada
- F440VER - NFE - Individual
- F440NFC - Notas Fiscais de Entrada
Serão carregados os valores nas variáveis CprATsiPns e CprATsiSns somente na geração de uma nota fiscal de entrada de devolução informando uma nota fiscal de saída. Na tela F440NFV, após marcar os itens, clique em Processar para acionar o identificador. Quando ele for acionado pelo dados gerais (VSProSer = D), as variáveis serão carregadas.
Telas: F440COC, F440GNE, F440NFV, F440NOR, F440VER, F440NFC, F435CCC, F443GNP e F000INE.
Transação: pode estar ligado a uma transação (produto ou serviço), porém deve ser a transação dos dados gerais da nota fiscal.
Definir Numero VSCodEmp;
Definir Numero VSCodFil;
Definir Alfa VSTnsPro;
Definir Alfa VSProSer;
SE ((VSCodEmp = 1) E (VSCodFil = 1)) {
SE (VSProSer = "P")
{ VSTnsPro = "1101"; }
}
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 |
---|---|---|---|
VSCodEmp | Número | Código da empresa logada | N |
VSCodFil | Número | Código da filial logada | N |
VSCodFor | Número | Fornecedor da nota fiscal de entrada | N |
VSTipNfe | Número | Tipo da nota fiscal de entrada | N |
VSNumOcp | Número | Número da OC (quando a nota for via ordem de compra) | N |
VSFilOcp | Número | Filial da OC (quando a nota for via ordem de compra) | N |
VSSeqIoc | Número | Sequência do item da OC (quando a nota for via ordem de compra e a variável VSProSer seja diferente de D). | N |
VSNumNfv | Número | Número da nota fiscal de saída (quando a nota for via nota fiscal de saída) | N |
VSSeqIns | Número | Sequência do item da nota fiscal de saída (quando a nota for via nota fiscal de saída e a variável VSProSer seja diferente de D). | N |
VSEmpNfv | Número | Empresa da nota fiscal de saída (quando a nota for via nota fiscal de saída) | N |
VSFilNfv | Número | Filial da nota fiscal de saída (quando a nota for via nota fiscal de saída) | N |
VSPrcTns | Alfa | Indica a procedência da chamada, que nesse caso será NFE. Na tela Nota Fiscal de Entrada de Pagamento e Recebimento (F440NPR), a procedência pode ser NFEPag, quando busca uma transação para nota fiscal de pagamento, e NFERec quando busca uma transação para nota fiscal de recebimento. | N |
VSSnfNfc | Alfa | Série da nota fiscal de entrada | N |
VSSigUfs | Alfa | Estado do fornecedor da nota fiscal de entrada | N |
VSCodTns | Alfa | Transação dos dados gerais da nota que será passada para o identificador para a chamada da sugestão da transação dos itens da nota fiscal de entrada. | N |
VSTipMer | Alfa | Tipo de mercado do fornecedor da nota fiscal de entrada | N |
VSInsEst | Alfa | Inscrição Estadual do fornecedor da nota fiscal de entrada | N |
VSTnsOpr | Alfa | Transação de produto da OC (quando a nota for via ordem de compra) | N |
VSTnsOsr | Alfa | Transação de serviço da OC (quando a nota for via ordem de compra) | N |
VSProSer | Alfa | Indica se a chamada é para os Dados Gerias da nota fiscal de entrada (D); se é para o item de produto (P), se é para o serviço (S), ou para ambos: item de produto e item de serviço (A). | N |
VSSnfNfv | Alfa | Série da nota fiscal de saída (quando a nota for via nota fiscal de saída) | N |
VsTnsPns | Alfa | Transação de produto da nota fiscal de saída (quando a nota for via nota fiscal de saída) | N |
VSTnsSns | Alfa | Transação de serviço da nota fiscal de saída (quando a nota for via nota fiscal de saída | N |
VSNumNfc | Número | Número da Nota Fiscal de Entrada | N |
CprATsiPns | Alfa | Transação do item de produto selecionado na Nota de Saída | N |
CprATsiSns | Alfa | Transação do item de serviço selecionado na Nota de Saída | N |
VSProFor | Alfa | Código do produto do fornecedor (quando a nota fiscal for via recebimento eletrônico) | N |
VSCodPro | Alfa | Código do produto (quando a nota fiscal for via recebimento eletrônico) | N |
VSCodDer | Alfa | Código da derivação (quando a nota fiscal for via recebimento eletrônico) | N |
VSCodSer | Alfa | Código do serviço (quando a nota fiscal for via recebimento eletrônico) | N |
VSNopPro | Alfa | Natureza de operação para produtos (quando a nota fiscal for via recebimento eletrônico) | N |
VSNopSer | Alfa | Natureza de operação para serviços (quando a nota fiscal for via recebimento eletrônico). Traz o valor da natureza da operação dos dados gerais da nota. Caso não encontre, busca o valor no item | N |
VSTnsPro | Alfa | Transação de produto que será sugerida na nota fiscal de entrada. Na chamada dos dados gerais da nota, poderá vir sem informação. Caso na chamada do item venha sem informação será usada a transação dos Dados Gerais. | S |
VSTnsSer | Alfa | Transação de serviço que será sugerida na nota fiscal de entrada. Na chamada dos dados gerais da nota, poderá vir sem informação. Caso na chamada do item venha sem informação será usada a transação dos Dados Gerais. | S |
VSNCodRai | Número | Código da cidade utilizada para RAIS (quando a nota fiscal for via recebimento eletrônico). Preenchido ao sugerir a transação dos dados gerais da nota e do item de serviço | N |
VSASerImp | Alfa | Tipo de serviço no contexto fiscal baseado na LC 116/2003 (quando a nota fiscal for via recebimento eletrônico). Vazio para os dados gerais e preenchido ao sugerir a transação do item de serviço | N |
VSATriNfs | Alfa | Código de tributação do serviço para nota fiscal de serviço eletrônica (quando a nota fiscal for via recebimento eletrônico). Vazio para os dados gerais e preenchido ao sugerir transação do item de serviço | N |
VSAIssRet | Alfa | Indicativo se o serviço tem ISS retido (quando a nota fiscal for via recebimento eletrônico). Vazio para os dados gerais e preenchido ao sugerir transação do item de serviço | 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.