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:
- İş mantığı kontrolü yok: KDV oranı, stok yetersizliği, müşteri kredi limiti gibi iş kurallarını siz manuel kontrol etmelisiniz.
- İlişkisel tutarlılık yok: Fiş başlığı (
LG_XXX_01_STFICHE) ile satırları (LG_XXX_01_STLINE) elle eşleştirmeniz,LOGICALREFdeğerlerini kendiniz üretmeniz gerekir. - Hata yönetimi zayıf: Veritabanı seviyesinde constraint hatası alırsınız, ancak "hangi iş kuralı ihlal edildi?" bilemezsiniz.
- 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
DataObjectnesnesi, 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
LINEnesneleri, 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.
- İş mantığı hataları (örn. stok yetersiz):
- 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
- Visual Studio'da projenize sağ tıklayın → Add Reference → COM sekmesi.
- Listeden "CanikSoft LogoObjectsX" veya "LogoObjects" (kurulu Logo versiyonuna göre) seçin.
- 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:
- COM nesnesine veri gönderirsiniz (.NET tarafında
SalesInvoicenesnesine property set edersiniz). - Objects katmanı bu veriyi XML'e serialize eder (Logo'nun kendi şemasına uygun).
- Logo ERP'nin core motoru XML'i parse eder, iş kurallarını çalıştırır ve veritabanına yazar.
- 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?
- Yetkili Logo Bayisi ile iletişim: Logo Objects lisansı doğrudan Logo'dan değil, yetkili bayi kanalından temin edilir.
- Proje bazlı veya yıllık lisans: Bazı bayiler proje bazında (tek seferlik), bazıları yıllık abonelik şeklinde satar.
- Lisans dosyası veya registry kaydı: Lisans genellikle sunucuya kopyalanan bir
.licdosyası 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.SalesInvoicenesnesi 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ündeLogoObjects.dlldosyası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:
- .NET projelerinize COM referansı olarak ekleyin ve XML haberleşmenin avantajlarından faydalanın.
- Run-time lisansı için yetkili bayiyle iletişime geçin — bu adım zorunludur.
- ERP ve Objects sürümlerini senkronize tutun — versiyon uyumsuzluğu runtime hatalarına yol açar.
- Test ortamında izole firma kullanarak iş mantığı hatalarını önceden yakalayın.
- 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.
Doğuhan Bulut
Kurucu & CTO
Full-stack mimari ve ürün stratejisi. Next.js ve bulut altyapılarında 10+ yıl deneyim.
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 alAylık dijital özet bültenimiz
Ayda 1 e-posta — yeni teknoloji, KOBİ + KVKK güncellemeleri, vaka çalışmaları. Spam yok, istediğiniz an çıkış.
İlgili Yazılar
ERP Sürüm Yükseltmesi Entegrasyonu Neden Kırar? Önleyici Kontrol Listesi
ERP sürüm yükseltmesi sonrası e-fatura durdu, stok senkronizasyonu çalışmıyor mu? Entegrasyonun neden tek seferlik proje değil sürekli bakım kalemi olduğunu, kırılmanın 6 teknik nedenini ve önleyici kontrol listesini okuyun.
Devamını okuLogo Tiger Verisine Erişim: SQL, Logo Objects ve REST Servis Karşılaştırması
Logo Tiger entegrasyonu için üç erişim yolu var: doğrudan SQL, Logo Objects ve REST servis. Her yolun avantajları, kısıtları ve özellikle dönem numarası kaynaklı sessiz hataların nasıl önleneceğini detaylı inceliyoruz.
Devamını okuOsmaniye İşletmeleri için e-Fatura + Ön Muhasebe Otomasyonu
e-Fatura zorunluluğu artık sadece büyük firmalar için değil. Osmaniye'deki KOBİ'ler için e-fatura, e-arşiv ve ön muhasebe otomasyonunu entegre etmek, hem yasal uyumu sağlıyor hem de mali süreçleri hızlandırıyor.
Devamını oku