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 | ТМЦ | По штрих-коду. Если ШК не задан, то по наименованию, без учета регистра. |
См. также