Добрый день! Помогите с написанием скрипта, который будет автоматически добавлять блюдо в заказ, если сумма заказа больше определенной суммы. Заранее большое спасибо!
Добрый день! Помогите с написанием скрипта, который будет автоматически добавлять блюдо в заказ, если сумма заказа больше определенной суммы. Заранее большое спасибо!
Взял с трекера, немного изменил, не проверял, но работать должно:
Форма "редактирование заказа", объект CheckView, событие "onCurItemChenged" .
procedure CheckViewCurItemChangedScript(Sender: TObject);
var Categ: TClassificatorGroup;
it: TCheckItem;
grSum:double;
i,cnt,dishCode:integer;
begin
dishCode:=1000191; // 1000191 - Here paste your code of dish
grSum:=0;
cnt:=0;
for i := 0 to RKCheck.CurrentOrder.Sessions.LinesCount - 1 do
begin
it := RKCheck.CurrentOrder.Sessions.Lines[i];
if SYS.ObjectInheritsFrom(TObject(it), 'TDish') then //Check dish lines only
begin
grSum:= grSum + TDish(it).Price*TDish(it).Quantity;;
if it.code=dishCode then cnt:=1; //
end;
end;
if cnt<1 then
if grSum > 600 then RKCheck.CreateCheckItem(rkrefMenuItems, intToStr(dishCode), '1');
end;
Последний раз редактировалось satan; 26.11.2015 в 19:01.
Что-то не работает в режиме быстрого чека(( Хотя вроде бы все правильно, создал новую схему, добавил обработчик события для формы 800x600 редактирования заказа быстрый чек, указал использование данной схемы для конкретной станции. Что может быть не так?
как будет чуть свободного времени проверю у себя
Исправил, у меня работает, в т.ч. в быстром чеке
А что надо исправить?)
grSum:= grSum + TDish(it).Price*TDish(it).Quantity;
почему-то в оригинальном скрипте, с трекера считали сумму цен блюд в каждой строке, может там задача так стояла, я уже не помню.
Сейчас при сумме заказа больше 600 рублей (проверка в конце скрипта) добавляется блюдо с кодом, указанным в начале скрипта. Но: 1. Удалить его не получится, если сумма блюд заказа не стала меньше или равной 600руб.
2. Если сумма блюд заказа стала меньше 600 рублей, блюдо само не удалится, надо удалять руками.
Спасибо, сегодня попробую.
Спасибо, все работает!