Функция ЗНАЧЕНИЕ - Позволяет использовать прямо в текстах запроса предопределенные в конфигураторе данные. (т.е. позволяет избавиться от необходимости передавать их параметрами к запросу).
Использование предопределенных данных конфигурации
Например:
можно было бы написать в запросе:
Код 1C v 8.х | ВзаиморасчетыСПокупателямиОстатки.Проект = &ПроектыПустаяСсылка
а потом передать в запрос параметр:
Код 1C v 8.х Запрос. УстановитьПараметр( "ПроектыПустаяСсылка" , Справочник. Проекты. ПустаяСсылка( ) ) ;
А при помощи
ЗНАЧЕНИЕ будет так:
Код 1C v 8.х | ВзаиморасчетыСПокупателямиОстатки.Проект = ЗНАЧЕНИЕ(Справочник.Проекты.ПустаяСсылка)
Примеры использования:
Код 1C v 8.х
Запрос = Новый Запрос;
Запрос. УстановитьПараметр( "Физлицо" , Физлицо) ;
Запрос. Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ПаспортныеДанныеФизЛицСрезПоследних.ДокументВид,
| ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия,
| ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер,
| ПаспортныеДанныеФизЛицСрезПоследних.ДокументДатаВыдачи,
| ПаспортныеДанныеФизЛицСрезПоследних.ДокументКемВыдан,
| ПаспортныеДанныеФизЛицСрезПоследних.ДокументКодПодразделения,
| "" ,"" + АдресаФактические.Поле1 + "" ,"" + АдресаФактические.Поле2 + "" ,"" + АдресаФактические.Поле3 + "" ,"" + АдресаФактические.Поле4 + "" ,"" + АдресаФактические.Поле5 + "" ,"" + АдресаФактические.Поле6 + "" ,"" + АдресаФактические.Поле7 + "" ,"" + АдресаФактические.Поле8 + "" ,"" + АдресаФактические.Поле9 КАК АдресФактический,
| "" ,"" + АдресПрописки.Поле1 + "" ,"" + АдресПрописки.Поле2 + "" ,"" + АдресПрописки.Поле3 + "" ,"" + АдресПрописки.Поле4 + "" ,"" + АдресПрописки.Поле5 + "" ,"" + АдресПрописки.Поле6 + "" ,"" + АдресПрописки.Поле7 + "" ,"" + АдресПрописки.Поле8 + "" ,"" + АдресПрописки.Поле9 КАК АдресПоПрописке,
| ДомашниеТелефоны.Поле3 КАК ТелефонДомашний
|ИЗ
| Справочник.ФизическиеЛица КАК ФизическиеЛица
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних(, ФизЛицо = &ФизЛицо) КАК ПаспортныеДанныеФизЛицСрезПоследних
| ПО ФизическиеЛица.Ссылка = ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК ДомашниеТелефоны
| ПО ФизическиеЛица.Ссылка = ДомашниеТелефоны.Объект
| И (ДомашниеТелефоны.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ТелефонФизЛица))
| И (ДомашниеТелефоны.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Телефон))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК АдресаФактические
| ПО ФизическиеЛица.Ссылка = АдресаФактические.Объект
| И (АдресаФактические.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресФизЛица))
| И (АдресаФактические.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК АдресПрописки
| ПО (ФизическиеЛица.Ссылка = АдресаФактические.Объект)
| И (АдресаФактические.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ЮрАдресФизЛица))
| И (АдресаФактические.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес))
|ГДЕ
| ФизическиеЛица.Ссылка = &Физлицо" ;
Выборка = Запрос. Выполнить( ) . Выбрать( ) ;
Если Выборка. Следующий( ) Тогда
АдресПроживания = Выборка. АдресФактический;
УдостоверениеЛичности = Строка( Выборка. ДокументВид) + "; " + Выборка. ДокументСерия+ "; " + Выборка. ДокументНомер+ "; " + Формат( Выборка. ДокументДатаВыдачи, "ДЛФ=D" ) ;
Телефон = Выборка. ТелефонДомашний;
КонецЕсли ;
Запрос = Новый Запрос;
Запрос. Текст = "ВЫБРАТЬ
| ВидыНоменклатуры.Ссылка как ссылка,
| ВидыНоменклатуры.Порядок
|ИЗ
| Перечисление.ВидыНоменклатуры КАК ВидыНоменклатуры
|ГДЕ
| ВидыНоменклатуры.Ссылка = Значение(Перечисление.ВидыНоменклатуры.Услуга) " ;
ТЗ = Новый ТаблицаЗначений;
ТЗ = запрос. Выполнить( ) . Выгрузить( ) ;
ЭлементыФормы. ТабличноеПоле1 . Значение = ТЗ;
ЭлементыФормы. ТабличноеПоле1 . СоздатьКолонки( ) ;
Для тех, кто мучается с получением сведений из регистра сведений КонтактнаяИнформация в стандартных конфигурациях.
Код 1C v 8.х
Запрос= Новый Запрос;
Запрос. Текст= "
|ВЫБРАТЬ
| ВЗАдрес.Ссылка КАК ФизЛицо,
| ВЗАдрес.Адрес,
| ВЗТелефон.Телефон
|ИЗ
| (ВЫБРАТЬ
| ФизическиеЛица.Ссылка КАК Ссылка,
| КонтактнаяИнформация.Представление КАК Адрес
| ИЗ
| Справочник.ФизическиеЛица КАК ФизическиеЛица
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
| ПО ФизическиеЛица.Ссылка = КонтактнаяИнформация.Объект
| ГДЕ
| КонтактнаяИнформация.Вид = &АдрПоПрописке
| И КонтактнаяИнформация.Тип = &Адрес) КАК ВЗАдрес
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| ФизическиеЛица.Ссылка КАК Ссылка,
| КонтактнаяИнформация.Представление КАК Телефон
| ИЗ
| Справочник.ФизическиеЛица КАК ФизическиеЛица
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
| ПО ФизическиеЛица.Ссылка = КонтактнаяИнформация.Объект
| ГДЕ
| КонтактнаяИнформация.Вид = &ВидТелеф
| И КонтактнаяИнформация.Тип = &Телефон) КАК ВЗТелефон
| ПО ВЗАдрес.Ссылка = ВЗТелефон.Ссылка
|
|УПОРЯДОЧИТЬ ПО
| ФизЛицо
|АВТОУПОРЯДОЧИВАНИЕ
|" ;
Запрос. УстановитьПараметр( "Адрес" , Перечисления. ТипыКонтактнойИнформации. Адрес) ;
Запрос. УстановитьПараметр( "АдрПоПрописке" , Справочники. ВидыКонтактнойИнформации. ЮрАдресФизЛица) ;
Запрос. УстановитьПараметр( "ВидТелеф" , Справочники. ВидыКонтактнойИнформации. ТелефонФизЛица) ;
Запрос. УстановитьПараметр( "Телефон" , Перечисления. ТипыКонтактнойИнформации. Телефон) ;
Результат = Запрос. Выполнить( ) ;
Результат = Результат. Выбрать( ) ;
Пока Результат. Следующий( ) Цикл
КонецЦикла ;