GdcBase.TgdcBase.CheckTheSameStatement
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 | ТМЦ | По штрих-коду. Если ШК не задан, то по наименованию, без учета регистра. |
| TgdcAcctQuantity | Количественный показатель | По ИД проводки и ИД количественного показателя. |
| TgdcBaseDocumentType | Тип документа | По РУИДу типа документа (поле ruid). |
| TgdcConst | Константы | По наименованию без учета регистра. |
| TgdcAccount | Банковский счет | По номеру счета, ИД банка и ИД компании. |
| TgdcCompany | Организация | По имени и ИНН. Без учета регистра. |
| TgdcBank | Банк | По коду банка и номеру филиала (bankbranch). |
| TgdcOurCompany | Учетная организация | По имени и ИНН. |
| TgdcCurr | Справочник валют | По наименованию без учета регистра. |
| TgdcCurrRate | Курс валюты | По идентификаторам обеих валют и дате. |
| TgdcDelphiObject | По имени объекта, классу, подтипу и идентификатору родителя. | |
| TgdcEvent | Обработчик события | По ИД объекта и имени события. С учетом регистра. |
| TgdcExplorer | Объект Исследователя | По полю cmd без учета регистра. |
| TgdcBaseFile | Файл | По имени и родителю. Без учета регистра. |
| TgdcComponentFilter | Фильтр | По наименованию и коду crc. |
| TgdcSavedFilter | По наименованию, ИД компонента и ИД пользователя. | |
См. также