5 Replies Latest reply on Nov 24, 2014 10:32 AM by erolst

    impedire doppi inserimenti

    rezan

      i problemi più grossi non sono tanto quelli di far fare al programma quello che voglio, ma impedire tutti gli errori che un utente poco attento potrebbe commettere.

      nel file allegato si vede un mastrino per l'inserimento di movimenti contabili (tabella contabilità, formato inserimento). C'è la data dell'operazione, un ID operazione automatico e a fianco un portale dove se nel campo sovrastante viene inserita la voce "fornitori", compare nel portale, la lista di tutti i fornitori in ordine alfabetico. Cliccando sul fornitore interessato accade la seguente operazione:

       

      copia ID fornitore

      vai alla tabella "fatture"

      crea nuovo record

      (ID operazione in "fatture" sarà uguale a ID operazione in "contabilità")

      incolla ID fornitore (così andrà a prendersi l'anagrafica nella tabella correlata "fornitori")

      a questo punto inserisco manualmente numero fattura, data, data scadenza, importo

       

      cliccando Back

      mi riporta alla tabella contabilità.

       

      e fin qui tutto ok.

      quello che vorrei fare adesso è:

       

      impedire che venga inserita erroneamente una seconda operazione con lo stesso ID.

       

      ho provato a comporre la formula come segue

      if ID operazione contabilità = ID operazione fatture

      esci dallo script

      else

      copia ID fornitore

      vai alla tabella "fatture"

      crea nuovo record

      incolla ID fornitore

      questo funziona soltanto se nel portale, clicco il fornitore già inserito, ma se clicco su un altro nominativo, mi crea una nuova fattura con lo stesso ID del precedente.

      qualcuno ha una soluzione o suggerimenti da provare?

        • 1. Re: impedire doppi inserimenti
          erolst

          1. Please ask your question in the Italian language forum, or ask in English.

           

          Having said that:

           

          2. You shouldn't use Copy & Paste; use Set Variable & Set Field

           

          3. To implement your check, use something like:

           

          Set Variable [ $supplierID ;  SupplierPortal::supplierID ]

          If [ not isempty ( Filtervalues ( $supplierID ; List ( Invoices::supplierID ) ) ) // means there already is a related record with that supplierID ]

            Exit Script

          End If

          # else go and create your new record, using $supplierID with Set Field[]

          • 2. Re: impedire doppi inserimenti
            rezan

            hi erolst,

            unfortunately nobody answer me in italian. Than I should continue discussion to you. I try what you wrote, but I find the same problem. Is a little difficult to me, beause I don't understand to well how running the variables. I'm a self taught , sorry. If I send you the file, think you possible to adjuste it for me?

            bye

            Renato

            • 3. Re: impedire doppi inserimenti
              erolst

              rezan wrote:

              sorry. If I send you the file, think you possible to adjuste it for me?

               

              Yes, but don't send it to me; post it here, please.

              • 4. Re: impedire doppi inserimenti
                rezan

                thanks. Here the file attached

                • 5. Re: impedire doppi inserimenti
                  erolst

                  Sorry, I didn't find the spot where you say you use the script, but please note the following points:

                   

                  • when creating a variable, you cannot use a space in the name; you should also avoid special characters like "|" in names (tables, fields and variables)

                   

                  • in the sample code, I suggested using the FilterValues() function. What you used in your script was Filter(); that will not work.

                   

                  • again, instead of Copy & Paste, use the combination of

                  Set Variable [ $variableName ; OneTable::sourceField ] / Set Field [ OtherTable::targetField ; $variableName ]