İçeriğe geç
Entegrasyonlar & GİB11 Haziran 20269 dk okuma

Logo Objects Nedir? Logo Entegrasyonuna Teknik Giriş

Logo Objects Nedir? Logo Entegrasyonuna Teknik Giriş

Yazar: Doğuhan Bulut
Kategori: Entegrasyonlar & GİB
Tarih: Haziran 2026


Logo Objects Nedir ve Neden Direkt SQL Yerine Kullanılmalı?

Logo Objects, Logo Tiger, Logo Go ve diğer Logo ERP ürünleri için geliştirilen COM (Component Object Model) tabanlı resmi entegrasyon katmanıdır. Basitçe söylemek gerekirse: Logo'nun kendi veri yapısına uygun kayıt oluşturmanıza, iş kurallarını otomatik doğrulamanıza ve hataları kontrollü yakalayıp loglayabilmenize olanak tanır.

Direkt SQL INSERT'in Eksiklikleri

Logo veritabanına direkt INSERT komutuyla veri yazmak teknik olarak mümkün, ancak şu riskleri taşır:

  1. İş mantığı kontrolü yok: KDV oranı, stok yetersizliği, müşteri kredi limiti gibi iş kurallarını siz manuel kontrol etmelisiniz.
  2. İlişkisel tutarlılık yok: Fiş başlığı (LG_XXX_01_STFICHE) ile satırları (LG_XXX_01_STLINE) elle eşleştirmeniz, LOGICALREF değerlerini kendiniz üretmeniz gerekir.
  3. Hata yönetimi zayıf: Veritabanı seviyesinde constraint hatası alırsınız, ancak "hangi iş kuralı ihlal edildi?" bilemezsiniz.
  4. Versiyon değişikliklerine hassas: Logo yeni sürümde tablo yapısını değiştirdiğinde kodunuz çöker.

Logo Objects'in Sağladıkları

Logo Objects kullanımında:

  • Veri modeli uyumu otomatik: Fiş oluştururken DataObject nesnesi, Logo'nun beklediği tüm alanları (FICHENO, DATE, TRCODE vb.) varsayılan değerlerle doldurur.
  • İlişkiler otomatik kurulur: Fiş içine eklediğiniz LINE nesneleri, fişe kaydedildiğinde otomatik olarak parent-child ilişkisi kurulur.
  • İki katmanlı hata yakalama:
    • İş mantığı hataları (örn. stok yetersiz): Post() metodu döndüğünde hata kodu ve açıklama gelir.
    • Veritabanı hataları (örn. unique constraint): Aynı Post() içinde yakalanır.
  • XML haberleşme katmanı: .NET tarafında COM nesnesi ile konuşursunuz, arka planda Logo'nun C++ motoru ile XML üzerinden haberleşir — veri bütünlüğü korunur.

Örneğin, Mersin'de faaliyet gösteren bir e-ihracat firması, günde 300 sipariş kaydını Logo Tiger'a aktarıyor. Direkt SQL kullanımında ayda 4-5 kez fiş numarası çakışması yaşıyorlardı. Logo Objects geçişi sonrası, Post() metodu fiş numarasını otomatik üretiyor ve çakışma riski ortadan kalktı.


.NET Projesinde Logo Objects Nasıl Eklenir?

Logo Objects, COM interop üzerinden .NET projelerine referans olarak eklenir. İşte adım adım süreç:

Adım 1: COM Referansı Ekleme

  1. Visual Studio'da projenize sağ tıklayın → Add ReferenceCOM sekmesi.
  2. Listeden "CanikSoft LogoObjectsX" veya "LogoObjects" (kurulu Logo versiyonuna göre) seçin.
  3. Ekle'ye tıkladığınızda, Visual Studio otomatik olarak Interop.LogoObjects.dll oluşturur.

Dikkat: Bu DLL, COM nesnesinin .NET wrapper'ıdır — Logo'nun kendi DLL'i değildir.

