Menü seçeneklerinin GetExtensions metodu  ile dönülmesi gerekmektedir.

Metoda request olarak aşağıdaki gibi bir JSON string’i gelir.

{
 "appNr" : 13,
 "userNr" : 1,
 "firmNr" : 1,
 "langNr" : 1
}

App isterse bu bilgilere göre menülerini değiştirebilir.
Menülerle ilgli yetki kontrolunu kendisinin yapması gerekmektedir.

Menü seçeceğı seçildiğinde ExecuteAction olayı çağrılmaktadır.

Response olarak aşağıdaki alanları içeren bir array dönülmelidir.

type  

  1. Modüle
  2. Alt Menu
  3. Çalıştırılabilir menu
  4. Browser ekranında menu seçeneği
  5. Diğer ekranlardaki Popup menu seçeneği

tag

Pluginin kendi kullanacağı değer, kendi içinde tekil olmalı

name

Menu açıklaması

image

Bade64 PNG image

parentprogid

Eğer APP’e bağlı ait alt modulse, bağlı olduğu APP’e ait progid

parentid

Bağlı bulundupu parent’e ait id.


Aşağıda tüm istekler için örnek metod bulunmakta:


function TPlugin1.GetExtension(const request: WideString): WideString;
var
  ASuper: ISuperObject;
begin
  ASuper:=SO(request);
  Result:=
  '['+
  ' { '+
  '  "type" : 1,'+
  '  "tag"  : 1,'+
  '  "name" : "Deneme Plugin Menu",'+
  '  "image" : "'+ Icon_Image + '"'+
  ' },'+
  ' { '+
  '  "type" : 2,'+
  '  "tag"  : 2,'+
  '  "parentprogig": "",'+
  '  "parentid": 130,'+
  '  "name" : "Hizli Veri Giriş Alt Menu",'+
  '  "image" : "'+ Icon_Image + '"'+
  ' },'+
  ' { '+
  '  "type" : 2,'+
  '  "tag"  : 3,'+
  '  "parentprogid": "GoLib.Plugin1",'+
  '  "parentid": 1,'+
  '  "name" : "Deneme Plugin Alt Menu",'+
  '  "image" : "'+ Icon_Image + '"'+
  ' },'+
  ' { '+
  '  "type" : 3,'+
  '  "tag"  : 4,'+
  '  "parentprogid": "GoLib.Plugin1",'+
  '  "parentid": 3,'+
  '  "name" : "Deneme İşlem Menusu",'+
  '  "image" : "'+ Icon_Image + '"'+
  ' },'+


  //  
  ' { '+
  '  "type" : 4,'+ // Popup, Browse Form
  '  "tag"  : 5,'+
  '  "parentprogid": "",'+
  '  "parentid": 1001,'+
  '  "name" : "Deneme Popup İşlem Menusu-Browser-",'+
  '  "image" : "'+ Icon_Image + '"'+
  ' },'+
  ' { '+
  '  "type" : 5,'+ // Popup, Entry Form
  '  "tag"  : 6,'+
  '  "parentprogid": "",'+
  '  "parentid": 1001,'+
  '  "name" : "Deneme Popup İşlem Menusu",'+
  '  "image" : "'+ Icon_Image + '"'+
  ' }'+
  '] ';

end;



Bu şekilde tanımlandığında aşağıdaki gibi ekran olşuyor.


 


 



Popup menu seçeneği tıklandığında  aşağıdaki JSON ExecuteAction Metoduna parameter olarak geçiliyor:

(ExecuteAction Metoduna type=3 çalıştırılabilir menü tıklandığında geliyor.)



{
                "tag" : 5, --> APP tarafından verilen tag
                "formData" : {}, -->Form üzerindeki alanların bilgisi, Browser formlarda boş
                "gridCurLine" : 1, --Gridde seçili satır
                "formId" : 1001, --> FormId
                "type" : 4, --> Browser Form
                "data" : 2  --> refId
}




Veri giriş ekranı:





Veri giriş ekranındaki popupmeü tıklandığında yine ExecuteAction olayı çağrılır.


