Visualizzazione dei risultati da 1 a 8 su 8

Discussione: fine mese

  1. #1

    fine mese

    So che a volte se ne è parlato ma vorrei più che una spiegazione un esempio pratico:
    Vorrei se fosse possibile calcolare il fine mese di una data.

    esempio:

    fattura con data 30/06/04

    il mio cliente paga a 30 giorni fine mese

    se aggiungo 30 gg alla data della fattura ottengo 30/07/04 ma luglio è fatto di 31 giorni.

    la mia variabile è la scadenza ( 30gg, 60gg, 90gg e 120gg) mentre conosco sempre la data di emissione della fattura e vorrei che all'emissione della fattura si sapesse la data di scadcenza della stessa.

    Per esempio:

    data fattura 01/07/04
    scadenza 30 gg fine mese

    il mio cliente paga il 31/08/04 ( perchè paga sempre a fine mese).
    Come faccio calcolare a questa data?

    Abbiate pazienza

    Maurizio

  2. #2
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    Function FineMese(Data)
    FineMese = DateSerial(Year(Data),Month(Data)+1,1)
    FineMese = FineMese - 1
    End Function

    'Pagamento a 30 giorni fine mese
    DataFattura = #06/01/2004# 'Mese/Giorno/Anno
    Pagamento = FineMese(DateAdd("d",DataFattura,30))

    [Edit]
    Ma sei sicuro che una fattura 30 gg fine mese del primo luglio non vada pagata il 31 luglio ? :master:
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  3. #3
    si, la fattura va sempre pagata il fine mese successivo qualunque sia il giorno di emissione:

    esempio: oggio è il 30/06/04 , se il cliente paga normalmente a 30 giorni la nostra fattura porterà in automatico la data del 31/07/04.

    MA se oggi fosse il 01/06/04 comunque pagherebbe il 31/07/04

    ( 30 gg fine mese)

    è un modo come un altro( tra l'altro abbastanza diffuso di tenere in ordine la contabilità)

    Ciao Grazie e scudùsa il ritardo della risposta ma sono in ferie e posso rispondere solo in alcuni orari

    Maurizio

  4. #4
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    dovrebbe diventare:

    DataFattura = #06/01/2004# 'Mese/Giorno/Anno
    Pagamento = DateSerial(Year(DataFattura),Month(DataFattura)+2, 1)
    Pagamento = Pagamento -1
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  5. #5
    Ciao scusa se continuo ma dovrei saper una cosa:
    la data di emissione non è un dato conosciuto finchè uno non decide di emettere la fattura , perciò è anch'essa una variabile.Io avrei risolto così , faccio inserire la data della fattura , aggiorno i dati e reindirizzo su una pagina del tutto analoga alla precedente ma con il valore della data fattura acquisito.Ora se la variabile fosse:

    data_fatt=ordini("data_fatt")

    dove la dovrei inserire nella tua funzione?

    DataFattura = #(data_fatt)# 'Mese/Giorno/Anno
    Pagamento = DateSerial(Year(DataFattura),Month(DataFattura)+2, 1)
    Pagamento = Pagamento -1

    Ho provato a inserirla tra i due cancelletti ma chiaramemte mi da errore!
    Grazie

  6. #6
    Utente di HTML.it L'avatar di Corwin
    Registrato dal
    Jan 2002
    Messaggi
    584
    se il campo del db è di tipo data :
    codice:
    data_fatt=ordini("data_fatt") 
    Pagamento = DateSerial(Year(data_fatt),Month(data_fatt)+2,1) -1
    I don't wanna have to shout it out / I don't want my hair to fall out
    I don't wanna be filled with doubt / I don't wanna be a good boy scout
    I don't wanna have to learn to count / I don't wanna have the biggest amount
    I don't wanna grow up

  7. #7
    Scusa ho fatto così
    <%
    Function FineMese(Data)
    FineMese = DateSerial(Year(Data),Month(Data)+1,1)
    FineMese = FineMese - 1
    End Function
    %>
    <% DataFattura = ordini("data_fattura") %>
    <% Pagamento = DateSerial(Year(data_fattura),Month(data_fattura)+ 2,1) -1 %>


    Allora se la data variabile è 01/07/04( data_fattura) il risultato è che la scadenza risulta 31/01/1900, poi esiste anche la seconda variabile che è la scadenza che è ordini("scadenza") ( 30gg, 60gg,90gg,120gg).

    Quando invece ho usato:

    <%
    Function FineMese(Data)
    FineMese = DateSerial(Year(Data),Month(Data)+1,1)
    FineMese = FineMese - 1
    End Function
    %>
    <% DataFattura = ordini("data_fattura") %>
    <% Pagamento = FineMese(DateAdd("d",DataFattura,ordini("scadenza" )))%>

    Va bene tranne che la scadenza risulta sempre il mese prima e non al successivo

    esempio data_fattura= 01/07/2004 e scadenza = 30gg

    la scadenza della fattura risulta 31/07/2004 e non 31/08/2004

    grazie per la pazienza

    Maurizio

  8. #8
    Risolto forse banalmente,

    ho dato come valore alla scadenza 30 gg in più e così mi calcola sempre la data esatta.

    Grazie

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.