# Bütün Masalar Butonunda {LAST ORDER TIME} mümkün mü?

**URL:** <https://destek.sambapos.com/t/butun-masalar-butonunda-last-order-time-mumkun-mu/1030>\
**Category:** Çözüm Bulma\
**Created:** [Haziran 15, 2019, 9:19ös UTC](https://destek.sambapos.com/t/butun-masalar-butonunda-last-order-time-mumkun-mu/1030 "2019-06-15T21:19:52Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![erkan\_kaplan](https://destek.sambapos.com/user_avatar/destek.sambapos.com/erkan_kaplan/32/757_2.png) [@erkan\_kaplan](https://destek.sambapos.com/u/erkan_kaplan)\
**Post date:** [Haziran 15, 2019, 9:19ös UTC](https://destek.sambapos.com/t/butun-masalar-butonunda-last-order-time-mumkun-mu/1030/1 "2019-06-15T21:19:52Z")

</div>

Merhabalar,

bir müsterinin istegi üzerine, Tüm Masalar ekraninda, son siparis zamanina göre masa durumunu renklendirmek istiyorum.

**Baslangic düsüncem;**  
Adisyon penceresinde sallama bir Button koyup, sonrada Mesaj göster eylemi ekleyip, icine de{LAST ORDER TIME} olarak gönderdigimde mesela örn:21:45 seklinde ve son siparis zamanin sorunsuz result olarak döndürüyor…

Bu islem icin ufak bir skript yazdim, ve teori olarak calisiyor:

 ![image](https://destek.sambapos.com/uploads/default/original/2X/9/9781f072f1937572f687aed41e3f4fe45c74d4e0.png)

Kullandigim script;

> function diff\_hours(UhrzeitA1 ) {
> 
> var StartZeit = UhrzeitA1.substr(0,2) \* 60 + UhrzeitA1.substr(3,2) \* 1;  
> var UhrzeitE1 = getSimdikiZaman();
> 
> var EndeZeit = UhrzeitE1.substr(0,2) \* 60 + UhrzeitE1.substr(3,2) \* 1;
> 
> var DiffZeit = ((EndeZeit + 24_60) - StartZeit) % (24_60);
> 
> var DauerH = Math.floor(DiffZeit/60);
> 
> if (DauerH \>= 1 ){  
> return getColor(60);  
> }else {  
> var DauerM = DiffZeit - (DauerH \* 60);  
> return getColor(DauerM);  
> }  
> }
> 
> function getSimdikiZaman(){  
> var time = new Date();  
> s\_saat = parseInt(time.getHours(),10);  
> s\_dakika = parseInt(time.getMinutes(),10);  
> return s\_saat + ‘:’ + s\_dakika;  
> }
> 
> function getColor(minutes){  
> if(minutes \> 45) return ‘red’;  
> if(minutes \> 30) return ‘blue’;  
> if(minutes \> 15) return ‘orange’;  
> return ‘green’;  
> }

Test ekranindan (sag alt kösedeki), resimdede görülecegi üzere farkli zamanlari **HH:MM** formatinda gönderdigimde, tanimladigim aralik olan, 15,30,45 ve \>= 60 dakikalik zaman araligina göre renk kodlarini geri döndürüyor…

Anladigim kadari ile {LAST ORDER TIME} syntax i teori olarak HH:MM formatinda geri dönüs yapiyor…

Yeni siparis durumunda denedigim basit syntax söyle;

> $1   
> {LAST ORDER TIME:TEN.Masalar=$1}

Bu Syntax malesef calismiyor. Calismadigi icinde, asagidaki detayli syntax da calismiyor;

> \<background {CALL:masarenklendir.diff\_hours(‘{LAST ORDER TIME:TEN.Masalar=$1}’)}\> \<size 50\> $1  
> {ENTITY STATE MINUTES:Status} DK.

Masa butonlarinda bu LAST ORDER TIME i nasil kullanabilirim?

**Not: ENTITY STATE MINUTES kullanmak istemiyorum. Amacim LAST ORDER TIME, yani son siparis saatine erismek.**

Tesekkürler  
E. Kaplan

---

<div class="post-metadata">

**Author:** ![erkan\_kaplan](https://destek.sambapos.com/user_avatar/destek.sambapos.com/erkan_kaplan/32/757_2.png) [@erkan\_kaplan](https://destek.sambapos.com/u/erkan_kaplan)\
**Post date:** [Haziran 18, 2019, 8:35öö UTC](https://destek.sambapos.com/t/butun-masalar-butonunda-last-order-time-mumkun-mu/1030/2 "2019-06-18T08:35:30Z")

</div>

Söyle bir gelisme oldu:

 ![image](https://destek.sambapos.com/uploads/default/original/2X/9/9f2e3ddeac5edf12c291690ef9d787a35b120a16.png)

SQL yardimi ile LAST ORDER TIME i alabiliyorum.

SQL icin kullandigim Syntax;

`<size 50>Last Order: {REPORT SQL DETAILS: SELECT TOP(1) DATEDIFF(MINUTE,T.[LastOrderDate],GETDATE()) AS [Dakika] FROM Tickets AS T INNER JOIN TicketEntities AS [TE] ON T.Id= TE.Ticket_Id WHERE T.IsClosed=0 AND TE.[EntityName] = $1 :F.Dakika::{0}} Min</size>`

**Durumlar -\> Yeni Siparisler** altinda böyle görünüyor:

```
<background {CALL:kellnerFarben.getColor('{REPORT TICKET DETAILS:T.User:(TEN.Tische=$1) and 'RemainingAmount > 0':-}')}><size 100><bold>$1</bold></size><br/> 
<size 50>{REPORT TICKET DETAILS:T.User:(TEN.Tische=$1) and 'RemainingAmount > 0':-} </size><br/>

<size 50>{REPORT ORDER DETAILS:' *'+[O.PortionName],O.Quantity.Sum.desc:(ODI=True) AND O.MenuItemName="Dinner" and O.PortionName="Normal" AND (TEN.Tische=$1): Dinner {0} {1} } {REPORT ORDER DETAILS:' *'+[O.PortionName],O.Quantity.Sum.desc:(ODI=True) AND O.MenuItemName="Dinner" and O.PortionName="Kind" AND (TEN.Tische=$1)} {REPORT ORDER DETAILS:' *'+[O.PortionName],O.Quantity.Sum.desc:(ODI=True) AND O.MenuItemName="Dinner" and O.PortionName="Kleinkind" AND (TEN.Tische=$1)} </size>
<br/>
<size 50>Last Order: {REPORT SQL DETAILS: SELECT TOP(1) DATEDIFF(MINUTE,T.[LastOrderDate],GETDATE()) AS [Dakika] FROM Tickets AS T INNER JOIN TicketEntities AS [TE] ON T.Id= TE.Ticket_Id WHERE T.IsClosed=0 AND TE.[EntityName] = $1 :F.Dakika::{0}} Min</size>

</background>

```

Fakat pratikte bu ise yaramiyacak gibi, cünkü SQL Result süresi, sadece 1 masa icin ortalama ~ 16-30 mili saniyede dönüs yapiyor.

 ![image](https://destek.sambapos.com/uploads/default/original/2X/b/bb7cb4a163867677934ffef33eef0121d9b7a37f.png)

SQL komutunu herhangi bir sekilde iyilestirme yapabilir miyiz? Gözle görülür bariz bir sekilde yavaslama hissettiriyor PC de.

@EmrBkts  
Bir fikriniz var mi hocam?

---

<div class="post-metadata">

**Author:** ![empire](https://destek.sambapos.com/user_avatar/destek.sambapos.com/empire/32/1245_2.png) [@empire](https://destek.sambapos.com/u/empire)\
**Post date:** [Haziran 18, 2019, 9:30öö UTC](https://destek.sambapos.com/t/butun-masalar-butonunda-last-order-time-mumkun-mu/1030/3 "2019-06-18T09:30:52Z")

</div>

Erkan abi ben emre beye mail attım bu konuda dün kendisine yapmış olduğum script gönderdim bilgisi var.

---

<div class="post-metadata">

**Author:** ![EmrBkts](https://destek.sambapos.com/user_avatar/destek.sambapos.com/emrbkts/32/1260_2.png) [@EmrBkts](https://destek.sambapos.com/u/EmrBkts)\
**Post date:** [Haziran 18, 2019, 9:54öö UTC](https://destek.sambapos.com/t/butun-masalar-butonunda-last-order-time-mumkun-mu/1030/4 "2019-06-18T09:54:21Z")

</div>

Kontrolleri gerçekleştiriyorum bilgi vereceğim @empire @erkan_kaplan

---

<div class="post-metadata">

**Author:** ![EmrBkts](https://destek.sambapos.com/user_avatar/destek.sambapos.com/emrbkts/32/1260_2.png) [@EmrBkts](https://destek.sambapos.com/u/EmrBkts)\
**Post date:** [Haziran 20, 2019, 11:54öö UTC](https://destek.sambapos.com/t/butun-masalar-butonunda-last-order-time-mumkun-mu/1030/5 "2019-06-20T11:54:33Z")

</div>

Merhaba,

Şu anlık **Last Order Time** ’ a göre başka bir yöntem bulunmamaktadır.

Last Order Time dışında masa renklendirma hakkında bilgi almak için aşağıdaki linkte bulunan örnekten faydalanabilirsiniz.

> **[Change Table color according ticket time status](https://forum.sambapos.com/t/change-table-color-according-ticket-time-status/13325)**
>
> Hi guys! To follow up easier the customer orders, I wish the table colours could change automatically according the last order time. For example: last order was 15 min ago, colour is light orange, 20 min ago, middle orange, 25 min, orange, 30 min,...

---

<div class="post-metadata">

**Author:** ![erkan\_kaplan](https://destek.sambapos.com/user_avatar/destek.sambapos.com/erkan_kaplan/32/757_2.png) [@erkan\_kaplan](https://destek.sambapos.com/u/erkan_kaplan)\
**Post date:** [Haziran 20, 2019, 1:35ös UTC](https://destek.sambapos.com/t/butun-masalar-butonunda-last-order-time-mumkun-mu/1030/6 "2019-06-20T13:35:07Z")

</div>

> [@EmrBkts](#):
>
> Şu anlık **Last Order Time** ’ a göre başka bir yöntem bulunmamaktadır.

Never give up ! emre hocam.  
Vardir bir yöntemi, yoksa tekerlek icat olmaz, teknoloji gelismezdi.  
Simdilik durakoysun bir kenarda. 🙂
