5.14.1.2.4.3. Verifica prima del dialogo ERP (3Dfindit)

Prima che in 3Dfindit si apra la finestra di dialogo " Nuovo numero identificativo [new ident-no.] ", è possibile script sul server può verificare se sono soddisfatti determinati prerequisiti. A seconda del risultato, lo script richiede conferma, visualizza un messaggio o interrompe il processo con un messaggio, in modo che la finestra di dialogo non si apra. Lo script non modifica i dati.[79]

[Nota]Nota

Il test è valido solo per 3Dfindit, non per PARTdataManager.

Configurazione

Usura Inserisci lo script compilato ( .vbb ) nel erpcustom.cfg :

[SERVER_BEFORE_SHOWDIALOG]
1=$CADENAS_SETUP/scripts/erp/
 erp_before_showdialog.vbb

Se la verifica deve valere solo per un determinato ruolo, il blocco è [SERVER_BEFORE_SHOWDIALOG(<groupName>)].

Lo script contiene la funzione Execute(context). Deve restituire 1 . Qualsiasi altro valore o eccezione viene considerato un errore.

L' oggetto contesto

Tramite context, lo script ha a disposizione le seguenti informazioni e messaggi:

Tabella, Documento

Tabella e documento. Solo in lettura.

QueryConfirmed

Vero, se la richiesta viene ripetuta dopo che l'utente ha confermato una richiesta di conferma o un avviso . Solo in lettura.

Ask(messaggio [, titolo [, testo di conferma [, testo di annullamento]]])

Richiede una conferma. Se l' utente conferma, si apre la finestra di dialogo; se annulla, l'operazione viene interrotta. Facoltativamente, è possibile impostare il titolo della finestra e il testo dei due pulsanti.

ShowInfo(messaggio [, titolo [, testo del pulsante]])

Visualizza un messaggio. Dopo la conferma, si apre la finestra di dialogo. È possibile specificare il titolo della finestra e l' etichetta del pulsante.

StopWithInfo(messaggio [, titolo [, testoPulsante]])

Visualizza un messaggio e termina l' operazione. La finestra di dialogo non si apre, nemmeno al secondo tentativo dopo una conferma. È possibile specificare il titolo della finestra e l' etichetta del pulsante.

[Nota]Nota

Dopo una conferma, lo script viene eseguito una seconda volta. Ask e ShowInfo vengono ignorati, quindi non è necessario interrogare QueryConfirmed. Se lo script ha effetti collaterali, come ad esempio la scrittura di voci in un file di log, interrogare QueryConfirmed per evitare che l'operazione venga eseguita due volte .

Esempio

Prima di aprire la finestra di dialogo, viene chiesto all'utente se desidera proseguire:

Function Execute(context)
  context.Ask("Do you want to continue to the ERP dialog?", _
    "Assign ERP number", "Proceed", "Stop")
  Execute = 1
End Function