GdcBase.TgdcBase.CheckTheSameStatement

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
(Новая страница: «{{MethodDef_Template|unit={{#explode:{{PAGENAME}}|.|0}}|visibility=public|class={{#explode:{{PAGENAME}}|.|-2}}|method_type=function|src=function CheckTheSameStatemen…»)
 
Строка 1: Строка 1:
 
{{MethodDef_Template|unit={{#explode:{{PAGENAME}}|.|0}}|visibility=public|class={{#explode:{{PAGENAME}}|.|-2}}|method_type=function|src=function CheckTheSameStatement: String;}}
 
{{MethodDef_Template|unit={{#explode:{{PAGENAME}}|.|0}}|visibility=public|class={{#explode:{{PAGENAME}}|.|-2}}|method_type=function|src=function CheckTheSameStatement: String;}}
<onlyinclude>Возвращает запрос для поиска объекта.</onlyinclude>
+
<onlyinclude>Возвращает запрос для поиска объекта по потенциальному естественному ключу.</onlyinclude> Используется при загрузке объектов в базу данных из файла. Результат функции зависит от состояния бизнес-объекта:
 +
 
 +
====Active = False====
 +
 
 +
Если метод перекрыт, то возвращается параметризованный запрос. Наименования параметров совпадают с наименованиями полей в таблицах. Пример поиска товара сначала по штрихкоду и затем по наименованию без учета регистра:
 +
 
 +
  SELECT id FROM gd_good
 +
  WHERE
 +
    (:barcode IS NOT NULL AND :barcode = barcode)
 +
    OR
 +
    (:barcode IS NULL AND barcode IS NULL AND UPPER(name)=UPPER(:name))
 +
 
 +
Если метод не перекрыт, то вызывается TgdcBase.CheckTheSameStatement, который вернет пустую строку.
 +
 
 +
====Active = True, EOF = True====
 +
 
 +
Возвращает пустую строку.
 +
 
 +
====Active = True, EOF = False, ID < 147000000====
 +
 
 +
Возвращает запрос для поиска стандартного объекта по его идентификатору:
 +
 
 +
  SELECT id FROM some_table WHERE id = rec_id_is_here
 +
 
 +
====Active = True, EOF = False, ID >= 147000000====
 +
 
 +
Если метод перекрыт, то возвращается '''не параметризованный''' запрос, в котором непосредственно прописаны значения полей из текущей записи. Пример запроса для поиска товара по наименованию:
 +
 
 +
  SELECT id FROM gd_good WHERE UPPER(name) = UPPER('Наименование товара')
 +
 
 +
====Правила поиска объектов====
 +
 
 +
{| border="1" cellpadding="2" cellspacing="0" style="border-collapse:collapse;"
 +
!style="background:#ffdead;" width="120px"| Класс
 +
!style="background:#ffdead;" width="120px"| Наименование
 +
!style="background:#ffdead;" | Правило поиска
 +
|-
 +
| TgdcAcctAccount || Счет, субсчет || По номеру (alias) в пределах плана счетов, определяемого через поле parent.
 +
|-
 +
| TgdcGood || ТМЦ || По штрих-коду. Если ШК не задан, то по наименованию, без учета регистра.
 +
|}
 +
 
 +
====См. также====
 +
 
 +
* [http://en.wikipedia.org/wiki/Candidate_key Потенциальный ключ]
 +
 
 +
 
 +
__NOTOC__

Версия 17:08, 4 сентября 2013

From GdcBase.pas

 function CheckTheSameStatement: String;

Unit: GdcBase

Type: function

Visibility: public

Member Of: TgdcBase

Описание

Возвращает запрос для поиска объекта по потенциальному естественному ключу. Используется при загрузке объектов в базу данных из файла. Результат функции зависит от состояния бизнес-объекта:

Active = False

Если метод перекрыт, то возвращается параметризованный запрос. Наименования параметров совпадают с наименованиями полей в таблицах. Пример поиска товара сначала по штрихкоду и затем по наименованию без учета регистра:

 SELECT id FROM gd_good 
 WHERE 
   (:barcode IS NOT NULL AND :barcode = barcode) 
   OR 
   (:barcode IS NULL AND barcode IS NULL AND UPPER(name)=UPPER(:name))

Если метод не перекрыт, то вызывается TgdcBase.CheckTheSameStatement, который вернет пустую строку.

Active = True, EOF = True

Возвращает пустую строку.

Active = True, EOF = False, ID < 147000000

Возвращает запрос для поиска стандартного объекта по его идентификатору:

 SELECT id FROM some_table WHERE id = rec_id_is_here

Active = True, EOF = False, ID >= 147000000

Если метод перекрыт, то возвращается не параметризованный запрос, в котором непосредственно прописаны значения полей из текущей записи. Пример запроса для поиска товара по наименованию:

 SELECT id FROM gd_good WHERE UPPER(name) = UPPER('Наименование товара')

Правила поиска объектов

Класс Наименование Правило поиска
TgdcAcctAccount Счет, субсчет По номеру (alias) в пределах плана счетов, определяемого через поле parent.
TgdcGood ТМЦ По штрих-коду. Если ШК не задан, то по наименованию, без учета регистра.

См. также


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

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