Bem gente estou trabalhando em um sistema de uma area que entendo muito pouco, contabilidade.
Trata-se de um sistema de folha de pagamentos, contra cheque, etc…
As tabelas de empresas, funcionários, usuários, etc… Já modelei, porém preciso criar uma tabela que irá guardar os vencimentos e descontos do contracheque (ex: Salario Base, Adicional de Insalubridade, Adicional Noturno, Adiatamento do 13°, etc…) que são aquelas descrições que vem nos contracheques, essas descrições são chamadas Vencimento (acrecimo no valor a ser recebido) e Desconto (desconto do valor a ser recebido). O problema está na questão de que cada item desse tem uma forma de calculo diferente alguns são baseados em porcentagens outros são baseados em uma divisão de um valor por uma quantidade. Não da para criar uma formula no sistema para cada calculo pq isso irá depender de uma variedade imenssa de fatores então acredito que o máximo que dá pra guardar é a descrição do vencimento ou desconto e a porcentagem que esse exerce, porém como ja foi dito existem alguns que não são baseadoes em porcetagem mas sim em uma divisão de um valor por outro vou dar um exemplo.
Adicional Noturno Calculo
Salário / 220horas menssais x 20% = 1 hora noturna
Contribuição Sindical
Salario / 30 = Contribuição sindical
Virão como cada item tem um calculo diferente.
Embutir esses calculos dentro do sistema fica complicado pois cada item tem uma formula diferente e são muitos. E o sistema deve faze-los automáticamente.
Alguém poderia me dar uma luz?
Cheguei a pesar em um segunda tabela para guardar as formulas mas como implementar isso na modelagem não sei.
Você poderia fazer por exemplo
PercentagemNorturo = 0,20
Salário / 220horas menssais xPercentagemNorturo = 1 hora noturna
Cria variáveis e define no programa como um campo variável, ou seja, faz uma tela que define a percentagem.
[quote=matheusssilva]
Virão como cada item tem um calculo diferente.
Embutir esses calculos dentro do sistema fica complicado pois cada item tem uma formula diferente e são muitos. E o sistema deve faze-los automáticamente.[/quote]
eu não entendi o seu problema. Qual é o problema de incluir calculos no sistema ? ( não é para isso que ele serve ?)
Ou o problema está em serem calculos diferente ? ( quanto a isso, tb não entendo porque seria um problema)
Existem soluções para ambos os problemas, mas - primeiro - é preciso ficar claro qual é o seu problema…
O problema é que são várias e várias formulas sem falar que são formulas estabelecidas por lei e podem constantemente mudar, então elas não podem estar amarradas no código fonte do programa mas devem ser definidas dinâmicamente pelo usuário. Sem falar que eu teria que aprender todos os calculos possiveis para poder colocalos no sistema
A solução para isso é bem mais complexa do que eu imaginava.
Procurei na net algum soft pronto para essa area para ter uma ídeia do que fazer. Como falei antes essas formulas não podem ser embutinas na aplicação pos podem mudar constantemente além do que são tantas quem nem os proprios profissionais da area lembam todas elas de cabeça. A unica coisa que se sabe é que elas usam dados existente no BD como por exemplo o salário de um fincionário, a data de admissão do mesmo, as horas trabalhadas etc… ou seja, dados que existem no bd. Como não se que tipo de operações serão realizadas com esses dados a empresa desenvolvedora do soft que baixei criou no sistema a funcionalidade de macros com comandos iguais aos que se usam nas celulas do excel. Assim o usuário cria o item e a formula (atraves de macros) existentes no sistema.
Que pupunha em durante anos trabalhando nunca havia enfrentado um problema assim.