Seriale Annuale
Moderatore: Moderatori
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
Seriale Annuale
Ciao a tutti !
Questa funzione personalizzata, utilizzabile anche come calcolo, ma solo dagli utilizzatori di FM8 ( o FM8 Advanced), risolve il problema di avere un numero seriale che ricomincia da 1 all'inizio di un nuovo anno.
Inseritela in un campo testo con opzione di Auto-Inserimento in base a calcolo, togliete la spunta a "non valutare se i campi di riferimento sono vuoti" e togliete la spunta anche a "non sostituire il valore, se presente".
Questa funzione personalizzata, utilizzabile anche come calcolo, ma solo dagli utilizzatori di FM8 ( o FM8 Advanced), risolve il problema di avere un numero seriale che ricomincia da 1 all'inizio di un nuovo anno.
Codice: Seleziona tutto
/*
AnnuallySerial custom function
Author: Daniele Raybaudi
Format: AnnuallySerial ( AEfield ; digit )
Result: text
parameters:
AEfield: text - the text field wich will hold the serial number; it must be setted as auto-enter, always evaluate
digit: number - the number of digit (#) that must increment by one and restart from one every new year
This custom function can be used for:
1) Autoenter a serial number that increments annually
2) the format of the serial number is essentially: YYYY##
3) the serial number may have how many digits (#) you choosed
The Auto-Enter field must be setted to always evaluate;
the custom function isn't recursive, so you can use it as a simple calc;
the custom function will work only with FMP8 and above.
12/27/2005
*/
Let([
year = Year ( Get ( CurrentDate ) );
lastId =GetNthRecord (AEfield; Get ( TotalRecordCount ) - 1);
lastYear = Left ( lastId; 4 )
];
year
&
Case(
year ≠ lastYear or Right ( lastId ; digit ) = 10^digit -1; Right ( 10^digit ; digit-1 ) & "1";
SerialIncrement ( Right ( lastId ; digit ) ; 1 )
)
)
Raybaudi FMP 12 Adv. Windows XP SP3
Re: Seriale Annuale
Ciao, se ho capito bene dovvrei creare un campo "AEfield" con incremneto seriale, un campo "digit" che mi indica di quante cifre è formato il mio risultato e un campo testo o calcolo con la funzione descritta da te per ottenere un risulato. es:200601, ma quando faccio nuovo record l'incremnto sul risultao non avviene. Grazie
-
- Messaggi: 3616
- Iscritto il: sabato 7 febbraio 2004, 1:00
- Località: Roma
- Contatta:
No
Devi creare un solo campo testo, per esempio ID, e mettere nelle opzioni di inserimento automatico di risultato calcolato il calcolo suddetto.
Per quanto riguarda "digit", quello è un numero che puoi scegliere ed inserirlo direttamente nel calcolo, senza creare un campo apposito.
Devi creare un solo campo testo, per esempio ID, e mettere nelle opzioni di inserimento automatico di risultato calcolato il calcolo suddetto.
Per quanto riguarda "digit", quello è un numero che puoi scegliere ed inserirlo direttamente nel calcolo, senza creare un campo apposito.
Raybaudi FMP 12 Adv. Windows XP SP3
-
- Messaggi: 196
- Iscritto il: domenica 12 novembre 2006, 1:00
- Località: Caserta
ho provato ad usare la funzione come dici tu ma dopo averla digitata tutta mi dice che non trova il campo aefield. se lo creo nel formato testo come dici nelle istruzioni in inglese mi funziona ma non aggiorna il valore. "rimane sempre 20070001"raybaudi ha scritto:No
Devi creare un solo campo testo, per esempio ID, e mettere nelle opzioni di inserimento automatico di risultato calcolato il calcolo suddetto.
Per quanto riguarda "digit", quello è un numero che puoi scegliere ed inserirlo direttamente nel calcolo, senza creare un campo apposito.
FILEMAKER 12 - win7
-
- Messaggi: 549
- Iscritto il: giovedì 13 gennaio 2005, 1:00
buonagionata a tutti, questa funzione finalmente sono riuscito a farla funzionare, almeno credo, ma per le mie esigenze non va bene.
ho l'esigenza di avere una numerazione differente in base un campo es: tipo di fatturazione.
quindi tipo di ft a es n:200801.02.03
ft b es 200801b..02b..03
ecc.
spero di risolvere con questa funzione.
ciao a tutti
ho l'esigenza di avere una numerazione differente in base un campo es: tipo di fatturazione.
quindi tipo di ft a es n:200801.02.03
ft b es 200801b..02b..03
ecc.
spero di risolvere con questa funzione.
ciao a tutti
FM 13 Adv (contentissimo), FINALMENTE imac impressionantemente spaventosamente SPLENDIDOOOOO.
-
- Messaggi: 549
- Iscritto il: giovedì 13 gennaio 2005, 1:00
- PIG-NAH
- Messaggi: 2564
- Iscritto il: martedì 7 agosto 2007, 2:00
- Località: BIG BANG
Via script senza particolari problemi.raysoyd ha scritto:certo ma se volessi utilizzare la stessa tabella?
e se nella stessa tabella oltre alla fattura dovessi fare delle note di credito con numerazione a se?
Avrai tre pulsanti :
Nuova fattura / Nuova fattura B / Nota di credito /
Secondo me è la soluzione + semplice ( è quella che adotterei ).
Per le note di credito io uso il solito numeratore delle fatture dato che è consentito per legge.
Sarò banale ma cerco sempre di complicarmi la vita il meno possibile.
8)
FM8 ADV XP SP3
-
- Messaggi: 549
- Iscritto il: giovedì 13 gennaio 2005, 1:00
-
- Messaggi: 549
- Iscritto il: giovedì 13 gennaio 2005, 1:00
finalmente ci sono riuscito a fare funzionare questa funzione, ma vorrei che mi funzionasse in modo giornaliero, quindi ogni giorno inizia di nuovo e vorrei togliere anno
solo il numero 0001, 0002,
no 20080001, 20080002
sono forse imbranato ma è da tanto che provo e come tocco qualcosa non funziona più niente.
ciao
solo il numero 0001, 0002,
no 20080001, 20080002
sono forse imbranato ma è da tanto che provo e come tocco qualcosa non funziona più niente.
ciao
FM 13 Adv (contentissimo), FINALMENTE imac impressionantemente spaventosamente SPLENDIDOOOOO.