Adım 2: Temel Bağlantı Kodu (C#)

using LogoObjects;

var globals = new Globals();
globals.Connection.Server = "SQLSERVER_IP";
globals.Connection.Database = "LOGO_FIRMAKODU_XXX"; // Örn. LOGO_001_2026
globals.Connection.UserName = "sa";
globals.Connection.Password = "*****";
globals.Connection.Connect();

if (globals.Connection.Status == 1) // 1 = Bağlı
{
    Console.WriteLine("Logo bağlantısı başarılı.");
}

Adım 3: Basit Fatura Oluşturma Örneği

var invoice = new SalesInvoice();
invoice.Number = ""; // Boş bırakırsanız Logo otomatik üretir
invoice.Date = DateTime.Now;
invoice.ARPCode = "120.01.001"; // Cari hesap kodu

var line = new SalesInvoiceLine();
line.ItemCode = "URUN001";
line.Quantity = 10;
line.UnitPrice = 150.00;
line.VATRate = 20;

invoice.Lines.Add(line);

var result = invoice.Post(globals);
if (result == 0)
{
    Console.WriteLine($"Fatura kaydedildi. Referans: {invoice.InternalReference}");
}
else
{
    Console.WriteLine($"Hata: {invoice.ErrorCode} - {invoice.ErrorDescription}");
}

Önemli: Post() metodunun dönüş değeri 0 ise başarılı, değilse ErrorCode ve ErrorDescription property'leri hata detayını içerir.


XML Haberleşme Katmanı ve Veri Akışı

Logo Objects'in arkasında XML tabanlı haberleşme protokolü çalışır. Şöyle işler:

  1. COM nesnesine veri gönderirsiniz (.NET tarafında SalesInvoice nesnesine property set edersiniz).
  2. Objects katmanı bu veriyi XML'e serialize eder (Logo'nun kendi şemasına uygun).
  3. Logo ERP'nin core motoru XML'i parse eder, iş kurallarını çalıştırır ve veritabanına yazar.
  4. Sonuç XML olarak geri döner (başarı/hata bilgisi), Objects bunu .NET nesnesine deserialize eder.

Bu mimari sayesinde:

  • Veritabanı şeması değişikliklerinden izole kalırsınız (Logo ERP güncellemesinde XML şeması stabil kalır).
  • Logo'nun C++ codebase'ini doğrudan çağırmadan, soyutlanmış bir API üzerinden çalışırsınız.
  • Hata mesajları Türkçe ve anlaşılır gelir ("Stok kodu bulunamadı" gibi).

Pratik ipucu: Entegrasyon sırasında LogoObjects Debug Mode'u açarak XML trafiğini loglayabilirsiniz. Bu, hata ayıklama sırasında hangi alanın yanlış gönderildiğini görmenizi sağlar.


Run-Time Lisans Zorunluluğu ve Bayi Süreci

Logo Objects kullanımı için ayrı bir run-time lisansı gereklidir. Bu lisans olmadan COM nesnelerini başlatabilirsiniz, ancak Post() metodunu çağırdığınızda "Lisans bulunamadı" hatası alırsınuz.

Lisans Nasıl Alınır?

  1. Yetkili Logo Bayisi ile iletişim: Logo Objects lisansı doğrudan Logo'dan değil, yetkili bayi kanalından temin edilir.
  2. Proje bazlı veya yıllık lisans: Bazı bayiler proje bazında (tek seferlik), bazıları yıllık abonelik şeklinde satar.
  3. Lisans dosyası veya registry kaydı: Lisans genellikle sunucuya kopyalanan bir .lic dosyası veya registry key'i olarak gelir.

Fiyatlandırma notu: Logo Objects lisans maliyeti değişkendir — projenin kapsamına, kullanıcı sayısına ve bayi politikasına göre belirlenir. Keşif görüşmesinde netleşir.

Lisanssız Kullanım Senaryosu

Eğer lisansınız yoksa veya süresi dolduysa:

  • Globals.Connection.Connect() başarılı olur.
  • SalesInvoice nesnesi oluşturulur.
  • Ancak invoice.Post(globals) çağrısında "License not found or expired" hatası döner.

Bu yüzden test ve production ortamlarınızda mutlaka geçerli lisans bulundurun.


Logo Objects ve ERP Sürüm Uyumu

