Difference between revisions of "TempDB.LoadFrom"
1>Admin |
m (1 revision imported) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 24: | Line 24: | ||
** '''Объект базы данных''' -- принимаются объекты типа Справочник, Документ, Накопитель или Журнал. | ** '''Объект базы данных''' -- принимаются объекты типа Справочник, Документ, Накопитель или Журнал. | ||
** '''Строка''' -- задает путь объекта базы данных в виде <code><Тип данных БД>.<Вид данных БД></code>. | ** '''Строка''' -- задает путь объекта базы данных в виде <code><Тип данных БД>.<Вид данных БД></code>. | ||
− | ** '''Другая временная таблица базы данных''' -- переменная, задающая другую временную таблицу базы данных, записи которой будут | + | ** '''Другая временная таблица базы данных''' -- переменная, задающая другую временную таблицу базы данных, записи которой будут копироваться в данную. |
* <code>''<Формулы для вычисления столбцов (STRING)>''</code> - Аргумент задает способ вычисления столбцов текущей таблицы при добавлении записей из источника. Столбцы, не указанные в данном аргументе, при добавлении новой записи, будут заполнены пустыми значениями по умолчанию. Задание аргумента имеет следующий формат: <code>[Aggregate[:<Столбцы группировки через ":">],]<Выражение 1>-><Имя столбца 1>,<Выражение 2>-><Имя столбца 2>...</code>. При наличии зарезервированного слова ''Aggregate'' к источнику данных будет создан запрос агрегации с группировкой по указанным столбцам таблицы или реквизитам объекта {{Planned}}, при этом в выражениях для вычисления можно использовать функции агрегации. Выражения содержат весь возможный набор функций и операторов языка запросов (см. [[Временная таблица базы данных]], [[Объект запрос базы данных]]). | * <code>''<Формулы для вычисления столбцов (STRING)>''</code> - Аргумент задает способ вычисления столбцов текущей таблицы при добавлении записей из источника. Столбцы, не указанные в данном аргументе, при добавлении новой записи, будут заполнены пустыми значениями по умолчанию. Задание аргумента имеет следующий формат: <code>[Aggregate[:<Столбцы группировки через ":">],]<Выражение 1>-><Имя столбца 1>,<Выражение 2>-><Имя столбца 2>...</code>. При наличии зарезервированного слова ''Aggregate'' к источнику данных будет создан запрос агрегации с группировкой по указанным столбцам таблицы или реквизитам объекта {{Planned}}, при этом в выражениях для вычисления можно использовать функции агрегации. Выражения содержат весь возможный набор функций и операторов языка запросов (см. [[Временная таблица базы данных]], [[Объект запрос базы данных]]). | ||
* <code>''<Стандартные фильтры>''</code> - {{Optional}} Стандартные фильтры отбора записей источника данных описаны в статье [[Стандартные фильтры]]. Важное отличие от фильтров функций объектов базы данных заключается в том, что стандартные фильтры всегда работают в сложном (расширенном) режиме, при этом отсутствует требование, что первая строка фильтра должна начинаться на знак '''~'''. Выражения фильтров содержат весь возможный набор функций и операторов языка запросов (см. [[Временная таблица базы данных]], [[Объект запрос базы данных]]), при указании наименование также применимы префиксы (типа ''':'''), как это описано в [[Временная таблица базы данных#Формулы при вычислении полей записей временной таблицы базы данных|статье по временной таблице базы данных]]. | * <code>''<Стандартные фильтры>''</code> - {{Optional}} Стандартные фильтры отбора записей источника данных описаны в статье [[Стандартные фильтры]]. Важное отличие от фильтров функций объектов базы данных заключается в том, что стандартные фильтры всегда работают в сложном (расширенном) режиме, при этом отсутствует требование, что первая строка фильтра должна начинаться на знак '''~'''. Выражения фильтров содержат весь возможный набор функций и операторов языка запросов (см. [[Временная таблица базы данных]], [[Объект запрос базы данных]]), при указании наименование также применимы префиксы (типа ''':'''), как это описано в [[Временная таблица базы данных#Формулы при вычислении полей записей временной таблицы базы данных|статье по временной таблице базы данных]]. |
Latest revision as of 18:09, 20 November 2021
LoadFrom (Загрузка данных во временную таблицу) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция выполняет загрузку записей из указанного источника данных (таблицы объекта проекта или другой временной таблицы базы данных), при этом указанные столбцы таблицы заполняются требуемым образом. Запрос к источнику базы данных может быть выполнен с использованием агрегации или без оной. Если выполняется запрос агрегации, для вычисления столбцов возможно применять функции агрегации. Предыдущие записи, находившиеся до этого момента в таблице не изменяются, операция только добавляет новые записи.
Синтаксис
TempDB.LoadFrom(<Источник данных (DB,STRING,TEMPDB)>,<Формулы для вычисления столбцов (STRING)>,<Стандартные фильтры>...)
Аргументы
<Источник данных (DB,STRING,TEMPDB)>
- Источник данных для добавления записей может быть:- Объект базы данных -- принимаются объекты типа Справочник, Документ, Накопитель или Журнал.
- Строка -- задает путь объекта базы данных в виде
<Тип данных БД>.<Вид данных БД>
. - Другая временная таблица базы данных -- переменная, задающая другую временную таблицу базы данных, записи которой будут копироваться в данную.
<Формулы для вычисления столбцов (STRING)>
- Аргумент задает способ вычисления столбцов текущей таблицы при добавлении записей из источника. Столбцы, не указанные в данном аргументе, при добавлении новой записи, будут заполнены пустыми значениями по умолчанию. Задание аргумента имеет следующий формат:[Aggregate[:<Столбцы группировки через ":">],]<Выражение 1>-><Имя столбца 1>,<Выражение 2>-><Имя столбца 2>...
. При наличии зарезервированного слова Aggregate к источнику данных будет создан запрос агрегации с группировкой по указанным столбцам таблицы или реквизитам объекта (планируется к реализации), при этом в выражениях для вычисления можно использовать функции агрегации. Выражения содержат весь возможный набор функций и операторов языка запросов (см. Временная таблица базы данных, Объект запрос базы данных).<Стандартные фильтры>
- (необязательный аргумент) Стандартные фильтры отбора записей источника данных описаны в статье Стандартные фильтры. Важное отличие от фильтров функций объектов базы данных заключается в том, что стандартные фильтры всегда работают в сложном (расширенном) режиме, при этом отсутствует требование, что первая строка фильтра должна начинаться на знак ~. Выражения фильтров содержат весь возможный набор функций и операторов языка запросов (см. Временная таблица базы данных, Объект запрос базы данных), при указании наименование также применимы префиксы (типа :), как это описано в статье по временной таблице базы данных.
Примеры
//Пример создает таблицу аТемп, и заполняет ее резервами документа ЗаказНаПроизводство, при этом в ней также заполнено поле документа ВыпускПродукции. // Документ ВыпускПродукции подчинен документу ЗаказНаПроизводство. Выборка документов происходит за период с НачДата по КонДата. //Таблица номенклатуры из резервов с выпусками и заданиями аТемп:=TempDB.Create("зДок:DB,зЗад:DB,зН:DB:I,Количество:NUMBER.15.5"); //Заказы на производство аТемп.LoadFrom("Stor.Резервы","@LINK->зЗад,Номенклатура->зН,?(@EXPENSE=1,-Количество,Количество)->Количество", "(BegOfDay(@DATE)>=НачДата)And(BegOfDay(@DATE)<=КонДата)","IsType(@LINK,Doc.ЗаказНаПроизводство)"); //Заполняем зДок (подчиненный документ -- ВыпускПродукции) вТемп:=TempDB.Create("зДок2:DB,зЗад:DB"); //Выбираются только те документы выпусков, основания которых (ЗаказНаПроизводство) находятся в таблице аТемп вТемп.LoadFrom("Doc.ВыпускПродукции","@ELEMENT->зДок2,@ELEMENT.ДокОснование->зЗад","@ELEMENT.ДокОснование IN аТемп.зЗад"); //Заполним столбец зДок оригинальной таблицы, объединение происходит по условию ":зЗад=зЗад". аТемп.Update(вТемп,":зЗад=зЗад,зДок2->зДок"); //В дальнейшем таблицу аТемп можно выводить на экран или использовать в последующих запросах.