Скрипт, предлагающий распечатывать полностью оплаченный чек при открытии заказа

procedure CheckViewOnShowScript(Sender: TObject);
var i : integer;
it: TCheckItem;
paysum, cntdish: double;
begin
if not(RKCheck.CurrentOrder.FinishedService) then // если незакрытый чек, то...
begin
paysum := 0;
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 //Check dish lines only
cntdish := cntdish + TDish(it).Quantity;
if SYS.ObjectInheritsFrom(TObject(it), 'TPayLine') then //Check pay lines only
paysum := paysum + TPayLine(it).NationalSum;
end;

if cntdish > 0 then
if RKCheck.CurrentOrder.UnpaidSum <= paysum then
if GUI.RKMessageDlg('Заказ уже оплачен. Печатать чек?', 0, 3, 10000) = 6 then
begin
RK7.PostOperation(rkoBalanceReceipt, 0);
end;
end;
end;
DELPHI