cancel
Showing results for 
Search instead for 
Did you mean: 

Diferença na Ordenação de Ítens no Arquivo XML da NF-e no GRC-PI e o DANFE.

Former Member
0 Kudos

Olá Pessoal,

Estamos emitindo NF-es que possuem vários ítens.

No ECC, visualizando os ítens pela transação J1B3N, esses ítens estão ordenados pelo Número do Ítem ( J_1BNFLIN-ITMNUM ).

No PI-GRC, visualizando pelo Monitor do GRC, esses ítens também estão ordenados pelo Número do Ítem.

Ainda no PI-GRC, visualizando o arquivo XML da NF-e gerado, esses ítens também estão ordenados pelo Número do Ítem.

Logo, No processo final da geração da NF-e, onde é impresso o DANFE, os ítens estão ordenados pelo campo CST/CFOP, conforme legislação.

A pergunta é, existe alguma maneira no PI-GRC em que no momento da geração/envio do arquivo XML da NF-e para a SEFAZ, esses ítens sejam

ordenados conforme é impresso no DANFE, ou seja, ordenado pelo campo CST/CFOP ?

Exemplo:

- Visualização dos Ítens no ECC pela Transação J1B3N.

Ítem Material

-

-


-

-


1910 959111

1920 843587

1930 614076

- Visualização dos Ítens no Monitor do PI-GRC.

Ítem Material

-

-


-

-


1910 959111

1920 843587

1930 614076

- Visualização dos Ítens no DANFE Impresso.

Ítem Material CST/CFOP

-

-


-

-


-

-


1920 843587 010/5403

1930 614076 020/5101

1910 959111 070/5403

Agradeço qualquer sugestão.

Obrigado !

Accepted Solutions (1)

Accepted Solutions (1)

henrique_pinto
Active Contributor
0 Kudos

Ivan,

o GRC ordena os itens exatamente como eles chegam na tabela IT_NFE_XML_ITEM da RFC /XNFE/NFE_CREATE.

E a ordem dessa tabela é justamente pelo numero de item (ITMNUM) atribuído pelo ERP na J_1BNFLIN.

Se isso tiver que ser alterado, tem que ser no ERP antes da chamada da /XNFE/NFE_CREATE, pq no GRC o atributo de número de item é atribuído no momento da geração do XML para assinatura

Abs,

Henrique.

Former Member
0 Kudos

Olá Henrique, boa tarde !

Eu farei uma análise considerando a sua sugestão, e verificarei se consigo o resultado desejado.

Muito obrigado pela sua colaboração.

Abraço,

Ivan Santos

henrique_pinto
Active Contributor
0 Kudos

Acho que os metodos disponiveis na BAdI CL_NFE_PRINT não vão te ajudar.

Talvez tenha que meter um enhancement em algum lugar...

Abs,

Henrique.

Former Member
0 Kudos

Olá Henrique, boa tarde !

Seguindo sua sugestão, fizemos uma análise e fizemos alguns testes da seguinte forma:

No ERP, colocamos um Ponto de Parada no Programa que gera a NF-e, isso antes da execução da Função que envia os dados para o GRC.

Nesse momento, verificamos na Tabela Interna P_IT_NFE_ITEM_TAB, a qual possui os os ítens da NF-e, que os ítens estão ordenados conforme

foram inseridos no momento da criação do Documento.

Função que envia os dados para o GRC:

-

-


call_rfc->znfe_create~call_function( EXPORTING is_nfe_header = nfe_header

it_nfe_header = nfe_header_cat

it_nfe_item_tab = p_it_nfe_item_tab

it_nfe_med = p_it_nfe_med

it_nfe_ref = p_it_nfe_ref

it_nfe_dup = p_it_nfe_dup

iv_version = proxy_version

it_xml_h3 = xml_h3[]

it_xml_h4 = xml_h4[]

CHANGING et_error_status = p_it_error_status

ev_msgtyp = p_ev_msgtyp

subrc = sy_subrc ).

