ТМС:Кассир:FB — различия между версиями

Материал из wiki.standart-n.ru
Перейти к: навигация, поиск
(Новая страница: « <nowiki> CurrFDB - ссылка на текущую базу данных (FIBPlus) CurrFRT - ссылка на постоянн…»)
 
 
Строка 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;