ICMS ST - Erro [debug]


#1

Bom dia, outra vez estou aqui com mais um problema. Antes queria agradecer a ajuda que venho recebendo e espero que futuramente possa ajudar a comunidade do mesmo jeito que vem me ajudando.

Eu estava utilizando o dump/customization disponivel no sourceforge do mes 3/2011, o calculo do ICMS-ST estava supostamente sendo calculado corretamente. Digo isso pois para o calculo eu devia preencher na tela matriz_icms com as aliquotas do ICMS e do ICMSST que ao meu ver não há necessidade pois a alíquota é a mesma. Na tela produto também havia o flag Substituição Tributaria e logo após o campo IVA. Eu vi os ultimos commits no trunk e resolvi atualizar já que o IVA seria calculado através do NCM que é a maneira que o governo trata. Após realizar essa atualização o ICMSST não é mais calculado, debuguei e visualizei o seguinte warning -----------> MProduct.get_Value: Column not found - lbr_HasSubstitution [11].

public int getColumnIndex (String ColumnName) { for (int i = 0; i < m_columns.length; i++) { if (ColumnName.equalsIgnoreCase(m_columns[i].ColumnName)) // teo_sarca : modified to compare ignoring case [ 1619179 ] return i; } return -1; } // getColumnIndex

Essa função esta retornando -1, após uma analise mais detalhada verifiquei que a função m_columns.length esta retornando 65 porém na tabela existem 71 colunas na tabela M_PRODUCT e justamente a coluna lbr_hassubstitution não é retornada através da função.

Gostaria de saber se isto é realmente um bug ou algo que fiz errado ou deixei de fazer. Obrigado novamente.


#2

Reinstalei tudo (instalei outra versão do postgres/java jdk) para ver se conseguia contornar esse problema porém o problema continua… No momento do debug verifiquei isso aqui também:
Atualmente estou utilizando:

JAVA JDK 1.6.023
POSTGRES 8.4
WINDOWS XP - SP2

Erro de class not found:
imageshack.us/f/13/errormga.jpg/

Será que o problema é alguma configuração minha no eclipse?

[code]Eclipse IDE for Java Developers

Version: Helios Service Release 2
Build id: 20110218-0911[/code]

Estou totalmente perdido não sei por onde começar a analisar este problema.


#3

estranho, aqui estou utilizando a versão que está no trunk e esta funcionando o cálculo do ICMSST, vc pode mudar o nível do trace para ALL no Adempiere e dai salvar o log e colocar aqui… assim eu consigo ver o que pode estar acontecendo.


#4

Anexei o traceInfo aqui no post


#5

mgrigioni você que realizou a ultima modificação na classe CalloutTax.java correto? voce pode me confirmar se essa condição esta certa?

Linha: 318

if (/*prod_isManufactured &&*/ prod_hasSubstitution && isSOTrx){ hasSubstitution = true; }

Por que pelo que eu observei o campo prod_hasSubstitution foi removido do cadastro dos produtos (todos os produtos criados ficam com N neste campo). Portanto por mais que eu esteja recebendo o warning -----------> MProduct.get_Value: Column not found - lbr_HasSubstitution [11]. , eu nunca entraria nesta condição…
Comentei a parte “prod_hasSubstitution &&” e o adempiere conseguiu trazer o ICMSST no campo Imposto Brasileiro (Ele só traz a aliquota se esta estiver configurada juntamente com o ICMS na janela MATRIZ_ICMS, esta correto esse comportamento?), Entretanto na aba Imposto do pedido o ICMSST não foi calculado corretamente, ficando apenas 0.0 no valor do imposto ICMSST e no valor base o preço do item.


#6

Havia anexado errado, o log correto:

Processo realizado:
->Pedido de Venda
->Aba itens do pedido
->Inseri o produto que possui NCM com IVA
->Aba Imposto do pedido


#7

mgrigioni vi que você realizou uma modifcação na classe esses dias. Agora o programa ja passa pela condição mas o valor do ICMS-ST não é calculado, apesar de poder visualizar o valor calculado corretamente no campo de status. Na aba Imposto do pedido o valor do imposto fica zerado.
Pelo que eu entendi essa condição abaixo esta zerando o IVA caso o tipo de transação seja diferente de “Revenda”, porém ao meu ver deveria ser o contrario. Se eu fabrico um produto que tenha ST este deve ser calculado caso eu venda para uma empresa (Consumidor Final). Esta correto esta linha de pensamento?

Coloquei o documento como revenda e os valores na aba Imposto do Pedido foram calculados.

TaxBR.java
Linha: 185

//Valor + Margem de Lucro if (!taxBR.getTransactionType().equals(X_LBR_TaxFormula.LBR_TRANSACTIONTYPE_Resale)) ivaPrct = Env.ZERO;

Outra duvida, o processo de inserir o ICMS-ST na tela ICMS_Matriz esta correto? pois neste caso os dados ficam redundantes, já que a aliquota do ICMS ja serve para o ST.


#8

Então, não sou nenhum expert em ICMS-ST, fiz as modificações no código conforme orientação da minha area fiscal… Mas pelo que eu entendi, se vc fabrica alguma coisa e seu cliente, já é o consumidor final, não existe ICMS-ST, pois vc não precisa antecipar o tributo, pois ele é o último nó da cadeia.

Agora, se vc por exemplo vende seu produto para um “Supermercado”, e ele irá “revender”, dai sim existe ICMS-ST… pois vc esta antecipando o tributo que será cobrado do consumidor final.

Sobre a duplicação do ICMS ST na matrix de icms, vc tem razão, teoricamente não precisaria, seria uma altereção legal, para futuras melhorias