Pesquisar na Comunidade
Showing results for tags 'C170'.
Encontrado 2 registros
-
Olá, queria discutir com vocês como podemos resolver um problema que encontrei no registro C170 do arquivo do SPED Fiscal. O campo “ALIQ_IPI” deve ser apresentado somente quando o produto é tributado pelo IPI por percentual, mas conforme está descrito na observação deste campo, ele deve ser enviado em branco quando o produto é tributado por valor, caso de bebidas quentes, cigarros e outros produtos. Acontece que a classe do ACBr está sempre enviando este campo com alíquota “0”, mesmo quando não informamos nada no componente, fazendo com que o validador nunca encare que o produto é tributado por valor no IPI. A solução neste caso seria a mesma que sugeri para o campo “ALIQ_ICMS” que criei em outro tópico, que sofre o mesmo problema da alíquota de IPI aqui. O link para o outro tópico é:
- 4 replies
-
- ALIQ_IPI
- Registro C170
-
(e 1 mais)
Tags:
-
Olá pessoal! Despois de ter aberto tópico em agosto do ano passado, acabei sendo recolocado em diversos outros projetos da empresa, e não consegui dar a atenção devida a ele. Voltamos agora então à questão da alíquota de IPI para produtos tributados por quantidade e não por um percentual fixo; No tópico referenciado acima, o Isaque Pinheiro havia dado a sugestão de alterarmos o método "WriteRegistroC170", de forma que o campo ALIQ_IPI chamasse a rotina "LFill()" passando o parâmetro "Nulo" como "True", para que o campo fosse enviado em branco sempre que estivesse preenchido com 0. Acontece que existem situações onde o produto é tributado por um percentual fixo, mas em uma determinada situação deve ser enviado com a alíquota 0, pois a operação é isenta de contribuição ou o produto é tributado à alíquota de 0%. Desta forma, vimos que a solução proposta não atenderia a todas as situações de escrituração do registro. Conversando com meus colegas de trabalho, chegamos a 3 modificações diferentes que poderão solucionar este problema, mas cada uma possui alguns pontos positivos e negativos que devem ser avaliados para decidirmos qual é a melhor implementação para o componente e a comunidade, ou se nenhuma das soluções propostas é a ideal e devemos voltar e analisar isto novamente. 1ª modificação sugerida: Alterar o tipo do field "fALIQ_IPI” de Currency para String Nesta modificação, o tipo do field é alterado para que passe a utilizar o overload do método “LFill” para campos texto, sendo gerado em branco sempre que o field estiver em branco. Para manter o propósito do campo, escrevemos um método “Set” para a property ALIQ_ICM que trata valores brancos e inválidos, permitindo que o field esteja apenas em dois estados (Em branco ou preenchido com uma alíquota válida). Ponto positivo: Esta modificação é a que menos causa impactos no componente, pois apenas duas units são alteradas e as alterações são "cirúrgicas", não influenciando no comportamento do componente; Ponto negativo: O principal ponto negativo desta modificação é que, ao realizarmos esta alteração, o componente irá parar de funcionar para quem já gera o SPED Fiscal hoje, até que a equipe de desenvolvimento da empresa possa atualizar a rotina de geração do registro C170 e alterar o campo de Currency para String; 2ª modificação sugerida: Alterar o tipo do field “fALIQ_IPI” de Currency para Variant Esta modificação é muito parecida com a sugerida acima, alterando o tipo do field para que se possa utilizar o método “LFill” para strings e validar quando o mesmo estiver em branco, mas com a grande vantagem de não alterar o funcionamento externo do componente nos projetos da comunidade. Ponto positivo: Quem já está utilizando a classe não terá de modificar o seu código fonte após atualizar o componente. O registro continuará sendo gerado da maneira correta; Ponto negativo: Um ponto negativo que levantamos para esta modificação é a compatibilidade do tipo "Variant" com usuários do Kilyx. Como nunca utilizamos, não temos como garantir aqui o funcionamento correto desta. 3ª modificação sugerida: Criar um novo field na classe "TRegistroC170" para controlar o campo “ALIQ_IPI” Esta modificação prevê a criação de um novo field na classe para que o usuário possa indicar se um determinado produto tem o IPI tributado por uma alíquota específica ou por quantidade vendida. Desta forma, podemos criar uma validação específica dentro do método "WriteRegistroC170" para gravar 0 ou vazio neste campo do layout conforme a configuração deste novo campo. Ponto positivo: Com esta modificação, podemos garantir que o funcionamento do componente não será modificado para nenhum usuário, independente da plataforma utilizada. Ponto negativo: Não conseguimos encontrar algo que invalidasse esta sugestão, pois a criação de um novo field para controlar esta situação garante o isolamento da modificação. E estas são as sugestões que conseguimos elaborar aqui na empresa para solucionar este problema. Anexo abaixo estão os fontes com as duas primeiras modificações implementadas, para que vocês possam baixa-las e verem como funcionam na prática. Acredito que até o final da semana conseguirei criar um exemplo da 3ª sugestão para avaliarem. Novamente peço desculpas pelo tamanho que este post acabou ficando e agradeço a quem puder auxiliar! Edição: Já consegui montar um exemplo da implementação da 3ª sugestão no componente, anexo abaixo; 1ª modificação sugerida.zip 2ª modificação sugerida.zip 3ª modificação sugerida.zip