Ençok kullanilan muhasebe programlarindan biri olan Tiger programi çok kullanisli olmasina ragmen genis çapli özellestirilememektedir. Bazen çok küçük bir islem için bile tüm programi baslatmamiz gerekmektedir veya yaptigimiz rutin isler için biraz daha basit bir yapi talep ederiz. Bu ve benzeri durumlar için Tiger programi Lobject.dll i sayesinde entegre uygulamalari desteklemektedir. Lobject.dll kullanilarak Object Oriented programlama dilleri ile uygulamalar gelistirilebilinmektedir. En çok mobil cihazlarda ihtiyaç duyulmaktadir.
Bu makalede Lobject.dll ile yeni malzeme karti tanimlamasini anlatmaya çalisacagim.
Öncelikle Lobject.dll class ve metotlarini kullanabilmemiz için, yazdigimiz class’a Lobject.dll kütüphanelerinin eklenilmesi gerekiyor.
using UnityObjects; using System.Data;.
Daha sonra kodlamaya geçiyoruz. Yeni Malzeme karti tanimlamasi basitçe asagidaki gibidir.
UnityObjects.Data _newMalzeme = new Data(); _newMalzeme = Genel.UnityApp.NewDataObject(UnityObjects.DataObjectType.doMaterial); _newMalzeme.New(); _newMalzeme.DataFields.FieldByName("CODE").Value = _code; //Zorunlu Alandir.Urun kodu _newMalzeme.DataFields.FieldByName( "NAME" ).Value = _name; //Zorunlu Alandir. Urun adi _newMalzeme.DataFields.FieldByName( "CARD_TYPE" ).Value = _cardtype; //Zorunlu Alandir.Kart tipi _newMalzeme.DataFields.FieldByName("UNITSET_CODE").Value = "ADET"; //Zorunlu Alandir.Birim (adet,kg,gr...) // _newMalzeme.DataFields.FieldByName("GROUP_CODE").Value = "AGÇ"; //Zorunlu degildir. Malzeme grup kodu _newMalzeme.DataFields.FieldByName( "VAT" ).Value = _vat; //Zorunlu Alandir.KDV _newMalzeme.DataFields.FieldByName("SELVAT").Value = _vat; _newMalzeme.DataFields.FieldByName("RETURNVAT").Value = _vat; //Malzeme kartinin detayi ekleniyor. Lines detay = _newMalzeme.DataFields.FieldByName("UNITS").Lines; //Malzeme detayi. Zorunlu degildir. //if (detay.AppendLine()) {//ÜRÜNLER EKLENIYOR detay[0].FieldByName("UNIT_CODE").Value = "ADET"; detay[0].FieldByName("USEF_MTRLCLASS").Value = 1; detay[0].FieldByName("USEF_PURCHCLAS").Value = 1; detay[0].FieldByName("USEF_SALESCLAS").Value = 1; detay[0].FieldByName("CONV_FACT1").Value = 1; detay[0].FieldByName("CONV_FACT2").Value = 1; //detay[0].FieldByName("BARCODE").Value = "HP7700BARKOD7"; //detay[0].FieldByName("DATA_REFERENCE").Value ="~"; //detay[0].FieldByName("VOLUME").Value = "22"; //detay[0].FieldByName("WEIGHT").Value = "22"; Lines detay1 = detay[0].FieldByName("BARCODE_LIST").Lines; if (detay1.AppendLine()) { detay1[0].FieldByName("BARCODE").Value = _barcode; } } if (_newMalzeme.Post()) { _result = true; }.
Yukarida görülecegi üzere Lobject.dll ile yeni malzeme karti tanimlamasi oldukça kolay ve gelistirilebilir.
Kisaca yukarida yaptigimizi anlatacak olursak:
Lobject.dll ‘de tüm veri islemlerinde ”Data” isimli nesne tanimlanir.
UnityObjects.Data _newMalzeme = new Data();
Daha sonra hangi bölümde islem yapilmak isteniyorsa onun tipi tanimlanir asagidaki gibi.
_newMalzeme = Genel.UnityApp.NewDataObject(UnityObjects.DataObjectType.doMaterial);
Daha sonra malzeme kartinin zorunlu alanlari girilir. Malzemeye ait ektra detay bilgisi eklenilmek isteniyorsa (barkod, gr, adet ..) bu bilgileri Lines tipi degisken araciligiyla ekliyoruz..
Lines detay = _newMalzeme.DataFields.FieldByName("UNITS").Lines; //Malzeme detayi.
Post metodu ile islemimizi kaydediyoruz( Execute).
_newMalzeme.Post();
Konu ile ilgili daha detayli bilgi almak için iletisim bilgilerim asagidadir.
Kolay gelsin…
AHMET TÜRKER
turker.ahmet38@gmail.com
Merhaba LOGO GO3 için Lobject.Dll kullanabilir miyiz?
Teşekkürşer
Merhabalar,
Ben cari karty da malzeme kartynyda ba?ary ile açabiliyorum.Ancak benym object.dll kullanarak muhasebe fi?i(karty) olu?turmam gerek.Açty?ym faturanyn muhasebele?ebilmesi için buna gerek var.Bunu nasyl yapabilirim.Yardymcy olursanyz sevinirim
Te?ekkürler
Mustafa Bey,
Asagidaki sorun lisans problemi diye biliyorum. Ayni hatayi daha önce bende almistim. Lisans kontrolü yaparmisiniz.
Yazilan her program için degilde kullanici bazli lisans aliniyor.1, 3 .. sayida kullanici.1 kullanicili isinizi görecektir.
Birde fis eklemeden kasit hangisi. kodu kisaca paylasirsaniz inceleyim.
iyi çalismalar
Ahmet bey
Lobjects.dll ile projemde su anda söyle bir hata vermeye basladi
Run-time error ‘-2147418113(8000ffff)’: Çok zararli hata
bu sorunu acaba nasil asabilirim, yardimci olabilirseniz çok sevinirim.
saygilarimla
Ahmet bey
Hayirli aksamlar
Firmamizda lobjects.dll ile yazilmis ve su anda kullanilan programlar var, bende lobjects.dll ‘i (vb6 kullaniyorum) projeme ekliyorum, size gönderdigim mailde de yazdigim gibi hazirladigim proje üzerinde login oldugum TigerSys programindan gözüküyor fakat fis ekleme bölümünde bütün alanlari yazmama ragmen ve hatada almamama ragmen fis eklenmiyor. Belirttigim gibi lobjects.dll ‘i diger programlarda kullanabiliyoruz fakat ayni lobjects.dll’i yeni projede neden çalistiramiyorum (fis eklemede). Versiyon sorunu olmamali çünkü çalistigim firmada diger programlar da kullaniliyor. Lisans sorunu olabilirmi diger programlarda su anda kullanilmasina ragmen. Her yazilan program için ayri bir lisansmi aliniyor. Veya da fis eklemeden önce yapmam gereken baska bir baglanti filan mi olmali.
Yardimlariniz için tesekkür ederim
Ahmet Bey Selamlar Bir Sey Daha Sormak Istiyorum.
Read ile Data ID’ni Bildigim Verileri Rahatlikla Çekebiliyorum Ancak Siradan Loop Içerisinde Var Olan Her Kaydi Okumak Için Çekmek Istedigim Verinin Data_Reference Id’sini Biliyor Olmam Gerekmeden Bütün Kaydi Bastan Sona Nasil Okuyabilirim?
Örnek olarak 20 id li cariyi okuyalim:
Data _myAccount = clsDepoGenel.UnityApp.NewDataObject(DataObjectType.doAccountsRP);
_myAccount.Read(20);
object _firmakodu= _myAccount.DataFields.FieldByName("CODE").Value;// "Firma Kodu";
object _firmaadi= _myAccount.DataFields.FieldByName("TITLE").Value = firmaadi;// "Firma Adi";
object _firmaadres= _myAccount.DataFields.FieldByName("ADDRESS1").Value // "Adres 1";
Ahmet Selamlar
Cevabiniz Için Çok Tesekkür Ederim.
Saolun Çok Isime Yaradi
Merhaba Eren bey,
LObject.dll ile sorgulama yapma için Read(id) metodu kullanilarak data çekilebilinmektedir. Yukarida benim new() metodu kullanildigim yerde siz Read(id) metodukullanilarak hangi id li data çekilmek isteniyorsa o girilir
Ahmet Bey Selamlar
Benim Sormak Istedigim Lobject Nesnesini Kullanarak Logo Veritabanindaki Bilgiyi Nasil Çekebilirim?
Yardim Olabilirseniz Çok Sevinirim