Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

generazione automatica scadenza fattura

375 views
Skip to first unread message

salvat.82

unread,
Dec 28, 2005, 3:15:02 PM12/28/05
to
ho creato un modello di fattura, ho bisogno di sapere come fare per generare
in automatico le scadenze ad esempio:

data fattura ( c5) 28-12-2005
condizione pagamento 30 gg data fattura
scadenza?

grazie

Ignazio

unread,
Dec 28, 2005, 3:40:10 PM12/28/05
to
"salvat.82" <salv...@discussions.microsoft.com> ha scritto nel messaggio
news:0E6975E7-A746-476E...@microsoft.com...

In questo caso, a che data corrisponderebbe la scadenza?
31-12-2005?
31-01-2006?
27-01-2006?

--
Ciao
Ignazio


salvat.82

unread,
Dec 28, 2005, 4:02:03 PM12/28/05
to

"Ignazio" ha scritto:

> 28-01-2006
>

Ignazio

unread,
Dec 28, 2005, 4:17:10 PM12/28/05
to
"salvat.82" <salv...@discussions.microsoft.com> ha scritto nel messaggio
news:7A1F00B3-AF77-4622...@microsoft.com...

> > > data fattura ( c5) 28-12-2005
> > > condizione pagamento 30 gg data fattura
> > > scadenza?

> > In questo caso, a che data corrisponderebbe la scadenza?
> > 31-12-2005?
> > 31-01-2006?
> > 27-01-2006?

> > 28-01-2006

Prima di postare la formula, un'altra curiosità ...
Nel caso che la fattura viene emessa il 31-01-2006, quale dovrebbe essere la
scadenza pagamento a 30 gg?

--
Ciao
Ignazio


salvat.82

unread,
Dec 28, 2005, 4:56:02 PM12/28/05
to

"Ignazio" ha scritto:

>28-02-2006
>

Ignazio

unread,
Dec 28, 2005, 5:13:13 PM12/28/05
to
"salvat.82" <salv...@discussions.microsoft.com> ha scritto nel messaggio
news:46ECD40E-2C49-4B33...@microsoft.com...

> > > > > data fattura ( c5) 28-12-2005
> > > > > condizione pagamento 30 gg data fattura
> > > > > scadenza?

> > > > In questo caso, a che data corrisponderebbe la scadenza?

> > > > 28-01-2006

> > Nel caso che la fattura viene emessa il 31-01-2006, quale dovrebbe
essere la
> > scadenza pagamento a 30 gg?

> >28-02-2006

Prova ad usare questa formula:
=DATA(ANNO(C5);MESE(C5)+1;MIN(GIORNO(C5);GIORNO(DATA(ANNO(C5);MESE(C5)+2;0))
))
Fa sapere se hai risolto.

--
Ciao
Ignazio


salvatore coviello

unread,
Dec 29, 2005, 3:22:02 AM12/29/05
to

"Ignazio" ha scritto:

> e se invece la scadenza della fattura dovrebbe essere a 60 fine mese?
>

Ignazio

unread,
Dec 29, 2005, 5:02:06 AM12/29/05
to
"salvatore coviello" <salvator...@discussions.microsoft.com> ha
scritto nel messaggio
news:9F1DD4D1-F2F7-4DBE...@microsoft.com...

> > e se invece la scadenza della fattura dovrebbe essere a 60 fine mese?

Potresti spiegare meglio (magari con alcuni esempi) cosa intendi per
scadenza a 60 gg fine mese?

--
Ciao
Ignazio


salvatore coviello

unread,
Dec 29, 2005, 5:33:03 AM12/29/05
to

"Ignazio" ha scritto:

> data fattura 15-10-2005

scadenza fattura 31-12-2005
>

cucchiaino

unread,
Dec 29, 2005, 5:45:31 AM12/29/05
to
salvatore coviello wrote:

> > data fattura 15-10-2005
>
> scadenza fattura 31-12-2005

Prova con questa:

=DATA(ANNO(C5);MESE(C5)+3;0)

sostituisci eventualmente il 3 col
numero di mesi aumentato di 1

Un personale saluto ad Ignazio.

()---cucchiaino

bruno.b

unread,
Dec 30, 2005, 6:43:52 AM12/30/05
to
salvat.82 wrote:
> ho creato un modello di fattura, ho bisogno di sapere come fare per generare
> in automatico le scadenze ad esempio:
.....
> grazie

