Nota: Riteniamo importante fornire il contenuto della Guida più recente non appena possibile, nella lingua dell'utente. Questa pagina è stata tradotta automaticamente e potrebbe contenere errori di grammatica o imprecisioni. L'intento è quello di rendere fruibile il contenuto. Nella parte inferiore della pagina è possibile indicare se le informazioni sono risultate utili. Questo è l'articolo in lingua inglese per riferimento.
Le formule consentono creare regole più avanzate rispetto alle regole di base predefinite. Ad esempio, le formule vengono usate per il calcolo della data corrente o futura o persino per il concatenamento di testo.
In questo articolo
Panoramica
Una formula è un'espressione XPath (XML Path Language) costituita da valori, campi o gruppi, funzioni e operatori usati per calcolare e visualizzare altri valori. Si può usare una formula per creare un nuovo valore per un campo e visualizzarlo in un controllo associato al campo. È possibile usare le formule per eseguire le operazioni seguenti:
Calcolare un valore matematico da valori specificati durante la progettazione del modello oppure da valori immessi dagli utenti durante la compilazione del modello di modulo.
Eseguire una regola basata su un valore calcolato tramite una formula.
Visualizzare testo di sola lettura calcolato da altri controlli oppure visualizzare il valore di un altro controllo.
Una funzione è un'espressione che restituisce un valore in base ai risultati di un calcolo. I valori usati nelle funzioni sono denominati argomenti. È possibile usare le funzioni XPath 1.0 standard incluse in InfoPath, nonché alcune funzioni specifiche di InfoPath. Le funzioni sono costituite da tre parti:
-
Nome Il nome della funzione in genere rimanda all'azione eseguita dalla funzione.
-
Valore restituito Il risultato della funzione.
-
Argomenti I valori usati dalla funzione per eseguire il calcolo.
Per restituire un valore, una funzione può richiedere la specifica di argomenti. Se la funzione richiede la specifica di argomenti, è necessario conoscere il numero di argomenti richiesti e il tipo di dati di ogni argomento. Se viene specificato il numero errato o il tipo errato di argomenti richiesti, la funzione non verrà eseguita correttamente.
La figura seguente illustra la relazione tra formule, espressioni e funzioni.
Aggiungere un controllo con valore calcolato
Si può usare un controllo con valore calcolato per visualizzare testo di sola lettura, il valore di un altro controllo del modulo e per creare formule basate su espressioni XPath. Ad esempio, se si sta sviluppando un modello di modulo per la registrazione delle spese, è possibile aggiungere un controllo con valore calcolato per visualizzare il totale delle spese inserite.
Nota: I controlli con valore calcolato si limitano a visualizzare i dati senza archiviarli, quindi vanno usati solo se non è necessario salvarne il valore o farvi riferimento in un'altra formula.
-
Nel modello di modulo posizionare il cursore nel punto in cui si vuole inserire il controllo.
-
Nel gruppo Controlli della scheda Home fare clic sul controllo Valore calcolato.
-
Nella finestra di dialogo Inserisci valore calcolato eseguire una delle operazioni seguenti:
-
Per digitare testo o un'espressione XPath direttamente nel controllo con valore calcolato, digitare nella casella XPath.
-
Per inserire una formula, fare clic su Modifica formula e quindi immettere la formula desiderata nella casella Formula ed eseguire le operazioni seguenti in base alle esigenze:
-
Per inserire un campo o un gruppo nella formula, fare clic su Inserisci campo o gruppo, fare clic sul campo o sul gruppo nella finestra di dialogo Seleziona campo o gruppo e quindi fare clic su OK.
-
Per inserire una funzione nella formula, fare clic su Inserisci funzione, selezionare la funzione nella finestra di dialogo Inserisci funzione e quindi fare clic su OK.
Se la funzione richiede parametri, selezionare la funzione nella finestra di dialogo Inserisci funzione, fare clic su OK e quindi nella casella di testo Formula fare doppio clic dove indicato e selezionare il parametro desiderato prima di fare clic su OK.
-
Per inserire un valore o un operatore matematico nella formula, digitare il valore o il simbolo dell'operazione matematica nella casella Formula.
Gli operatori matematici includono somma (+), sottrazione (-), moltiplicazione (*) e divisione (/).
Le formule matematiche dipendono in genere dall'uso di numeri interi o decimali come argomenti Per evitare valori vuoti nella formula, fare clic su Opzioni modulo nella scheda File, selezionare Avanzate e verificare che la casella di controllo Considera valori vuoti come zero sia selezionata.
-
-
Aggiungere una formula a un controllo
Anche se è possibile servirsi di un controllo con valore calcolato per visualizzare i risultati di una formula, non si è limitati all'uso di un controllo di questo tipo. È possibile usare una formula anche per impostare il valore predefinito di altri controlli, ad esempio caselle di testo. Si può impostare il valore predefinito di un controllo in due modi. È possibile usare un valore predefinito statico, semplicemente immettendo il valore desiderato nel campo Valore della finestra di dialogo Proprietà campo o gruppo oppure usare una formula per impostare il valore predefinito di un campo in base ad altri valori nel modulo. Per impostare il valore predefinito di un campo in base a una formula, procedere come segue:
-
Selezionare il controllo a cui si vuole aggiungere la formula, quindi in Strumenti controllo, nel gruppo Proprietà della scheda Proprietà, fare clic su Valore predefinito.
-
Fare clic su Inserisci formula accanto alla casella Valore.
-
Immettere la formula desiderata nella casella Formula ed eseguire le operazioni seguenti in base alle esigenze:
-
Per inserire un campo o un gruppo nella formula, fare clic su Inserisci campo o gruppo, fare clic sul campo o sul gruppo nella finestra di dialogo Seleziona campo o gruppo e quindi fare clic su OK.
-
Per inserire una funzione nella formula, fare clic su Inserisci funzione, selezionare la funzione nella finestra di dialogo Inserisci funzione e quindi fare clic su OK.
Se la funzione richiede parametri, selezionare la funzione nella finestra di dialogo Inserisci funzione, fare clic su OK e quindi nella casella di testo Formula fare doppio clic dove indicato e selezionare il parametro desiderato prima di fare clic su OK.
-
Per inserire un valore o un operatore matematico nella formula, digitare il valore o il simbolo dell'operazione matematica nella casella Formula.
Gli operatori matematici includono somma (+), sottrazione (-), moltiplicazione (*) e divisione (/).
Suggerimento: Le formule matematiche dipendono in genere dall'uso di numeri interi o decimali come argomenti Per evitare valori vuoti nella formula, nella scheda File fare clic su Opzioni modulo e selezionare Avanzate. Verificare che la casella di controllo Considera valori vuoti come zero sia selezionata.
-
-
Per modificare la formula come formula XPath, selezionare la casella di controllo Modifica XPath (utenti esperti). In questo modo la formula verrà convertita nell'espressione XPath corrispondente.
-
Per verificare la correttezza della sintassi della formula, fare clic sul pulsante Verifica formula. Se la formula contiene errori:
Fare clic su Mostra dettagli nella finestra di dialogo Microsoft InfoPath per visualizzare gli errori presenti nella formula. Di seguito sono riportati alcuni suggerimenti per correggere gli errori:
-
Se si usa una funzione nella formula, verificare di aver specificato gli argomenti corretti per la funzione. Per alcune funzioni è necessario specificare campi o gruppi come argomenti, mentre per altre è necessario indicare valori.
-
Se necessario, eliminare e ridigitare la formula per assicurarsi che sia stata digitata correttamente.
-
Fare clic su OK.
-
Per aggiornare il valore predefinito del campo quando i valori su cui è basato cambiano, selezionare la casella di controllo Aggiorna il valore quando viene ricalcolata la formula. Se si esegue questa operazione, fare clic su OK e quindi in Strumenti controllo, nel gruppo Proprietà della scheda Proprietà fare clic su Proprietà controllo. Fare clic sulla scheda Visualizzazione e selezionare la casella di controllo Sola lettura.
Usare una formula in una regola
È possibile, quando si specificano condizioni nelle regole di convalida, formattazioneo azione , utilizzare una formula per controllare la condizione. È possibile eseguire questa operazione, selezionare utilizza una formula dal terzo elenco a discesa nella finestra di dialogo condizione quando si assegna una regola per un controllo o il modello di modulo.
Funzioni di data e ora
aggiungiGiorni
Aggiunge giorni a una data o a una data e ora.
Sintassi
aggiungiGiorni(data; giorni)
Argomento |
Descrizione |
data |
Il numero di giorni specificato nel secondo argomento viene aggiunto alla data in questo argomento. Il tipo di dati di questo argomento può essere Data (date) o Data e ora (dateTime). |
giorni |
Numero di giorni da aggiungere alla data nel primo argomento. Il tipo di dati di questo parametro deve essere Numero intero (integer). Se si usa un numero negativo in questo argomento, il valore restituito è una data precedente. |
Esempio
Si vuole che un campo all'interno del modello di modulo contenga una data successiva di 60 giorni alla data odierna. Il modello di modulo contiene un campo denominato cmpOggi, con la data di oggi come valore predefinito. Per calcolare la nuova data con questa funzione, usare la formula seguente nel campo della nuova data:
aggiungiGiorni(cmpOggi; 60)
aggiungiSecondi
Aggiunge secondi a un'ora o a una data e ora.
Sintassi
aggiungiSecondi(ora; secondi)
Argomento |
Descrizione |
ora |
Un valore di data e ora o un valore di ora che rappresenta un riferimento a un altro campo del modello di modulo oppure il risultato di una funzione data o ora, ad esempio adesso() o oggi(). Il numero di secondi specificato nel secondo argomento viene aggiunto all'ora in questo argomento. Il tipo di dati di questo argomento può essere Data (date) o Data e ora (dateTime). Con il tipo di dati Ora verrà restituito un tipo di dati Ora. Con il tipo di dati Data verrà restituito un tipo di dati Data e ora. |
secondi |
Numero di secondi da aggiungere al valore di data e ora o al valore di ora nel primo argomento. Il tipo di dati del campo in questo parametro deve essere Numero intero (integer). Se si usa un numero negativo in questo argomento, il valore restituito è una data e ora precedente o un'ora precedente. |
Esempio
Il modello di modulo contiene un campo denominato cmpOraCorrente, che usa l'ora corrente come valore predefinito, e un secondo campo che usa la funzione aggiungiSecondi in una formula per visualizzare l'orario 120 secondi dopo l'ora corrente. Per calcolare la nuova ora con questa funzione, immettere la formula seguente nel secondo campo:
aggiungiSecondi(cmpOraCorrente; 120)
adesso
Restituisce la data e l'ora di sistema attuali.
Se si vuole che venga restituita solo la data corrente, usare la funzione oggi.
Sintassi
adesso()
Questa funzione non usa argomenti.
Esempio
Per ottenere la data e l'ora di creazione di un modulo basato sul modello di modulo, usare la formula seguente in un campo:
adesso()
oggi
Restituisce la data corrente di sistema. Per i campi data di elenchi di SharePoint, usare la funzione adesso().
Se si vuole che vengano restituiti sia la data che l'ora, usare la funzione adesso.
Sintassi
oggi()
Questa funzione non usa argomenti.
Esempio
Per ottenere la data di creazione di un modulo basato sul modello di modulo, usare la formula seguente in un campo:
oggi()
Funzioni di campo
conteggio
Calcola il numero di istanze di un campo o un gruppo.
Sintassi
conteggio(campo)
Argomento |
Descrizione |
campo |
Nome del campo ripetuto o del gruppo ripetuto da contare nel modulo. |
Esempio
Si sta progettando un modello di modulo i cui moduli verranno usati dai fornitori per indicare i prodotti e le scorte. Il modello di modulo contiene un gruppo ripetuto denominato grpProdotto per i prodotti inviati dal fornitore. Ogni gruppo contiene informazioni sul prodotto e il relativo livello di scorte. Quando un fornitore aggiunge un prodotto in un modulo basato sul modello di modulo, InfoPath crea una nuova istanza del gruppo ripetuto.
Nell'origine dati del modello di modulo è presente un campo che contiene il numero di prodotti inviati dal fornitore. Per contare automaticamente il numero di prodotti inviati dal fornitore, ovvero il numero di istanze del gruppo ripetuto grpProdotto, usare la formula seguente nel campo del numero di prodotti:
conteggio(grpProdotto)
ultimo
Restituisce l'ultima occorrenza di un campo o un gruppo ripetuto.
Nota: Se si sta progettando un modello di modulo compatibile con browser, questa funzione non verrà visualizzata nell'elenco Funzioni della finestra di dialogo Inserisci funzione.
Sintassi
nome_campo[ultimo()]
Sebbene la funzione non preveda parametri obbligatori, può essere usata come predicato di un nome di campo specificato.
Esempio
Si sta progettando un modello di modulo che verrà compilato dai fornitori per indicare le scorte di prodotti. Il modello di modulo ha una connessione dati a un servizio Web dotato di un metodo che verifica che siano state compilate le informazioni sul prodotto per tutti i prodotti inviati da un fornitore. Il metodo ha bisogno dell'ultimo prodotto presente nell'elenco dei prodotti inviati dal fornitore.
Le informazioni sul prodotto sono archiviate in campi diversi di un gruppo ripetuto denominato grpProdotto. Quando un fornitore aggiunge un prodotto al modulo, InfoPath aggiunge un nuovo gruppo ripetuto denominato grpProdotto. Se il fornitore invia dati relativi a più prodotti, l'origine dati del modulo conterrà più istanze del gruppo ripetuto grpProdotto.
Per assicurarsi di inviare le informazioni corrette al servizio Web, si aggiunge un campo che conterrà informazioni sull'ultimo prodotto nel gruppo di prodotti del fornitore. Per configurare il campo in modo da recuperare automaticamente l'ultimo prodotto, usare la formula seguente come valore predefinito per il campo dell'ultimo prodotto:
grpProdotto[ultimo()]
nome-locale
Restituisce il nome locale di un campo o un gruppo.
Note:
-
Se l'argomento è un campo ripetuto o un gruppo ripetuto, la funzione restituisce il valore del primo campo o gruppo ripetuto.
-
Quando un utente compila un modulo per Web browser, una formula che usa questa funzione invia i dati del modulo al server per ottenere il valore restituito per la funzione.
Sintassi
nome-locale(campo)
Argomento |
Descrizione |
campo |
Nome del campo di cui si vuole ottenere l'attributo del nome locale. |
Esempio
Si sta progettando un modello di modulo da usare per la richiesta di licenze. Il modello di modulo ha una connessione dati a un metodo in un servizio Web. Questo metodo richiede il valore dell'attributo nome-locale del campo relativo al numero di licenza dell'appaltatore. Il nome del campo del numero di licenza è cmpNumeroLicenza.
È presente un campo che conterrà il valore dell'attributo del nome locale. Per recuperare automaticamente il valore dell'attributo del nome locale del campo relativo al numero di licenza, usare la formula seguente come valore predefinito per il campo che conterrà il valore dell'attributo del nome locale:
nome-locale(cmpNumeroLicenza)
nome
Restituisce il nome e il prefisso dello spazio dei nomi di un campo o un gruppo.
Note:
-
Se l'argomento è un campo ripetuto o un gruppo ripetuto, la funzione restituisce il valore e il prefisso del primo campo o gruppo ripetuto del modulo.
-
Quando un utente compila un modulo in un modello di modulo abilitato per i browser, una formula che usa questa funzione invia i dati del modulo al server per ottenere il valore restituito per la funzione.
Sintassi
nome(campo)
Argomento |
Descrizione |
campo |
Nome del campo di cui si vogliono ottenere il nome e il prefisso dello spazio dei nomi. |
Esempio
Si sta progettando un modello di modulo da usare per la richiesta di licenze. Il modello di modulo ha una connessione dati a un metodo in un servizio Web. Questo metodo richiede il valore dell'attributo del nome del campo relativo al numero di licenza dell'appaltatore. Il nome del campo del numero di licenza è cmpNumeroLicenza.
È presente un campo che conterrà il valore dell'attributo del nome. Per recuperare automaticamente il valore dell'attributo del nome, usare la formula seguente come valore predefinito per il campo:
nome(cmpNumeroLicenza)
uri-spazionomi
Restituisce lo spazio dei nomi completo di un campo o un gruppo.
Note:
-
Se l'argomento è un set di campi o gruppi, la funzione restituisce lo spazio dei nomi del primo campo o gruppo del modulo.
-
Quando un utente compila un modulo per Web browser, una formula che usa questa funzione invia i dati del modulo al server per ottenere il valore restituito per la funzione.
Sintassi
uri-spazionomi(campo)
Argomento |
Descrizione |
campo |
Nome del campo di cui si vuole ottenere l'URI dello spazio dei nomi. |
Esempio
Si sta progettando un modello di modulo da usare per la richiesta di licenze. Il modello di modulo invia dati a un servizio Web. Per elaborare i dati da un modulo basato sul modello di modulo, il servizio Web ha bisogno dell'URI dello spazio dei nomi da uno specifico campo elemento nell'origine dati. Il campo del modello di modulo che contiene i dati relativi all'URI dello spazio dei nomi è denominato cmpCompleto.
È presente un campo che conterrà l'URI dello spazio dei nomi del campo elemento. Per recuperare automaticamente l'URI dello spazio dei nomi, usare la formula seguente come valore predefinito per il campo che conterrà l'URI dello spazio dei nomi:
uri-spazionomi(cmpCompleto)
posizione
Restituisce l'indice (o posizione) di un campo o un gruppo rispetto ad altri campi e gruppi nello stesso gruppo padre.
Nota: Questa funzione non è disponibile nei modelli di modulo per Web browser.
Sintassi
posizione()
Esempio
Si sta progettando un modello di modulo che verrà compilato dai fornitori per indicare le scorte di prodotti. Le informazioni sul prodotto vengono archiviate in campi all'interno di un gruppo ripetuto. Il gruppo ripetuto è associato a una tabella ripetuta, che consente al fornitore di aggiungere nuove informazioni sul prodotto o modificare quelle esistenti.
Nella prima colonna della tabella ripetuta, si vuole visualizzare il numero di riga in una casella di testo. Per visualizzare automaticamente il numero di riga quando un fornitore aggiunge un nuovo prodotto alla tabella ripetuta, usare la formula seguente come valore predefinito per la casella di testo:
posizione()
Matematica
Le formule che contengono funzioni matematiche implicano in genere l'uso di valori interi o decimali come argomenti. Per garantire che gli argomenti corrispondano a valori interi o decimali, anziché a valori null, fare clic su File > Opzioni modulo > Avanzate e verificare che la casella di controllo Considera valori vuoti come zero sia selezionata.
media
Calcola la media dei valori numerici in un campo che si trova in un gruppo ripetuto.
Nota: l tipo di dati del campo ripetuto deve essere numerico e il campo deve essere incluso in un gruppo.
Sintassi
media(campo)
Argomento |
Descrizione |
campo |
Nome del campo ripetuto del gruppo di cui si vuole calcolare il valore medio. |
Esempio
Si sta progettando un modello di modulo i cui moduli verranno usati dai fornitori per indicare i prodotti e le scorte. Il modello di modulo contiene un campo ripetuto denominato cmpPrezzo, incluso in un gruppo ripetuto che contiene dati relativi a ogni prodotto venduto dal fornitore. Il gruppo è associato a un controllo tabella ripetuta.
Il modello di modulo contiene un campo che conterrà il prezzo medio di tutti i prodotti venduti dal fornitore. Per calcolare il prezzo medio, usare la formula seguente nel campo relativo al prezzo medio:
media(cmpPrezzo)
booleano
Restituisce vero se esiste un campo o un gruppo. In caso contrario, restituisce falso.
Restituirà vero anche se un controllo associato al campo è stato eliminato, ma il campo è ancora presente.
Sintassi
booleano(campo)
Argomento |
Descrizione |
campo |
Campo ripetuto o gruppo ripetuto che deve essere verificato da questa funzione. |
Esempio
Si sta progettando un modello di modulo che verrà usato dai fornitori per indicare le scorte di prodotti. Le informazioni sul prodotto sono archiviate in campi diversi in un gruppo ripetuto denominato grpProdotto. Ogni gruppo ripetuto contiene campi con informazioni su ogni prodotto. Se il fornitore fornisce informazioni su sette prodotti, il modulo conterrà sette gruppi ripetuti.
Il gruppo ripetuto è associato a un controllo tabella ripetuta, che consente al fornitore di aggiungere nuove informazioni sul prodotto o modificare quelle esistenti. Il fornitore può aggiungere o eliminare righe dalla tabella ripetuta.
Si vuole visualizzare una finestra di dialogo se l'utente rimuove tutte le righe della tabella ripetuta. A questo scopo, si aggiunge all'origine dati un campo che contiene la parola "vero" se il controllo tabella ripetuta ha almeno una riga e la parola "falso" se il controllo tabella ripetuta non contiene righe.
Si configura una regola nel controllo tabella ripetuta per visualizzare una finestra di dialogo se il valore nel campo è "falso". Per determinare automaticamente se la tabella ripetuta contiene almeno una riga, usare la formula seguente come valore predefinito per il campo che contiene la parola "vero" o "falso":
booleano(grpProdotto)
arrotonda-eccesso
Arrotonda un numero per eccesso al numero intero più prossimo.
Sintassi
arrotonda-eccesso(numero)
Argomento |
Descrizione |
numero |
Nome del campo, contenente un valore numerico. |
Esempio
Si sta progettando un modello di modulo nota spese per la società. Le spese vengono inviate a un servizio Web che ha un parametro che accetta solo numeri interi. L'importo di spesa inviato a questo parametro deve essere arrotondato per eccesso al valore intero più prossimo. L'importo di spesa viene archiviato in un campo denominato cmpImportoSpesa e il valore intero viene archiviato in un altro campo. Per calcolare l'arrotondamento in eccesso al valore più prossimo, usare la formula seguente come valore predefinito per l'altro campo:
arrotonda-eccesso(cmpImportoSpesa)
Se un utente crea un modulo basato sul modello di modulo e immette 145,87 nel campo cmpImportoSpesa, il valore nel campo che contiene la formula sarà 146.
valutazione
Restituisce il valore di un campo o un gruppo. Il secondo argomento definisce l'espressione da calcolare per il campo o il gruppo. La funzione valutazione viene in genere annidata in una funzione che opera su un campo o un gruppo, come la funzione somma o media.
Sintassi
valutazione(campo; espressione)
Argomento |
Descrizione |
campo |
Nome del campo o gruppo i cui valori verranno valutati in base all'espressione specificata nel secondo argomento. |
espressione |
Espressione che verrà applicata al primo argomento. L'espressione può essere una funzione XPath o un'espressione racchiusa tra virgolette doppie (" "). |
Esempio
Si sta progettando un modello di modulo nota spese per la società. Il modello di modulo contiene un campo denominato cmpTotale che contiene un importo di spesa. Il campo cmpTotale fa parte di un gruppo ripetuto denominato grpSpese. Un altro campo è associato a una casella di testo che contiene la somma di tutte le spese. Per visualizzare la somma di tutte le spese quando l'utente immette un importo di spesa, usare la formula seguente nel campo delle spese totali:
valutazione(grpSpese,somma(cmpTotale))
falso
Restituisce falso.
Sintassi
falso()
Questa funzione non usa argomenti.
Esempio
Si sta progettando un modello di modulo cui moduli verranno usati dagli appaltatori per la richiesta di licenze edilizie. Il modello di modulo ha due sezioni, una per le informazioni di contatto e una per le informazioni relative alla richiesta di licenza edilizia. Quando compilano questo modulo, gli appaltatori dovranno compilare completamente la sezione sulle informazioni di contatto prima di poter compilare la sezione sulla licenza edilizia.
A questo scopo, si crea una regola per impostare il valore di un campo booleano su falso se uno qualsiasi dei campi nella sezione delle informazioni di contatto è vuoto. Un campo valore booleano può avere un valore booleano vero oppure falso. Inoltre, si configura la formattazione condizionale in modo da nascondere il controllo sezione che contiene le informazioni sulla licenza edilizia se il valore del campo booleano è falso.
Per nascondere il controllo sezione che contiene i campi per le informazioni sulla licenza edilizia, configurare una regola per eseguire questa funzione nel campo booleano se uno qualsiasi dei campi nella sezione delle informazioni di contatto è vuoto.
arrotonda-difetto
Arrotonda un numero per difetto all'intero più vicino.
Sintassi
arrotonda-difetto(numero)
Argomento |
Descrizione |
numero |
Nome del campo, contenente un valore numerico. |
Esempio
Si sta progettando un modello di modulo nota spese per la società. Le spese vengono inviate a un servizio Web che usa un parametro che accetta solo numeri interi. L'importo di spesa inviato a questo parametro deve essere arrotondato per difetto al valore intero più prossimo. L'importo di spesa viene archiviato in un campo denominato cmpImportoSpesa e il valore intero viene archiviato in un altro campo. Per calcolare l'arrotondamento per difetto al valore più prossimo, usare la formula seguente come valore predefinito per l'altro campo:
arrotonda-difetto(cmpImportoSpesa)
max
Restituisce il numero maggiore in un campo o gruppo.
Sintassi
max(campo)
Argomento |
Descrizione |
campo |
Campo ripetuto in un gruppo o campo in un gruppo ripetuto per cui si vuole trovare il valore massimo. |
Esempio
Si sta progettando un modello di modulo i cui moduli verranno usati dai fornitori per indicare le scorte di prodotti. Il modello di modulo contiene un gruppo ripetuto che include svariati campi contenenti dati sui prodotti del fornitore. Un campo denominato cmpPrezzo del gruppo ripetuto contiene il prezzo di un prodotto.
Un altro campo nell'origine dati del modello di modulo conterrà il prezzo massimo di tutti i prodotti venduti dal fornitore. Per restituire il prezzo massimo, usare la formula seguente nel campo del prezzo più alto:
max(cmpPrezzo)
min
Restituisce il numero minore in un campo o gruppo.
Sintassi
min(campo)
Argomento |
Descrizione |
campo |
Campo ripetuto in un gruppo o campo in un gruppo ripetuto per cui si vuole trovare il valore massimo. |
Esempio
Si sta progettando un modello di modulo i cui moduli verranno usati dai fornitori per indicare le scorte di prodotti. Il modello di modulo contiene un gruppo ripetuto che include svariati campi contenenti dati sui prodotti del fornitore. Un campo denominato cmpPrezzo del gruppo ripetuto contiene il prezzo di un prodotto.
Un altro campo nell'origine dati del modello di modulo conterrà il prezzo minimo di tutti i prodotti venduti dal fornitore. Per restituire il prezzo minimo, usare la formula seguente nel campo del prezzo più basso:
min(cmpPrezzo)
non
Restituisce vero se un valore booleano è falso o null. Restituisce falso se il valore booleano è vero o non null.
Sintassi
non(valore_booleano)
Argomento |
Descrizione |
valore_booleano |
Campo con tipo di dati booleano. |
Esempio
Si sta progettando un modello di modulo cui moduli verranno usati dagli appaltatori per la richiesta di licenze edilizie. Il modello di modulo ha una sezione per le informazioni di contatto e una seconda sezione per le informazioni relative alla richiesta di licenza edilizia. Quando compilano questo modulo, gli appaltatori dovranno compilare completamente la sezione sulle informazioni di contatto prima di poter compilare la sezione sulla licenza edilizia.
A questo scopo, si crea una regola che imposta il valore di un campo booleano su falso se uno qualsiasi dei campi nella sezione delle informazioni di contatto viene lasciato vuoto. Un campo valore booleano può avere il valore booleano vero oppure il valore booleano falso. Quindi, si usa la stessa formula per nascondere il controllo sezione che contiene le informazioni sulla licenza edilizia se il valore del campo booleano è falso. Per impostare questa regola, usare la formula seguente per impostare il campo booleano su falso:
non(vero())
numero
Converte un valore in un numero.
Se il valore dell'argomento non può essere convertito in un numero, la funzione restituisce "non un numero".
Sintassi
numero(valore)
ArgomentoDescrizione
valoreCampo con un valore da convertire in un numero.
Esempio
Si sta progettando un modello di modulo cui moduli verranno usati dagli appaltatori per la richiesta di licenze edilizie. Il modello di modulo contiene una sezione in cui l'appaltatore può immettere l'indirizzo dell'ufficio. Per verificare che l'appaltatore immetta un indirizzo valido si usa una connessione dati a un servizio Web che consente di verificare l'indirizzo. Se l'indirizzo viene verificato, l'appaltatore può inviare il modulo a un database SQL. Il database SQL usa un campo di testo per sia per il numero civico che per il nome della via. Il servizio Web richiede che il numero civico abbia un tipo di dati numerico e che il nome della via abbia un tipo di dati testo.
Per inviare dati sia al servizio Web che al database SQL, l'indirizzo deve essere archiviato con due tipi di dati diversi:
-
Per inviare i dati al servizio Web, il numero civico deve avere un tipo di dati numerico e il nome della via deve avere un tipo di dati testo.
-
Per inviare l'indirizzo al database SQL, sia il numero civico che il nome della via devono avere un tipo di dati testo.
Inoltre, si vuole che l'appaltatore immetta l'indirizzo una sola volta. Per convertire l'indirizzo nei tipi di dati corretti e fare in modo che l'appaltatore debba inserirlo una sola volta, il modello di modulo contiene un campo denominato cmpNumeroCivico per immettere il numero civico e un altro campo per immettere il nome della via. Entrambi i campi sono configurati come tipi di dati testo.
Per inviare il numero civico al servizio Web, è necessario convertire i dati nel campo cmpNumeroCivico (archiviato come tipo di dati testo) in un tipo di dati numerico. Il valore del numero civico convertito in un tipo di dati numerico viene archiviato in un altro campo, configurato per l'archiviazione di tipi di dati numerici.
Per convertire il numero civico da un tipo di dati testo in un tipo di dati numerico, usare la formula seguente come valore predefinito per il campo cmpNumeroCivico:
numero(cmpNumeroCivico)
nz
Restituisce un campo o gruppo con tutti i campi vuoti sostituiti con zero (0).
Sintassi
nz(campo)
Argomento |
Descrizione |
campo |
Campo in cui si vuole verificare la presenza di un valore. |
Esempio
Si sta progettando un modello di modulo che verrà compilato dai fornitori per indicare le scorte di prodotti. Il fornitore invierà le scorte di prodotti a un servizio Web tramite un modulo basato sul modello di modulo. Il metodo del servizio Web richiede che tutti gli elementi che contengono dati numerici abbiano un valore numerico. Il servizio Web rifiuta i moduli che contengono un elemento numerico vuoto.
Il modello di modulo include un campo denominato cmpDisponibilità, contenente un numero che corrisponde alla disponibilità del fornitore per questo prodotto. Il fornitore può immettere un numero in questo campo. Per assicurarsi che il fornitore possa inviare il modulo basato sul modello di modulo al servizio Web e configurare automaticamente il valore del campo su zero se il fornitore non immette un numero, usare la formula seguente come valore predefinito per questo campo:
nz(cmpDisponibilità)
arrotonda
Arrotonda un numero al numero intero più prossimo.
Se il valore non intero è compreso esattamente tra due valori interi arrotondati, il valore restituito corrisponde al valore intero più prossimo arrotondato per eccesso.
Sintassi
arrotonda(numero)
Argomento |
Descrizione |
numero |
Campo che contiene il numero da arrotondare usando la formula. |
Esempio
Si sta progettando un modello di modulo i cui moduli verranno usati dai fornitori per indicare le scorte di prodotti. Il modello di modulo contiene un gruppo ripetuto che include svariati campi contenenti dati sui prodotti del fornitore. Uno dei campi del gruppo ripetuto, denominato cmpPrezzo, contiene il prezzo di un prodotto.
Il modello di modulo ha una connessione dati per l'invio a un servizio Web. Il metodo del servizio Web richiede che ogni prezzo sia arrotondato a un valore intero. Per inviare il valore appropriato al metodo del servizio Web, si aggiunge un campo ripetuto all'origine dati. Il campo usa la formula seguente per arrotondare il prezzo nel campo cmpPrezzo a un valore intero:
arrotonda(cmpPrezzo)
somma
Restituisce la somma di tutti i campi in un campo o un gruppo. Ogni campo viene convertito in un valore numerico prima della somma.
Sintassi
somma(campo)
Argomento |
Descrizione |
campo |
Nome di un campo in un gruppo ripetuto o di un campo ripetuto in un gruppo di cui verranno sommati i valori. Per sommare i campi di due gruppi distinti, separare gli argomenti con l'operatore di unione (|), ad esempio somma( nome di campo 1 | nome di campo 2). |
Esempio
Si sta progettando un modello di modulo nota spese. Il modello di modulo include un gruppo che contiene voci di spesa. L'importo di ogni voce viene archiviato in un campo denominato cmpImportoSpesa. Il gruppo è associato a una tabella ripetuta che visualizza ogni voce di spesa come una riga. Il modello di modulo contiene un controllo casella di testo che visualizza le spese totali. Per visualizzare le spese totali, il controllo casella di testo contiene la formula seguente:
somma(cmpImportoSpesa)
vero
Restituisce vero.
Sintassi
vero()
Questa funzione non usa argomenti.
Esempio
Si sta progettando un modello di modulo cui moduli verranno usati dagli appaltatori per la richiesta di licenze edilizie. Il modello di modulo contiene una sezione per le informazioni di contatto e una seconda sezione per le informazioni relative alla richiesta di licenza edilizia. Quando compilano questo modulo, gli appaltatori dovranno compilare completamente la sezione sulle informazioni di contatto prima di poter compilare la sezione sulla licenza edilizia.
A questo scopo, si crea una regola che imposta il valore di un campo booleano su vero se tutti i campi nella sezione delle informazioni di contatto contengono dati. Un campo valore booleano può avere il valore booleano vero oppure falso. Se il valore del campo booleano è vero, viene visualizzato il controllo sezione che contiene le informazioni sulla licenza edilizia.
Per mostrare il controllo sezione che contiene le informazioni sulla licenza edilizia, configurare una regola per eseguire questa funzione nel campo booleano se tutti i campi nella sezione delle informazioni di contatto contengono dati.
Funzioni di testo
concatena
Combina due o più campi o stringhe di testo in una singola stringa di testo.
Sintassi
concatena(testo1; testo2, ...)
Argomento |
Descrizione |
testo1 |
Campo contenente testo da combinare in una singola riga di testo con il testo nell'argomento 2. |
testo2, … |
Uno o più campi aggiuntivi contenenti il testo da combinare con il campo precedente. Separare i campi di testo con un punto e virgola. |
Esempio
Si sta progettando un modello di modulo che contiene un campo denominato cmpNome e un campo denominato cmpCognome. Aggiungere la formula seguente a un terzo campo per fare in modo che contenga il testo "Questo modulo è stato compilato da <nome> <cognome>.":
concatena("Questo modulo è stato compilato da "; cmpNome; " "; cmpCognome; ".")
Nota: Qualsiasi testo inserito come argomento testuale, compresi gli spazi e la punteggiatura, deve essere racchiuso tra virgolette (").
contiene
Restituisce vero se il primo campo o la prima stringa di testo contiene il secondo. In caso contrario, restituisce falso.
Sintassi
contiene(testo; testo_da_cercare)
Argomento |
Descrizione |
testo |
Campo contenente il testo da cercare. |
testo_da_cercare |
Campo contenente il testo o il testo racchiuso tra virgolette doppie (" ") da cercare nel primo argomento. |
Esempio
Si sta progettando un modello di modulo con tre campi di testo. Il primo consentirà agli utenti di immettere una grande quantità di testo nel primo controllo di testo, denominato cmpTesto. Il secondo consentirà agli utenti di immettere solo un breve segmento di testo ed è denominato cmpTestoDaCercare. La terza casella di testo confronterà la seconda casella di testo con la prima, indicherà se il valore nel secondo campo è presente nel primo campo e visualizzerà il risultato. Come valore predefinito avrà la formula seguente:
contiene(cmpTesto; cmpTestoDaCercare)
normalizza-spazi
Rimuove gli spazi vuoti da una stringa di testo.
Nota: Rimuoverà tutti gli spazi vuoti iniziali, finali e ripetuti da un campo con un tipo di dati testo.
Sintassi
normalizza-spazi(testo)
Argomento |
Descrizione |
testo |
Testo contenente gli spazi vuoti iniziali, finali o ripetuti da rimuovere. Racchiudere il testo tra virgolette doppie (" "). |
Esempio
Si sta progettando un modello di modulo contenente un campo denominato cmpTesto, che è associato a un controllo casella di testo. Per normalizzare il testo immesso nel primo campo e visualizzare il valore nel primo campo senza spazi vuoti in eccesso, aggiungere un secondo campo con la formula seguente come valore predefinito:
normalizza-spazi(cmpTesto)
inizia-con
Restituisce vero se il primo campo o la prima stringa di testo inizia con il secondo. In caso contrario, restituisce falso.
Sintassi
inizia-con(testo; testo_inizio)
Argomento |
Descrizione |
testo |
Nome del campo contenente il testo da cercare. Separare gli argomenti con un punto e virgola. |
testo_inizio |
Testo da cercare all'inizio del campo specificato nel primo argomento. Questo argomento può essere costituito da testo racchiuso tra virgolette doppie (" ") o da un campo. |
Esempio
Si sta progettando un modello di modulo con tre campi di testo. Il primo consentirà agli utenti di immettere una grande quantità di testo nel primo controllo di testo, denominato cmpTesto. Il secondo consentirà agli utenti di immettere solo un breve segmento di testo ed è denominato cmpTestoDaCercare. La terza casella di testo confronterà la seconda casella di testo con la prima, indicherà se il valore nel primo campo inizia con il valore presente nel secondo campo e visualizzerà il risultato. Come valore predefinito avrà la formula seguente:
inizia-con(cmpTesto; cmpTestoDaCercare)
stringa
Converte un valore in una stringa di testo.
Sintassi
stringa(valore)
Argomento |
Descrizione |
valore |
Campo che contiene il valore da convertire in testo. |
Esempio
Si sta progettando un modello di modulo cui moduli verranno usati dagli appaltatori per la richiesta di licenze edilizie. Il modello di modulo contiene una sezione in cui l'appaltatore può immettere l'indirizzo dell'ufficio. Per verificare che l'appaltatore immetta un indirizzo valido, il modello di modulo usa una connessione dati a un servizio Web che consente di verificare l'indirizzo. Se l'indirizzo viene verificato, l'appaltatore può inviare il modulo a un database SQL. Il database SQL usa un campo di testo per il numero civico. Il servizio Web richiede che il numero civico abbia un tipo di dati numerico e che il nome della via abbia un tipo di dati testo.
Per inviare dati sia al servizio Web che al database SQL, l'indirizzo deve essere archiviato in due tipi di dati diversi:
-
Per inviare i dati al servizio Web, il numero civico deve avere un tipo di dati numerico.
-
Per inviare l'indirizzo al database SQL, sia il numero civico che il nome della via devono avere un tipo di dati testo.
Inoltre, si vuole che l'appaltatore immetta l'indirizzo una sola volta. Per convertire l'indirizzo nei tipi di dati corretti e fare in modo che l'appaltatore debba inserirlo una sola volta, il modulo contiene un campo per l'inserimento del numero civico, denominato cmpNumeroCivico, e un altro campo per l'inserimento del nome della via. Il campo cmpNumeroCivico ha un tipo di dati numerico e il campo del nome della via ha un tipo di dati testo.
Per inviare l'indirizzo completo (sia il nome della via che il numero civico) al database SQL, è necessario combinare i valori nel campo cmpNumeroCivico e il campo del nome della via in un unico valore con tipo di dati testo. Prima di tutto occorre convertire i dati numerici nel campo cmpNumeroCivico, che archivia i dati come tipo di dati numerico, in un tipo di dati testo. Si aggiunge all'origine dati un campo che conterrà l'indirizzo completo come tipo di dati testo.
Per convertire i dati di testo nel campo cmpNumeroCivico in un tipo di dati testo in modo da poter usare il servizio Web, occorre configurare un altro campo che conterrà il numero civico come tipo di dati testo. Per convertire il numero civico da un tipo di dati numerico in un tipo di dati testo, usare la formula seguente come valore predefinito per il campo:
stringa(cmpNumeroCivico)
stringa-lunghezza
Restituisce il numero di caratteri di una stringa di testo.
Sintassi
stringa-lunghezza(testo)
Argomento |
Descrizione |
testo |
Campo il cui valore corrisponde al testo che si vuole contare. |
Esempio
Si sta progettando un modello di modulo contenente un campo denominato cmpTesto, associato a un controllo casella di testo. Il modello di modulo include un secondo campo usato per contare il numero di caratteri inseriti nel primo modulo. A questo scopo, il secondo campo contiene la formula seguente come valore predefinito:
stringa-lunghezza(cmpTesto)
sottostringa
Restituisce una parte specifica di una stringa di testo. Il secondo argomento specifica la posizione iniziale e il terzo argomento specifica il numero di caratteri da includere.
Sintassi
sottostringa(testo; pos_iniziale; num_caratteri)
Argomento |
Descrizione |
testo |
Campo con un tipo di dati testo oppure testo racchiuso tra virgolette doppie (" "). La funzione cerca questo testo e restituisce tutti i caratteri dalla posizione specificata nel secondo argomento fino al numero di caratteri specificati nel terzo argomento oppure fino alla fine del testo, a seconda di quale dei due casi si verifichi prima. |
pos_iniziale |
Posizione iniziale del testo da recuperare dal primo argomento. Questo argomento deve essere un numero intero o un riferimento a un campo configurato per archiviare tipi di dati Numero intero (integer). |
num_caratteri |
Numero di caratteri da recuperare, a partire dalla posizione iniziale specificata nel secondo argomento. Questo argomento deve essere un numero intero o un riferimento a un campo configurato per archiviare tipi di dati Numero intero (integer). |
Esempio
Si sta progettando un modello di modulo che contiene i campi e i controlli seguenti:
-
Un campo denominato cmpTesto, associato a un controllo casella di testo. Questo campo contiene il testo cercato dalla funzione.
-
Un campo denominato cmpPosIniziale, associato a un controllo casella di testo. Questo campo è configurato come tipo di dati numero intero. Il campo contiene la posizione iniziale per la funzione.
-
Un campo denominato cmpNumeroCaratteri, associato a un controllo casella di testo. Questo campo è configurato come tipo di dati numero intero. Il campo contiene il numero di caratteri restituito dalla funzione.
-
Un controllo casella di testo che mostra i risultati della funzione. Il controllo casella di testo contiene la formula seguente:
sottostringa (cmpTesto; cmpPosIniziale; cmpNumeroCaratteri)
Se un utente immette "Questo modulo è stato creato da un modello di modulo di InfoPath." nella prima casella di testo, seguito da 4 nella seconda e da 16 nella terza, la quarta casella di testo conterrà "sto modulo è sta".
sottostringa-successiva
Restituisce il testo nella prima stringa di testo che segue la prima occorrenza della seconda stringa di testo.
Sintassi
sottostringa-successiva(testo; testo_da_cercare)
Argomento |
Descrizione |
testo |
Campo con un tipo di dati testo oppure testo racchiuso tra virgolette doppie (" "). La funzione cerca il testo in questo argomento e quindi restituisce tutti i caratteri che seguono il testo nel secondo argomento. |
testo_da_cercare |
Testo da cercare nel testo del primo argomento. Può essere il valore nel campo con tipo di dati testo oppure testo racchiuso tra virgolette doppie (" "). La funzione cerca il testo nel primo argomento e quindi restituisce tutti i caratteri che seguono il testo in questo argomento. |
Esempio
Si sta progettando un modello di modulo che contiene i campi e i controlli seguenti:
-
Un campo denominato cmpTesto, associato a un controllo casella di testo. Questo campo contiene il testo cercato dalla funzione.
-
Un campo denominato cmpSottostringaTesto, associato a un controllo casella di testo. Questo campo contiene il testo che è il secondo argomento della funzione.
-
Un controllo casella di testo che mostra i risultati della funzione. Il controllo casella di testo contiene la formula seguente:
sottostringa-successiva(cmpTesto; cmpSottostringaTesto)
Se un utente immette "Questo modulo è stato creato da un modello di modulo di InfoPath aziendale." nel campo cmpTesto e "InfoPath" nella seconda casella di testo, la terza casella di testo conterrà "aziendale.".
sottostringa-precedente
Restituisce il testo nella prima stringa di testo che precede la prima occorrenza della seconda stringa di testo.
Sintassi
sottostringa-precedente(testo; testo_da_cercare)
Argomento |
Descrizione |
testo |
Campo con un tipo di dati testo oppure testo racchiuso tra virgolette doppie (" "). La funzione cerca il testo in questo argomento e quindi restituisce tutti i caratteri che precedono il testo nel secondo argomento, ovvero testo_da_cercare. |
testo_da_cercare |
Valore da cercare nell'argomento di testo. Può essere il valore in un campo con tipo di dati testo oppure testo racchiuso tra virgolette doppie (" "). La funzione cerca il testo nel primo argomento (testo) e quindi restituisce tutti i caratteri che precedono il testo in questo argomento. |
Esempio
Si sta progettando un modello di modulo con i campi e i controlli seguenti:
-
Un campo denominato cmpTesto, associato a un controllo casella di testo. Questo campo contiene il testo cercato dalla funzione.
-
Un campo denominato cmpSottostringaTesto, associato a un controllo casella di testo. Questo campo contiene il testo che è il secondo argomento della funzione.
-
Controllo di casella di testo AA che mostra i risultati della funzione. Controllo casella di testo contiene la formula seguente:
sottostringa-precedente(cmpTesto; cmpSottostringaTesto)
Se un utente immette "Questo modulo è stato creato da un modello di modulo di InfoPath." nel campo cmpTesto e "creato" nella seconda casella di testo, la terza casella di testo conterrà "Questo modulo è stato".
sostituisci
Restituisce la prima stringa di testo nella quale ogni carattere nella seconda stringa di testo viene sostituito con il carattere nella posizione corrispondente nella terza stringa di testo.
Sintassi
sostituisci(testo; car_ricerca; car_sostit)
Argomento |
Descrizione |
testo |
Nome del campo che contiene il testo i cui caratteri verranno sostituiti. Separare gli argomenti con un punto e virgola. |
car_ricerca |
Un carattere o il valore di un campo con tipo di dati testo che verrà sostituito con i caratteri nel terzo argomento. Separare gli argomenti con un punto e virgola. |
car_sostit |
Un carattere o il valore di un campo con tipo di dati testo che sostituirà tutte le istanze del carattere nel secondo argomento. |
Esempio
Si sta progettando un modello di modulo cui moduli verranno usati dagli appaltatori per la richiesta di licenze edilizie. Il modello di modulo contiene una sezione in cui l'appaltatore può immettere l'indirizzo dell'ufficio. La sezione contiene un campo denominato cmpIndirizzo, associato a un controllo casella di testo in cui l'appaltatore può immettere il suo indirizzo.
Per verificare che l'appaltatore immetta un indirizzo valido, si usa una connessione dati a un servizio Web che consente di verificare l'indirizzo. Il servizio Web richiede che l'indirizzo sia in caratteri minuscoli.
Per convertire qualsiasi carattere maiuscolo nell'indirizzo in un carattere minuscolo, aggiungere all'origine dati un altro campo che conterrà l'indirizzo convertito in caratteri minuscoli. Il valore predefinito di questo campo contiene la formula seguente:
sostituisci(cmpIndirizzo; ABCDEFGHIJKLMNOPQRSTUVWXYZ, abcdefghijklmnopqrstuvwxyz)
Funzioni URL
URLElencoSharepoint
Restituisce l'indirizzo dell'elenco o della raccolta moduli di SharePoint in cui è ospitato il modulo (solo InfoPath 2010).
Sintassi
URLElencoSharepoint()
Questa funzione non usa argomenti.
Esempio
Si sta progettando un modello di modulo per un elenco di SharePoint e si vuole aggiungere un collegamento alla posizione in cui l'elenco è ospitato, ad esempio "http://ServerSharePoint/sito/elenco/". A questo scopo, aggiungere un collegamento ipertestuale e impostarlo su Sola lettura, quindi impostare il valore predefinito del campo a cui il controllo è collegato, come indicato di seguito:
URLElencoSharepoint()
Nota: Se il modello di modulo non è ospitato in un server di SharePoint, la funzione URLElencoSharepoint() restituirà solo "http://ServerSharePoint/sito/elenco/".
URLRadiceServerSharePoint
Restituisce l'indirizzo del server di SharePoint in cui è ospitato il modulo (solo InfoPath 2010).
Sintassi
URLRadiceServerSharePoint()
Questa funzione non usa argomenti.
Esempio
Si sta progettando un modello di modulo per un elenco di SharePoint e si vuole aggiungere un collegamento alla radice del server di SharePoint in cui l'elenco è ospitato, ad esempio "http://ServerSharePoint/sito/elenco/". A questo scopo, aggiungere un collegamento ipertestuale e impostarlo su Sola lettura, quindi impostare il valore predefinito del campo a cui il controllo è collegato, come indicato di seguito:
URLRadiceServerSharePoint()
Nota: Se il modello di modulo non è ospitato in un server di SharePoint, la funzione URLElencoSharepoint() restituirà solo "http://ServerSharePoint/sito/elenco/".
URLRaccoltaSitiSharePoint
Restituisce l'indirizzo della raccolta siti di SharePoint in cui è ospitato il modulo (solo InfoPath 2010).
Sintassi
URLRaccoltaSitiSharePoint()
Questa funzione non usa argomenti.
Esempio
Si sta progettando un modello di modulo per un elenco di SharePoint e si vuole aggiungere un collegamento alla raccolta siti del server di SharePoint in cui l'elenco è ospitato, ad esempio "http://ServerSharePoint/sito/raccoltaSiti/". A questo scopo, aggiungere un collegamento ipertestuale e impostarlo su Sola lettura, quindi impostare il valore predefinito del campo a cui il controllo è collegato, come indicato di seguito:
URLRaccoltaSitiSharePoint()
Nota: Se il modello di modulo non è ospitato in un server di SharePoint, la funzione URLElencoSharepoint() restituirà solo "http://ServerSharePoint/sito/raccoltaSiti/".
URLSitoSharePoint
Restituisce l'indirizzo del sito di SharePoint in cui è ospitato il modulo (solo InfoPath 2010).
Sintassi
URLSitoSharePoint()
Questa funzione non usa argomenti.
Esempio
Si sta progettando un modello di modulo per un elenco di SharePoint e si vuole aggiungere un collegamento al sito di SharePoint in cui l'elenco è ospitato, ad esempio "http://ServerSharePoint/sito/". A questo scopo, aggiungere un collegamento ipertestuale e impostarlo su Sola lettura, quindi impostare il valore predefinito del campo a cui il controllo è collegato, come indicato di seguito:
URLSitoSharePoint()
Nota: Se il modello di modulo non è ospitato in un server di SharePoint, la funzione URLElencoSharepoint() restituirà solo "http://ServerSharePoint/sito/".
Funzione userName
userName
Restituisce il nome dell'utente che compila il modulo (Microsoft InfoPath 2007 e versioni successive).
Nota: Se l'utente compila un modulo in un Web browser, il nome utente viene recuperato da Microsoft Windows SharePoint Services 3.0 o versione successiva.
Sintassi
userName()
Questa funzione non usa argomenti.
Esempio
Si sta progettando un modello di modulo nota spese per la società. La società emittente della carta di credito invia elettronicamente record delle spese dei dipendenti al database gestito dalla società. Per recuperare i record di spesa per un dipendente, il database ha bisogno del nome utente del dipendente che sta compilando un modulo basato sul modello di modulo.
Si aggiunge all'origine dati del modello di modulo un campo in cui archiviare il nome utente del dipendente. Inoltre, si crea una connessione dati per query che usa il valore del campo in una query per recuperare le spese.
Per assicurarsi che il dipendente che compila la nota spese usi il nome utente corretto, si associa il campo a un controllo casella di testo. Per visualizzare il nome utente dell'utente che crea un modulo basato su questo modello di modulo, usare la formula seguente come valore predefinito di un campo associato al controllo casella di testo:
userName()