FECHAMENTO POR MES
Pessoal estou sem conseguir enxergar uma idéia para por exemplo:
Tenho um cadastro de bens, nele tenho os campos: VALOR DO BEM, DEPRECIAÇÃO ANUAL E DATA DE INCORPORAÇÃO. por exemplo tenho o seguintes dados:
VALOR DO BEM | DEPRECIAÇÃO ANUAL | DATA DE INCORPORAÇÃO
134,50 20% 01/01/2010
Por exemplo tenho que fazer os cálculos de depreciação por mês
Janeiro de 2010 foi de .... (A DIFERENÇA ENTRE A DATA DE INCORPORAÇÃO E O ÚLTIMO DIA DO MÊS)
Fevereiro de 2010...
Até o mês atual por exemplo sendo que só é feito no último dia de cada mês
Alguém teria alguma idéia
Tenho um cadastro de bens, nele tenho os campos: VALOR DO BEM, DEPRECIAÇÃO ANUAL E DATA DE INCORPORAÇÃO. por exemplo tenho o seguintes dados:
VALOR DO BEM | DEPRECIAÇÃO ANUAL | DATA DE INCORPORAÇÃO
134,50 20% 01/01/2010
Por exemplo tenho que fazer os cálculos de depreciação por mês
Janeiro de 2010 foi de .... (A DIFERENÇA ENTRE A DATA DE INCORPORAÇÃO E O ÚLTIMO DIA DO MÊS)
Fevereiro de 2010...
Até o mês atual por exemplo sendo que só é feito no último dia de cada mês
Alguém teria alguma idéia
Citação::
Pessoal estou sem conseguir enxergar uma idéia para por exemplo:
Tenho um cadastro de bens, nele tenho os campos: VALOR DO BEM, DEPRECIAÇÃO ANUAL E DATA DE INCORPORAÇÃO. por exemplo tenho o seguintes dados:
VALOR DO BEM | DEPRECIAÇÃO ANUAL | DATA DE INCORPORAÇÃO
134,50 20% 01/01/2010
Por exemplo tenho que fazer os cálculos de depreciação por mês
Janeiro de 2010 foi de .... (A DIFERENÇA ENTRE A DATA DE INCORPORAÇÃO E O ÚLTIMO DIA DO MÊS)
Fevereiro de 2010...
Até o mês atual por exemplo sendo que só é feito no último dia de cada mês
Alguém teria alguma idéia
Tem como você mostrar um exemplo de sua tabela com mais de um mês, três por exemplo
UM EXEMPLO
Dim data1 As Date
Dim data2 As Date
Dim valor As Decimal
data1 = [Ô]2011-01-01[Ô]
data2 = Now
valor = 12458.12
DateAddL(data1, 0)
Do While data1 < data2
valor = valor - (valor * 0.2)
Debug.Print(CStr(data1) + [Ô] - [Ô] + FormatCurrency(valor))
DateAddL(data1, 1)
Loop
Function DateAddL(ByRef d As Date, ByVal m As Integer) As Date
d = DateAdd([Ô]D[Ô], m, d)
Dim x As Date
x = DateAdd([Ô]D[Ô], 1, d)
Do While DatePart([Ô]M[Ô], x) = DatePart([Ô]M[Ô], d)
d = x
x = DateAdd([Ô]D[Ô], 1, x)
Loop
DateAddL = d
End Function
Bem é o seguinte por exemplo: tenho um bem que custou 4.200
Valor do Bem | Taxa de depreciação Anual | Valor Depreciado
4200 | 20% ou 0.2 | ?
O cálculo é feito da seguinte forma: pega o valor inicial do bem e multiplica pela taxa anual = (4200 * 0.2) = 840,00
depois pega o 840 que é o valor que é depreciado por ano e divide por 12 que é a quantidade de mês = 840 / 12 = 70,00
depois pego o valor de 74,00 que é o valor da depreciação por 1 mês e divido por 30 dias = 70/30 = 2,33 que é o valor da depreciação por dia
por exemplo o bem foi incorporado dia 21/01/2012 até o fim do mês de janeiro, foram 10 dias de diferença então 2,333 * 10 = 23,33 = então janeiro deprecio 23,33
Já em Fevereiro foi o mês completo, ou seja deprecio 70,00 = por exemplo até 29/02 o bem teve uma depreciação total de 93,33.
Por exemplo, se por ventura se fosse dia 31 de março, hoje o bem estaria com uma depreciação de 93,33 + 70 = 163,33
Só que não estou tendo a idéia de como fazer isso
Valor do Bem | Taxa de depreciação Anual | Valor Depreciado
4200 | 20% ou 0.2 | ?
O cálculo é feito da seguinte forma: pega o valor inicial do bem e multiplica pela taxa anual = (4200 * 0.2) = 840,00
depois pega o 840 que é o valor que é depreciado por ano e divide por 12 que é a quantidade de mês = 840 / 12 = 70,00
depois pego o valor de 74,00 que é o valor da depreciação por 1 mês e divido por 30 dias = 70/30 = 2,33 que é o valor da depreciação por dia
por exemplo o bem foi incorporado dia 21/01/2012 até o fim do mês de janeiro, foram 10 dias de diferença então 2,333 * 10 = 23,33 = então janeiro deprecio 23,33
Já em Fevereiro foi o mês completo, ou seja deprecio 70,00 = por exemplo até 29/02 o bem teve uma depreciação total de 93,33.
Por exemplo, se por ventura se fosse dia 31 de março, hoje o bem estaria com uma depreciação de 93,33 + 70 = 163,33
Só que não estou tendo a idéia de como fazer isso
o calculo nao pode ser por dia pq nao ficará uma resposta correta
exemplo:
o item foi cadastrado dia 2/1/2011... se for contar os dias ate o fim do mes será = 30, multipicando da o resultado de 1 mes, e nao e verdade
o item foi cadastrado dia 2/2/2011... se for contar os dias ate o fim do mes será = 27, multipicando da o resultado de 27 dias, mas falta 1 para fechar o mes...
entao, acho que deveria ser computado por mes, ou seja, se o mes foi ou nao foi completo será contabilizado com 1 mes contabil, se nao o caso fica extremamente complexo.
exemplo:
o item foi cadastrado dia 2/1/2011... se for contar os dias ate o fim do mes será = 30, multipicando da o resultado de 1 mes, e nao e verdade
o item foi cadastrado dia 2/2/2011... se for contar os dias ate o fim do mes será = 27, multipicando da o resultado de 27 dias, mas falta 1 para fechar o mes...
entao, acho que deveria ser computado por mes, ou seja, se o mes foi ou nao foi completo será contabilizado com 1 mes contabil, se nao o caso fica extremamente complexo.
ou duvida...
sua duvida é para select/store procedure???
pq vc abriu o topido para sql e nao para uma liguagem de programação(vb/vb.net...)
sua duvida é para select/store procedure???
pq vc abriu o topido para sql e nao para uma liguagem de programação(vb/vb.net...)
na verdade tenho que salva em uma tabela o cálculo feito da depreciação por mês
bom, então voltamos ao problemas dos dias...
Bom pessoal resolvi o problema acrescentando, incrementando a dia do amigo LVFIOROT
Tópico encerrado , respostas não são mais permitidas