Identificador de Regra

CPR-000INECM01

Módulo: CPR - Compras.

Finalidade: retornar ao sistema quais as tags do .XML que serão disponibilizadas para consulta de seus valores originais, durante a execução do identificador de regras CPR-000INECM02.

Caso haja um leiaute importado e ativo na tela Configuração de leiaute (F017LRE) para documentos recebidos através do web service com.senior.g5.co.int.eletronicos.documentos, porta Receber, a regra do identificador não é executada.

Características: como a execução do identificador CPR-000INECM02 será realizada a cada gravação dos registros das tabelas intermediárias, há uma variável para cada tabela, onde o usuário poderá definir quais tags ele deseja visualizar naquele momento. Para declarar uma tag do .XML nas variáveis disponibilizadas, é necessário informar o caminho da tag junto com o campo requerido, utilizando o caractere "|" para divisão dos nós "," em cada campo requerido.

Exemplos:

Exemplo 1:
Dados Gerais (E000NFC)
Retorno: ide|natOp
ide – caminho da tag
natOp – campo, informação requerida

Exemplo 2:
Itens de Produto (E000IPC)
Retorno: prod|xProd
prod – caminho da tag
xProd – campo, informação requerida

Exemplo 3:
Parcelas (E000PAR)
Retorno: cobr|dup|nDup
cobr|dup – caminho da tag
nDup – campo, informação requerida

Exemplo 4:
Controle Lote e Série (E000DLS)
Retorno: med|nLote
med – caminho da tag
nLote – campo, informação requerida

Exemplo 5:
Ligação Notas de Frete (E000EXF)
Retorno: rem|infNfe|chave
rem|infNfe| – caminho da tag
chave – campo, informação requerida

Exemplo 6:
Volumes (E000VOL)
Retorno: vol|pesoL
vol – caminho da tag
pesoL – campo, informação requerida

Exemplo de retorno: CPRATAGIPC = "prod|cProd,prod|xProd".

Observação

Para tags que se repetem, como por exemplo as tags de produto, serão disponibilizados apenas os valores de acordo com o registro corrente na execução do identificador CPR-000INECM02. Portanto, ao processar o primeiro item de produto da nota, as tags referentes a produto terão apenas os valores referentes ao primeiro produto.

Regra:

definir alfa CPRATAGNFC;
definir alfa CPRATAGIPC;
definir alfa CPRATAGEXF;
definir alfa CPRATIPDEC;

CPRATAGNFC = "ide|natOp,ide|dSaiEnt";
Se (CPRATIPDEC = "N") @Quando for NF-e @
CPRATAGIPC = "ide|natOp, prod|cProd, prod|xProd";
Se (CPRATIPDEC = "C") @Quando for CT-e @
CPRATAGEXF = "ide|nNF,rem|infNfe|chave,InfDoc|infNfe|chave";

Regra com valores de serviços 1:

Quando um .XML for importado, o sistema vai verificar a existência da tag <vPrest|Comp> e preencher uma lista interna com os valores das tags <xNome> e <vComp>.

/*******************************************************************************
Declarar os campos que poderão ser alterados no recebimento da nota fiscal
*******************************************************************************/
Definir alfa CPRATIPDEC;  @ TIPO DE DECLARAÇÃO (N - NF-e / C - CT-e) @
Definir alfa CPRATAGVPR;  @ Lista de campos a serem alterados - E000VPR (Tabela Fictícia) @
se (CPRATIPDEC = "C") {
/* Declara as variáveis CPRA_VPREST_COMP_XNOME e CPRA_VPREST_COMP_VCOMP
para o identificador CPR-000INECM02 */
CPRATAGVPR = "vPrest|Comp|xNome,vPrest|Comp|vComp";
}

Na regra acima, foi requisitado acesso aos campos xNome e vComp, presentes no .XML e relacionados à tabela E000VPR. Com isso, duas variáveis vão ficar disponíveis no identificador CPR-000INECM02:

Regra com valores de serviços 2:

@#CPR-000INECM01#@


