HelpF.pro

Функция ЗНАЧЕНИЕ

Функция ЗНАЧЕНИЕ - Позволяет использовать прямо в текстах запроса предопределенные в конфигураторе данные. (т.е. позволяет избавиться от необходимости передавать их параметрами к запросу). Использование предопределенных данных конфигурации

Например:
можно было бы написать в запросе:
Код 1C v 8.х
 | ВзаиморасчетыСПокупателямиОстатки.Проект = &ПроектыПустаяСсылка   

а потом передать в запрос параметр:
Код 1C v 8.х
 Запрос.УстановитьПараметр("ПроектыПустаяСсылка", Справочник.Проекты.ПустаяСсылка());   


А при помощи ЗНАЧЕНИЕ будет так:
Код 1C v 8.х
 | ВзаиморасчетыСПокупателямиОстатки.Проект = ЗНАЧЕНИЕ(Справочник.Проекты.ПустаяСсылка)    


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

//ПРИМЕР 2
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| ВидыНоменклатуры.Ссылка как ссылка,
| ВидыНоменклатуры.Порядок
|ИЗ
| Перечисление.ВидыНоменклатуры КАК ВидыНоменклатуры
|ГДЕ
| ВидыНоменклатуры.Ссылка = Значение(Перечисление.ВидыНоменклатуры.Услуга) ";

ТЗ = Новый ТаблицаЗначений;
ТЗ = запрос.Выполнить().Выгрузить();
ЭлементыФормы.ТабличноеПоле1.Значение = ТЗ;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq82/view/868.html