Профессия — 1С

Рукопашный бой Карташ

Категории

Предопределенные элементы в запросах 1С8

рубрики: Запросы | Дата: 28 Январь, 2016

Достаточно часто встречаются ситуации когда в запросе надо получить предопределенное значение какого-либо объекта (справочника, плана видов расчета и т.д.), либо значение перечисления, либо пустую ссылку. Такая возможность в языке запросов 1С8 реализована при помощи функции ЗНАЧЕНИЕ.




Сразу перейдем к примеру. У нас есть периодический регистр сведений ОценкиСайтов. Измерение Сайт имеет тип Справочник.Сайты, а ресурс Оценка представлен перечислением ОценкиСайта.
ЗапросыЗначениеРегистр_ВЗ
В свою очередь справочник Сайты содержит предопределенный элемент – Профессия1С.
ЗапросыЗначениеПредопределенный_ВЗ

Выберем из регистра все записи где в поле Сайт содержится наш предопределенный элемент.
Это можно сделать вот таким запросом:


ВЫБРАТЬ
	ОценкиСайтов.Период,
	ОценкиСайтов.Сайт,
	ОценкиСайтов.Оценка
ИЗ
	РегистрСведений.ОценкиСайтов КАК ОценкиСайтов
ГДЕ
	ОценкиСайтов.Сайт = ЗНАЧЕНИЕ(Справочник.Сайты.Профессия1С)

Другой пример. Перечисление ОценкиСайта содержит следующие значения: Низкая, Средняя, Высокая.
ЗапросыЗначениеПеречисление_ВЗ
Выберем все записи, где оценка Высокая:


ВЫБРАТЬ
	ОценкиСайтов.Период,
	ОценкиСайтов.Сайт,
	ОценкиСайтов.Оценка
ИЗ
	РегистрСведений.ОценкиСайтов КАК ОценкиСайтов
ГДЕ
	ОценкиСайтов.Оценка = ЗНАЧЕНИЕ(Перечисление.ОценкиСайта.Высокая)




И наконец выберем записи где сайт не указан, т.е. где измерение Сайт – пустая ссылка


ВЫБРАТЬ
	ОценкиСайтов.Период,
	ОценкиСайтов.Сайт,
	ОценкиСайтов.Оценка
ИЗ
	РегистрСведений.ОценкиСайтов КАК ОценкиСайтов
ГДЕ
	ОценкиСайтов.Сайт = ЗНАЧЕНИЕ(Справочник.Сайты.ПустаяСсылка)

Конечно все эти запросы можно реализовать и с использованием параметров запроса. Но когда запрос объемом в несколько экранов гораздо удобней читать его если использовалась функция ЗНАЧЕНИЕ, чем пролистывать весь текст вверх или вниз в поисках параметра.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

   

2018г. Профессия — 1С. Обмен опытом по программированию в 1С