X.INCLUDE('MyLibFile.txt'); var vUSERSCTXMENU = ',' + X.CCCWSSETTINGS.USERSCTXMENU + ','; //Χρήστες που εμφανίζεται το right click menu var vSALSERIESCONV = ',' + X.CCCWSSETTINGS.SALSERIESCONV + ','; //Σειρές που εκτελείται ο custom μετασχηματισμός var vUSER = ',' + X.SYS.USER + ','; function ON_CREATE() { ChangeContextMenus(); //Αλλαγή των μενού που εμφανίζονται στο δεξί κλικ (browser και lines) ==== ΠΡΟΣΟΧΗ ΟΡΙΖΕΤΑΙ ΜΟΝΟ ΣΤΟ ON_CREATE ==== } function ChangeContextMenus() { //Στα internal objects το StringList του Browser έχει όνομα BRMENU και του grid GRIDMENU. //Στα παραστατικά πωλήσεων, αγορών και αποθήκης το grid των υπηρεσιών είναι SRVGRIDMENU και των Παγίων ASSGRIDMENU //Μενού browser if (vUSERSCTXMENU.indexOf(vUSER) > -1) { var vBrowserMenu = X.EXEC('CODE:ModuleIntf.FindXStrings', X.MODULE, 'BRMENU'); X.EXEC('CODE:PiLib.TStringsSetItem', vBrowserMenu, 0, '201707191=1;Μετασχηματισμός SoftOne / Custom Μετασχηματισμός'); //Αλλαγή υπάρχουσας τιμής StringList //Προσθήκη νέων τιμών σε StringList X.EXEC('CODE:PiLib.TStringsAdd', vBrowserMenu, '-=-'); X.EXEC('CODE:PiLib.TStringsAdd', vBrowserMenu, '201707192=1;Οικονομικά στοιχεία πελάτη'); X.EXEC('CODE:PiLib.TStringsAdd', vBrowserMenu, '201707193=1;Run DLL Form'); X.EXEC('CODE:PiLib.TStringsAdd', vBrowserMenu, '-=-'); X.EXEC('CODE:PiLib.TStringsAdd', vBrowserMenu, '201709281=1;Εργασία 1?Custom Εργασίες'); X.EXEC('CODE:PiLib.TStringsAdd', vBrowserMenu, '201709282=1;Εργασία 2?Custom Εργασίες'); X.EXEC('CODE:PiLib.TStringsAdd', vBrowserMenu, '201709283=1;Εργασία 3?Custom Εργασίες'); X.EXEC('CODE:PiLib.TStringsAdd', vBrowserMenu, '201707194=3;Διαθεσιμότητα είδους'); X.EXEC('CODE:SysRequest.RefreshPopupMenu', X.MODULE, 'BRMENU', 1); //Refresh pop up menu } //Μενού γραμμών παραστατικού var vGridMenu = X.EXEC('CODE:ModuleIntf.FindXStrings', X.MODULE, 'GRIDMENU'); X.EXEC('CODE:PiLib.TStringsAdd', vGridMenu, '-=-'); X.EXEC('CODE:PiLib.TStringsAdd', vGridMenu, '201707195=Σχετικές καμπάνιες'); X.EXEC('CODE:PiLib.TStringsAdd', vGridMenu, '201707196=Διαθέσιμες παρτίδες'); X.EXEC('CODE:SysRequest.RefreshPopupMenu', X.MODULE, 'GRIDMENU', 0); //a = X.EXEC('CODE:PiLib.TStringsGetText', vGridMenu); //X.WARNING(a); //a = X.EXEC('CODE:PiLib.TStringsGetText', vBrowserMenu); } function EXECCOMMAND(cmd) { if (cmd == 201707191) { //Δεξί κλικ - Μετασχηματισμός στο ευρετήριο var vSelRecs; vSelRecs = X.GETPARAM('SELRECS'); if (vSelRecs == '') { X.WARNING ('Παρακαλώ επιλέξτε παραστατικά!'); return; } vSelRecs = vSelRecs.replace(/\?/g,","); var vds = X.GETSQLDATASET('SELECT DISTINCT SERIES FROM FINDOC WHERE '+ vSelRecs,null); if (vds.RECORDCOUNT > 1) { X.EXCEPTION ('Εχετε επιλέξει παραστατικά με διαφορετικές σειρές!'); } else { var vSeries = ',' + vds.SERIES + ','; if (vSALSERIESCONV.indexOf(vSeries) > -1) { X.EXEC('XCMD:FORMIMPORT,SCRIPTNAME:SalesCustomConv'); } else { X.EXEC('XCMD:CONVERTDLG,SOSOURCE:1351'); } } } if (cmd == 201707192) {//Δεξί κλικ σε browser - Οικονομικά στοιχεία πελάτη var vSelRecs; vSelRecs = X.GETPARAM('SELRECS'); if (vSelRecs == '') { X.WARNING ('Παρακαλώ επιλέξτε παραστατικά!'); return; } vSelRecs = vSelRecs.replace(/\?/g,","); var vds = X.GETSQLDATASET('SELECT DISTINCT TRDR FROM FINDOC WHERE '+ vSelRecs,null); if (vds.RECORDCOUNT > 1) { X.WARNING('Εχετε επιλέξει περισσότερους από έναν πελάτες!'); return; } else if (vds.RECORDCOUNT == 1) { X.EXEC('XCMD:CUSTOMER[FORM=Οικονομικά στοιχεία,AUTOLOCATE='+vds.TRDR+']'); } } if (cmd == 201707194) {//Δεξί κλικ σε browser - Γραμμές ειδών var vSelRecs; vSelRecs = X.GETPARAM('SELRECS'); X.WARNING(vSelRecs); if (vSelRecs == '') { X.WARNING ('Παρακαλώ επιλέξτε παραστατικά!'); return; } vSelRecs = vSelRecs.replace(/\?/g,","); var vds = X.GETSQLDATASET('SELECT DISTINCT MTRL FROM FINDOC INNER JOIN MTRLINES ON FINDOC.FINDOC=MTRLINES.FINDOC WHERE '+ vSelRecs,null); if (vds.RECORDCOUNT > 1) { X.WARNING('Εχετε επιλέξει περισσότερα από ένα είδη!'); return; } else if (vds.RECORDCOUNT == 1) { X.EXEC('XCMD:ITEM[FORM=Διαθεσιμότητα,AUTOLOCATE='+vds.MTRL+']'); } } if (cmd == 201707195) { X.WARNING('Το είδος '+ITELINES.X_NAME+ ' δεν υπάρχει σε καμπάνιες!'); } if (cmd == 201707196) { if (ITELINES.MTRL > 0) { X.EXEC('XCMD:ITEM[FORM=Διαθέσιμες παρτίδες,AUTOLOCATE='+ITELINES.MTRL+']'); } } if (cmd == 201709281) MyMessage(16, 'Προσοχή', 'Custom Εργασία 1'); if (cmd == 201709282) MyMessage(64, 'Πληροφορία', 'Custom Εργασία 2'); if (cmd == 201709283) { var answer = MyMessage(4, 'Ερώτηση', 'Custom Εργασία 3'); if (answer == 6) X.WARNING('Yes pressed'); else if (answer == 7) X.WARNING('No pressed'); } }