GdcBase.TgdcBase.Transaction

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «{{PropertyDef_Template|unit=gdcBase|class=TgdcBase|visibility=public|src=property Transaction: TIBTransaction read GetTransaction write SetTransaction;}} == Опи…»)
 
Строка 1: Строка 1:
 
{{PropertyDef_Template|unit=gdcBase|class=TgdcBase|visibility=public|src=property Transaction: TIBTransaction read GetTransaction write SetTransaction;}}
 
{{PropertyDef_Template|unit=gdcBase|class=TgdcBase|visibility=public|src=property Transaction: TIBTransaction read GetTransaction write SetTransaction;}}
 
 
== Описание ==
 
== Описание ==
 
 
<onlyinclude>
 
<onlyinclude>
 
Транзакция.
 
Транзакция.
 
</onlyinclude>
 
</onlyinclude>
 
 
=== Использование транзакции бизнес-объекта во внешних запросах ===
 
=== Использование транзакции бизнес-объекта во внешних запросах ===
 
 
==== Находимся внутри сложного процесса изменения ====
 
==== Находимся внутри сложного процесса изменения ====
 
 
# Если Вам надо только что-то прочитать за пределами процесса, то используем gdcBaseManager.ReadTransaction. Она всегда есть, она всегда открыта.
 
# Если Вам надо только что-то прочитать за пределами процесса, то используем gdcBaseManager.ReadTransaction. Она всегда есть, она всегда открыта.
 
# Если Вам надо что-то изменить или прочитать данные, которые меняются текущим процессом, то используем Self.Transaction. Не надо проверять открыта она или нет. Она ДОЛЖНА быть открыта. Если нет, то это ошибка в коде ядра или в коде настройки и надо исправлять саму ошибку, а не проверять ее следствие.
 
# Если Вам надо что-то изменить или прочитать данные, которые меняются текущим процессом, то используем Self.Transaction. Не надо проверять открыта она или нет. Она ДОЛЖНА быть открыта. Если нет, то это ошибка в коде ядра или в коде настройки и надо исправлять саму ошибку, а не проверять ее следствие.
 
 
==== Находимся за пределами процесса изменения ====
 
==== Находимся за пределами процесса изменения ====
 
 
# Если Вам надо только что-то прочитать, то используем gdcBaseManager.ReadTransaction. Она всегда есть, она всегда открыта.
 
# Если Вам надо только что-то прочитать, то используем gdcBaseManager.ReadTransaction. Она всегда есть, она всегда открыта.
 
# Если Вам надо что-то изменить, то создаем и используем свою транзакцию. Ни в коем случае не дергаем Self.Transaction или gdcObject.Transaction. Одиночные изменения можно делать gdcBaseManager.ExecSingleQuery.
 
# Если Вам надо что-то изменить, то создаем и используем свою транзакцию. Ни в коем случае не дергаем Self.Transaction или gdcObject.Transaction. Одиночные изменения можно делать gdcBaseManager.ExecSingleQuery.
  
 
Внутри процесса означает в методах DoAfterСustomProcess, CustomInsert, CustomModify и CustomDelete.
 
Внутри процесса означает в методах DoAfterСustomProcess, CustomInsert, CustomModify и CustomDelete.

Версия 15:55, 30 марта 2011

 Модуль: gdcBase.pas   Тип: property   Видимость: public   Принадлежит: TgdcBase 

Delphi:

 property Transaction: TIBTransaction read GetTransaction write SetTransaction;

Описание

Транзакция.

Использование транзакции бизнес-объекта во внешних запросах

Находимся внутри сложного процесса изменения

  1. Если Вам надо только что-то прочитать за пределами процесса, то используем gdcBaseManager.ReadTransaction. Она всегда есть, она всегда открыта.
  2. Если Вам надо что-то изменить или прочитать данные, которые меняются текущим процессом, то используем Self.Transaction. Не надо проверять открыта она или нет. Она ДОЛЖНА быть открыта. Если нет, то это ошибка в коде ядра или в коде настройки и надо исправлять саму ошибку, а не проверять ее следствие.

Находимся за пределами процесса изменения

  1. Если Вам надо только что-то прочитать, то используем gdcBaseManager.ReadTransaction. Она всегда есть, она всегда открыта.
  2. Если Вам надо что-то изменить, то создаем и используем свою транзакцию. Ни в коем случае не дергаем Self.Transaction или gdcObject.Transaction. Одиночные изменения можно делать gdcBaseManager.ExecSingleQuery.

Внутри процесса означает в методах DoAfterСustomProcess, CustomInsert, CustomModify и CustomDelete.

Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты