Синтаксис:
function AddFrom( const TableName: WideString): Integer; |
Параметры:
TableName – имена таблиц. Можно использовать только временные таблицы текущего пользователя. Имена таблиц нужно указывать в следующем формате:
{<Имя таблицы> [as [<Псевдоним таблицы>]]} [,...n]
Имена таблиц можно получать с помощью свойств SQLTableName или IDataSet.SQLTableName. Псевдонимы таблиц могут быть произвольными, но должны совпадать с псевдонимами, указанными при вызове AddSelect.
Для формирования параметра удобно использовать функцию Format.
Возвращаемое значение:
Идентификатор таблиц в запросе.
Описание:
Метод добавляет таблицы в раздел from SQL-запроса набора данных. Если раздел from еще не был определен, то он создается. Если раздел from уже был определен, то новые таблицы добавляются в конец раздела.Идентификатор таблиц в запросе следует использовать при вызове DelFrom для удаления таблицы из запроса.
Примечание. При вызове метода не из ISBL-вычислений или из ISBL-вычислений с подключением к системе DIRECTUM, отличной от текущей, значение параметра должно строго соответствовать формату. В противном случае будет сгенерировано исключение. |
Пример использования:
// Показать все справочники, в которых используется данный реквизит.
RequisiteCode = 'ISBEDocStrg'
Reference = References.SYSREF_REFERENCE_TYPES.GetComponent
Reference.ComponentForm.View.ViewMode = vmNavigation
RequisitesDataSet = Reference.DataSet.DetailDataSet(1)
ReferenceTable = Reference.TableName
RequisitesTable = RequisitesDataSet.TableName
AddFrom = Reference.AddFrom(RequisitesTable)
// Установить связь между реквизитами и справочниками,
// которые их используют.
AddWhere1 = Reference.AddWhere(Format("%0:s.%1:s = %2:s.%3:s";
ArrayOf(ReferenceTable; Reference.Requisites(SYSREQ_ID).FieldName;
RequisitesTable; RequisitesDataSet.Requisites(
SYSREQ_MAIN_RECORD_ID).FieldName)))
// Задать реквизит.
AddWhere2 = Reference.AddWhere(Format("%0:s.%1:s = '%2:s'";
ArrayOf(RequisitesTable; RequisitesDataSet.Requisites(
SYSREQ_REF_TYPE_REQ_CODE).FieldName; RequisiteCode)))
// Исключить действия с кодом равным RequisiteCode,
// т.к. действия хранятся в той же таблице, что и реквизиты.
AddWhere3 = Reference.AddWhere(Format("%0:s.%1:s <> 'K'";
ArrayOf(RequisitesTable; RequisitesDataSet.Requisites(
SYSREQ_REF_TYPE_REQ_SECTION).FieldName)))
Reference.ComponentForm.Show
Reference.DelFrom(AddFrom)
Reference.DelWhere(AddWhere1)
Reference.DelWhere(AddWhere2)
Reference.DelWhere(AddWhere3)
Метод AddSelect Метод AddWhere Метод DelFrom Свойство SQLTableName Свойство IDataSet.SQLTableName |