Ricerca di informazioni nelle tabelle di riferimento

I campi di input su un modulo di dettaglio che modifica un record del database sono chiamati SET.attr_name. Quando il record è salvato, i dati dai campi SET vengono copiati direttamente al record sottostante. Pertanto, un campo di input per un attributo che fa riferimento a un'altra tabella deve contenere il valore REL_ATTR (chiave esterna) di quella tabella. Di solito si tratta dell'id, del persistent_id o del codice del record di riferimento.
casm173
I campi di input su un modulo di dettaglio che modifica un record del database sono chiamati SET.attr_name. Quando il record è salvato, i dati dai campi SET vengono copiati direttamente al record sottostante. Pertanto, un campo di input per un attributo che fa riferimento a un'altra tabella deve contenere il valore REL_ATTR (chiave esterna) di quella tabella. Di solito si tratta dell'id, del persistent_id o del codice del record di riferimento.
Gli utenti non forniscono direttamente i valori REL_ATTR e i campi SET per gli attributi che fanno riferimento a un'altra tabella sono nascosti. Il campo visibile sul modulo è chiamato KEY.
nome_attr
e contiene il nome comune del record a cui fa riferimento. Un nome comune deve essere convertito in un valore REL_ATTR per aggiornare il record. Ciò può essere effettuato in questi casi:
  • Per i campi con un elenco a discesa, il valore SET è fornito direttamente dall'elenco a discesa.
  • Per i campi con una ricerca, quando un utente fa clic sulla ricerca e seleziona una voce, il valore SET viene copiato dalla voce selezionata.
  • Per i campi con una ricerca in cui l'utente fornisce una chiave parziale che identifica in modo univoco il record e quindi fa clic sull'etichetta, il browser richiede il valore SET al server e copia sia il valore che l'intera chiave nel modulo.
  • Se si specifica la proprietà Riempimento automatico del file di configurazione o si usa quella predefinita e l'utente fornisce una chiave parziale che identifica in modo univoco il record e fa clic su Notebook per uscire dal campo, il browser richiede il valore SET al server e copia sia il valore che l'intera chiave nel modulo.
Altrimenti, quando il record viene salvato con una valore KEY e nessun valore SET, il motore Web risolve il valore durante il salvataggio. Se non è possibile risolvere nessun valore KEY in un valore univoco SET, il salvataggio non avviene e viene visualizzato di nuovo il modulo di modifica.
Se un modulo viene rivisualizzato a seguito di un mancato salvataggio dovuto all'impossibilità di risolvere una ricerca, le variabili seguenti sono disponibili nell'HTMPL per ogni campo attributo cercato:
  • LIST_
    attr
    Contiene tutte le corrispondenze trovate. Di solito è specificata a destra del campo SOURCE= in un'istruzione <PDM_SELECT>.
  • FLAGS_
    attr
    È impostata su uno dei valori seguenti:
    • 0
      Visualizza il campo di ricerca iniziale.
    • 1
      È stato trovato un numero di corrispondenze maggiore di una e minore del valore di MaxSelectList (generalmente, in questo caso viene visualizzato l'elenco <PDM_SELECT>).
    • 2
      Non è stata trovata nessuna corrispondenza.
    • 3
      Sono state trovate troppe corrispondenze (più di MaxSelectList).
  • SEARCH_STATUS_
    attr
    stringa
    Contiene la stringa di testo TooManyMatches dal file web.cfg.
Specificazione di ricerche sui contatti
Quando si specifica un contatto (nome, cognome e secondo nome) in un modulo modificabile, è possibile delimitare il nome del contatto con virgole (,) o spazi ma non con entrambi. È preferibile usare le virgole in quanto spesso i nomi contengono degli spazi e ciò potrebbe causare problemi.
Poiché non è possibile usare virgole e spazi in combinazione, l'uso delle virgole deve essere applicato a tutte le parti del nome; in assenza di virgole, i nomi vengono delimitati da spazi.
Dato che le informazioni alla fine vengono passate a una query SQL, il simbolo di percentuale (%) funge da carattere jolly. Ad esempio, 'P%, J%' può restituire 'Public, John', 'Penxa, Jane' e altri nomi i cui cognomi iniziano per P e i nomi per J. (La distinzione tra maiuscole e minuscole dipende dal database sottostante). Analogamente, 'P% J%' restituiranno gli stessi nomi.
Tuttavia, 'P%, Jon D' non restituisce tutti i contatti con nome Jon, iniziale del secondo nome D e cognome che inizia per P in quanto la presenza di una virgola fa sì che questa sia considerata l'unico delimitatore. Pertanto verrebbero cercati i cognomi 'P%' e il nome 'Jon D'. Per evitare questo errore, specificare 'P%, Jon, D'.