Logo Apps Nedir?

Logo Apps aslında bir plugindir. Logo uygulamaları içinde uygulama ile entegre çalışabilecek COM tabanlı uygulamalar olarak tasarlanmıştır. Hazırlanan pluginler, LogoStore üzerinden satışa sunulacak ve satın alınan pluginler  bu adresten indirilip, uygulamaya yüklenecektir.


Plugin Satınalma Ve Yükleme Nasıl Yapabilirim?

Logo Apps satın almak için eklenti listesi penceresinden LOGO Store’dan yükle sekmesini seçiniz. Sekmeye tıkladığınızda LogoStore üzerinden uygulamanıza uygun pluginler listelenecektir.

Gelen liste üzerinden ‘Satın Al!’ linkine tıklayarak plugin’i satın alıp kurabilirsiniz veya daha önce satın alıp kurmuş olduğunuz plugini ‘Sil!’’ linkine tıklayarak kaldırabilirsiniz. Satın almış olduğunuz plugine ait güncelleme varsa ‘Güncelle!’ linkine tıklayarak yeni sürümü kurabilirsiniz.

Plugin’i satın aldığınızda uygulama tarafından kullanılabilmesi için, uygulamanın yeniden başlatılması gerekir.

http://logostore.logo.com.tr/


Logo ürünlerindeki WCF Servis, LObjects, LOD gibi uyarlama araçlarının yerini 3 serisi ürünlerde Logo Apps mi alacak?

Hayır. Çözüm Ortaklığı yapısında ve diğer uyarlama/entegrasyon araçlarında bir değişiklik yapılması planlanmıyor. Logo Apps, 3 serisi ürünler için yeni bir uygulama yöntemidir. Uyarlama/entegrasyon araçları ve yetenekleri ile Logo Apps sistemi birbirinden ayrı farklı kavramlardır. 


Logo Apps ne tür uygulamalar için uygun?

Çok sayıda müşterinin ihtiyacını karşılayacak, genelde tek ekranlık, basit, erp modüllerinden bağımsız küçük çaplı uygulamalardır.

Örneklerine Logo Apps ana sayfasından ulaşabilirsiniz.


Logo Apps sadece belli kullanıcılar için geliştirilebilir mi? Kullanıcı kısıtı konulabilir mi?

Logo Apps tüm Logo ekosisteminde çalışması planlanan, amaca uygun küçük uygulama parçalarıdır.

Belli bir sektöre veya belli bir kullanıcı portföyüne hitap eden uygulamalar olabilir.

Ancak tek bir kullanıcı için veya tek bir firmanın kullanımına uygun Logo Apps geliştirmesi yapılamaz.


Logo ürünlerinde hangi modüller için apps yazabiliriz?

Tiger3 ve Go3 RestApi modüllerini aşağıdaki linkten inceleyebilirsiniz.

http://docs.logo.com.tr/public/lgap/klavuzlar/go3-tiger3-tiger-enterprise-3-icin-rest-api-veri-isleme-farklari

 

Logo Apps geliştiriyorum. Sizden temin ettiğim Api Key bilgisini nasıl kullanabilirim?

Konuyla ilgili geliştirici klavuzundaki GetApiKey başlığını inceleyebilirsiniz.

http://docs.logo.com.tr/public/lgap/logoapps-kuetuephane/ilogoplugin


Invalid Directory hatası nedir? 

Uygulamanızın manifest dosyası adı ile projenin klasörüne verdiğiniz isim farklı ise bu hata ile karşılaşırsınız.

Klasöre manifest dosyanız ile aynı ismi verirseniz sorun düzelecektir.


Logo Apps metodları ile Tiger3/Netsis3 içerisinde gerçekleşen olayları yakalayabilir miyiz?

OnEvent metodu Tiger3/Netsis3 içerisindeki hareketleri yakalamamıza yarayan metoddur.

Ürün(Go3,Tiger3) tarafında meydana gelen olaylar bu metodla Logo App'e bildirilir.

Üründe bir form açılığında Logo App'te bir handler çalışmasını istiyorsanız OnEvent arayüzünü kullanmalısınız.

Parametre

Açıklama

eventType

Meydana gelen olayı belirtir Integer değerdir.

formId

Olayın meydana geldiği formun id’si

formName

Olayın meydana geldiği formun adı.

formData

Olayın meydana geldiği forma ait veriler.

controlName

Olayın meydana geldiği controlun adı

controlIndex

Olayın meydana geldiği controle göre değişir. DBGridler’de seçili satırı gösterir.

data

Olayın meydana geldiği forma göre değişir.

