====== Comandi IF e ELSE====== Il comando **IF** permette, tramite il valore presente in una variabile, di effettuare un controllo e compiere determinate azioni sul testo. ===== La variabile di confronto ===== Viene utilizzata per gli esempi successivi la variabile **@{PRASOGGETTI.SOGGETTO0007.DESPEC}@** che valorizza la **PEC del Tecnico Progettista**, escludendone i simboli **@ { } @**, si utilizza solo la variabile preceduta dal simbolo **$**, ad esempio: \\ {{:guide:suapsue:if:var_PRASOGGETTI.SOGGETTO.0007.DESPEC.png?nolink|}} viene utilizzata {{:guide:suapsue:if:str_PRASOGGETTI.SOGGETTO.0007.DESPEC.png?nolink|}}. Il comando **IF** inizia sempre con l'apertura: @{**if** {{:guide:suapsue:if:underscore.png?nolink|}} }@ ===== Gli operatori di confronto ===== ==== Confronto con un altro valore ==== Di seguito all'apertura viene inserito prima la variabile, come sopra descritto, @{**if** {{:guide:suapsue:if:str_PRASOGGETTI.SOGGETTO.0007.DESPEC.png?nolink|}} {{:guide:suapsue:if:underscore.png?nolink|}} }@ e poi l'{{:guide:suapsue:if:operatore_di_confronto.png?nolink|}}: * {{:guide:suapsue:if:uguale_a.png?nolink|}} : la condizione sarà vera solo se la variabile {{:guide:suapsue:if:uguale_a_txt.png?nolink|}} quanto indicato, ad esempio: \\ **SE** la {{:guide:suapsue:if:pec_del_tecnico_progettista.png?nolink|}} è uguale a //rossimario@pec.it// \\ @{**if** {{:guide:suapsue:if:str_PRASOGGETTI.SOGGETTO.0007.DESPEC.png?nolink|}} {{:guide:suapsue:if:uguale_a.png?nolink|}} 'rossimario@pec.it'}@ * {{:guide:suapsue:if:diverso_da.png?nolink|}} : la condizione sarà vera solo se la variabile {{:guide:suapsue:if:diversa_da_txt.png?nolink|}} quanto indicato, ad esempio: \\ **SE** la {{:guide:suapsue:if:pec_del_tecnico_progettista.png?nolink|}} è diversa da //rossimario@pec.it// \\ @{**if** {{:guide:suapsue:if:str_PRASOGGETTI.SOGGETTO.0007.DESPEC.png?nolink|}} {{:guide:suapsue:if:diverso_da.png?nolink|}} 'rossimario@pec.it'}@\\ La PEC è stata scritta tra apostrofi in quanto è di tipo testuale e non numerico. Se si desidera solo verificare la condizione tramite l'esistenza di un determinato valore non si necessitano di operatori di confronto, ad esempio: \\ @{**if** {{:guide:suapsue:if:str_PRASOGGETTI.SOGGETTO.0007.DESPEC.png?nolink|}} }@ ==== Confronto con un valore "vuoto" o "non vuoto" ==== E' possibile anche confrontare con valori "vuoti" in questo caso utilizzare: * {{:guide:suapsue:if:not.png?nolink|}} per cercare un valore "vuoto", ad esempio: \\ **SE** {{:guide:suapsue:if:non_presente.png?nolink|}} la {{:guide:suapsue:if:pec_del_tecnico_progettista.png?nolink|}} (valore della variabile uguale a vuoto) \\ @{**if** {{:guide:suapsue:if:not.png?nolink|}}{{:guide:suapsue:if:str_PRASOGGETTI.SOGGETTO.0007.DESPEC.png?nolink|}}}@ * **Nessun operatore di confronto** per cercare un valore "non vuoto", ad esempio: \\ **SE** {{:guide:suapsue:if:presente.png?nolink|}} la {{:guide:suapsue:if:pec_del_tecnico_progettista.png?nolink|}} (valore della variabile diverso da vuoto) \\ @{**if** {{:guide:suapsue:if:str_PRASOGGETTI.SOGGETTO.0007.DESPEC.png?nolink|}}}@ ===== Comando ELSE ===== Nel caso in cui la condizione indicata nel comando **IF** non venga verificata è possibile indicare un'alternativa {{:guide:suapsue:if:else.png?nolink|}}, in questo caso verrà eseguito quanto indicato al di sotto di questo comando, ad esempio: * **SE** la {{:guide:suapsue:if:pec_del_tecnico_progettista.png?nolink|}} {{:guide:suapsue:if:presente.png?nolink|}} riportare la dicitura **PEC:** seguita dall'**indirizzo PEC** {{:guide:suapsue:if:altrimenti.png?nolink|}} riportare la dicitura **e-mail:** seguita dall'**indirizzo e-mail** \\ @{**if** {{:guide:suapsue:if:str_PRASOGGETTI.SOGGETTO.0007.DESPEC.png?nolink|}}}@**PEC: @{PRASOGGETTI.SOGGETTO0007.DESPEC}@**{{:guide:suapsue:if:else.png?nolink|}}**e-mail:** **@{PRASOGGETTI.SOGGETTO0007.DESEMA}**@{{:guide:suapsue:if:fine_if.png?nolink|}} Il comando {{:guide:suapsue:if:else.png?nolink|}} può anche non essere indicato, ad esempio: * **SE** la {{:guide:suapsue:if:pec_del_tecnico_progettista.png?nolink|}} {{:guide:suapsue:if:presente.png?nolink|}} riportare la dicitura **PEC:** seguita dal relativo **indirizzo PEC** \\ @{**if** {{:guide:suapsue:if:str_PRASOGGETTI.SOGGETTO.0007.DESPEC.png?nolink|}}}@**PEC: @{PRASOGGETTI.SOGGETTO0007.DESPEC}@**{{:guide:suapsue:if:fine_if.png?nolink|}} ===== Utilizzare più comandi IF ===== E' possibile utilizzare più comandi **IF** concatenandoli, ad esempio: * **SE** {{:guide:suapsue:if:presente.png?nolink|}} la {{:guide:suapsue:if:pec_del_tecnico_progettista.png?nolink|}} riportare la dicitura **PEC: ** seguito dall'**indirizzo PEC** {{:guide:suapsue:if:altrimenti.png?nolink|}} **SE** {{:guide:suapsue:if:presente.png?nolink|}} l'{{:guide:suapsue:if:indirizzo_email_del_tecnico_progettista.png?nolink|}} riportare la dicitura **e-mail: ** seguito dall'**indirizzo e-mail** \\ @{**if** {{:guide:suapsue:if:str_PRASOGGETTI.SOGGETTO.0007.DESPEC.png?nolink|}}}@**PEC: @{PRASOGGETTI.SOGGETTO0007.DESPEC}@**{{:guide:suapsue:if:else.png?nolink|}}@{**if** {{:guide:suapsue:if:str_PRASOGGETTI.SOGGETTO.0007.DESEMA.png?nolink|}}}**e-mail: @{PRASOGGETTI.SOGGETTO0007.DESEMA}@**{{:guide:suapsue:if:fine_if.png?nolink|}}{{:guide:suapsue:if:fine_if.png?nolink|}} ===== Stampa di variabili personalizzate PRAANAVAR ===== Nel caso si desideri stampare una variabile personalizzata (tabella **PRAANAVAR**) occorre che la variabile sia mandata "a capo", ad esempio: * **SE** {{:guide:suapsue:if:presente.png?nolink|}} il {{:guide:suapsue:if:nominativo_del_dichiarante.png?nolink|}} stampa la **tabella con tutti i dichiaranti presenti** \\ @{**if** {{:guide:suapsue:if:str_PRASOGGETTI.SOGGETTO.0002.DESNOM.png?nolink|}}}@ \\ **@{$PRAANAVAR.DICHIARANTI}@** \\ {{:guide:suapsue:if:fine_if.png?nolink|}} ===== Chiusura del comando IF ===== E' necessario che il comando di apertura @{**if** {{:guide:suapsue:if:underscore.png?nolink|}} }@ venga sempre chiuso con il rispettivo comando di chiusura {{:guide:suapsue:if:fine_if.png?nolink|}} , se ci sono più comandi **IF** concatenati occorre chiuderli tutti come nell'esempio sopra riportato {{:guide:suapsue:if:fine_if.png?nolink|}}{{:guide:suapsue:if:fine_if.png?nolink|}}, ad ogni comando di apertura deve quindi corrispondere un comando di chiusura. ===== Struttura per l'utilizzo del comando IF ===== Di seguito l'esempio di struttura per l’utilizzo del comando **IF** con i relativi elementi che lo compongono: ^inizio apertura^variabile^operatore di confronto^valore di confronto^fine apertura^valore da stampare^eventuale alternativa^eventuale valore da stampare^chiusura^ |@{if|$PRASOGGETTI. SOGGETTO0007. DESPEC|!=|'valore_confronto'|}@|PEC: @{$PRASOGGETTI. SOGGETTO 0007. DESPEC}@|@{else}@|e-mail: $PRASOGGETTI. SOGGETTO 0007. DESEMA|@{/if}@|{{counter}} visualizzazioni.