[firebase-br] Duvida de Tributação

Everton Patricio Pereira evertonkiai em gmail.com
Seg Jul 29 09:14:30 -03 2013


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>
>



Mais detalhes sobre a lista de discussão lista