Merhaba!
Aşağıdaki konuyla ilgili yardımcı olabilir misiniz lütfen?
Logoda tanımlı alan formül sekmesine sql sorgusunu sqlinfo ile yazdırmak istiyorum. Ancak sorguyu formül satırına yazarak kaydettiğim zaman sql sorgunu tamamını almıyor.
sql sorgu:
SELECT SUM(STL.AMOUNT/ITM.SPECODE4)
FROM LG_001_01_STLINE STL
INNER JOIN LG_001_ITEMS ITM ON STL.STOCKREF = ITM.LOGICALREF
WHERE STL.INVOICEREF=91
sqlinfo :
_SQLINFO("SUM(STL.AMOUNT/ITM.SPECODE4)","LG_001_01_STLINE STL INNER JOIN LG_001_ITEMS ITM ON STL.STOCKREF =ITM.LOGICALREF","INVOICEREF='"+STR(R23.logicalRef)+"'")
sqlinfo
-
Tarkan VURAL Doğrulandı
- Site Admin
- Mesajlar: 66
- Kayıt: Prş Haz 22, 2023 12:03 am
- Lokasyon: İstanbul
- Web Sitesi: http://www.tarkanvural.com.tr
- Meslek: Yazılım ve Veri Tabanı Uzmanı
- Adınız: Tarkan
- Soyadınız: VURAL
- İletişim:
Re: sqlinfo
Merhaba,
Bir dizi hata ile karşılaştım. Alternatif yöntemler de kullanabilirsiniz. Hepsini aşağıda anlatmaya çalışıyor olacağım.
Tanımlı alan belirli karakter sayısında kapasiteye sahip. Sorguyu bölerek 2 parça kullanmayı deneyin.
From başvurusu için bir değişken oluşturun : FRM
FRM( Metin )
_SQLINFO
Bu arada sayısal bir alanı metin alanına bölme işlemini mantık olarak yapamazsınız.
şekli daha mantıklı olabilir. Ancak bu da boş olan ya da metin ifadesi olan SPECODE4 için hata döndürür.
Tüm bunların yerine bir view oluşturup onu sorgulamanız daha anlamlı olacaktır. Aşağıda nasıl bir view oluşturmanız gerektiğini yazıyorum.
_SQLINFO
R23.logicalref değerinin fatura referansı olduğuna emin olamadım. Hangi rapor modeli için çalışma yapıyorsanız, STLINE için invoiceref değerinden, INVOICE için ise logicalref alanını almalısınız.
Bu kadar ayrıntı ile çözebilmenizi umuyorum. Dilerseniz EVN Yazılım Ltd. Şti. olarak ihtiyacınız olan konularda profesyonel Logo desteği de sunabilirim. Logo veritabanı mimarisi konusunda raporlama, query oluşturma, uyarlama, entegrasyon gibi konular benim işim.
Kolay gelsin.
Bir dizi hata ile karşılaştım. Alternatif yöntemler de kullanabilirsiniz. Hepsini aşağıda anlatmaya çalışıyor olacağım.
Tanımlı alan belirli karakter sayısında kapasiteye sahip. Sorguyu bölerek 2 parça kullanmayı deneyin.
From başvurusu için bir değişken oluşturun : FRM
FRM( Metin )
Kod: Tümünü seç
"LG_001_01_STLINE STL INNER JOIN LG_001_ITEMS ITM ON STL.STOCKREF =ITM.LOGICALREF"
Kod: Tümünü seç
_SQLINFO("SUM(STL.AMOUNT/ITM.SPECODE4)",[FRM],"INVOICEREF='"+STR(R23.logicalRef)+"'")
Kod: Tümünü seç
STL.AMOUNT/CAST(ITM.SPECODE4 AS FLOAT)
Tüm bunların yerine bir view oluşturup onu sorgulamanız daha anlamlı olacaktır. Aşağıda nasıl bir view oluşturmanız gerektiğini yazıyorum.
Kod: Tümünü seç
CREATE VIEW EVN_SPECODE4_MIKTAR AS
SELECT
INVOICEREF AS FATURAREF,
SUM(MIKTAR2) AS MIKTAR2
FROM
(
SELECT
INVOICEREF,
CASE
WHEN ISNUMERIC(ITM.SPECODE4) = 1
AND TRY_CAST(ITM.SPECODE4 AS FLOAT) IS NOT NULL
AND TRY_CAST(ITM.SPECODE4 AS FLOAT) != 0
THEN STL.AMOUNT / TRY_CAST(ITM.SPECODE4 AS FLOAT)
ELSE 0
END AS MIKTAR2
FROM
LG_001_01_STLINE STL
INNER JOIN
LG_001_ITEMS ITM ON STL.STOCKREF = ITM.LOGICALREF
WHERE
INVOICEREF > 0
) AS SubQuery
GROUP BY
INVOICEREF;
_SQLINFO
Kod: Tümünü seç
_SQLINFO("MIKTAR2","EVN_SPECODE4_MIKTAR","FATURAREF='"+STR(R23.logicalRef)+"'")
Bu kadar ayrıntı ile çözebilmenizi umuyorum. Dilerseniz EVN Yazılım Ltd. Şti. olarak ihtiyacınız olan konularda profesyonel Logo desteği de sunabilirim. Logo veritabanı mimarisi konusunda raporlama, query oluşturma, uyarlama, entegrasyon gibi konular benim işim.
Kolay gelsin.
Konu Dışı
Logo Yazılım, Özel Yazılım, Entegrasyon işlemleri, Excel VBA kodlama, Raporlama, Eğitim.. gibi konulardaki destek ihtiyaçlarınız içinhelpdesk@evnyazilim.com.trile irtibata geçebilirsiniz.
Re: sqlinfo
Tarkan bey merhabalar,
Yorumunuz ve önerileriniz için teşekkür ederim. Gerçekten konuyla ilgili önerileriniz işime yaradı.
Saygılar.
Yorumunuz ve önerileriniz için teşekkür ederim. Gerçekten konuyla ilgili önerileriniz işime yaradı.
Saygılar.