Ir para conteúdo
Fórum Script Brasil
  • 0

Problema Com A Funcao Dateadd


Fad Web

Pergunta

Ola estou desenvolvendo um sistema de escola mas estou com dificuldades na geração de datas de boletos pois coloco a data de lançamento para o dia 30 de janeiro “mesdefinido”

Mas em Fevereiro que tem 28 dias ele muda certo so que no mês subseqüente

Ele torna colocar o dia 28 sendo que marco tem 31 dias e no mês subseqüente ele coloca certo sendo o dia 30.

A função usada e a DateAdd (código utlizado : dateadd("M", 1,mesdefinido))

Parcela de Curso 1 30/1/2010 15,00 Boleto 0,00 Aberto

Parcela de Curso 2 28/2/2010 15,00 Boleto 0,00 Aberto

Parcela de Curso 3 28/3/2010 15,00 Boleto 0,00 Aberto

Parcela de Curso 4 30/4/2010 15,00 Boleto 0,00 Aberto

Parcela de Curso 5 30/5/2010 15,00 Boleto 0,00 Aberto

Parcela de Curso 6 30/6/2010 15,00 Boleto 0,00 Aberto

Parcela de Curso 7 30/7/2010 15,00 Boleto 0,00 Aberto

Parcela de Curso 8 30/8/2010 15,00 Boleto 0,00 Aberto

Parcela de Curso 9 30/9/2010 15,00 Boleto 0,00 Aberto

Parcela de Curso 10 30/10/2010 15,00 Boleto 0,00 Aberto

Parcela de Curso 11 30/11/2010 15,00 Boleto 0,00 Aberto

Parcela de Curso 12 30/12/2010 15,00 Boleto 0,00 Aberto

<%option explicit%>
<!-- #include file = "include/generico_data.inc" -->
<%dim nr_processo 

if request("operacao") = "D" then 
    nr_processo=22
else
    nr_processo=21
end if
%>
<!-- #include file = "include/valida_acesso.inc" -->
<%

dim sql, id_matricula, rsMatricula, aux_volta, dt_vencimento
dim i
dim rsAcesso
    
    id_matricula = request.form("id_matricula")

    if id_matricula = 0 then

        'Valida Aluno
        dim rsAluno
        sql = "SELECT * from parceiro where id_parceiro = " & Request.Form("id_parceiro")
        set rsAluno = GetRS(sql)
        if rsAluno.eof then 
            Response.write "Aluno não encontrado."
            Response.End 
        end if
        if rsAluno("CPF") = "" and rsAluno("respnome") = "" and rsAluno("respCPF") = "" then 
            Response.write "CPF do Aluno ou Responsavel não preenchido"
            Response.End 
        end if

        'Acha proximo numero de matricula
        sql = "select max(id_matricula) as id_matricula from matricula"
        rsMatricula = getrs(sql)
        if isnull(rsMatricula("id_matricula")) then 
            id_matricula = 1
        else
            id_matricula = rsMatricula("id_matricula") + 1
        end if
    
        sql = "insert into matricula( "
        sql = sql & " id_matricula,"
        sql = sql & " id_aluno,"
        sql = sql & " id_turma,"
        sql = sql & " vr_curso,"
        sql = sql & " vr_desconto,"
        sql = sql & " nr_parcelas,"
        sql = sql & " vr_taxa_matricula,"
        sql = sql & " observacao,"
        sql = sql & " dt_matricula,"
        sql = sql & " id_usuario,"
        sql = sql & " situacao,"
        sql = sql & " forma_pagamento,"
        sql = sql & " dt_parcela,"
        sql = sql & " nr_parcelas_taxa)"
    
        sql = sql & " VALUES ("
    
        sql = sql & id_matricula & ","
        sql = sql & Request.Form("id_parceiro") & ","
        sql = sql & Request.Form("id_turma") & ","
        sql = sql & replace(request.form("vr_curso"),",",".") & ","
        if request.form("vr_desconto") = "" then 
            sql = sql & "0" & ","
        else
            sql = sql & replace(request.form("vr_desconto"),",",".") & ","
        end if
        sql = sql & Request.Form("nr_parcelas") & ","
        sql = sql & replace(request.form("vr_taxa_matricula"),",",".") & ","
        
    '        sql = sql & "'" & Request.Form("observacao") & "',"
        sql = sql & "'',"
        sql = sql & "'" & now() & "',"
        sql = sql & "" & session("id_usuario") & ","
        sql = sql & "'A',"
        sql = sql & "'" & Request.Form("forma_pagamento") & "',"
        sql = sql & "'" & Request.Form("dt_parcela") & "',"
        sql = sql & Request.Form("nr_parcelas_taxa") & ")"
    
        call executecmd(sql)

    elseif request("operacao") = "D" then 

        'Apaga Lancamentos
        sql = "delete from lancamento "
        sql = sql & " where id_matricula = " & request.form("id_matricula")
        call executecmd(sql)

        sql = "delete from matricula "
        sql = sql & " where id_matricula = " & id_matricula
        call executecmd(sql)

        Response.Redirect "matricula_lista.asp?id_aluno=" & Request.Form("id_aluno")
        Response.End 

    else

        sql = "update matricula set "
        sql = sql & " id_turma = " & Request.Form("id_turma") & ","

        sql = sql & " vr_curso = " & replace(replace(request.form("vr_curso"),".",""),",",".") & ","
        if request.form("vr_desconto") = "" then 
            sql = sql & " vr_desconto = 0" & ","
        else
            sql = sql & " vr_desconto = " & replace(request.form("vr_desconto"),",",".") & ","
        end if
        sql = sql & " nr_parcelas = " & Request.Form("nr_parcelas") & ","
        sql = sql & " vr_taxa_matricula = " & replace(request.form("vr_taxa_matricula"),",",".") & ","
        sql = sql & " nr_parcelas_taxa = " & Request.Form("nr_parcelas_taxa") & ","
        
        sql = sql & "observacao =" & """" & replace(request("observacao"),"""","'") & ""","
        sql = sql & "dt_matricula = " & "'" & now() & "',"
        sql = sql & "forma_pagamento = " & "'" & Request.Form("forma_pagamento") & "',"
        sql = sql & "dt_parcela = " & "'" & Request.Form("dt_parcela") & "'"

        sql = sql & " where id_matricula = " & id_matricula

        call executecmd(sql)
    end if


        'Fechamento de Matricula