Listeleme formlarında açılırken 0 olarak gelirken veri girişi formlarında değişiklik yapılan kayda ait lrefid gelir.

DbGrid’lerde seçili kayda ait lrefid’yi gösterir.

eventType

Açıklama

Örnek

49

Form açıldığı zaman tetiklenir.

{
"formName": "ClFicheBrwForm",
"formData": "",
"controlName": "",
"controlIndex": 0,
"formId": 55,
"eventType": 49,
"data": 0
}
{
"formName": "ItemForm",
"formData": "",
"controlName": "",
 "controlIndex": 0,
"formId": 1001,
"eventType": 49,
"data": 2
}
Refid : 2 olan kaydın seçildiğini gösterir.

50

Form kapatılırken tetiklenir.

{ "formName": "ClFicheBrwForm",
"formData": "",
"controlName": "",
"controlIndex": 0,
"formId": 55,
"eventType": 3,
"data": 0
}

42

Listeleme ekranlarında yeni kayıt butonuna basıldığında tetiklenir.

{
"formName": " ClFicheBrwForm ",
"formData": "",
"controlName": " ClFicheGrid ",
"controlIndex": 55,
"formId": 55,
"eventType": 42,
"data": 1
}

37

Listeleme ekranlarında değiştir butonuna basıldığında tetiklenir.

{
"formName": "CSCardBrw",
"formData": "",
"controlName": "CSCardDataGrid",
"controlIndex": 1,
"formId": 5000,
"eventType": 37,
"data": 1
}

22

Listeleme ekranlarında sil butonuna basıldığında tetiklenir.

{
"formName": "AccFicheBrwFrm",
"formData": "",
"controlName": "AccFicheGrid",
"controlIndex": 904,
"formId": 904,
"eventType": 22,
"data": 1
}

38

Listeleme ekranlarında incele butonuna basıldığında tetiklenir.

{
"formName": "CSCardBrw",
"formData": "",
"controlName": "CSCardDataGrid",
"controlIndex": 1,
"formId": 5000,
"eventType": 38,
"data": 1
}

47

Listeleme ekranlarında kopyala butonuna basıldığında tetiklenir.

{
"formName": "AccBrw",
"formData": "",
"controlName": "AccDataGrid",
"controlIndex": 0,
"formId": 900,
"eventType": 47,
"data": 1
}

34

Grid Listelerinde satır seçildiğinde tetiklenir.

{
"formName": "BnFcBrwForm",
"formData": "",
"controlName": "BnFchBrwData",
"controlIndex": 2,
"formId": 758,
"eventType": 34,
"data": 2
}

Aşağıdaki listede LOD ve LogoApp içinde kullanılan eventlerin listesi bulunmakta.

 LOGO App’lerde tüm eventler kullanılmıyor.

{ Events }

      LEVT_FORMCREATE   = 1;

      LEVT_FORMCLSQRY   = 2;

      LEVT_FORMCLOSE    = 3;

      LEVT_FORMACTIV    = 4;

      LEVT_FORMDEACTIV  = 5;

      LEVT_FORMKEYDOWN  = 6;

      LEVT_CTRLVERIFY   = 7;

      LEVT_CTRLENTER    = 8;

      LEVT_CTRLEXIT     = 9;

      LEVT_CTRLKEYPRESS = 10;

      LEVT_DBLCLICK     = 11;

      LEVT_BTNCLICK     = 12;

      LEVT_COMBOCHG     = 13;

      LEVT_BEFORESAVE   = 14;

      LEVT_AFTERSAVE    = 15;

      LEVT_MENUCLICK    = 16;

      LEVT_TBTNCLICK    = 17;

      LEVT_DBGEDITNEW   = 18;

      LEVT_DBGEDITCUR   = 19;

      LEVT_DBGEDITDUP   = 20;

      LEVT_DBGVIEWCUR   = 21;

      LEVT_DBGDELCUR    = 22;

      LEVT_DBGSELCUR    = 23;

      LEVT_POPUPMENU    = 24;

      LEVT_DBGPREPQRY   = 25;

      LEVT_DBGSETROW    = 26;

      LEVT_FORMSHOW     = 27;

      LEVT_SAVEDATA     = 28;

      LEVT_DELETEDATA   = 29;

      LEVT_MGROWCHANGE  = 30;

      LEVT_POPUPAFTERCLK= 31;

      LEVT_CTRLCHANGE   = 32;

      LEVT_BEFOREDBLCLICK= 33;

      LEVT_DBGROWCHANGE = 34;

      LEVT_DBGAFTERDEL  = 35;

      LEVT_DRAWCELL     = 36;

      LEVT_DBGEDITCHK   = 37;     

      LEVT_DBGVIEWCHK   = 38;

      LEVT_ONTIMER      = 39;

      LEVT_POPUPFILTACT = 40;

      LEVT_COMBOFLT     = 41;

      LEVT_DBGNEWCHK    = 42;

      LEVT_MGBEFOREDEL  = 43;

      LEVT_DBGSELCHK    = 44;

      LEVT_MGAFTERDEL   = 45;

      LEVT_MGAROWCHANGE = 46;

      LEVT_DBGDUPCHK    = 47;

      LEVT_DBGSORTFLD   = 48;

      LEVT_FORMAFTERSHW = 49;


