Основная таблица регистра сведений в языке запросов
Имя таблицы — имя-регистра-сведений.
Например, выбрать записи с измерением Товар, ресурсом Цена и реквизитом Примечание из регистра Цены можно следующим образом:
пер Запрос = Запрос{ВЫБРАТЬ
Цены.Товар КАК Товар,
Цены.Цена КАК Цена,
Цены.Примечание КАК Примечание,
Цены.КлючЗаписи,
Цены.Период
ИЗ
Цены КАК Цены}
Поля
Эта таблица содержит следующие поля:
-
имя-измерения
Значение измерения записи регистра сведений
-
имя-ресурса
Значение ресурса записи регистра сведений
-
имя-реквизита
Значение реквизита записи регистра сведений
-
КлючЗаписи
имя-регистра-сведений.КлючЗаписи
-
КлючОсновногоФильтра
имя-регистра-сведений.КлючОсновногоФильтра
. Структура содержит:-
период, если регистр сведений периодический и период входит в основной фильтр;
-
поле для каждого измерения, входящего в основной фильтр регистра сведений.
-
-
Период
Момент
|ДатаВремя
|Дата
. Период, к которому относится запись регистра. Это поле есть только у периодических регистров сведений -
СледующийПериод
Имеет значение поля Период следующей записи с такими же значениями измерений или максимальное значение типа поля Период, если следующей записи нет. Доступно только для чтения. Это поле есть только у периодических ре гистров сведений. Пример:
знч Запрос = Запрос{
ВЫБРАТЬ
Период,
Курс,
Валюта,
СледующийПериод
ИЗ
Курсы
}
знч Результат = Запрос.Выполнить().Единственный()
пер СледующийПериод = Результат.СледующийПериодДля того чтобы проверить наличие следующего периода у записи в таблице периодического регистра сведений, можно сравнить значение поля СледующийПериод с максимальным значением типа поля Период. Если они равны — значит значение следующего периода отсутствует для данной записи.
Получить максимальное значение типа поля Период можно за счет использования встроенного строкового литерала соответствующего типа:
*Тип*{Максимум}
. Например, если поле Период имеет типДатаВремя
, запрос может выглядеть следующим образом:ВЫБРАТЬ
УчетРабочегоВремениСрезПоследних.Период КАК Период,
ВЫБОР
КОГДА УчетРабочегоВремен и.СледующийПериод == ДатаВремя{Максимум} ТОГДА ДатаВремя{}
ИНАЧЕ УчетРабочегоВремени.СледующийПериод
КОНЕЦ КАК ПериодОкончания,
УчетРабочегоВремениСрезПослед них.Статус КАК Статус,
УчетРабочегоВремениСрезПоследних.Комментарий КАК Комментарий
ИЗ
УчетРабочегоВремени.СрезПоследних(%ДатаСреза) КАК УчетРабочегоВремениСрезПоследних