HH Happy Hour Satislarini Raporlamak

Merhabalar,

asagidaki dokumandan yararlanarak bir HH Happy Hour tanimlamam var.
https://kb.sambapos.com/4-7-happy-hour-nasil-hazirlanir/

Günlük HH Satislarini raporlamak istiyorum.

Yukardaki resimde bütün satislarin raporlarini glsteriyor. Bunun icin asagidaki sablonu kullaniyorum:

[HAPPYHOUR:1,1,1, 1, 1]
>
{REPORT ORDER DETAILS:
 	T.TicketNumber,O.MenuItemName,O.Quantity,O.TotalPrice,O.PriceTag:
 }

Oysa ben sadece HH olarak isaretli Fiyat Etiketlerinin raporda görünmesini istoyurum.
Bu islemi nasil yapabilirim?

PS: Asagidaki adresleri inceledim:
https://sambapos.com/wiki/doku.php/custom_reporting_tags
https://sambapos.com/wiki/doku.php/custom_reporting_tags_for_v5

Tesekkürler
E.Kaplan

@EmrBkts @mehmet

Hocam sanirim SQL Manager ile bu konuyu hallettim.

[Happy Hour DETAILS:1,4, 1, 1, 2, 1]
>BelegNo|Menu|Stk.|Preis|SUM(EUR)|Tag
{REPORT SQL DETAILS:
	SELECT	Tickets.TicketNumber, 
			Orders.MenuItemName, 
			Orders.Quantity,
			Orders.Price,
			(Orders.Price * Orders.Quantity) AS Summe,
			Orders.PriceTag
	FROM    Orders 
	INNER JOIN	Tickets ON Orders.TicketId = Tickets.Id
	WHERE  (Orders.PriceTag = N'HH')
	ORDER BY Tickets.TicketNumber
	:F.TicketNumber,F.MenuItemName,F.Quantity, F.Price, F.Summe, F.PriceTag:
	:{0}|{1}|{2}|{3}|{4}|{5}
}
>>Total 
{REPORT SQL DETAILS:
	SELECT	
				SUM(Orders.Quantity) AS Qty,
				SUM(Orders.Price*Orders.Quantity) AS Summe
			
	FROM    Orders 
	INNER JOIN	Tickets ON Orders.TicketId = Tickets.Id
	WHERE  (Orders.PriceTag = N'HH')
	:F.Qty,F.Summe:
	:||{0}|-|{1}|-
}

Fakat simdi sorunum ZAMAN araligi. Suanda bütün hepsini gösteriyor. Oysa simdiye kadar hic HH satisi yapilmadi. Secilen zaman araliklarinda HH satisi var mi yok mu diye nasil ayarlayabilirim?

Tesekkürler

1 Beğeni

@mehmet @emre @EmrBkts
hocam takildim kaldim buraya.
Bir fikriniz var mi bu konu hakkinda?

Yabanci forumda START ve END adinda degiskenler gördüm fakat bir türlü calistiramadim.:frowning:

Merhaba,

{Start} ve {End} Parametre gönderim şeklini aşağıda bulunan örnekteki gibi kullanmalısınız.

Select Id from WorkPeriods where Cast(StartDate as Date)>='{Start}' and Cast(EndDate as Date<='{End}'

1 Beğeni

@EmrBkts hocam verdiginiz örnekte Syntax hatasi var deyip calistirmiyor.

Son durum bu sekilde;

Yukardaki resimdede görüldügü üzere, F.A ve F.B sorunsuz olarak günlük START ve END i buluyor.
Peki bunu $1 ve $2 parametresi olarak Kullanmak alt bölümde (sonraki satirda) isteidigm yerde nasil kullanabilirim?

Normalde veritabanında gördüğünüz bütün alanları expression olarak kullanabilirsiniz.

Şöyle denediniz mi?

[HAPPYHOUR:1,1,1, 1, 1]
>
{REPORT ORDER DETAILS:
 	T.TicketNumber,O.MenuItemName,O.Quantity,O.TotalPrice,O.PriceTag:
        O.PriceTag == "HH"
 }
2 Beğeni

Yenice fark ettim; Syntax hatasi “)” isaretinden kaynaklaniyor…Fakat genede calistirmiyor;

Erkan bey ‘{Start}’ ve ‘{End}’ parametrelerini aşağıdaki resimde işaretlediğim yerlerde kullanmalısınız.

@emre hocam denedim.
Result bos geliyor.

@EmrBkts
onude denedim hoicam; bugun, dun, haftalik, aylik tarih secimlerinde hep bos geliyor:

@EmrBkts hocam ord gene bir logik hatasi var gibime geliyor; StartDate ve EndDate sutunlarini NERDEN okuyacak ki?

Ayarları bir daha kontrol et istersen. Ben denedim çalışıyor.

@emre peki hocam…Günlük backup yapiyordum zaten (aciklamali olarak). Datenbanki gecen haftaki den restore yapip deniyorum…

1 Beğeni

Isin garip olan tarafi, SQL den dönüyor HH sütünlari:

DAtenbanki restore edip deniyorum hemen…

@EmrBkts @emre
Tamamdir hocam, HH i tekrardan belgeye göre tekrar duzeldim.
Simdi duzeldi. Gunluk, haftalik, aylik…Hepsi sorunsuz calisiyor.

Kullandigim syntax da asagidaki gibi:

[HAPPYHOUR:1,1,5, 1, 1, 1]
>BelegNo|HH|Produkt|Stk.|E-Preis|SUM
{REPORT ORDER DETAILS:T.TicketNumber,O.PriceTag,O.MenuItemName,O.Quantity,O.Price,O.TotalPrice:O.PriceTag == "HH"}
>>Total |||{REPORT ORDER DETAILS:O.Quantity.Sum:O.PriceTag=="HH"}|-|{REPORT ORDER DETAILS:O.TotalPrice.Sum:O.PriceTag=="HH"}

Tesekkürler

1 Beğeni