LogoApps destek araçları nelerdir?

Aşağıdaki adresler LogoApps'in destek araçlarıdır.

docs.logo.com.tr

forum.logo.com.tr

[email protected]


Logo Apps’in çalışabilmesi için hangi dosyalar gereklidir?

Aşağıdaki dosyalar LogoApps'in çalışabilmesi için minimum dosya gereksinimleridir.


Manifest :  Manifest dosyası, dll’imizin özelliklerini tanımladığımız dosyadır. Bu dosyada .net versiyonu, uygulamamızın namespace’i ve main classımız tanımlanıyor.

dll : DLL dosyası çalışan programların ortaklaşa yapmış olduğu işlemleri tek bir dosyada yapar, programın çalışma esnasında gerekli olan fonksiyonlar kendi içerisinde bulunmaz ise bunu dinamik link kütüphanesi’nde yani DLL dosyasında arar.

Tlb : Tlb dosyası ise dll’imizin tip kütüphanesidir. COM dll’imiz register edilmediğinden tip kütüphanesi windows registeryden değil bu dosya üzerinden okunarak işlenir.


LogoApps içerisinden yapılacak kart veya fiş aktarımlarında hangi yöntem kullanılır?

Aktarım için REST servis kullanılır. 

Rest LogoObject ile haberleştiği için LogoObjectin de registry durumda olması gerekir. LogoObject registry değilse Rest Hata döndürür.

LogoApps'ten Rest arayüzlerini kullanmak için LogoObjects lisansı gerekli değildir. 

http://docs.logo.com.tr/public/wua/logo-objects-rest-servis


LogoApps ten Tiger3’e veri aktarım formatı olarak hangisi kullanılmaktadır?

Aktarım formatı olarak JSON formatı kullanılır.


Logo Apps hangi geliştirme ortamında oluşturulan register-free COM dll dosyalarını kabul etmektedir?

Geliştirme ortamı olarak Visual Studio (.NET) kullanıllır. Bunun sebebi .NET Framework’ün yaygın olmasıdır.

.NET framework ün versiyonu 4.5 olmalı. 32 bit ya da 64 bit olması farketmez.

Birden fazla platformun desteklenmemesinin sebebi ise her geliştirme ortamının kendine özgü kısıt ve isteklerinin olması.


Veritabanı bilgilerini alabileceğimiz metod hangisidir?

