GdcBase.TgdcBase.CheckTheSameStatement
SYSDBA (обсуждение | вклад) (Новая страница: «{{MethodDef_Template|unit={{#explode:{{PAGENAME}}|.|0}}|visibility=public|class={{#explode:{{PAGENAME}}|.|-2}}|method_type=function|src=function CheckTheSameStatemen…») |
SYSDBA (обсуждение | вклад) (→Правила поиска объектов) |
||
| (не показаны 6 промежуточных версий 1 участника) | |||
| Строка 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. | ||
| + | |- | ||
| + | | TgdcAcctQuantity || Количественный показатель || По ИД проводки и ИД количественного показателя. | ||
| + | |- | ||
| + | | TgdcBaseDocumentType || Тип документа || По РУИДу типа документа (поле ruid). | ||
| + | |- | ||
| + | | TgdcConst || Константы || По наименованию без учета регистра. | ||
| + | |- | ||
| + | | TgdcAccount || Банковский счет || По номеру счета, ИД банка и ИД компании. | ||
| + | |- | ||
| + | | [[GdcContacts.TgdcCompany|TgdcCompany]] || Организация || По имени и ИНН. Без учета регистра. | ||
| + | |- | ||
| + | | [[GdcContacts.TgdcBank|TgdcBank]] || Банк || По коду банка и номеру филиала (bankbranch). | ||
| + | |- | ||
| + | | [[GdcContacts.TgdcOurCompany|TgdcOurCompany]] || Учетная организация || По имени и ИНН. | ||
| + | |- | ||
| + | | TgdcCurr || Справочник валют || По наименованию без учета регистра. | ||
| + | |- | ||
| + | | TgdcCurrRate || Курс валюты || По идентификаторам обеих валют и дате. | ||
| + | |- | ||
| + | | TgdcDelphiObject || || По имени объекта, классу, подтипу и идентификатору родителя. | ||
| + | |- | ||
| + | | TgdcEvent || Обработчик события || По ИД объекта и имени события. С учетом регистра. | ||
| + | |- | ||
| + | | TgdcExplorer || Объект Исследователя || По полю cmd без учета регистра. | ||
| + | |- | ||
| + | | TgdcBaseFile || Файл || По имени и родителю. Без учета регистра. | ||
| + | |- | ||
| + | | TgdcComponentFilter || Фильтр || По наименованию и коду crc. | ||
| + | |- | ||
| + | | TgdcSavedFilter || || По наименованию, ИД компонента и ИД пользователя. | ||
| + | |- | ||
| + | | TgdcFunction || Скрипт-функция || По наименованию без учета регистра и по ИД модуля. | ||
| + | |- | ||
| + | | TgdcGood || ТМЦ || По штрих-коду. Если ШК не задан, то по наименованию без учета регистра. | ||
| + | |- | ||
| + | | TgdcMacrosGroup || Группа макросов || Имени объекта, имени класса, подтипу и расположению (parent). | ||
| + | |- | ||
| + | | TgdcMacros || Макрос || По ИД скрипт-функции. | ||
| + | |- | ||
| + | | TgdcField || Домен || По имени домена. | ||
| + | |- | ||
| + | | TgdcRelation || Таблица || По имени таблицы. | ||
| + | |- | ||
| + | | TgdcRelationField || Поле таблицы || По имени таблицы и имени поля. | ||
| + | |- | ||
| + | | TgdcStoredProc || Хранимая процедура || По имени процедуры. | ||
| + | |- | ||
| + | | TgdcException || Исключение || По имени исключения. | ||
| + | |- | ||
| + | | TgdcIndex || Индекс || По имени индекса. | ||
| + | |- | ||
| + | | TgdcTrigger || Триггер || По имени триггера. | ||
| + | |- | ||
| + | | TgdcGenerator || Генератор || По имени генератора. | ||
| + | |- | ||
| + | | TgdcCheckConstraint || Ограничение || По имени ограничения. | ||
| + | |- | ||
| + | | TgdcPlace || Административно-территориальная единица || По имени без учета регистра. | ||
| + | |- | ||
| + | | TgdcReportGroup || Группа отчетов || По имени (usergroupname) без учета регистра. | ||
| + | |- | ||
| + | | TgdcReport || Отчет || По имени и родительской группе. Без учета регистра. | ||
| + | |- | ||
| + | | TgdcSettingPos || Позиция настройки || По РУИДу и ИД настройки. | ||
| + | |- | ||
| + | | TgdcStorage || Хранилище || По типу хранилища, имени раздела и параметра. | ||
| + | |- | ||
| + | | TgdcTaxActual || || По ИД наименования налогового расчета и дате. | ||
| + | |- | ||
| + | | TgdcTaxName || || По имени без учета регистра. | ||
| + | |- | ||
| + | | TgdcTemplate || Шаблон отчета || По имени без учета регистра. | ||
| + | |- | ||
| + | | TgdcUser || Пользователь системы || По имени без учета регистра. | ||
| + | |- | ||
| + | | TgdcUserGroup || Группы пользователей || По имени без учета регистра. | ||
| + | |- | ||
| + | | TgdcWgPosition || Справочник должностей || По имени без учета регистра. | ||
| + | |- | ||
| + | | TgdcInvBaseDocument || || Всегда возвращает пустую строку. | ||
| + | |- | ||
| + | | TgdcInvBaseRemains || || Всегда возвращает пустую строку. | ||
| + | |} | ||
| + | |||
| + | ====См. также==== | ||
| + | |||
| + | * [http://en.wikipedia.org/wiki/Candidate_key Потенциальный ключ] | ||
| + | |||
| + | |||
| + | __NOTOC__ | ||
Текущая версия на 20:51, 30 ноября 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. |
| TgdcAcctQuantity | Количественный показатель | По ИД проводки и ИД количественного показателя. |
| TgdcBaseDocumentType | Тип документа | По РУИДу типа документа (поле ruid). |
| TgdcConst | Константы | По наименованию без учета регистра. |
| TgdcAccount | Банковский счет | По номеру счета, ИД банка и ИД компании. |
| TgdcCompany | Организация | По имени и ИНН. Без учета регистра. |
| TgdcBank | Банк | По коду банка и номеру филиала (bankbranch). |
| TgdcOurCompany | Учетная организация | По имени и ИНН. |
| TgdcCurr | Справочник валют | По наименованию без учета регистра. |
| TgdcCurrRate | Курс валюты | По идентификаторам обеих валют и дате. |
| TgdcDelphiObject | По имени объекта, классу, подтипу и идентификатору родителя. | |
| TgdcEvent | Обработчик события | По ИД объекта и имени события. С учетом регистра. |
| TgdcExplorer | Объект Исследователя | По полю cmd без учета регистра. |
| TgdcBaseFile | Файл | По имени и родителю. Без учета регистра. |
| TgdcComponentFilter | Фильтр | По наименованию и коду crc. |
| TgdcSavedFilter | По наименованию, ИД компонента и ИД пользователя. | |
| TgdcFunction | Скрипт-функция | По наименованию без учета регистра и по ИД модуля. |
| TgdcGood | ТМЦ | По штрих-коду. Если ШК не задан, то по наименованию без учета регистра. |
| TgdcMacrosGroup | Группа макросов | Имени объекта, имени класса, подтипу и расположению (parent). |
| TgdcMacros | Макрос | По ИД скрипт-функции. |
| TgdcField | Домен | По имени домена. |
| TgdcRelation | Таблица | По имени таблицы. |
| TgdcRelationField | Поле таблицы | По имени таблицы и имени поля. |
| TgdcStoredProc | Хранимая процедура | По имени процедуры. |
| TgdcException | Исключение | По имени исключения. |
| TgdcIndex | Индекс | По имени индекса. |
| TgdcTrigger | Триггер | По имени триггера. |
| TgdcGenerator | Генератор | По имени генератора. |
| TgdcCheckConstraint | Ограничение | По имени ограничения. |
| TgdcPlace | Административно-территориальная единица | По имени без учета регистра. |
| TgdcReportGroup | Группа отчетов | По имени (usergroupname) без учета регистра. |
| TgdcReport | Отчет | По имени и родительской группе. Без учета регистра. |
| TgdcSettingPos | Позиция настройки | По РУИДу и ИД настройки. |
| TgdcStorage | Хранилище | По типу хранилища, имени раздела и параметра. |
| TgdcTaxActual | По ИД наименования налогового расчета и дате. | |
| TgdcTaxName | По имени без учета регистра. | |
| TgdcTemplate | Шаблон отчета | По имени без учета регистра. |
| TgdcUser | Пользователь системы | По имени без учета регистра. |
| TgdcUserGroup | Группы пользователей | По имени без учета регистра. |
| TgdcWgPosition | Справочник должностей | По имени без учета регистра. |
| TgdcInvBaseDocument | Всегда возвращает пустую строку. | |
| TgdcInvBaseRemains | Всегда возвращает пустую строку. |
[править] См. также