giovedì 14 dicembre 2017

Range numerazione documenti contabili.


In SAP i documenti contabili hanno in chiave anche l'anno; questo significa che la numerazione dei documenti può riutilizzare gli stessi numeri in anni differenti.

Quando siamo partiti con SAP la società di consulenza ha operato con una, probabilmente sua, consuetudine di numerazione impostanto le prime 2 cifre di ogni range FI con l'anno e poi con l'identificativo del numero di range.

mercoledì 6 dicembre 2017

Collegarsi a SQL server e leggere tabelle.

Esempio di connessione ad un database SQL server e di lettura tabella.

Nota: si utilizzano i driver di collegamento ODBC di Microsoft, se non sono già installati nel PC si deve procedere con l'installazione, altrimenti restituisce l'errore:

pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato.

martedì 28 novembre 2017

Python: lavorare con i file Excel.

Con Python è possibile, tramite la libreria openpyxl, lavorare sui file Excel.

Nel mio caso il problema proposto era il seguente: in una condivisione di rete si vogliono salvare dei file excel che contengono delle "Action List": le righe contengono delle attività con delle date di scadenza. Si vuole inviare, in modo automatico, delle mail quando l'attività non è stata completata e la data di scadenza viene superata.

Tramite le macro VBA in Excel si possono testare le date e inviare mail, ma per poterle attivare si dovrebbe aprire il file.

Invece, tramite Python, posso creare un programma che legga i files e poi schedularlo in modo venga eseguito ad intervalli regolari.

Creare lista files contenuti in una cartella.

Si vuole creare una lista bidimensionale [ percorso , nome file ] di tutti i file che hanno una determinata estensione contenuti in una cartella.

Nell'esempio si lavora con 2 percorsi differenti: nel primo vengono analizzate anche le sottocartelle, nel secondo si prendono in considerazione solo i files presenti nella cartella.

giovedì 23 novembre 2017

Google Script per invio SMS alla ricezione di una mail.

Google Apps for business, oppure anche la versione Educational, prevede la possibilità di impostare il numero di telefono nel calendario e, negli appuntamenti, si può prevedere l'invio di SMS come remainder.

L'intento è quello che, alla ricezione di determinate mail, venga inviato un SMS al numero legato al calendario utente.

Per spiegare con un esempio concreto: Abbiamo un UPS che invia una mail in caso di problemi (per esempio mancanza di energia elettrica); si vuole che, quando arriva una mail dall'UPS, venga anche inviato un SMS di avviso.

giovedì 26 ottobre 2017

PowerShell: script per copiare files.

Windows PowerShell è una shell con un linguaggio di scripting avanzato, questa la definizione che dà Microsoft "Windows PowerShell™ is a new task-based command-line shell and scripting language designed especially for system administration".

In effetti è molto potente, quasi un linguaggio di programmazione vero e proprio.

sabato 7 ottobre 2017

Python: lock file.

Il programmino in Python scritto per dialogare con la macchina PLC usa diversi file aperti in modalità scrittura, ed ero convinto che questo fosse sufficiente per impedire l'esecuzione multipla dello stesso programma.

Invece, anche se un file è aperto un modalità 'w' (write), il file non risulta bloccato, pertanto il programma può essere in esecuzione in sessioni differenti nello stesso PC.