definir alfa CPRATIPDEC;    @ Tipo do Documento. N(NF-e) ou C(CT-e)    N                                                                     @
definir alfa CPRATAGNFC;    @ Tags do xml para consulta no identificador CPR000INECM02, tabela E000NFC.    S                                 @
definir alfa CPRATAGIPC;    @ Tags do xml para consulta no identificador CPR000INECM02, tabela E000IPC.    S                                 @
definir alfa CPRATAGISC;    @ Tags do xml para consulta no identificador CPR000INECM02, tabela E000ISC.    S                                 @
definir alfa CPRATAGPAR;    @ Tags do xml para consulta no identificador CPR000INECM02, tabela E000PAR.    S                                 @
definir alfa CPRATAGDLS;    @ Tags do xml para consulta no identificador CPR000INECM02, tabela E000DLS.    S                                 @
definir alfa CPRATAGEXF;    @ Tags do xml para consulta no identificador CPR000INECM02, tabela E000EXF.    S                                 @
definir alfa CPRATAGVOL;    @ Tags do xml referente a volumes, para consulta no identificador CPR000INECM02, tabela E000VOL (fictícia).    S @
definir alfa CPRATAGVPR;  @Tags do xml referente a serviços (Frete, GRIS, Pedágio, IMP Repassado), para consulta no identificador CPR-000INECM02, tabela Valores do Serviço (E000VPR).@



@---[ Se for nota fiscal ]---@
se (CPRATIPDEC = "N"){
    CPRATAGNFC = "ide|natOp,ide|finNFe,emit|CNPJ,transp|modFrete,transporta|CNPJ,transporta|CPF,dest|IE";
    CPRATAGIPC = "ide|finNFe,emit|CNPJ,dest|CNPJ,prod|cProd,prod|cEAN,prod|NCM,prod|CFOP,prod|uCom,prod|qCom,prod|vUnCom,prod|xPed,prod|nItemPed,compra|xPed,prod|CNPJFab";
    CPRATAGISC = "ide|natOp";
    CPRATAGPAR = "cobr|dup|nDup";
    }

@------- [Quando for NFs-e]----------- @
Se (CPRATIPDEC = "S") {
  CPRATAGNFC = "rps|numero";
  CPRATAGISC = "item|aliquota,item|iss";
}

x=y;

Regra quando tratar-se de uma importação de NFS-e:

Se (CPRATIPDEC = "S") { @Quando for NFs-e @
CPRATAGNFC = "rps|numero";
CPRATAGISC = "item|aliquota,item|iss";
}

Variáveis disponibilizadas:

Verifique os exemplos de regras para saber como as variáveis devem ser passadas.

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
CPRATAGPCD ALFA Tags do xml para consulta no identificador CPR000INECM02, tabela E000PCD S
CPRATAGNFC ALFA Tags do xml para consulta no identificador CPR000INECM02, tabela E000NFC S
CPRATAGIPC ALFA Tags do xml para consulta no identificador CPR000INECM02, tabela E000IPC S
CPRATAGISC ALFA Tags do xml para consulta no identificador CPR000INECM02, tabela E000ISC S
CPRATAGPAR ALFA Tags do xml para consulta no identificador CPR000INECM02, tabela E000PAR S
CPRATAGDLS ALFA Tags do xml para consulta no identificador CPR000INECM02, tabela E000DLS S
CPRATAGEXF ALFA Tags do xml para consulta no identificador CPR000INECM02, tabela E000EXF S
CPRATAGVOL ALFA Tags do xml referente a volumes, para consulta no identificador CPR-000INECM02, tabela E000VOL (fictícia) S
CPRATAGVPR ALFA Tags do xml referente a serviços (Frete, GRIS, Pedágio, IMP Repassado), para consulta no identificador CPR-000INECM02, tabela Valores do Serviço (E000VPR) S
CPRATAGLNP ALFA ags do xml para consulta no identificador CPR000INECM02, tabela E000LNP S
CPRATAGLNS ALFA Tags do xml para consulta no identificador CPR000INECM02, tabela E000LNS s

Exemplo de retorno da variável CPRATAGVPR:

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ê?