CE PLUS - Nota 014133

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 12/08/2014 00:00:00

Data/Hora Última Alteração: 25/08/2014 13:46:24

Descrição da Nota: CORREÇÃO NO CÁLCULO DA NF QUANDO REGIME DO ICMS = DIFERENCIADO

Sintoma

Correção no cálculo da NF quando Regime do ICMS = Diferenciado

 

 

Solução

Corrigir lançamento de valores

 

Versões Tratadas

9.0


Pré-Requisitos

Produto:

Nota

Descrição

LINHA DO ICMS NÃO BATE COM O TOTAL DA NOTA FISCAL (ICMS COM REDUÇÃO)

PARAMETRIZADO LEI 102 E SISTEMA LEVA VALOR DE ICMS NO CUSTO.

TRATAMENTO DIFERIMENTO ICMS PARA PARANÁ

CRIADO PARAMETRO PARA LEVAR ICMS REDUZ NO TOTAL DA NF

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 14133 Data: 12/08/2014 Hora: 16:24:58

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 14133

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 9.0

Pacote                   : 00008

Agrupamento              : 00174

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

02922  - 00001 - 6.0    - 00026  - CRIADO PARAMETRO PARA LEVAR ICMS REDUZ NO TOTAL DA NF

07994  - 00002 - 7.0    - 00008  - PARAMETRIZADO LEI 102 E SISTEMA LEVA VALOR DE ICMS NO CUSTO.

