Merhaba,
sana çevirmektense çevirme tekniğini göndersem daha iyi olacak. her seferinde bizi bulamayabilirsin sanırım
RAPOR VE FORM TASARIMLARINDA SQLINFO KULLANIMI
Unity programı içerisinde Rapor ve Form tasarımlarında Query' ler ile farklı table' lara ulaşmak için kullanılır.
Rapor tasarımında tanımlı alan içerisinde SQLINFO fonksiyondan sonuç METIN olarak dönüyor.
Tanımlı alan türü metin olacak… Her field için tırnak işareti kullanılacak…
_SQLINFO ("Field", "Table", "Where")
Örnek SQLINFO fonksiyon kullanımı
· Cari Hesap Listesi raporunda Ödeme plan kodunun yanında Ödeme plan açıklamasının raporlanması.
_SQLINFO("DEFINITION_","LG_003_PAYPLANS","CODE='"+[Ödeme plan kodu]+"'")
(SELECT DEFINITION_ FROM LG_003_PAYPLANS WHERE CODE='P.01')
· Cari Hesap Listesi raporunda C/H Özel kodunun yanında C/H Özel kod açıklamasının raporlanması.
_SQLINFO("DEFINITION_","LG_003_SPECODES","CODETYPE=1 AND SPECODE='"+[Cari hesap özel kodu]+"'")
(SELECT DEFINITION_ FROM LG_003_SPECODES WHERE CODETYPE=1 AND SPECODE='S01')
· Genel Amaçlı Raporlar içerisinde 100 Kasa hesabı' nın Hareket Borç toplam bilgilerine ulaşmak.
VAL(_SQLINFO("SUM(S.DEBIT)","LG_003_EMUHACC AS H, LG_003_02_EMFLINE AS S","H.LOGICALREF=S.ACCOUNTREF AND H.CODE='100'"))
(SELECT SUM(S.DEBIT) FROM LG_003_EMUHACC AS H, LG_003_02_EMFLINE AS S
WHERE (H.LOGICALREF=S.ACCOUNTREF AND H.CODE='100'))
· Seri / Lot Envanter raporunda Son Kullanım tarihinin listelenmesi
Aşağıdaki alanlar tek tek tanımlı alan yapıldıktan sonra
[MALZ] = R1.logicalRef (Türü = Sayı )
[LINE] = R2.logicalRef (Türü = Sayı )
[LOT] = R4.logicalRef (Türü = Sayı )
(Türü = Metin)
_SQLINFO("EXPDATE","LG_003_02_SLTRANS","STTRANSREF="+STR([LINE])+" AND ITEMREF="+STR([MALZ])+" AND SLREF="+STR([LOT])+"")
· Verilen Hizmet Kartları listesi raporunda Hizmet kartı içerisindeki girilen Muhasebe kodlarının listelenmesi
Metin fno
JUSTIFY(STR([Firma no]),1,"0",3)
Metin DN
SUBSTR([Çalışma Dönemi],1,2)
Metin MuhasebeKodu
"M.CODE"
Metin TableNames
"LG_" + [fno] + "_SRVCARD H, LG_" + [fno] +"_CRDACREF B, LG_" + [fno] +"_EMUHACC M "
Metin VerilenHizmetWhere
"H.LOGICALREF=B.CARDREF AND M.LOGICALREF=B.ACCOUNTREF AND TRCODE=4 "
Metin KODU
" AND H.CODE = '" + [Hizmet Kodu] + "'"
Sayı WRTT
FUVL1
Metin Hizmet
" AND B.TYP=" + STR([WRTT])
Metin İndirim
" AND B.TYP=2 "
Metin AAA
_SQLINFO([MuhasebeKodu],[TableNames],[VerilenHizmetWhere]+[KODU]+[Hizmet])
Tanımlı filtre ile "Türü = Listeden Seçim" , "İçerik = Bağlantısız"
FONKSİYONLAR
VAL(text)
Text olarak yazılmış bir sayıyı sayı formatına çevirir.
VAL("1000") = 1000
AFTER(days, date)
Birtarihten verilen gün sayısı kadar sonraki tarihi verir.
AFTER(10, DATE(10,02,2001)) = 20.02.2001
AFTER(10, Günün tarihi) = 15.02.2055 (Günün tarihi 05.02.2055 ise)
DAYS(firstdate, lastdate)
İki tarih arasındaki gün sayısını verir.
DAYS(DATE(10,10,2000), DATE(20,10,2000)) = 10
ROUND(number)
Verilen sayıyı en yakın tamsayıya çevirir.
ROUND(5.25) = 5
ROUND(5.61) = 6
TRUNC(number)
Verilen sayının ondalıklı kısmını kaldırarak tamsayıya çevirir.
TRUNC(5.25) = 5
TRUNC(26.85) = 26
FLOOR(number)
Verilen sayıyı ondalık kısmını kaldırarak tamsayıya çevirir.
FLOOR(15,85) = 15
FLOOR(-15,85) = -15
STR(number)
Sayı formatını metin formatına çevirir.
STR(1000) =1000
WRNUM(language, number, part)
Bir sayının tamsayı ya da ondalık kısmının belirtilen dilde yazı haline getirir.
WRNUM(1,100,1) = Yüz
WRNUM(2,1000,1) = OneThousand
WRNUM(1,100.05,2) = Beş
WRNUM(4,100.05,1) = Ein(s)Hundert
IF(expression, value1, value2)
Belirtilen koşul (expression) sağlanıyorsa birinci değeri(value1); sağlanmıyorsa ikinci değeri (value2) getirir.
IF(2*2=4, "İki kere iki dört eder", 1500) = İki kere iki dört eder
IF(2*2=100, "İki kere iki dört eder", 1500) = 1500