Примеры кода
Проверка входит ли блюдо в определённую категорию
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»
- Изменение цвета блюда в окне заказа
- Вывод заранее созданного сообщения при добавлении первого блюда в заказ