13584  - 00003 - 9.0    - 00007  - LINHA DO ICMS NÃO BATE COM O TOTAL DA NOTA FISCAL (ICMS COM REDUÇ

13897  - 00004 - 9.0    - 00007  - TRATAMENTO DIFERIMENTO ICMS PARA PARANÁ

----------------------------------------------------------------------------------------------------

CORREÇÃO NO CÁLCULO DA NF QUANDO REGIME DO ICMS = DIFERENCIADO

----------------------------------------------------------------------------------------------------

Palavras Chave:

CÁLCULO - NF - REGIME TRIBUTÁRIO - ICMS - DIFERENCIADO

RETENÇÃO

----------------------------------------------------------------------------------------------------

Objetos da nota:

REPS /PWS/MZYCI016F01

REPS /PWS/MZYCI010F03

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

    IF NOT itab_zycit003-advalicms IS INITIAL.

      IF NOT itab_zycit003-basred IS INITIAL AND

         itab_zycit003-basred < 100.

        v_advicms = ( ( itab_zycit003-advalicms / 100 ) *

         ( itab_zycit003-basred / 100 ) ) .

        IF /pws/zycit062-icms_base_red_ar = 'X'.

          v_trunc = v_advicms.

          v_advicms = v_trunc.

        ENDIF.

        IF NOT /pws/zycit062-flag_icms IS INITIAL.

* >> Início da inclusão: FORM VERIFICA_MONTANTE

          IF itab_zycit100-codregtriicms EQ '8' .

            v_base = itab_zycit100-bs_icms_nf .

          ELSE.

* << Fim da inclusão

          v_base = itab_zycit100-baseicms.

          v_advicms = 1 - v_advicms.

          v_bicms = ( itab_zycit100-baseicms * v_advicms ) /

                      ( itab_zycit003-basred / 100 ).

          ADD it_zycee007-taxval TO v_bicms.

          v_basred = ( v_base / v_bicms ) * 100.

* >> Início da inclusão: FORM VERIFICA_MONTANTE

          ENDIF.

* << Fim da inclusão

        ELSE.

...

 

...

 

      WHEN 3.

        PERFORM verifica_montante.

        IF itab_zycit100-codregtriicms NE '8'.

          v_montante1 = itab_zycit100-baseicms.

        ELSE.

          v_montante1 = itab_zycit100-bs_icms_nf.

        ENDIF.

        v_othbas    = v_montante1 .

* >> Início da inclusão: FORM ITENS_NFNEW

        IF itab_zycit100-codregtriicms NE '8'.

* << Fim da inclusão

        v_excbas    = ( v_montante1 / v_basred * 100 ) - v_othbas.

        IF /pws/zycit062-base IS INITIAL AND

           v_basred < '100' AND

           NOT /pws/zycit062-flag_icms IS INITIAL.

          IF /pws/zycit062-tred IS INITIAL.

            READ TABLE itab_zycit003 WITH KEY

                                    nrseq = itab_zycit042-nrseq

                                    ebeln = itab_zycit042-ebeln

                                    ebelp = itab_zycit042-ebelp.

            v_excbas    = v_excbas - ( v_excbas *

...

 

...

        ELSE.

          IF NOT /pws/zycit062-tred IS INITIAL AND

             NOT /pws/zycit062-flag_icms IS INITIAL AND

             v_basred < 100.

            READ TABLE itab_zycit003 WITH KEY

                                    nrseq = itab_zycit042-nrseq

                                    ebeln = itab_zycit042-ebeln

                                    ebelp = itab_zycit042-ebelp.

            v_excbas    =  v_excbas + ( v_excbas *

            (  itab_zycit003-advalicms / 100 ) ).

* >> Início da inclusão: FORM ITENS_NFNEW

            ENDIF.

* << Fim da inclusão

          ENDIF.

        ENDIF.

        IF itab_zycit100-icms_dif = 'X'.

          it_zycee007-othbas = it_zycee007-othbas

                       - itab_zycit100-vlicms.

          v_base_dif = v_base_dif + itab_zycit100-baseicms.

        ENDIF.

        it_zycee007-othbas = v_othbas.

        it_zycee007-c_excbas = v_excbas.

        IF /pws/zycit001-meioemba = 'PS'.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/MZYCI010F03

 

...

                                        ebeln = itab_zycit036_aux-ebeln

                                        ebelp = itab_zycit036_aux-ebelp.

      READ TABLE itab_zycit003 WITH KEY nrseq = itab_zycit036_aux-nrseq

                                        ebeln = itab_zycit036_aux-ebeln

                                        ebelp = itab_zycit036_aux-ebelp.

      IF itab_zycit036_aux-codigo EQ 'ICMS'.

        IF ( itab_zycit033-tribicms EQ '1' ) OR

          ( itab_zycit033-tribicms EQ '3' AND

         ( itab_zycit033-lei102 EQ 'X' OR

         itab_zycit033-lei102 EQ 'Y' ) ) OR

* >> Início da exclusão: FORM RETIRA_IMPOSTO

          itab_zycit100-icms_dif EQ 'X'.

* << Fim da exclusão

* >> Início da inclusão: FORM RETIRA_IMPOSTO

          itab_zycit100-icms_dif EQ 'X' OR

          itab_zycit100-codregtriicms = '08'.

* << Fim da inclusão

          itab_zycit036_aux-vlmov = ' '.

          itab_zycit036_aux-vldif = ' '.

          MODIFY itab_zycit036_aux.

        ENDIF.

      ELSEIF  itab_zycit036_aux-codigo EQ 'IPI'.

        IF ( itab_zycit033-tribipi EQ '1' ).

          itab_zycit036_aux-vlmov = ' '.

          itab_zycit036_aux-vldif = ' '.

          MODIFY itab_zycit036_aux.

        ENDIF.

...

 

...

 

      READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit036_aux-nrseq

                                        ebeln = itab_zycit036_aux-ebeln

                                        ebelp = itab_zycit036_aux-ebelp.

        IF itab_zycit036_aux-codigo EQ 'ICMS'.

          IF ( itab_zycit033-tribicms EQ '1' ) OR

            ( itab_zycit033-tribicms EQ '3' AND

           ( itab_zycit033-lei102 EQ 'X' OR

           itab_zycit033-lei102 EQ 'Y' ) ) OR

* >> Início da inclusão: FORM RETIRA_IMPOSTO

           itab_zycit100-codregtriicms EQ '08' OR

* << Fim da inclusão

            itab_zycit100-icms_dif EQ 'X'.

            itab_zycit036_aux-vlmov = ' '.

            itab_zycit036_aux-vldif = ' '.

            MODIFY itab_zycit036_aux.

          ENDIF.

        ELSEIF  itab_zycit036_aux-codigo EQ 'IPI'.

          IF ( itab_zycit033-tribipi EQ '1' ).

            itab_zycit036_aux-vlmov = ' '.

            itab_zycit036_aux-vldif = ' '.

            MODIFY itab_zycit036_aux.

...