Примеры кода
Проверка входит ли блюдо в определённую категорию
var Categ: TClassificatorGroup; begin Categ := TClassificatorGroup(getitemBycodeNum('ClassificatorGroups', CategCode)); if SYS.ObjectInheritsFrom(TObject(it), 'TDish') then if Categ.IsChild(it.RefItem) then end
Определение идентификатора и наименование текущей станции/кассы
RK7.Cash.Ident, RK7.Cash.Name
Проверка статуса объекта в справочнике
TDiscount(TDiscountItem(it).RefItem).Status <>rsDeleted // stActive
Проверка на пустую строку
if SYS.ObjectInheritsFrom(TObject(it), 'TEmptyLine') then break;
Доступ к свойству блюда «Альт.название»
gui.showmessage(TRK7MenuItem(TDish(AObjectAft).RefItem).altname);
Определение признака «аннулированный» при переборе строк
TPrintCheckItem(it).State = disDeleted
Ввод значения через окно ввода
sdate:=gui.InputBox('Дата рождения дд.мм.гггг', 'Введите дату рождения гостя', '', true);
Изменение типа заказа
procedure ProcessOperation1002320(Parameter: integer); begin if not RKCheck.Valid then Exit; if (GUI.CheckFormInPayMode) then exit; RK7.PerformRefObject(RK7.FindItemByCode(rkrefChangeableOrderTypes, 1)); // 1 - код типа заказа end;
Изменение категории заказа
procedure ProcessOperation1000813(Parameter: integer); var Props: TVisitOrderInfo; begin Props := TVisitOrderInfo.Create(); try Props.OrderCategoryID := 0; RKCheck.UpdateOrderProps(Props); finally Props.Free; end; end;
Изменение типа гостей
Props.GuestTypeID.
Скрыть кнопку валюты, если сумма «0»
На форме редактирования заказа у объекта MainSelector в событии OnSuitableItem указать скрипт:
procedure MainSelectorOnSuitableItemScript(Sender: TBasePanel; item: TReferentItem; var Suitable: boolean); begin if GUI.CheckFormInPayMode then // если сейчас режим оплаты begin if SYS.ObjectInheritsFrom(item, 'TCurrency') then Suitable := Suitable and (TCurrency(item).tag <> 0); // отобразить ненулевые валюты end; end;
Реализовано в 7.5.4.204, 7.5.5.045, 7.5.6.004
GUI.ShowMessage('Сумма заказа: '+FloatToStr(RKCheck.CurrentOrder.UnpaidSum));
Добавление группы меню при редактировании чека
RK7.PerformRefObject(RK7.FindItemByCode(rkrefCategList, 2 {Menu group code}));
Изменение цвета блюда в окне заказа
procedure CheckViewOnGetColors(Sender: TObject; CheckItem: TObject; Selected: boolean; var Color, FontColor: TColor); begin if SYS.ObjectInheritsFrom(CheckItem, 'TDish') then begin if (TDish(CheckItem).Quantity = 0) and (TDish(CheckItem).State = disOpened) then begin // bug#10226 red color for dishes with quantity = 0 Color := $004646FF; FontColor := clBlack; end; end; end; Trk7menuitem(CheckItem.RefItem).VisualType_BColor - цвет фона Trk7menuitem(CheckItem.RefItem).VisualType_TextColor - цвет шрифта
Вывод заранее созданного сообщения при добавлении первого блюда в заказ
CODE
- Проверка входит ли блюдо в определённую категорию
- Определение идентификатора и наименование текущей станции/кассы
- Проверка статуса объекта в справочнике
- Проверка на пустую строку
- Доступ к свойству блюда «Альт.название»
- Определение признака «аннулированный» при переборе строк
- Ввод значения через окно ввода
- Изменение типа заказа
- Изменение категории заказа
- Изменение типа гостей
- Скрыть кнопку валюты, если сумма «0»
- Изменение цвета блюда в окне заказа
- Вывод заранее созданного сообщения при добавлении первого блюда в заказ