Доброго времени суток!
Пытаюсь разобраться со скриптами в RK7.
Цель: написать скрипт, который будет сохранять содержимое чека в файл.
Сделал скрипт и разместил его в "Перед расчетом заказа".
Код:
procedure ReceiptXMLAnalysis1000010(AXMLReceiptParameters: TXMLReceiptParameters);
var
it: TCheckItem;
FileStream: TFileStream;
str, strend: string;
i, code: integer;
CurItem: TCheckItem;
begin
if not RkCheck.Valid then
exit;
FileStream := TFileStream.Create('c:\PerfLogs\check.txt', fmCreate);
str := FloatToStr(RKCheck.CurrentOrder.ToPaySum);
strend := #13#10;
FileStream.Write(str, Length(str));
FileStream.Write(strend, Length(strend));
for i := 0 to RKCheck.CurrentOrder.Sessions.LinesCount - 1 do
begin
it := RKCheck.CurrentOrder.Sessions.Lines[i];
if SYS.ObjectInheritsFrom(TObject(it), 'TDish') then
begin
str := it.name;
FileStream.Write(str, Length(str));
str := floattostr(TDish(it).Price * TDish(it).Quantity);
FileStream.Write(str, Length(str));
end;
end;
FileStream.Free;
end;
Пока что осилил это.
Файл создается, в нем белиберда, даже сумма чека очень странная. У меня чек на 45р, а в файле:
Код:
1454,95
Предоплата Plazius0,00Щи-225,00Former undistributed markup0,00Макароны отварные0,00Макароны отварные-30,00Рис отварной15,00Макароны отварные0,00Макароны отварные0,00Предоплата Plazius0,00Щи-67,50Макароны отварные37,50Щи225,00Рис отварной0,00Щи0,00Щи180,00Рис отварной30,00Рис отварной0,00Рис отварной30,00Щи-45,00Рис отварной0,00Рис отварной75,00
Может есть у кого пример скрипта с разбором чека?
И еще, есть ли дока с описанием класса RKCheck?
Стандартная дока от UCS ничего толком не рассказывает.