'        if request("operacao") = "C" then

            'Traz registro de matricula
            sql = "SELECT * from matricula where id_matricula = " & id_matricula
            set rsMatricula = GetRS(sql)
            
            'Apaga Lancamentos antigos
            sql = "delete from lancamento "
            sql = sql & " where id_matricula = " & request.form("id_matricula")
            call executecmd(sql)

            'Taxa de Matricula
            if rsMatricula("vr_taxa_matricula") > 0 then 
                dt_vencimento = formatdatetime(now(),2)
                for i = 1 to rsMatricula("nr_parcelas_taxa")
                    if i > 1 then 
'                    dt_vencimento = "15" & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)  
                    dt_vencimento = day(dt_vencimento) & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)
                    dt_vencimento = dateadd("M", 1, dt_vencimento)
                    end if
                    sql = "insert into lancamento (tp_lancamento, id_parceiro, nr_parcela, "
                    sql = sql & " dt_lancamento, dt_vencimento, vr_parcela, vr_desconto, forma_pagamento, "
                    sql = sql & " nr_documento, vr_tx_boleto, id_situacao_lancamento, id_matricula)"
                    sql = sql & " values(" 
                    sql = sql & "5" & ","
                    sql = sql & rsMatricula("id_aluno") & ","
                    sql = sql & cstr(i) & ","
                    sql = sql & "'" & now() & "',"
                    sql = sql & "'" & dt_vencimento & "',"
                    sql = sql & replace(rsMatricula("vr_taxa_matricula")/rsMatricula("nr_parcelas_taxa"),",",".") & ","
                    sql = sql & "0" & ","
                    sql = sql & "'" & rsMatricula("forma_pagamento") & "',"

'                    sql = sql & "'" & right("000000" + cstr(rsMatricula("id_matricula")),6) & "05" & right("00" + cstr(i),2) & "',"
'                    sql = sql & "'" & right("0000" + cstr(rsMatricula("id_matricula")),4) & right("00" + cstr(day(dt_vencimento)), 2) & right("00" + cstr(month(dt_vencimento)),2) & right("00" + cstr(year(dt_vencimento)),2) & "',"
                    sql = sql & "null,"

'                    if rsMatricula("forma_pagamento") = "B" then 
'                        sql = sql & "2.4,"
'                    else                
                        sql = sql & "0,"
'                    end if
    
                    sql = sql & "1" & ","
                    sql = sql & rsMatricula("id_matricula") & ")"
                    call executecmd(sql)
                next
            end if            
    
            'Gera lançamentos
            dt_vencimento = rsMatricula("dt_parcela")
            Session("DataVenc") = day(dt_vencimento)
'            response.Write(Session("DataVenc") & "<br>") 
'            response.Write(Session("DataVenc") & "<br>") 
'            response.Write(month(dt_vencimento) & "<br>") 
'            response.End() 
'            response.End() 
            for i = 1 to rsMatricula("nr_parcelas")
                if i > 1 then 
                    if day(dt_vencimento) <> Session("DataVenc") then
                    Select Case month(dt_vencimento)
                    case 1
                     dt_vencimento = Session("DataVenc") & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)
                     case 2
                     dt_vencimento = day(dt_vencimento) & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)
                     case 3
                     dt_vencimento = Session("DataVenc") & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)
                     case 4
                     dt_vencimento = day(dt_vencimento) & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)
                     case 5
                     dt_vencimento = Session("DataVenc") & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)
                     case 6
                     dt_vencimento = day(dt_vencimento) & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)
                     case 7
                     dt_vencimento = Session("DataVenc") & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)
                     case 8
                     dt_vencimento = Session("DataVenc") & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)
                     case 9
                     dt_vencimento = day(dt_vencimento) & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)
                     case 10
                     dt_vencimento = Session("DataVenc") & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)
                     case 11
                     dt_vencimento = day(dt_vencimento) & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)
                     case 12
                     dt_vencimento = Session("DataVenc") & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)
                    Case else
                    dt_vencimento = Session("DataVenc") & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)  
                    End Select  
                    else                                
                    dt_vencimento = Session("DataVenc") & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)  
                    end if 
'                    dt_vencimento = "15" & "/" & month(dt_vencimento) & "/" & year(dt_vencimento)  
'                    dt_vencimento = dateadd("M", 1, dt_vencimento)
                    dt_vencimento = dateadd("M", 1, dt_vencimento)


                end if

                sql = "insert into lancamento (tp_lancamento, id_parceiro, nr_parcela, "
                sql = sql & " dt_lancamento, dt_vencimento, vr_parcela, vr_desconto, forma_pagamento, "
                sql = sql & " nr_documento, vr_tx_boleto, id_situacao_lancamento, id_matricula)"
                sql = sql & " values(" 
                sql = sql & "1" & ","
                sql = sql & rsMatricula("id_aluno") & ","
                sql = sql & cstr(i) & ","
                sql = sql & "'" & now() & "',"
                sql = sql & "'" & dt_vencimento & "',"
                sql = sql & replace((rsMatricula("vr_curso")/rsMatricula("nr_parcelas")),",",".") & ","
                sql = sql & replace((rsMatricula("vr_desconto")/rsMatricula("nr_parcelas")),",",".") & ","
                sql = sql & "'" & rsMatricula("forma_pagamento") & "',"

'                sql = sql & "'" & right("000000" + cstr(rsMatricula("id_matricula")),6) & "01" & right("00" + cstr(i),2) & "',"
'                sql = sql & "'" & right("0000" + cstr(rsMatricula("id_matricula")),4) & right("00" + cstr(day(dt_vencimento)), 2) & right("00" + cstr(month(dt_vencimento)),2) & right("00" + cstr(year(dt_vencimento)),2) & "',"
                    sql = sql & "null,"

'                if rsMatricula("forma_pagamento") = "B" then 
'                    sql = sql & "2.4,"
'                else                
                    sql = sql & "0,"
'                end if
                
                sql = sql & "1" & ","
                sql = sql & rsMatricula("id_matricula") & ")"
'response.Write(sql & "<br>") 
                call executecmd(sql)
                
            next

'response.End()
            'Altera situacao da matricula
'            sql = "update matricula set "
'            sql = sql & "situacao = " & "'F'"
'            sql = sql & " where id_matricula = " & request.form("id_matricula")
'            call executecmd(sql)

            'Insere Atendimento no aluno
            sql = "insert into parceiro_historico ( "
            sql = sql & " id_parceiro,"
            sql = sql & " dt_historico,"
            sql = sql & " tipo_atendimento,"
            sql = sql & " ds_observacao,"
            sql = sql & " id_parceiro_usuario)"
            sql = sql & " VALUES ("
            sql = sql & rsMatricula("id_aluno") & ","
            sql = sql & "'" & now() & "',"
            sql = sql & "'P',"
            sql = sql & "'Matricula n. " & cstr(rsMatricula("id_matricula")) & "',"
            sql = sql & "" & session("id_usuario") & ")"
            call executecmd(sql)
            
            'Altera Tipo de Parceiro
            sql = "update parceiro set "
            sql = sql & "tipo = " & "'A'"
            sql = sql & " where id_parceiro = " & rsMatricula("id_aluno")
            call executecmd(sql)
            
'        end if
'    end if

    Response.Redirect "matricula_detalhe.asp?id_matricula=" & id_matricula
    Response.End 
    
%>


<script LANGUAGE=VBSCRIPT>
sub    window_onload()
    <%if request("operacao") = "D" or request("operacao") = "C" or request.form("id_matricula") = 0 then %>
        call window.history.go(-2)
    <%else%>
        call window.history.go(-1)
    <%end if%>
end sub
</SCRIPT>

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...