К статьям

Использование предопределенных значений в запросах

1 мин


Описание

Некоторые значения в платформе 1С являются предопределенными. Это те значения, которые либо поставляются платформой (системные перечисления) либо созданы разработчиком в конфигураторе (перечисления, предопределенные элементы справочников), например системным перечислением заполняется значение поля ВидДвижения у регистров накопления с видом "Остатки" - ВидДвиженияНакопления.Приход, или ВидДвиженияНакопления.Расход.

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

Для использования таких значений в запросах используется функция ЗНАЧЕНИЕ(ОписаниеЗначения) - Где ОписаниеЗначения это полный путь к значению в метаданных, либо имя системного перечисления и его значение

Примеры использования:
1. Получаем список документов ПоступлениеТоваровУслуг в которых значение поля контрагент не заполнено, и равняется пустой ссылке

 ВЫБРАТЬ

    ПоступлениеТоваровУслуг.Ссылка КАК Ссылка

 ИЗ

    Документ.ПоступлениеТоваровУслуг КАК ПоступлениеТоваровУслуг

ГДЕ

    ПоступлениеТоваровУслуг.Контрагент = ЗНАЧЕНИЕ(Справочник.Контрагенты.ПустаяСсылка)  

В базе тренажера нет таких документов, потому в результате мы получим пустую таблицу, но теперь мы уверенны, что все документы заполнены корректно.

2. Получаем список элементов справочника Номенклатура, у которых поле ВидНоменклатуры заполнено значением Услуга из перечисления ВидыНоменклатуры

ВЫБРАТЬ

     Номенклатура.Ссылка КАК Ссылка

ИЗ

    Справочник.Номенклатура КАК Номенклатура

ГДЕ Номенклатура.ВидНоменклатуры = ЗНАЧЕНИЕ(Перечисление.ВидыНоменклатуры.Услуга)

 3. Получим все записи из регистра накопления, в которых мы уменьшаем количество хранящихся в нем единиц товара

 ВЫБРАТЬ

     ТоварыНаСкладах.Регистратор КАК ДокументРегистратор,

    ТоварыНаСкладах.Номенклатура КАК Товар,

    ТоварыНаСкладах.Количество КАК Количество

ИЗ

    РегистрНакопления.ТоварыНаСкладах КАК ТоварыНаСкладах

ГДЕ ТоварыНаСкладах.ВидДвижения = ЗНАЧЕНИЕ(ВидДвиженияНакопления.Расход)  

Задачи на эту тему: