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:
- CPRA_VPREST_COMP_XNOME
- CPRA_VPREST_COMP_VCOMP
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 |
| 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 |
| CPRATAGIPR | ALFA | Tags do .XML para consulta no identificador CPR-000INECM02, tabela E000IPR | S |
| CPRATAGISR | ALFA | Tags do .XML para consulta no identificador CPR-000INECM02, tabela E000ISR | S |
Exemplo de retorno da variável CPRATAGVPR:
- Retorno: vPrest|Comp|xNome
- vPrest|Comp – caminho da tag
- xNome – campo; informação requerida
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.
English
Español
English
Español


