Difference between revisions of "DB.Total"
(Created page with "{{infobox function |name=Total, Gross1 |object=Объект базы данных |caption=Запросы к накопителям |type=1 |status=2 |db=2 |exception=Не...") |
m (1 revision imported) |
(No difference)
|
Latest revision as of 07:43, 7 February 2021
Total, Gross1 (Запросы к накопителям) | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Функция выполняет запрос к таблице остатков текущего накопителя, находя значение заданного реквизита актива. Остатки будут получены на указанную дату и могут иметь режим начальный остаток или конечный остаток. При вычислении остатков могут применяться фильтры по требуемым реквизитам-аккумуляторам. Функция применима только к накопителям, имеющим таблицу остатков (записи накопителя датируются и имеется по крайней мере один реквизит-аккумулятор и один реквизит актива), для накопителей без таблицы остатков можно использовать функцию Compute. В отличие от Totals, функция возвращает единственное числовое значение, группировки по аккумуляторам не производится, находится сумма всех записей, вошедших в фильтр.
Синтаксис
DB.Total(<Реквизит суммирования (агрегации) (STRING)>,<Остатки на дату (DATE)>,<Режим даты (INT)>,<Стандартные фильтры>...):<Остаток указанного актива (NUMBER)>
Аргументы
<Реквизит суммирования (агрегации) (STRING)>
- Задает наименование реквизитов агрегации запроса. Реквизит должен присутствовать в накопителе, и должен иметь признак актив.<Остатки на дату (DATE)>
- Задает дату нахождения остатков.<Режим даты (INT)>
- Задает режим нахождения остатка на дату, доступны следующие значения:- 0 (по умолчанию) -- находить остаток на указанную дату (включая день даты). К примеру, для даты '31.12.2013 12:00:00' остаток будет найден для периода с датами записей <= '31.12.2013 23:59:59.999', т.е. с записями < '01.01.2014'.
- 1 -- находить остаток до указанной даты (не включать день даты). К примеру, для даты '31.12.2013 12:00:00' остаток будет найден для периода с датами записей < '31.12.2013'.
- 2 -- находить остаток на указанную дату и время (включая дату и время). К примеру, для даты '31.12.2013 12:00:00' остаток будет найден для периода с датами записей <= '31.12.2013 12:00:00'.
- 3 -- находить остаток до указанной даты и времени (не включая дату и время). К примеру, для даты '31.12.2013 12:00:00' остаток будет найден для периода с датами записей < '31.12.2013 12:00:00'.
<Стандартные фильтры>
- (необязательный аргумент) Стандартные фильтры описаны в статье Стандартные фильтры. Имеет смысл использовать только фильтры по реквизитам-аккумуляторам, иначе остаток будет найден неверно, так как таблица остатков содержит записи только в разрезе реквизитов-аккумуляторов.
Возвращаемое значение
Возвращается число -- остаток указанного реквизита актива на указанную дату.
Примеры
//Фрагмент выводит текущий остаток номенклатурной позиции аНоменклатура на складе аСклад за минусом резерва. Ост:=Max(Storage.ОстаткиТМЦ.Gross1("Количество",,0,"Склад,Номенклатура",аСклад,аНоменклатура)-Storage.РезервыТМЦ.Gross1("Количество",,0,"Склад,Номенклатура",аСклад,аНоменклатура),0); Message("Остаток позиции "+аНоменклатура+" на складе "+аСклад+": "+Ост);