7 Replies Latest reply on Apr 19, 2017 6:44 AM by SteveMartino

    Generazione di Record con calcolo

    rezan

      Salve,

      chi mi può dare una mano a creare degli script per questa funzione per uno scadenziario?

      ho a disposizione i seguenti campi:

      Data Corrente - Data Fattura - Data Scadenza - Importo - Numero Rate

       

      la funzione che dovtrei fare:

      creando un record e impostando il numero di rate, vorrei che tramite un pulsante, si generassero tanti record quanti sono indicati nel campo "Numero Rate" e che automaticamente mi venisse impostata la Data Scadenza progressiva di 30 gg fine mese (o altro).

       

      esempio

      record originale:

      Data Fattura     Data Scadenza     Importo     Numero Rate

      10/04/2017                                   1000,00          5

       

      generazione automatica:

      10/04/2017        31/05/2017          200,00 

      10/04/2017        30/06/2017          200,00

      10/04/2017        31/07/2017          200,00

      10/04/2017        31/08/2017          200,00

      10/04/2017        30/09/2017          200,00

       

      Molte grazie per le eventuali risposte.

      Renato

        • 1. Re: Generazione di Record con calcolo
          SteveMartino

          (Via Google Translate) Puoi pubblicare un file di esempio di come si genera i dati?

          Anche io non capisco dove il calcolo di 30 giorni sarebbe generato?

          • 2. Re: Generazione di Record con calcolo
            rezan

            Non sono riuscito a farlo, è appunto quello che stavo cercando di fare, solo che dagli aiuti di filemaker riesco a leggere solo cose indecifrabili.

            Non ho mai usato google Translate e non so nemmeno dove trovarlo comunque cerco di spiegarmi

             

            il file si chiama: scadenzario e contiene i seguenti campi:

            data fattura

            - nome fornitore

            - importo

            - forma di pagamento dffm

            - forma di pagamento 30gg (casella di verifica che se selezionata da come risultato 1)

            - forma di pagamento 60gg (casella di verifica che se selezionata da come risultato 1)

            - forma di pagamento 90gg (casella di verifica che se selezionata da come risultato 1)

            - forma di pagamento 120gg (casella di verifica che se selezionata da come risultato 1)

            - data scadenza (calcolo) Per questto calcolo purtroppo non esiste una funzione "ultimo del mese" bisogna dirgli di andare al primo del mese successivo e togliere un giorno. Il calcolo in questo campo è il seguente:

             

            If ( forma di pagamento dffm = "1";

            Dichiara ( [ Mese = Mese ( data fattura ) +1 ;

                    Giorno =  0 ;

                    Anno = Anno ( data fattura ) ] ;

                    Data ( Mese  ; Giorno ; Anno ) )  (note: se la data fattura è 01/01/2017 il risultato sarà 31/01/2017)

            ;

            If ( forma di pagamento 30 = "1";

            Dichiara ( [ Mese = Mese ( data fattura ) +2 ;

                    Giorno =  0 ;

                    Anno = Anno ( data fattura ) ] ;

                    Data ( Mese  ; Giorno ; Anno ) ) (note: analogamente, se la data fattura è 01/01/2017 il risultato sarà 28/02/2017)

            ;

            If ( forma di pagamento 60 = "1";

            Dichiara ( [ Mese = Mese ( data fattura ) +3 ;

                    Giorno =  0 ;

                    Anno = Anno ( data fattura ) ] ;

                    Data ( Mese  ; Giorno ; Anno ) ) (note: qui avremo 31/03/2017)

            ;

            If ( forma di pagamento 90 = "1";

            Dichiara ( [ Mese = Mese ( data fattura ) +4 ;

                    Giorno =  0 ;

                    Anno = Anno ( data fattura ) ] ;

                    Data ( Mese  ; Giorno ; Anno ) ) (note: qui avremo 30/04/2017)

            ;

            If ( forma di pagamento 120 = "1";

            Dichiara ( [ Mese = Mese ( data fattura ) +5 ;

                    Giorno =  0 ;

                    Anno = Anno ( data fattura ) ] ;

                    Data ( Mese  ; Giorno ; Anno ) ) ) ) ) ) ) (note: qui avremo 31/05/2017)

             

            tutto sto casino è perchè non ho capito come usare delle variabili che probabilmente risolverebbero la cosa con meno spreco di energie.

             

            Detto questo, ho creato uno script che ho chiamato: genera rate

            lo script:

            if [scadenzario: pagamento dffm = "1"

                 Duplica il record/richiesta

                 inserisci testo [seleziona; scadenzario:: forma di pagamento 30gg = "1"]

                 Cancella [Seleziona; Scadenzario::forma di pagamento dffm]

            End if

             

            in questo modo, lanciando lo script, si crea un duplicato del record, inserendo forma di pagamento 30gg, cancellando forma di pagamento dffm. La nuova data di scadenza calcolata verrà inserita automaticamente. Non ho ancora inserito la suddivisione dell'importo, ma a quello ci penserò dopo.

             

            Se nello script genera rate ci metto dentro anche tutti gli if per 30gg - 60gg - 90gg e 120gg, partendo dal primo reord dove ho inserito dffm, lui genera altri 4 rcord con le date di scadenza corrette. Il fatto è che ovviamente le genera fino alla fine dello script, mentre magari vorrei che generasse solo 30gg e 60gg

             

            Spero di non avervi incasinato la vita. Sono un autodidatta, vi chiedo scusa in anticipo.

            • 3. Re: Generazione di Record con calcolo
              SteveMartino

              Il mio italiano non è molto buono- un po 'di parlare soltanto.
              Vedere se questo è sulla strada giusta.

              edit:  updated file

              • 4. Re: Generazione di Record con calcolo
                SteveMartino

                Corrected sample file:

                1 of 1 people found this helpful
                • 5. Re: Generazione di Record con calcolo
                  rezan

                  Yes, is correct. At this time, if I chose to pay the entire amount in 4 different date as: 30-60-90 and 120, I should like to generate 4 records with each due date, in order to advise the admins when is time to bill it, or I don't know if there is other better way.

                   

                  Thanks so much

                  • 6. Re: Generazione di Record con calcolo
                    rezan

                    Oh, sorry I saw now tha you already generated 5 records, but I've done automatically?

                    • 7. Re: Generazione di Record con calcolo
                      SteveMartino

                      I think there may be some translation confusion.

                      It seems to me you have an invoicing type database.  If so, you should look at the Invoice Starter Solution for tips on how to structure your database.

                      A typical invoicing solution would have a structure like this:

                      Customers-----<Invoices-------<Line Items>---------Products

                      I provided a simple solution to your problem for calculating due dates.  I'm not sure why you would need to generate records for billing.  You should generate a transaction record for each transaction.  Then you would print and send an invoice, or statements.  You could find these by using a script that would generate a find, based on your criteria, then print or email statements.

                      Here's an updated file showing a simple find with a script