Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Nota Fiscal
Data/Hora da Publicação: 29/11/2013 10:46:14
Data/Hora Última Alteração: 29/11/2013 10:46:14
Descrição da Nota: CONTABILIZAÇÃO DO IMPOSTOS NA NOTA FISCAL GLOBAL INCORRETA
Sintoma
Na criação da nota fiscal global é feita a F-02 para contabilização dos impostos.
O embarque tem 8 itens e para cada item é criada uma nota fiscal.
No documento de contabilização, está aparecendo duas linhas para o ICMS.
Solução
Considerar somente a lei102 igual a 'X' ou diferente de 'X'.
9.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 13474 Data: 29/11/2013 Hora: 09:44:36
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 13474
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 9.0
Pacote : 00006
Agrupamento : 00166
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
12841 - 00001 - 9.0 - 00003 - DESENVOLVIMENTO ADICIONAL - CONTABILIZAR IMPOSTOS NA NOTA FISCAL
13091 - 00002 - 9.0 - 00005 - ERRO NA CONTABILIZAÇÃO DOS IMPOSTOS NA NOTA FISCAL GLOBAL
----------------------------------------------------------------------------------------------------
CONTABILIZAÇÃO DO IMPOSTOS NA NOTA FISCAL GLOBAL INCORRETA
----------------------------------------------------------------------------------------------------
Palavras Chave:
NOTA FISCAL GLOBAL - CONTABILIZAR IMPOSTOS - F-02
DUPLICAÇÃO DO ICMS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI016F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI016F02
...
CLEAR itab_zycbt035. FREE itab_zycbt035.
CLEAR v_j_1bbranch.
READ TABLE itab_global INDEX 1.
v_j_1bbranch = itab_global-j_1bbranch.
FREE itab_zycbt035_aux2.
SORT itab_zycbt035_aux BY imposto tribicms matuse bklas d_gsber.
LOOP AT itab_zycbt035_aux.
IF itab_zycbt035_aux-tribicms EQ '3' AND
* >> Início da exclusão: FORM LANCAMENTO_IMPOSTOS_NF
( itab_zycbt035_aux-lei102 NE 'X' OR
itab_zycbt035_aux-lei102 NE 'Y' ) .
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_IMPOSTOS_NF
itab_zycbt035_aux-lei102 NE 'X'.
* << Fim da inclusão
LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.
IF itab_zycbt035_aux-imposto EQ itab_j_1baj-taxtyp.
itab_zycbt035_aux2-imposto = itab_zycbt035_aux-imposto.
itab_zycbt035_aux2-tribicms = itab_zycbt035_aux-tribicms.
IF itab_zycbt035_aux-bklas IS INITIAL.
itab_zycbt035_aux2-matuse = itab_zycbt035_aux-matuse.
ELSE.
itab_zycbt035_aux2-bklas = itab_zycbt035_aux-bklas.
ENDIF.
itab_zycbt035_aux2-d_gsber = itab_zycbt035_aux-d_gsber.
...
...
ENDIF.
MOVE itab_zycbt035_aux TO itab_zycbt035.
itab_zycbt035-wrbtr = v_montante.
itab_zycbt035-bschl = '40'.
APPEND itab_zycbt035.
ENDLOOP.
FREE itab_zycbt035_aux2.
SORT itab_zycbt035_aux BY imposto tribicms matuse d_gsber.
LOOP AT itab_zycbt035_aux.
IF itab_zycbt035_aux-tribicms EQ '3' AND
* >> Início da exclusão: FORM LANCAMENTO_IMPOSTOS_NF
( itab_zycbt035_aux-lei102 NE 'X' OR
itab_zycbt035_aux-lei102 NE 'Y' ).
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_IMPOSTOS_NF
itab_zycbt035_aux-lei102 NE 'X'.
* << Fim da inclusão
LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.
IF itab_zycbt035_aux-imposto EQ itab_j_1baj-taxtyp.
itab_zycbt035_aux2-imposto = itab_zycbt035_aux-imposto.
itab_zycbt035_aux2-tribicms = itab_zycbt035_aux-tribicms.
itab_zycbt035_aux2-matuse = itab_zycbt035_aux-matuse.
itab_zycbt035_aux2-d_gsber = itab_zycbt035_aux-d_gsber.
itab_zycbt035_aux2-wrbtr = itab_zycbt035_aux-wrbtr.
COLLECT itab_zycbt035_aux2.
ENDIF.
ENDLOOP.
...
...
MOVE itab_zycbt035_aux TO itab_zycbt035.
itab_zycbt035-wrbtr = v_montante.
itab_zycbt035-bschl = '50'.
APPEND itab_zycbt035.
ENDLOOP.
FREE itab_zycbt035_aux2.
SORT itab_zycbt035_aux BY imposto tribicms matuse d_gsber.
LOOP AT itab_zycbt035_aux.
IF itab_zycbt035_aux-tribicms EQ '3' AND
* >> Início da exclusão: FORM LANCAMENTO_IMPOSTOS_NF
( itab_zycbt035_aux-lei102 EQ 'X' OR
itab_zycbt035_aux-lei102 EQ 'Y' ).
* << Fim da exclusão
* >> Início da inclusão: FORM LANCAMENTO_IMPOSTOS_NF
itab_zycbt035_aux-lei102 EQ 'X'.
* << Fim da inclusão
LOOP AT itab_j_1baj WHERE taxgrp = 'ICMS'.
IF itab_zycbt035_aux-imposto EQ itab_j_1baj-taxtyp.
itab_zycbt035_aux2-imposto = itab_zycbt035_aux-imposto.
itab_zycbt035_aux2-tribicms = itab_zycbt035_aux-tribicms.
itab_zycbt035_aux2-matuse = itab_zycbt035_aux-matuse.
itab_zycbt035_aux2-d_gsber = itab_zycbt035_aux-d_gsber.
itab_zycbt035_aux2-wrbtr = itab_zycbt035_aux-wrbtr.
COLLECT itab_zycbt035_aux2.
ENDIF.
ENDLOOP.
...