Io uso questa funzione che presume un codice per la modalità di
pagamento come sotto riportata.
(La routine è stata copiata da un vecchio programma di contabilità e
non è mai stata ottimizzata. Lascio a chi ha un po' di tempo
l'onere-onore di farlo.

Grazie

Bruno

---------------------------------------

Public Function FDataScadenza(CodModPag$, DataFattura$) As String

Dim DF$, MOP$, SCAD$, SCADS$, DLAG
'si entra con: CodModPag$ vedi codifica
'
' DataFattura$ formattata come 'ggmmaa'
'rende: FDataScadenza formattata come 'gg/mm/aa'


Select Case Len(DataFattura$)
Case 6, 7
GoTo Label_len6
Case 10
GoTo Label_len10
Case Else
MsgBox "Lunghezza data non valida. " + DataFattura$ + " . Deve
essere ggmmaa oppure gg/mm/aaaa ", 64, "Casella delle attività"

Exit Function
End Select

Label_len10:
DF$ = Mid$(DataFattura$, 1, 2) + "" + Mid$(DataFattura$, 4, 2) + ""
+ Mid$(DataFattura$, 9)
GoTo Label_exit
Label_len6:
DF$ = Mid$(DataFattura$, 1, 2) + "" + Mid$(DataFattura$, 3, 2) + ""
+ Mid$(DataFattura$, 5)
Label_exit:
MOP$ = CodModPag$

3250 'DATSCAD
3260 If MOP$ = "+++" Then SCAD$ = "": SCADS$ = "": GoTo Label_S1
3270 If MOP$ = "000" Then SCAD$ = " GIA' PAGATO": SCADS$ = " GIA'
PAGATO": GoTo Label_S1
3271 If MOP$ = "50/" Then SCAD$ = " RICEVIMENTO FATT. F.M.": SCADS$ = "
RICEVIMENTO FATT. F.M.": GoTo Label_S1
3280 If Mid$(MOP$, 2, 1) = "0" Then SCAD$ = " AL RICEVIMENTO": SCADS$ =
" AL RICEVIMENTO": GoTo Label_S1
3290 'IF MID$(MOP$,3,1)="*" THEN SCAD$=" A VISTA":SCADS$=" A
VISTA":RETURN
3300 DLAG = 0: If Mid$(MOP$, 3, 1) = "/" Or Mid$(MOP$, 3, 1) = "#" Then
DLAG = 1
3310 D0$ = DF$: DG = Val(Mid$(MOP$, 2, 1)) / 3: If DG = 2 / 3 Then DG =
4
'3320 DF = Val(Mid$(D0$, 1, 2)) + Val(Mid$(D0$, 4, 2)) / 100 +
(Val(Mid$(D0$, 7, 4))) / 1000000!
3320 DF = Val(Mid$(D0$, 1, 2)) + Val(Mid$(D0$, 3, 2)) / 100 + (2000 +
Val(Mid$(D0$, 5, 2))) / 1000000!
3330 DT# = DF: GoSub 3440: GF = G#: MF = M#: AF = A#: GS = GF: MS = MF
+ DG: ASS = AF:
If MS > 12 Then ASS = AF + Fix(MS / 12): MS = MS - 12 * (ASS - AF)
3340 G# = GS: M# = MS: A# = ASS: GoSub 3460:
3342 'IF SS = 0 AND DLAG = 0 THEN 3370
3344 GS = 1: MS = MS + 1
3345 If Mid$(MOP$, 3, 1) = "#" Then GS = GS + 10
3347 If Mid$(MOP$, 3, 1) = "/" And (MS = 9 Or MS = 13) Then GS = GS +
10
3350 If MS > 12 Then ASS = ASS + 1: MS = 1
3360 G# = GS: M# = MS: A# = ASS: GoSub 3460: DIS# = DI# + 478164! - 1:
GoSub 3530
3370 GG$ = Str$(GS): MM$ = Str$(MS): AA$ = Str$(ASS) 'c'era A$ =
STR$(ASS - 1900)
3375 GG$ = Mid$(GG$, 2, Len(GG$) - 1): MM$ = Mid$(MM$, 2, Len(MM$) -
1): AA$ = Mid$(AA$, 2, Len(AA$) - 1)
3380 If Len(GG$) < 2 Then GG$ = "0" + GG$
3390 If Len(MM$) < 2 Then MM$ = "0" + MM$
3400 If Len(AA$) < 2 Then AA$ = "0" + AA$
3410 SCAD$ = GG$ + MM$ + AA$
3420 SCADS$ = Mid$(SCAD$, 1, 2) + "/" + Mid$(SCAD$, 3, 2) + "/" +
Mid$(SCAD$, 5)

Label_S1:
FDataScadenza = SCADS$
'''MsgBox "DATA FATT.: " + DataFattura$ + " - SCADENZA: " + SCAD$ +
" - " + SCADS$, vbInformation, "Controllo" 'per testare

3426 Exit Function
'
3440: G# = Val(Mid$(D0$, 1, 2)): M# = Val(Mid$(D0$, 3, 2)):
3442 A# = Val("20" + Mid$(D0$, 5, 2)): 'originale
3443 A99# = Val(Mid$(D0$, 5, 2))
3444 If A99# < 50 Then A# = Val("20" + Mid$(D0$, 5, 2))
3448 s# = A# + M# / 100 + G# / 10000: '20031025 anno+mese+giorno
Return
'entro con 25 - 2 - 2005 gg mm aaaa della data di scadenza
3460: SS = 0: If M# <= 2 Then M# = M# + 12: A# = A# - 1
3470 M# = M# + 1: DI# = Int(365.25 * A#) - Int(A# / 100) + Int(A# /
400) + Int(30.6001 * M#) + G# - 478164!
3480 If MS = 2 And (ASS Mod 4) = 0 And GS > 29 Then SS = 1
3490 If MS = 2 And ASS Mod 4 <> 0 And GS > 28 Then SS = 1
3500 If (MS = 4 Or MS = 6 Or MS = 9 Or MS = 11) And GS > 30 Then SS = 1
3510 Return
'
3530: ASS = Int((DIS# - 121.5) / 365.2425)
3540 MS = Int((DIS# - Int(ASS * 365.25) + Int(ASS / 100) - Int(ASS /
400)) / 30.6001)
3550 GS = DIS# - Int(ASS * 365.25) + Int(ASS / 100) - Int(ASS / 400) -
Int(30.6001 * MS)
3560 If MS / 3 <= 1 Then ASS = ASS - 1: GoTo 3540
3570 If MS >= 14 Then ASS = ASS + 1: MS = MS - 12
3580 MS = MS - 1:
Return


End Function

CodModPag$ = Range("Servizi!$I$3")

in "Servizi!$I$3" c'è la formula:
=CERCA.VERT(Bolla!$B$19;CLIENTI!$A$2:$R$600;7;FALSO)
che rende il codice-pagamento del cliente (codificato come nella
tabella sotto)
in funzione del codice-cliente (CLIENTI!$A$2:$R$600 è l'elenco dei
dati dei clienti)

CodiceTipodiPagamento

--- NON CODIFICATO
+++
000 Gia' Pagato
10* Rimessa Diretta Ricevimento Fattura
10/ Rimessa Diretta Fine Mese
12/ Rimessa Diretta 120 GG D.F. Fine Mese
13/ Rimessa Diretta 30 GG D.F. Fine Mese
16/ Rimessa Diretta 60 GG D.F. Fine Mese
19/ Rimessa Diretta 90 GG D.F. Fine Mese
22/ Ricevuta Bancaria 120 GG D.F. Fine Mese
23# Ricevuta Bancaria 30 GG D.F. Fine Mese+ 10 GG
23/ Ricevuta Bancaria 30 GG D.F. Fine Mese
26/ Ricevuta Bancaria 60 GG D.F. Fine Mese
29/ Ricevuta Bancaria 90 GG D.F. Fine Mese
50* Bonifico Bancario Ricev. Fattura
50/ Bonifico Bancario Ricevim. Fattura Fine Mese
500 Bonifico Bancario
53/ Bonifico Bancario 30 GG D.F. Fine Mese
56/ Bonifico Bancario 60 GG D.F. Fine Mese
59# Bonifico Bancario 90 GG D.F. Fine Mese+ 10 GG
59/ Bonifico Bancario 90 GG D.F. Fine Mese
600 Contrassegno

Message has been deleted
0 new messages