Jump to content


Photo

Valor Da 1º Fatura Proporcional Ao Dia Vencimento Escolhido!


  • Faça o login para participar
8 replies to this topic

#1 rmax209

rmax209

    12 Horas

  • Usuários
  • 120 posts
  • Sexo:Não informado

Posted 04/09/2006, 10:25

Estou tentando concluir um sistema de cadastro q o cliente seleciona o dia do vencimento (5,10,15,20,25) e o script em asp calcula automaticamente o valor da primeira fatura proporcional ao dia de vencimento escolhido levando em conta a data atual do cadastro, na programção q eu mesmo fiz estou usando o comando ADD para adicionar um mês na data atual, por ex: data do cadastro é (4/9/2006) e o cliente escolhe o dia 5 para pagar as mensalidade então o sistema calcula s dias q faltam da data do cadastro até o dia do vencimento daqui a 1 mês e da o valor em R$, o problema q me deparei agora foi q cada mês tem uma quantidade diferente de dias tipo 31,30,29 e o tal do 28 do fevereiro ou seja essa diferença de dias em cada mês esta gerando um problemão no calculo já q todo mundo ja tem d costume q dia 5 para o próximo dia 5 não importando o mês sempre tem 30 dias mais na programção naun funciona assim ele realmente calcula os dias q existem em cada mês... :wacko: kramba escrivi muito naun sei se alguem vai m entender mais o sistem q to fazendo é igual ao desse site aqui .

ta tudo quase pronto só naun sei como fazer a lógica nesse caso das diferenças de dias em cada mês.... :(

agradeço muito q puder m ajudar! vlw galera!

#2 siola

siola

    Usuário

  • Usuários
  • 894 posts
  • Sexo:Masculino
  • Localidade:SBC - SP
  • Interesses:ASP, .NET, javascript

Posted 04/09/2006, 11:51

Tente usar a função DateDiff pra pegar qual o numero de dias entre as datas e em cima desse valor fazer a conta ;)

#3 rmax209

rmax209

    12 Horas

  • Usuários
  • 120 posts
  • Sexo:Não informado

Posted 04/09/2006, 15:41

Eu ja utilizo essa função... o prblema é como descobrir quantos dias tem cada mes dinamicamente e ele calcular como se todos tivessem 30 dias!

#4 siola

siola

    Usuário

  • Usuários
  • 894 posts
  • Sexo:Masculino
  • Localidade:SBC - SP
  • Interesses:ASP, .NET, javascript

Posted 04/09/2006, 16:01

response.write "hoje: " & date() & "<BR>"

novadata = dateadd("m", 1, date())

response.write "daqui 1 mes: " & novadata & "<BR>"

diferenca = datediff("d", date(), novadata)

response.write "numero de dias de diferença: " & diferenca


#5 rmax209

rmax209

    12 Horas

  • Usuários
  • 120 posts
  • Sexo:Não informado

Posted 04/09/2006, 18:00

response.write "hoje: " & date() & "<BR>"
novadata = dateadd("m", 1, date())
response.write "daqui 1 mes: " & novadata & "<BR>"
diferenca = datediff("d", date(), novadata)
response.write "numero de dias de diferença: " & diferenca



isso eu ja fiz... como disse no post acima...

talvez eu naun esteja conseguindo expressar direito a minha duvida... vow deixar o sistema como está mesmo... d qualquer forma vlw siola (y)

#6 Então

Então

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 04/09/2006, 23:24

Bom cara ai vai uma esquema que fiz para resolver esse problema, tem coisas que, derrepente, você ter que adaptar ao seu modo de usar, mas o básico é isso ai.


até a próxima....


<%

'Dia que o Cliente escolheu para pagar
DiaEscolhaCliente = 10

' Supondo que seja dia 04/09/2006
DiaHoje = Day(now()) 

'Verifica quantos dias tem no mês corrente
UltimoDiadoMes = DateAdd( "d", -1, DateSerial( Year(now()) , Month(now()) ,  1))

'Verifica se o dia que o cliente escolhe, existe para o Mês
if DiaEscolhaCliente > day(UltimoDiadoMes) then DiaEscolhaCliente = day(UltimoDiadoMes)

'Adiciona um mês para Cobrança
MesCobranca = DateAdd( "m", -1, DateSerial( Year(now()) , Month(now()) ,  DiaEscolhaCliente ))

'Soma os dias proporcionais
DiasProporcioanais = (Day(UltimoDiadoMes)-day(now())) + DiaEscolhaCliente


Response.Write "<br>Último dia do Mês = "& Day(UltimoDiadoMes)
Response.Write "<br>Dia Escolhido pelo Cliente = "& DiaEscolhaCliente
Response.Write "<br>Dias proporcionais= "& DiasProporcioanais
Response.Write "<br>Data da Cobrança = "&  MesCobranca
	
%>
 

Edição feita por: Então, 04/09/2006, 23:25.

Revendedor:
razaodigital.com

#7 rmax209

rmax209

    12 Horas

  • Usuários
  • 120 posts
  • Sexo:Não informado

Posted 05/09/2006, 09:29

Consegui resolver :)

apenas coloquei uns Ifs em cada mês q não tem exatamente 30 dias!

Ex: o mês de janeiro tem 31 dias entaun para o sistema calcular sempre baseado em 30/30... tirei um dia do mês q tem 31 dias...

If Month(now) = CDate(1) Then
dias_restantes = dias_restantes - 1
Else
End if

e agora o sistema calcula como se todos meses do ano tivessem 30 dias!

vlw pela força galera!

Edição feita por: rmax209, 05/09/2006, 09:33.


#8 jairomendes

jairomendes

    Normal

  • Usuários
  • 74 posts
  • Sexo:Não informado

Posted 05/09/2006, 10:30

Oi, tem como ver se o mes tem 31 dias sim, mas por regra de negocio, se calcula sempre 30 dias.
Falo.
Jairo Mendes

Posted Image

#9 rmax209

rmax209

    12 Horas

  • Usuários
  • 120 posts
  • Sexo:Não informado

Posted 05/09/2006, 16:14

é isso ai ;)




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq