pro_imaj yazdı:Merhaba,
@asri Hocam kızma ama soruyu buraya soruyorsunda cevabı niçin buraya yazmıyorsun yarin öbür gün bir arkadaşa böyle bişey lazım olduğunda arama sonucundan sonra birde bu siteye....vs.
ufak bir copy past ile bence daha faydalı olunabilinir.
Teşekkürler.

Merhaba,
Çözümüm Lks programında yapılacağı için buraya yazmayı uygun görmedim. Yani delphi ile alakası olmadığı için yazmadım. Ama benim gibi Lks ile ilgilenen olursa ordan baksın diye.
Ama tavsiyenize uyup
http://groups.yahoo.com/group/logolks2/message/72 adresindeki mesajı yazayım.
_____________________________________________________________
Merhaba,
Bir haftalık çabadan sonra inşallah derdinize derman olacak yöntemi bulmuşumdur.
Ms Sql server bilgim olmadığından bu kadar uzun sürdü. Detay verilerini vtyonet.exe de bulamıyordum. ?????? çıkıyordu.
Ama delpi ile bağlanıp bir değişkene atayınca girdiğim verileri görüyordum. Bu yüzden bunun mümkün olabileceğine emin oldum.
Yöntem olarak şöyle bir öneride bulunacağım.
a) LG_XXX_FIRMDOC tablosuna bir computed alan ekleyeceğiz.
b) Fatura alanında tanımlı alan oluşturacağız.
c) Tanımlı alanda kullanmak üzere bir çevrim fonksiyonunu LKSDB
dosyasında oluşturacağız.
Size vereceğim yöntemle şu an sadece cari karttaki detaylı bilgiyi
alacaksınız. Diğerlerini de zaten kolay bir şekilde
ayarlayabilirsiniz. Örneğin vereceğim yöntemdeki _sqlinfo
fonksiyonunda infotyp=21
yerine 20 yaparsanız stok kartındaki detay bilgi olacaktır.
********************** uyarı ***************************
ben demo da çalıştığım için verilerime o kadar önem vermiyorum.
* Yedeksiz çalışmayın.
** veri bozulmalarından beni sorumlu tutamazsınız.
Yönteme gelince
a) Vtyonet.exe yi çalıştırın.
b) Çalıştır Menüsünden Sql Sorgusu seçeneğini seçin
c) üsteki comboboxtan LKSDB yi seçin.
d) Sorgu giriş kısmına
ALTER TABLE LG_XXX_FIRMDOC ADD BILGI AS SUBSTRING(LDATA,1,8000)
yazıp Çalıştır butonuna basın. XXX firmanın numarasıdır. Bunu her
firma için yapmak zorundasınız.
Komut başarıyla çalıştırıldı. mesajı gelirse başarılı bir şekilde
girmişsiniz demektir.
Komutları copy +paste ile alırsanız daha iyi olur.
e) Yukarıdaki temizle butonuna basın. sonra aşağıdaki komutların
hepsini copy paste ile girdikten sonra
Çalıştır butonuna basın
CREATE FUNCTION KYDETAY (@DEGER VARCHAR (8000))
RETURNS VARCHAR(8000)
AS
BEGIN
DECLARE @KYDETAY VARCHAR (8000)
SET @KYDETAY=''
WHILE LEN(@DEGER)>1
BEGIN
SET @KYDETAY=@KYDETAY+SUBSTRING(@DEGER,2,ASCII(SUBSTRING(
@DEGER,1,1)))+CHAR(13)
SET @DEGER =STUFF(@DEGER,1,(ASCII(SUBSTRING(@DEGER,1,1))+1),'')
END
RETURN (@KYDETAY)
END
f) lksde Faturalar tasarımına gelip Tanımlı alanlara aşağıdaki
tanımlı alanları ve içeriklerini girin
ALAN TÜRÜ İÇERİĞİ
-------- ------ -----------------------------------
1) CARI_DETAY METİN _SQLINFO("LKSDB.DBO.KYDETAY(BILGI)","LG_"+[F]
+"_FIRMDOC","INFOTYP=21 AND INFOREF='"+STR(R1.logicalReF)+"'")
2) F METİIN SUBSTR("000000",1,3-STRLEN(STR([Firma
Numarası])))+STR([Firma Numarası])
g) tanımladığınız alanları forma alın. Sonra dosyayı kaydedin.
h) bir fatura denemesi yapın.
Şu an aklıma gelen bu kadar inşallah unuttuğum bir şey yoktur.
Daha kolayını daha iyisini bilen varsa lütfen mesaj atsın. Mesela
tüm firmalar için olacak şekilde yapmamışım.
computed alanı her firma için tek tek yapmak zorundayız.
Yazıcıda denemedim. ama ekranda istediğimiz görünüyor.
İyi çalışmalar.
_____________________________________________________________
Herkese iyi çalışmalar.
_____________
ofenX
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.