Предопределенные значения объектов конфигурации отличный способ заполнить 1с распространенными значениями, а в бухгалтерских конфигурациях в плане счетов без этого не обойтись, ведь набор счетов жестко регламентирован.

Как же работать с предопределенными значениями?

В коде модулей обращение к таким элементам производится через менеджер объекта, например:

Ссылка = Справочники.ВидыНоменклатуры.Услуга;

Ссылка = ПланыСчетов.Хозрасчетный.Продукция;

 

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

При этом имя вида объекта указывается в запросе в единственном числе.

Примеры использования ЗНАЧЕНИЕ():

Ссылка справочника:

ВЫБРАТЬ ЗНАЧЕНИЕ(Справочник.ВидыНоменклатуры.Услуга)

Для проверки на пустое значение справочника:

ВЫБРАТЬ Ссылка

ИЗ 

Справочник.Контрагенты КАК Контрагенты

ГДЕ

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

Для получения перечислений:

ВЫБРАТЬ 

      Ссылка.Владелец КАК Контрагент

ИЗ 

      Справочник.ДоговорыКонтрагентов КАК Договор

ГДЕ

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

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

План видов характеристик:

ВЫБРАТЬ ЗНАЧЕНИЕ(ПланВидовХарактеристик.НастройкиПользователей.ПустаяСсылка)

Счет в плане счетов:

ВЫБРАТЬ ЗНАЧЕНИЕ (ПланСчетов.Хозрасчетный.Товары) КАК СчетТоваров

Системные перечисления:

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

Аналог функции ЗначениеЗаполнено() в запросе

  • В явном виде функции на заполнение нет, но возможна проверка на несовпадение, например:

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

  • проверка на невхождение в список:

ГДЕ  НЕ ОсновнойДоговорКонтрагента В (ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагента.ПустаяСсылка), НЕОПРЕДЕЛЕНО, NULL,"")

То есть, если значение не пустое или не входит в список пустых, его можно считать заполненным.

Ошибки при использовании ЗНАЧЕНИЕ()

При неверном синтаксисе параметра функции возникает ошибка «Неверные параметры».

  • указание во множественном числе (например «Справочники» вместо «Справочник»)
  • не верное имя предопределенного или его отсутствие

Недопустима передача в ЗНАЧЕНИЕ параметра вот так:

ЗНАЧЕНИЕ(&Параметр)

Выйдет ошибка «Ожидается параметр»:

ozhidaetsya-parametr

Функция как раз предназначена для ухода от параметров для предопределенных в метаданных ссылках.

Не требуется указание параметра функции в кавычках: это вызовет ошибку «Ожидается имя»

ozhidaetsya-imya-v-znachenie

 

Никогда не пишите рекламное объявление, которое вы не хотели бы предложить прочесть собственной семье. Вы не стали бы лгать собственной жене. Не лгите и моей.

— Д. Огилви.

Notice: Undefined variable: single_layout in /var/www/u0913086/data/www/capitally.ru/wp-content/plugins/thepack/helper/customiser-extra.php on line 76