Logo Objects DLL'inin sürümü ile Logo ERP çalıştırılabilir dosyalarının (örneğin Tiger3.exe) sürümü mutlaka aynı olmalıdır. Aksi halde:

  • Minor sürüm farkı: Bazı property'ler eksik olabilir, uyarı verebilir ama çalışır.
  • Major sürüm farkı: COM nesnesinin imzası değişmiş olabilir, çalışma zamanı hatası (runtime exception) alırsınız.

Sürüm Kontrolü Nasıl Yapılır?

Logo ERP sürümünü öğrenme:

  • Logo Tiger menüsünden Yardım → Hakkında → Sürüm numarasını not edin (örn. 7.24.05).

Logo Objects DLL sürümünü öğrenme:

  • C:\Program Files (x86)\Logo\XXX\ klasöründe LogoObjects.dll dosyasına sağ tıklayın → Properties → Details.
  • Dosya sürümünü kontrol edin (örn. 7.24.05.xxx).

Eşleştirme kuralı:
İlk iki veya üç segment eşleşmeli (7.24 kısmı aynı olmalı). Build numarası (05 sonrası) farklılık gösterebilir.

Pratik senaryo: Mersin'de bir üretim firması Logo Tiger 7.22 kullanıyordu, yazılım ekibi 7.24 Objects DLL'i ile entegrasyon geliştirdi. Test ortamında sorun yoktu (çünkü test sunucuda 7.24 vardı), ancak canlıya alındığında Post() metodu "Object version mismatch" hatası verdi. Çözüm: Üretim sunucusunda Logo'yu 7.24'e güncellemek veya Objects DLL'i 7.22 ile değiştirmek.


Logo Objects ile Entegrasyon: Pratik Öneriler

Tecrübelerimizden yola çıkarak şu önerileri sunuyoruz:

1. Test Ortamında İzole Firma Kullanın

Logo'da ayrı bir test firma kodu oluşturun (örn. LOGO_TEST_2026). Entegrasyon testlerini buradan geçirin, canlı veriye dokunmayın.

2. Hata Loglamasını Detaylandırın

if (invoice.Post(globals) != 0)
{
    File.AppendAllText("logo_errors.log", 
        $"{DateTime.Now} | {invoice.ErrorCode} | {invoice.ErrorDescription}\n");
}

Bu loglar, sonradan hata analizi yaparken hayat kurtarır.

3. Transaction Yönetimini Logo'ya Bırakın

Logo Objects kendi transaction yönetimini yapar. Siz harici bir SqlTransaction açıp aynı anda direkt SQL ve Objects karıştırmayın — deadlock riski yüksek.

4. Stok Kodu ve Cari Kod Validasyonu Yapın

Objects'e göndermeden önce, stok kodunun ve cari hesap kodunun Logo'da mevcut olduğundan emin olun (basit bir SELECT sorgusu).

5. Tarih ve Dönem Kontrolü

Logo'da kapalı bir döneme (örneğin muhasebe kapanmış ay) kayıt atmaya çalışırsanız, Objects "Dönem kapalı" hatası döner. Entegrasyon logiğinizde aktif dönemi kontrol edin.


Sıkça Sorulan Sorular

Logo Objects lisansı ne kadar sürede temin edilir?

Yetkili bayi ile anlaştıktan sonra genellikle 2-5 iş günü içinde lisans dosyası veya registry anahtarı teslim edilir. Ancak bazı durumlarda (özel proje lisansı, çok sayıda kullanıcı) süreç 1-2 haftaya uzayabilir. Projenizin başında lisans temini için zaman ayırmanızı öneririz.

Lisanssız ortamda test yapabilir miyim?

Hayır. Post() metodu çağrısı lisans kontrolü yaptığı için lisanssız ortamda gerçek kayıt oluşturamazsınız. Ancak nesne oluşturma, property set etme gibi işlemleri yapabilirsiniz. Bazı bayiler demo lisansı sağlayabilir — sorun.

Logo Objects yerine REST API yok mu?

Haziran 2026 itibariyle Logo'nun resmi REST API'si bulunmuyor. Logo Objects COM tabanlı ve Windows sunucu gerektirir. Eğer Linux ortamında veya modern mikroservis mimarisinde çalışıyorsanız, ara bir Windows servis katmanı (wrapper service) geliştirmeniz gerekir.