Konfigürasyon bilgileri GetConfig metodu ile alınır. 

  • Request ile parametre olarak “type”  parametresi gelir.
  • Response değeri “type” parametresine göre değişir.

    Alabileceği değer

    Açıklama

    connection

    Uygulamaya ait db bilgileri döner. Bu bilgiler :  “userName” , “passWord” , “DBType” , “serverName”, “DBName”.


    request

    response

    {
      “type”:”connection”
    }
    {
        “userName” : “sa”,       
        “passWord :”x”,
        “DBType” : 1,
        “serverName” : “localhost”
         “DBName” : “test”
    }


    LogoApp’lerin IDM ile entegrasyonu için  GetConfig metodunun ‘connection’ parametresi ile yapılan çağrılarına AccessToken bilgisi eklendi.

    GetConfig(‘connection’) =>

    {

    ..

    ‘AccessToken’ : ’TOKEN’

    }


    user

     Uygulamayı kullanan aktif kullanıcıya ait bilgiler döner. Bu bilgiler :  “AppNr” , “FirmNr” , “TermNr” , “CurrentPeriod”, “DBType”,  “FYStart” , “FYEnd”,  “TermUserNr”,"AppSerial","AppVersion","FYEnd","UserName","WebTempPath","CompanyNr","UserNr","LangNr","FYStart".


    requestresponse
    {
      “type”:”user”
    }
    {
              
    "AppNr":13,
      "Company":LOGO,
      "TermNr":1,
      "FirmNr":1, 
      "CurrentPeriod":2,
      "DBType":2,
      "TermUserNr":1,
      "AppSerial":"",
      "AppVersion":"02420000",
      "FYEnd":"",
      "UserPass":"",
      "UserName":"",
      "WebTempPath":"",
      "CompanyNr":1,
      "UserNr":1,
      "LangNr":1,
      "FYStart":"" 
    }
    settings

    Widget’a ait uygulamaya kaydedilmiş ayarlar döner. “settings” parametresi ile beraber “progid”,”tag” bilgileride gelmelidir.

    Dönen değerler : “settings” alanı alntında  “name” , “typ” , “value” dizisi döner.

    request

    response

    {
    “type”:”settings”,
      “progid: ”GoPlugin.Ornek”,
    “tag”: 1
    }
    {
      “settings”:
      [{
    “name” : ”Firma”,
           “typ”: ”string”,
           “value” : ”Deneme Firma”
      }]
    }
    restapiversion

    Uygulamada kurulu olan restapi servinin deskteklediği versiyon döner. Dönen değer  “version” alanı içinde bulunur.

    request

    response

    {
      “type”:” restapiversion”
    }
    {
      “version”: “v1”
    }
    appInfo

    Uygulamanın Netsis3'te mi yoksa Tiger3 veya Go3'te mi çalışacağını belirler.

    requestresponse
    {
      “type”: “appInfo”
    }

    {

       “group”: “LOGO”
       “name”: “Tiger3Enterprise”
    }
    theme

    Uygulamanın tema rengini belirler.

    requestresponse

    {

       “type”: “theme”

    }

    {

      “ActiveBorderColor”: “009EC0CC”
      “PassiveBorderColor”: “00B1D7E6”

    }


    Aşağıdaki kod örneği ile veritabanı bağlantı bilgilerini okuyabilirsiniz.

    Veri Tabanı Bilgilerini Okuma
    private void button_Click(object sender, EventArgs e)
    {    
    	ConnectionConfig config =AppHelper.Instance().GetConnectionConfig();
    	txtInfo.AppendText(config.username);
    	txtInfo.AppendText(config.password);
    	txtInfo.AppendText(config.dbname);
    	txtInfo.AppendText(config.servername);
    }


LogoApps içerisinden bir form ekranı açtırılabilir mi?

Openform metodu ile app içerisinden form ekranı açtırılabilir.

Örneğin bir cari hesap browserını açma işlemi Plugin ile yapılabilmektedir.

Aşağıdaki kod örneği ile cari hesap browserını açtırabilirsiniz.

Cari Hesap Browserı Açma
private void button1_Click(object sender, EventArgs e)
    {
        string oform = "{\"actType\": \"openform\", \"formId\": 531,\"refId\": 0 }";
        AppInit._Host.ExecuteAction(oform);
    }


Logo Apps geliştirme aşamasında kullanmak istediğiniz formların Id listesine aşağıdaki dökümandan ulaşabilirsiniz.

OpenFormID


İndirilen LogoApps‘ler nerede tutuluyor?

+  butonu ile Logo App penceresi açılır. açıaln pencerede Logo Store'dan yükle tabından store'a ulaşılır. 

Yükleme işlemleri yapıldıktan sonra tüm appler ürün kalsörü altında Plugins.sxs klasörü içerisinde tutulur.

Ayrıca "App Yükle"  butonu ile yüklenen appler de Plugin.sxs klasörü altında tutulur.

App Yükle butonu Çözüm Ortağı paketlerinde ve App Geliştirme paketlerinde mevcuttur. Bayi paketlerinde bulunmaz.

Güncelleme işlemleri de app'i indirdiğimiz "Logo Store'dan Yükle" alanından yapılır.


LogoApps ikon formatı ne olmalıdır?

Logosphere’e yüklenecek ikon için boyut = 48 x 48 png formatında base64string olmalıdır.

LogoStore’a koyulacak ikon için boyut = 272 x 200 ölçülerinde olmalıdır.


LogoApps içerisinde geliştirici bilgileri tutuluyor mu?

Logo App Store ekranı içerisindeki "Bilgi" butonu ile, açılacak ekranda iletişim bilgilerinizi yayınlayabilirsiniz.

Bu bilgileri aşağıdaki örnekteki gibi PluginGetConfig içerisinde tanımlayabiliyoruz.

GetConfig-About
public string PluginGetConfig(string request)
{
    return "{\"about\":\"Logo Yazılım \n\n [email protected] \n 0 (262) 679 80 81 \n www.logo.com.tr \"}";
}



Daha fazlası için http://forum.logo.com.tr/index.php?page=category&id=11 sayfasını ziyaret edebilir, sorularınızı sorabilirsiniz.


 


Page viewed 6713 times by 9 users since Dec 10, 2015




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