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');
}
}
Comments