Sürüm uyumsuzluğu durumunda nasıl hareket edilmeli?

Öncelikle Logo ERP sürümünü sabitleyin (production ortamında). Ardından bu sürüme uygun Objects DLL'ini edinin ve geliştirme ortamınıza kurun. CI/CD pipeline'ınızda DLL versiyonunu kontrol eden bir script ekleyebilirsiniz.

Logo Objects ile hangi modüller entegre edilebilir?

Satış faturaları, satın alma faturaları, stok fişleri, cari hesap hareketleri, banka hareketleri, çek-senet işlemleri, üretim emirleri gibi neredeyse tüm Logo modülleri Objects üzerinden yönetilebilir. Her modül için ayrı COM nesnesi vardır (örn. SalesInvoice, PurchaseOrder).

D'Cloud Software Logo entegrasyon projelerinde hangi hizmetleri veriyor?

D'Cloud Software olarak Logo Tiger ve Go entegrasyonlarında şu hizmetleri sunuyoruz:

  • Logo Objects mimarisi kurulumu ve lisans temini (bayi kanalı koordinasyonu)
  • E-ticaret, CRM, WMS gibi sistemlerden Logo'ya veri aktarımı (sipariş, fatura, stok)
  • Hata yönetimi, loglama ve retry mekanizması tasarımı
  • Sürüm uyumu testleri ve deployment desteği
  • 15 gün ücretsiz hata düzeltme garantisi (proje tesliminden sonra)

Proje maliyeti, entegre edilecek modül sayısına ve veri hacmine göre değişkendir — keşif görüşmesinde netleşir ve sözleşmede sabit fiyat olarak yazılır.


Sonuç: Logo Entegrasyonunda Profesyonel Yaklaşım

Logo Objects, Logo ERP ile entegrasyon yaparken iş mantığı güvenliği, veri modeli uyumu ve kontrollü hata yönetimi sağlayan tek resmi yöntemdir. Direkt SQL kullanımının cazibesine kapılmak yerine, Objects mimarisine yatırım yapmak uzun vadede bakım maliyetlerini düşürür ve hata oranını minimize eder.

Özetlemek gerekirse:

  1. .NET projelerinize COM referansı olarak ekleyin ve XML haberleşmenin avantajlarından faydalanın.
  2. Run-time lisansı için yetkili bayiyle iletişime geçin — bu adım zorunludur.
  3. ERP ve Objects sürümlerini senkronize tutun — versiyon uyumsuzluğu runtime hatalarına yol açar.
  4. Test ortamında izole firma kullanarak iş mantığı hatalarını önceden yakalayın.
  5. Hata loglamasını detaylandırın ve production'da sürekli izleyin.

Mersin merkezli, 3 kıtada hizmet veren D'Cloud Software olarak Logo entegrasyon projelerinizde yanınızdayız. Ücretsiz online keşif görüşmesi için bizimle iletişime geçebilir, projenizin teknik gereksinimlerini detaylı analiz edebilirsiniz. Sözleşmede yazılı sabit fiyat, 15 gün ücretsiz hata düzeltme garantisi ve deployment sonrası teknik destek ile çalışıyoruz.

Logo Objects entegrasyonunuz için doğru partner arıyorsanız, iletişime geçin — WhatsApp veya iletişim formu üzerinden randevu alabilirsiniz.

YAZAR

Doğuhan Bulut

Kurucu & CTO

Full-stack mimari ve ürün stratejisi. Next.js ve bulut altyapılarında 10+ yıl deneyim.

SIRADAKİ ADIM

ERP geçişinizi planlayalım

Logo, Netsis, Mikro, SAP veya custom: mevcut süreçleri haritalandırıp doğru sistemde karar verelim. 30 dk ücretsiz keşif.

Ücretsiz keşif al
BENZER İÇERİKLER İSTERSEN

Aylık dijital özet bültenimiz

Ayda 1 e-posta — yeni teknoloji, KOBİ + KVKK güncellemeleri, vaka çalışmaları. Spam yok, istediğiniz an çıkış.