Проверка входит ли блюдо в определённую категорию

    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 - цвет шрифта

Вывод заранее созданного сообщения при добавлении первого блюда в заказ

procedure CheckViewOnAfterCheckViewEdit(Sender: TObject; AEditType: TEditType; AObjectBef, AObjectAft: TObject);
var i, CntDish: integer;
it: TCheckItem;
begin
if SYS.ObjectInheritsFrom(AObjectAft, 'TDish') then
begin
CntDish := 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
CntDish := CntDish + 1;
end;
if CntDish = 1 then
gui.ShowMessage('Сообщение');
end;
end;
CODE