Difference between revisions of "TempDB.Size"
m (1 revision imported) |
|||
(2 intermediate revisions by 2 users not shown) | |||
Line 21: | Line 21: | ||
==== Аргументы ==== | ==== Аргументы ==== | ||
− | * <code>''<Стандартные фильтры>''</code> - {{Optional}} Стандартные фильтры отбора записей таблицы описаны в статье [[Стандартные фильтры]]. Важное отличие от фильтров функций объектов базы данных заключается в том, стандартные фильтры всегда работают в сложном (расширенном) режиме, при этом отсутствует требование, что первая строка фильтра должна начинаться на знак '''~'''. Выражения фильтров содержат весь возможный набор функций и операторов языка запросов (см. [[Временная таблица базы данных]], [[Объект запрос базы данных]]), при указании наименование также применимы префиксы (типа ''':'''), как это описано в [[Временная таблица базы данных#Формулы при вычислении полей записей временной таблицы базы данных|статье по временной таблице базы данных]]. | + | * <code>''<Стандартные фильтры>''</code> - {{Optional}} Стандартные фильтры отбора записей таблицы описаны в статье [[Стандартные фильтры]]. Важное отличие от фильтров функций объектов базы данных заключается в том, что стандартные фильтры всегда работают в сложном (расширенном) режиме, при этом отсутствует требование, что первая строка фильтра должна начинаться на знак '''~'''. Выражения фильтров содержат весь возможный набор функций и операторов языка запросов (см. [[Временная таблица базы данных]], [[Объект запрос базы данных]]), при указании наименование также применимы префиксы (типа ''':'''), как это описано в [[Временная таблица базы данных#Формулы при вычислении полей записей временной таблицы базы данных|статье по временной таблице базы данных]]. |
==== Возвращаемое значение ==== | ==== Возвращаемое значение ==== |
Latest revision as of 09:05, 28 June 2021
Size (Количество записей) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция возвращает количество записей, входящих в указанных фильтр.
Синтаксис
TempDB.Size(<Стандартные фильтры>...):<Количество записей (INT)>
Аргументы
<Стандартные фильтры>
- (необязательный аргумент) Стандартные фильтры отбора записей таблицы описаны в статье Стандартные фильтры. Важное отличие от фильтров функций объектов базы данных заключается в том, что стандартные фильтры всегда работают в сложном (расширенном) режиме, при этом отсутствует требование, что первая строка фильтра должна начинаться на знак ~. Выражения фильтров содержат весь возможный набор функций и операторов языка запросов (см. Временная таблица базы данных, Объект запрос базы данных), при указании наименование также применимы префиксы (типа :), как это описано в статье по временной таблице базы данных.
Возвращаемое значение
Возвращает количество записей, удовлетворяющих заданному фильтру. Если фильтр пуст, функция возвращает общее количество записей таблицы.
Примеры
//Пример показывает рабочий цикл с объектами из временной таблицы, используя сборщик объектов для уменьшения расхода памяти //MainTab -- визуальная таблица, в которую будут копироваться результаты обработки временной таблицы БД //Создание сборщика объектов ObjC:=ObjectCollector.Create(); MainTab.Lock(); Try //Очистка визуальной таблицы MainTab.ClearLines(); //Создание и загрузка сложной временной таблицы БД, детали загрузки не имеют особого значения для нашего примера аТемп:=TempDB.Create("зДок:DB,зЗад:DB,зВып:DB,зДата:DATE,зНомерСтроки:NUMBER.10,Номенклатура:DB,Смена:DB,Работники:STRING.200,Количество:NUMBER.15.5"); аТемп.LoadFrom("Doc.РегистрацияВыпускаПродукции.Содержание","@HEADER->зДок,@HEADER.DocDate->зДата,@HEADER.ВыпускПродукции->зВып,@HEADER.ВыпускПродукции..Doc.ВыпускПродукции.ДокОснование->зЗад,"+ "@LINE->зНомерСтроки,Материал->Номенклатура,КоличествоОпераций->Количество,Работники->Работники,Смена->Смена", "ТипЗаписи=1","not isEmpty(@HEADER.ВыпускПродукции)","IsType(@HEADER.ВыпускПродукции,Doc.ВыпускПродукции)"); Всего:=аТемп.Size(); aNum:=0; аТемп.Select("зВып+,зДата+,зДок+,зНомерСтроки+"); While аТемп.Next() Do aNum:=aNum+1; If aNum%20=0 Then Form.StatusText("Обработано строк: "+aNum+" из "+Всего); EndIf; зНом:=ObjC.Get(аТемп.Номенклатура); зЗад:=ObjC.Get(аТемп.зЗад); зВып:=ObjC.Get(аТемп.зВып); зДок:=ObjC.Get(аТемп.зДок); MainTab.AddLine("Документ,Номенклатура,Ед,Количество,Смена,зДок,НомСтр,зВып,зЗад,Работники,Индекс",зЗад.DocNum+" от "+зЗад.DocDate,зНом,ObjC.Get(зНом.базЕдиница),аТемп.Количество, ObjC.Get(аТемп.Смена),зДок,аТемп.зНомерСтроки,зВып,зЗад,ПолучитьСписокРаботников(Trim(аТемп.Работники),ТРаботники),зДок.DocNum+"@"+зДок.DocDate+"@"+аТемп.зНомерСтроки); EndDo; MassLoadObjects(MainTab); Finally MainTab.Unlock(); EndTry; Form.MainTab.SetFocus();