Antes de executarmos a Função acima, alteramos a ordem dos ítens dentro da Tabela Interna P_IT_NFE_ITEM_TAB.

Após isso, acionamos o "F5", entrando na Função acima, a qual nos remete ao GRC indo para a Função "/XNFE/NFE_CREATE".

No GRC dentro da Função "/XNFE/NFE_CREATE", verificamos na Tabela Interna que contém os ítens da NF-e que os ítens estão ordenados da maneira conforme

nós manipulamos ainda no ERP. Ou seja, o GRC recebeu a ordenação dos ítens estabelecida por nós no ERP.

Só que no final do processo, verificamos no Monitor do GRC, os ítens da NF-e estão ordenados da maneira como o Documento foi criado inicialmente,

e não conforme manipulamos anteriromente.

Não analisei a fundo as Funções e Códigos no GRC, mas constatamos que a ordenação desses ítens da NF-e são tratados de alguma outra maneira dentro do GRC.

Então, gostaria de compartilhar esse teste que fizemos e saber se há alguma outra sugestão.

Obrigado !

henrique_pinto
Active Contributor
0 Kudos

Oi Ivan,

quando vc diz que vcs alteraram a ordem dos itens, vcs modificaram os valores dos ITMNUM de fato?

Notem que na tabela IT_NFE_ITEM_TAB, além do ITMNUM, há o campo NITEM, que é preenchido pelo ERP no form block_h do include LJ_1B_NFEF14.

* H02
    lv_tabix = sy-tabix.
    SHIFT lv_tabix LEFT  DELETING LEADING c_0.
    xmli-nitem = lv_tabix.

É possível que o NFE considere apenas esse campo, na hora de montar o XML.

Faça o teste, alterando o valor tanto do ITMNUM quanto do NITEM.

Lembrando que o NITEM tem que ser na ordem a partir do 1 (1, 2, 3...) e nao exatamente igual ao ITMNUM (010, 020, 030...).

Abs,

Henrique.

Former Member
0 Kudos

Olá Henrique,

Nós não alteramos o valor do Campo ITMNUM, nós apenas alteramos a ordem dos registros, mantendo o valor de cada ITMNUM.

Exemplo :

O Primeiro Registro tem o ITMNUM = 500.

O Segundo Registro tem o ITMNUM = 400.

O Terceiro Registro tem o ITMNUM = 200.

O Quarto Registro tem o ITMNUM = 300.

O Quinto Registro tem o ITMNUM = 100.

Quanto ao Campo NITEM não fizemos teste algum, mas faremos novos testes com os dois Campos ITMNUM e NITEM, conforme sugerido.

Logo darei notícias dos testes,

Obrigado !

Att,

Ivan Santos

henrique_pinto
Active Contributor
0 Kudos

Oi Ivan,

nao creio que a ordem de visualização impacte na ordem de execucao, quando vc chama uma FM.

Tente mudar os valores apenas do NITEM, pois acredito que o ITMNUM no final nao vai ser considerado.

Se nao funcionar, dai tente mudar os 2.

Abs,

Henrique.

Former Member
0 Kudos

Olá Henrique, bom dia !

Parabéns pela sua dica, realmente fiz a ordernação alterando os Valores do Campo NITEM, e o resultado saiu como o esperado.

Obrigado !

Abraço,

Ivan Santos

henrique_pinto
Active Contributor
0 Kudos

Muito bom, Ivan!

Só uma coisa: vc poderia prover mais informações sobre a lei que determina essa ordenação dos itens por CFOP?

Se for realmente aplicável em todo o território nacional, isso já deveria vir assim do standard.

Se a lei existe e é válida, eu abriria um chamado solicitando esse desenvolvimento.

Abs,

Henrique.

Answers (1)

Answers (1)

Former Member
0 Kudos

Abertura para novas sugestões.