ТМС:Кассир:FB — различия между версиями
Материал из wiki.standart-n.ru
Aleksnick (обсуждение | вклад) (Новая страница: « <nowiki> CurrFDB - ссылка на текущую базу данных (FIBPlus) CurrFRT - ссылка на постоянн…») |
Aleksnick (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| + | ==Объекты== | ||
<nowiki> | <nowiki> | ||
CurrFDB - ссылка на текущую базу данных (FIBPlus) | CurrFDB - ссылка на текущую базу данных (FIBPlus) | ||
| Строка 15: | Строка 16: | ||
</nowiki> | </nowiki> | ||
| + | ==Переменные и методы== | ||
<nowiki> | <nowiki> | ||
UserID - ID текущего пользователя | UserID - ID текущего пользователя | ||
| Строка 47: | Строка 49: | ||
it.Commit; | it.Commit; | ||
it.Free; | it.Free; | ||
| + | end; | ||
| + | </nowiki> | ||
| + | |||
| + | ==GetTrans== | ||
| + | Получить транзакцию для работы в ее рамках (нельзя стартовать, закрывать и откатывать такую транзакцию!). | ||
| + | |||
| + | ====ВНИМАНИЕ!==== | ||
| + | Транзакции типа '''TpFIBTransaction''', т.е. из состава компонентов '''FibPlus''', а не '''IBX'''! | ||
| + | Для работы требуется подключить модуть '''FIBPlus'''. | ||
| + | |||
| + | ====Параметры==== | ||
| + | iTransType - тип запрашиваемой транзакции | ||
| + | Поддерживаемые типы транзакций: | ||
| + | 0 (TRANS_CLOSECHEQUE) - транзакция при закрытии чека | ||
| + | |||
| + | ====Пример==== | ||
| + | После печати чека: | ||
| + | |||
| + | <nowiki> | ||
| + | uses zkassa, fibplus, classes, chequelist; | ||
| + | var fiq: tpfibquery; | ||
| + | begin | ||
| + | fiq := tpfibquery.create(nil); | ||
| + | fiq.Transaction := GetTrans(0); | ||
| + | fiq.SQL.Text := 'update docs set device_num = ''трали-вали'' where id = ' + IntToStr(chequelist.Active.ID); | ||
| + | fiq.ExecQuery; | ||
| + | fiq.Free; | ||
end; | end; | ||
</nowiki> | </nowiki> | ||
Текущая версия на 15:14, 1 октября 2014
Содержание
Объекты
CurrFDB - ссылка на текущую базу данных (FIBPlus) CurrFRT - ссылка на постоянную читающую транзакцию текущей базы (FIBPlus) CurrDB - ссылка на текущую базу данных (IBX) CurrRT - ссылка на постоянную читающую транзакцию текущей базы (IBX) Base - ссылка на текущий датасет базы (TDataset)
Пример:
uses zkassa, DB;
begin
TagSetContent(fmMain.ewbFooter, 'partid_val', IntToStr(Base.FieldByName('part_id').AsInteger));
end;
Переменные и методы
UserID - ID текущего пользователя SessionID - ID текущей смены CreateFRT - функция создает читающую транзакцию (FIBPlus) CreateFWT - функция создает пишущую транзакцию (FIBPlus) CreateRT - функция создает читающую транзакцию (IBX) CreateWT - функция создает пишущую транзакцию (IBX)
Пример (FIBPlus):
uses zkassa, fibplus;
var fit: TpFIBTransaction;
begin
fit := CreateFWT(CurrFDB);
fit.StartTransaction;
...
fit.Commit;
fit.Free;
end;
Пример (IBX):
uses zkassa;
var it: TIBTransaction;
begin
it := CreateWT(CurrDB);
it.StartTransaction;
...
it.Commit;
it.Free;
end;
GetTrans
Получить транзакцию для работы в ее рамках (нельзя стартовать, закрывать и откатывать такую транзакцию!).
ВНИМАНИЕ!
Транзакции типа TpFIBTransaction, т.е. из состава компонентов FibPlus, а не IBX! Для работы требуется подключить модуть FIBPlus.
Параметры
iTransType - тип запрашиваемой транзакции Поддерживаемые типы транзакций: 0 (TRANS_CLOSECHEQUE) - транзакция при закрытии чека
Пример
После печати чека:
uses zkassa, fibplus, classes, chequelist;
var fiq: tpfibquery;
begin
fiq := tpfibquery.create(nil);
fiq.Transaction := GetTrans(0);
fiq.SQL.Text := 'update docs set device_num = ''трали-вали'' where id = ' + IntToStr(chequelist.Active.ID);
fiq.ExecQuery;
fiq.Free;
end;