|
<< Click to Display Table of Contents >> Navigation: WinArhiEagle > Export către DBS WinDo Flow (serviciul WAEagle_ExportWndDB) |
DBS WinDo Flow este un sistem de gestiune a producției de ferestre, oferit de DBS. WinArhi îi transmite, pentru fiecare comandă, structura comenzii (ferestre, cercevele, geamuri, accesorii și profile suplimentare) și codurile asociate ferestrelor (NFC sau de altă natură), citite în WAEagle Client în fereastra Asociere cod per fereastră (NFC). Transmiterea se face prin HTTPS, către serverul DBS, de un serviciu Windows livrat în kitul WAEagle: WAEagle_ExportWndDB.
Condiții: comenzile trebuie să fie înregistrate în WAEagle din WinArhi (tabelele folosite de export sunt create automat la înregistrare), iar în WAEagle Client trebuie bifată setarea Asociere cod per fereastră (NFC sau altele) (vezi Setări WAEagle Client).
La fiecare salvare a unui cod de fereastră în WAEagle Client, comanda și fereastra respectivă sunt puse în coada de export (tabelul ExportWndCode din baza de date WAEagle). Comenzile fără niciun cod citit nu se transmit.
Serviciul verifică această coadă la fiecare 10 minute și lucrează în doi pași:
1. Comenzile - fiecare comandă din coadă care nu a fost încă exportată (câmpul ExportDBSWinFlow gol sau 0) este deschisă din containerul WinArhi și trimisă ca XML. Rezultatul se reține în ExportDBSWinFlow: 200 = acceptată de server, 500 = eroare internă a serverului DBS (comanda nu se mai reîncearcă automat), 0 = altă eroare, de exemplu de comunicație (se reîncearcă la următoarea rulare).
2. Codurile ferestrelor - se transmit numai pentru comenzile acceptate de server (200) și, după transmitere, sunt scoase din coadă. Codurile comenzilor neacceptate rămân în coadă până când comanda ajunge să fie exportată - de exemplu după ce, în WAEagle Admin, i se pune ExportDBSWinFlow pe 0 (vezi Comenzi cu eroare la export). Astfel o comandă și codurile ei ajung întotdeauna împreună la DBS. Fiecare cod se transmite cu identificatorul comenzii, poziția din comandă și, pentru ferestrele din panouri, numărul ferestrei în panou.
Când o transmitere eșuează, fișierul XML care nu a putut fi trimis este salvat în subfolderul Export de lângă executabil (<cod comandă>.xml pentru comenzi, Tags_<data>.xml pentru coduri), iar mesajul de eroare apare în jurnal. Dacă baza de date a containerului este înlocuită (o nouă arhivă .wa17b), serviciul o reîncarcă automat.
Serviciul face parte din kitul WAEagle și se instalează în folderul acestuia (implicit C:\Program Files (x86)\DualSoft\WAEagle 17), pe serverul WinArhi sau pe orice calculator care are acces la folderul de date WinArhi, la serverul SQL al WAEagle și la internet. La sfârșitul instalării kitului se poate bifa opțiunea Start Server WAEagle ExportWndDB (windows database), care înregistrează și pornește serviciul; ulterior, același lucru se face rulând ca administrator WAEagle_ExportWndDB_Install.bat (înregistrează serviciul cu WAEagle_ExportWndDB.exe -INSTALL și îl pornește). Serviciul apare în lista de servicii Windows cu numele WAEagle_ExportWndDB (numele intern, folosit de comenzile sc și net, este ExportWndDB). Dezinstalarea se face cu WAEagle_ExportWndDB_Uninstall.bat, care oprește serviciul și îl elimină.
Contul sub care rulează serviciul (implicit Local System) trebuie să aibă drept de citire pe folderul de date WinArhi indicat prin RootPath. Dacă folderul este pe un alt calculator (cale de rețea), serviciul se configurează, din Servicii Windows, să ruleze sub un cont de domeniu cu acces la acea cale.
Configurare - fișierul WAEagle_ExportWndDB.ini
Setările se țin în fișierul WAEagle_ExportWndDB.ini din folderul serviciului. La prima pornire, dacă fișierul nu există, este creat din modelul WAEagle_ExportWndDB.model.ini livrat în kit. După orice modificare, serviciul trebuie repornit.
Secțiunea [General]
RootPath - folderul de date WinArhi, cel care conține folderele Date <container> (de exemplu C:\Users\<utilizator>\AppData\Roaming\DualSoft\WinArhi17.0). Dacă este gol, se folosește folderul serviciului.
Container1, Container2, ... - numele containerelor din care se exportă comenzi, adică denumirea folderului Date <container> fără prefixul "Date ". Cheile se citesc în ordine, până la prima lipsă sau goală; o comandă de exportat este căutată pe rând în fiecare container.
Secțiunea [Server]
URL - adresa serviciului DBS la care se face transmiterea; implicit https://cockpit.windoflow.com/IpsCore/public/service/erp/generic/transfer. Se schimbă doar la indicația DBS.
Header_Field_X_IPS_APIKey - cheia de acces (API key) primită de la DBS pentru firma dumneavoastră; se transmite în antetul X-IPS-APIKey al fiecărei cereri. La prima pornire a serviciului, cheia este mutată, codificată, în Header_Field_X_IPS_APIKey_ENCODED, iar acest câmp este golit, astfel încât cheia nu rămâne în clar în fișier. Pentru a schimba cheia, se completează din nou Header_Field_X_IPS_APIKey și se repornește serviciul.
Header_Field_X_IPS_APIKey_ENCODED - completat automat de serviciu; nu se editează manual.
În folderul serviciului se scrie câte un fișier Log<an-lună-zi>.log pe zi, cu pornirea motorului WinArhi pentru fiecare container ("WAEngine Started") și erorile: de conectare la serverul SQL sau de comunicație cu serverul DBS (cu răspunsul acestuia). Fișierul LogInstant.log reține doar ultimul mesaj, împreună cu memoria folosită, și arată dacă serviciul mai lucrează.
Comenzile refuzate de serverul DBS (500) se văd și se pot retrimite din WAEagle Admin, fila Comenzi cu eroare la export.