[firebase-br] Duvida de Tributação

Marcelo Geyer estanisgeyer em gmail.com
Seg Jul 29 11:19:46 -03 2013


Eu concordo contigo Everton, em todas as suas colocações. Mas como se trata
de um software para emissão de notas como o colega colocou, espere sempre
pelo pior. O "emaranhado" de normas, leis, decretos e outros, que nem os
fiscais entendem, realmente fica inviável de fazer qualquer operação de
cálculo ou regras de negócio no banco de dados. Essa área tributária é
complexa, nebulosa, injusta e está em constante alterações. Um exemplo do
que falo é que existem mais de 1000 instruções sobre PIS e COFINS. Pensar
em todas as possibilidades para cálculo direto no banco de dados não é uma
boa ideia, cedo ou tarde você irá desistir. Nem o governo consegue fazer um
projeto ideal, vejam a NF-e. Em partes ela atende muito bem, mas tentem
experimentar emitir uma NF-e de Crédito de ICMS do Ativo Imobilizado para
ver a "gambiarra" que é informada.

Isto é apenas um desabafo.
Abraços,




Em 29 de julho de 2013 09:14, Everton Patricio Pereira <
evertonkiai em gmail.com> escreveu:

> Interessante... É sempre bom debater para aprender mais... Bom, gosto e
> necessito estudar Engenharia de Software, OO, Padrões de Projeto (Desig
> Patterns), boas práticas, etc..., e tomando como base estes preceitos, eu
> não acho interessante colocar cálculo de impostos em Stored Procedures por
> dois motivos:
> 1. Se trata de regra de negócio, e quando você delega regra de negócios
> para o banco de dados, você está indo contra os conceitos de
> manutenibilidade. Regra de negócio é interessante deixar em classes tipo BO
> (Business Object), da mesma forma que classes de acesso a dados é
> interessante deixar em classes tipo DAO (Data Access Object).
> 2. Segundo os mesmos preceitos, creio que a utilização de Stored Procedures
> é muito interessante para delegar cálculos pesados para o servidor e evitar
> que haja um grande tráfego na rede, tornando a aplicação mais lenta. Ex:
> para não termos que enviar N parâmetros como ..., enviamos apenas os
> parâmetros básicos para que o servidor processe todos os
> selects/updates/cálculos diversos e retorne somente as respostas que
> desejamos.
> Além disso, é de conhecimento geral que para o lançamento de uma nota
> fiscal há a necessidade de calcular N impostos, já imaginou para o cálculo
> de cada imposto fosse necessário fazer uma requisição ao servidor e esperar
> sua resposta??
> Obs: sem contar o fato de que, por exigência do cliente ou qualquer outro
> motivo,  se algum dia fosse necessário trocar a base de dados, teríamos que
> reescrever toda a aplicação...
>
> No entanto, tudo isso muda de projeto para projeto. Os critérios que se têm
> para construir um prédio de 20 andares não diferentes dos critérios que se
> têm para construir uma casinha de cachorro (se é que precisa de critério
> para construir casinhas de cachorro). Ou seja, se seu software é pequeno e
> você não tem planos de crescimento para ele, nem de manutenção, quer só
> desenvolver, entregar para o cliente e só, então não é necessário pensar
> muito a respeito da arquitetura...
>
> Qualquer opinião contrária ou que venha complementar essas idéias serão bem
> vindas pessoal, vamos aprender mais e ainda ajudar ao nosso amigo Junior.
>
> Té +!
>
>
> Em 27 de julho de 2013 17:15, Hélio Oliveira <hpensador em gmail.com>
> escreveu:
>
> > Em 24/07/2013 09:48, Junior Monteiro escreveu:
> >
> >  Bom dia pessoal estou trabalhando em um projeto de nota fiscal, queria
> >> pedir ajuda se alguém tem um exemplo de trigger ou procedure para
> cálculo
> >> de base icms eu sei que existe muita variações como de estado para
> estado
> >> ou se pessoa é contribuinte mais uma ajuda ou dica genérica já me
> ajudaria
> >> a fechar o raciocino.
> >> Obrigado a todos.
> >> ______________________________**________________
> >> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> >> Para saber como gerenciar/excluir seu cadastro na lista, use:
> >> http://www.firebase.com.br/fb/**artigo.php?id=1107<
> http://www.firebase.com.br/fb/artigo.php?id=1107>
> >> Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<
> http://firebase.com.br/pesquisa>
> >>
> >>
> > Junior, como já disse anteriormente o Marcelo - importante é que você
> faça
> > um bom cadastro dos produtos e dos clientes/fornecedores. Faz parte da
> > regra do negocio a parte do calculo, creio que você possa desenvolver um
> > Stored Procedure (SP) que receba alguns paramentros e lhe retorne o valor
> > do imposto calculado. Não vejo problema algum em este calculo ser feito
> > diretamente no DB.
> >
> > --
> >   * *Hélio Oliveira*
> >   * Bel. Ciência da Computação
> >   * Programador Delphi
> >
> >
> >
> > ______________________________**________________
> > FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> > Para saber como gerenciar/excluir seu cadastro na lista, use:
> > http://www.firebase.com.br/fb/**artigo.php?id=1107<
> http://www.firebase.com.br/fb/artigo.php?id=1107>
> > Para consultar mensagens antigas: http://firebase.com.br/**pesquisa<
> http://firebase.com.br/pesquisa>
> >
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>



-- 
Marcelo E. Geyer
Standard Net Tecnologia e Informação



Mais detalhes sobre a lista de discussão lista