Invio dati ad un Web Service REST con utilizzo di un certificato P12 con codifica ECDH o ECDSA e token JWT

‘ Il seguente codice invia dati ad un Web Service REST con utilizzo di un certificato P12 con codifica ECDH o ECDSA. ‘ Da notare che questo tipo di codifica è la più recente e più sicura e che il codice può essere adattato anche per codifica RSA. ‘ Questo codice funziona con QualiWare 2023.02.14…

Estrazione di informazioni da un file XML

‘ Il codice seguente estrae numero documento, ragione sociale e partita IVA del cedente da un file XML relativo ad una fattura elettronica il cui percorso è contenuto nella variabile “Parameter1”. ‘ Può essere inserito in un oggetto Procedura da eseguire col metodo Execute specificando nel primo parametro il percorso del file da analizzare. Dim…

Lettura ed elaborazione file da cartella FTP

‘ Il seguente script è un esempio di come si possono elaborare i file (Excel in questo caso) contenuti in una cartella FTP, con cancellazione dopo l’elaborazione dim ftpuser as string=<utente> dim ftppw as string=<password> dim folder as string=”ftp://xx.xx.xx.xx/cartella” ‘ Legge la directory dim ftpRequest as System.Net.FtpWebRequest = System.Net.WebRequest.Create(folder) ftpRequest.Credentials =new System.Net.NetworkCredential(ftpuser,ftppw) ftpRequest.Method = System.Net.WebRequestMethods.Ftp.ListDirectory…

Rimozione errori di protocollo “connessione sottostante chiusa: Errore imprevisto durante un’operazione di invio”

‘ Il seguente script consente di risolvere l’errore “connessione sottostante chiusa: Errore imprevisto durante un’operazione di invio” che si può verificare in un task collegandosi ad un ad un web service esterno che supporta solo TLS 1.2 NOTA: l’errore generalmente si verifica solo con l’esecuzione tramite il servizio QualiWare Server Daemon, mentre potrebbe non verificarsi…

Creazione variabili di processo in un task

‘ Il seguente snippet può essere utilizzato in un task per creare le variabili e gli attributi del piano di controllo da utilizzare nel processo di produzione relativo ad una commessa dim form = new System.Dynamic.ExpandoObject() ‘ Oggetto dinamico usato per “riprodurre” l’oggetto form form.Session=new AssocArray form.Session(“QWSess”)= DB.QWSession ‘ Emulazione della sessione dim form_state =…

Lettura dati da database SQLite

‘ E’ possibile leggere in modo nativo i dati da un file di database SQLite ‘ Per farlo, è necessario copiare nella cartella “bin” del server i file contenuti nello zip scaricabile da qui: https://help.qualiware.it/qw-help/wp-content/uploads/sqlite.zip, ‘ e utilizzare il seguente esempio, modificando il percorso del file, la query e i nomi dei campi Dim conn…

Caricamento file su FTP

‘ Il seguente script è un esempio di come si può caricare un file su un server FTP. Può essere utilizzato semplicemente cambiando i percorsi dei files. dim ok as boolean=true dim msg as string=”” try dim FTP as System.Net.WebClient FTP = new System.Net.WebClient FTP.Credentials = new System.Net.NetworkCredential (<utente FTP>,<password>) Dim responseArray As Byte() =…

Generazione movimenti di magazzino da movimento di intervento

‘ Il seguente snippet mostra come sia possibile generare movimenti di magazzino tramite un task a partire dal materiale registrato in un movimento di intervento ‘ Nell’esempio il magazzino di prelievo si chiama “MGES” e la causale utilizzata è “SCA”. dim QWSess as QWSession QWSess=DB.QWSession MovMag_Apertura_Archivi(QWSess) dim q as new qwTable() q.database=DB q.sql=”select distinct *…

Esecuzione valutazione fornitori da task

‘ Il seguente snippet mostra come sia possibile eseguire la valutazione fornitori da task ‘ N.B. è utilizzabile solo sulla versione 2021.07+ o successiva dim state as new valforform.valforstate() state.dmd_ref=new ValforDataModule(DB) DB.QWSession.DESCRITT.rowset.refresh() state.dmd_ref.VALFOR.beginappend() state.dmd_ref.VALFOR.replace(“NUMVAL”,ltrim(str(DB.QWSession.DESCRITT.rowset.fields(“ANNO”).value))+right(” “+ltrim(str(DB.QWSession.DESCRITT.rowset.fields(“NUMVALFOR”).value)),4)) state.dmd_ref.VALFOR.replace(“APPL”,1) state.dmd_ref.VALFOR.replace(“DATA”,Today()) state.dmd_ref.VALFOR.replace(“CODRED”,”AM1″) state.dmd_ref.VALFOR.replace(“DATA_INF”,ctod(“01/01/2021”)) state.dmd_ref.VALFOR.replace(“DATA_SUP”,ctod(“31/12/2021″)) dim msg as string=”” if state.dmd_ref.VALFOR.saverecord(msg) DB.QWSession.DESCRITT.replace(“NUMVALFOR”,DB.QWSession.DESCRITT.rowset.fields(“NUMVALFOR”).value+1) DB.QWSession.DESCRITT.saverecord() valforform.Valutazione_Fornitori(DB.QWSession,state) ‘ Esegue la valutazione if state.error=””…