ExecuteAction
{
               "tag" : 6,  --> Appin verdiği tag.
               "formData" : {
                               "ITEM" : {
                                         "EXTCRD_FLAGS" : "63",
                                               "VAT" : "18",
                                               "HOUR_CREATED" : "16",
                                               "FACTORY_PARAMS" : "",
                                               "PURCH_DEDUCTION_PART2" : "3",
                                               "PURCH_DEDUCTION_PART1" : "2",
                                               "WH_PARAMS" : "",
                                               "SALE_DEDUCTION_PART2" : "3",
                                               "SALE_DEDUCTION_PART1" : "2",
                                               "DIST_LOT_UNITS" : "1",
                                               "CHARACTERISTICS" : {
                                                               "CHARACTERISTIC" : {
                                                                               "VCODE" : "",
                                                                               "CCODE" : ""
                                                               }
                                               },
                                               "MIN_MODIFIED" : "23",
                                               "RETURNPRVAT" : "18",
                                               "QPRODS" : {
                                                               "QPROD" : {
                                                                               "UUNIT" : "000,Merkez"
                                                               }
                                               },
                                               "HOUR_MODIFIED" : "11",
                                               "USEF_PURCHASING" : "1",
                                               "ALTERNATIVES" : {
                                                               "ITEM_SUBSTITUTE" : {
                                                                               "MAIN_CODE" : "",
                                                                               "END_DATE" : "31\/12\/2016",
                                                                               "SUBS_CODE" : "",
                                                                               "BEG_DATE" : "09\/09\/2016"
                                                               }
                                               },
                                               "COMB_LOT_UNITS" : "1",
                                               "SELVAT" : "18",
                                               "USEF_MM" : "1",
                                               "PRODUCER_CODE" : "yyy",
                                               "DATE_MODIFIED" : "09\/09\/2016",
                                               "ORGLOGOID" : "",
                                               "EXT_ACC_FLAGS" : "3",
                                               "UNITSET_CODE" : "05",
                                               "LOTS_DIVISIBLE" : "1",
                                               "RETURNVAT" : "18",
                                               "SEC_CREATED" : "55",
                                               "MIN_CREATED" : "14",
                                               "DATE_CREATED" : "25\/08\/2016",
                                               "PACKET" : "0",
                                               "AUTOINCSL" : "1",
                                               "MODIFIED_BY" : "1",
                                               "SUPPLIERS" : {
                                                               "SUPPLIER" : {
                                                                               "UNIT_CODE" : "",
                                                                               "UNITSET_CODE" : "",
                                                                               "PACKET_CODE" : "",
                                                                               "ORD_FREC" : "1"
                                                               }
                                               },
                                               "UNITS" : {
                                                               "UNIT" : ""
                                               },
                                               "DATA_REFERENCE" : "2",
                                               "SELPRVAT" : "18",
                                               "NAME" : "MLZ.2",
                                               "DBOP" : "INS",
                                               "CODE" : "000000000000000000000001",
                                               "USEF_SALES" : "1"
                                               "GL_LINKS" : [{
                                                                               "INFO_TYPE" : "1
                                                               }, {
                                                                               "INFO_TYPE" : "2"
                                                               }, {
                                                                               "INFO_TYPE" : "3
                                                               }, {
                                                                               "INFO_TYPE" : "4"
                                                               }, {
                                                                               "INFO_TYPE" : "5
                                                               }, {
                                                                               "INFO_TYPE" : "6
                                                               }, {
                                                                               "INFO_TYPE" : "7"
                                                               }, {
                                                                               "INFO_TYPE" : "8"
                                                               }, {
                                                                               "INFO_TYPE" : "9"
                                                               }, {
                                                                               "INFO_TYPE" : "10
                                                               }, {
                                                                               "INFO_TYPE" : "11"
                                                               }, {
                                                                               "INFO_TYPE" : "12
                                                               }, {
                                                                               "INFO_TYPE" : "13"
                                                               }, {
                                                                               "INFO_TYPE" : "14"
                                                               }, {
                                                                               "INFO_TYPE" : "15
                                                               }, {
                                                                               "INFO_TYPE" : "16"
                                                               }, {
                                                                               "INFO_TYPE" : "17
                                                               }, {
                                                                               "INFO_TYPE" : "18"
                                                               }, {
                                                                               "INFO_TYPE" : "95"
                                                               }, {
                                                                               "INFO_TYPE" : "96"
                                                               }, {
                                                                               "INFO_TYPE" : "99"
                                                               }, {
                                                                               "INFO_TYPE" : "110"
                                                               }, {
                                                                               "INFO_TYPE" : "111"
                                                               }, {
                                                                               "INFO_TYPE" : "119
                                                               }, {
                                                                               "INFO_TYPE" : "135
                                                               }, {
                                                                               "INFO_TYPE" : "136"
                                                               }, {
                                                                               "INFO_TYPE" : "137
                                                               }, {
                                                                               "INFO_TYPE" : "143"
                                                               }, {
                                                                               "INFO_TYPE" : "162"
                                                               }, {
                                                                               "INFO_TYPE" : "199"
                                                               }
                                               ],
                                               "DOMINANT_CLASSES" : "",
                                               "CREATED_BY" : "1",
                                               "CARD_TYPE" : "1",
                                               "COMPOSITES" : {
                                                               "COMPOSITE" : ""
                                               },
                                               "SEC_MODIFIED" : "55"
                               }
               },
               "gridCurLine" : -1,  àListe ekranı olmadığı için 
               "formId" : 1001,
               "type" : 5, à Veri giriş ekranı
               "data" : 2 -- RefID
}

Örnek Proje

LogoDemoApp



Telif HakkıKullanım KoşullarıGizlilik
Copyright © 2018 Logo Yazılım