Identificador de regra

CPR-000INECM12

Módulo: CPR - Compras.

Finalidade: permitir acesso às informações do .XML do documento eletrônico, disponibilizando as tags do .XML com seus valores originais, informadas no identificador de regras CPR-000INECM11 através de variáveis. Os identificadores CPR-000INECM11 e CPR-000INECM12 atuam em conjunto, onde o primeiro define quais tags quero obter o valor e o segundo trará o valor propriamente dito.

Importante

Esse identificador de regra será executado quando a Nota Fiscal eletrônica for importada através da nova rotina de importação de .XMLs, ou seja, quando houver um leiaute cadastrado e ativo na tela F017LRE (Cadastros > Mercado e Suprimentos > Recebimento Eletrônico > Configuração de leiaute) para o tipo de Nota Fiscal eletrônica (NFe/CTe) e versão que está sendo importada.

Características: para acessar as variáveis das tags do .XML, deve ser utilizado o prefixo "CPRA_" + o caminho informado no identificador de regras CPR-000INECM11, substituindo o caractere "|" por "_".

Observação

  • As variáveis referentes às tags do .XML estarão disponíveis na regra mesmo quando não encontradas no XML atual. Nestes casos a variável não terá nenhum valor.
  • A tabela E000NFC também será disponibilizada para consulta, durante a execução das outras tabelas.
  • A tabela E000IPC também será disponibilizada para consulta, durante a execução da tabela E000DLS.
  • A tabela E000VOL é fictícia; ela tem o intuito de indicar ao usuário o momento que forem apresentadas as variáveis com os valores dos volumes.
  • A tabela E000IPC também será disponibilizada para consulta, durante a execução da tabela E000DLS e da tabela E000IPR.
  • A tabela E000ISC também será disponibilizada para consulta, durante a execução da tabela E000ISR.

Regra: há compatibilidade com o identificador de regras CPR-000INECM02. Sendo assim, os exemplos abaixo são semelhantes aos do identificador de regra original.

CPRATAGIPC="prod|cProd"

A variável será CPRA_PROD_CPROD.

definir alfa CPRATABELA;

@ Dados Gerais @
definir alfa CPRA_IDE_NATOP;
 
@ Produto/Serviço @
definir alfa CPRA_PROD_XPROD;
definir alfa CPRA_PROD_CPROD;
 
@ Parcelas @
definir alfa CPRA_COBR_DUP_NDUP;
definir alfa CPRA_COBR_DUP_VDUP;
 
@ Controle Lote e Serie @
definir alfa CPRA_MED_NLOTE;
definir alfa CPRA_MED_QLOTE;
 
@ Volumes @
definir alfa CPRA_VOL_MARCA;
Se (CPRA_IDE_NATOP <> "Venda de Producao do Estabelecimento")
 
Mensagem(Retorna,"Natureza da Operação Inválida");
Se (CPRATABELA = "E000IPC")
 
Se (E000IPC.PROFOR = "1101")
 
E000IPC.CPLIPC = CPRA_PROD_CPROD + " - " + CPRA_PROD_XPROD;
Se (CPRATABELA = "E000ISC")
 
Se (E000ISC.CODSER = "3501")
 
E000ISC.CPLISC = CPRA_PROD_CPROD + " - " + CPRA_PROD_XPROD;
Se (CPRATABELA = "E000PAR")
 
Se (E000PAR.NUMTIT <> "")
 
E000PAR.OBSPAR = CPRA_COBR_DUP_NDUP + " - " + CPRA_COBR_DUP_VDUP;
Se (CPRATABELA = "E000DLS")
 
Se (E000DLS.CODLOT <> " ")
 
E000DLS.OBSDLS = CPRA_MED_NLOTE + " - " + CPRA_MED_QLOTE;
Se (CPRATABELA = "E000VOL") e (CPRA_VOL_MARCA = "C3PO")
Mensagem (erro,"Marca dos volumes transportados da nota não pode ser C3PO.");

Variáveis disponibilizadas:

Nome Tipo Observações Retorna Valor
CPRATIPDEC Alfa Tipo do Documento:
  • N: NF-e
  • C: CT-e
  • O: CT-e OS
  • S: NFS-e
  • E: NF3-e
N
CPRATABELA Alfa Tabela que está sendo processada. Exemplo: E000NFC, E000IPC, E000VOL, etc. N
E000NFC Tabela Tabela E000NFC disponibilizada para consulta/alteração. S
E000IPC Tabela Tabela E000IPC disponibilizada para consulta/alteração. S
E000ISC Tabela Tabela E000ISC disponibilizada para consulta/alteração. S
E000PAR Tabela Tabela E000PAR disponibilizada para consulta/alteração. S
E000DLS Tabela Tabela E000DLS disponibilizada para consulta/alteração. S
E000EXF Tabela Tabela E000EXF disponibilizada para consulta/alteração. S
E000PCD Tabela Tabela E000PCD disponibilizada para consulta/alteração. S
E000LNP Tabela Tabela E000LNP disponibilizada para consulta/alteração. S
E000LNS Tabela Tabela E000LNS disponibilizada para consulta/alteração. S
E000IPR Tabela Tabela E000IPR disponibilizada para consulta/alteração. S
E000ISR Tabela Tabela E000ISR disponibilizada para consulta/alteraçã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ê?