Выражение в скд в параметрах

Обновлено: 22.11.2024

Хочу в поле "Выражение" поместить выражение, которое бы при незаполненной валюте считала бы валютой рубли (чтобы отчет что-то показал, если пользователь его открыл и сразу нажал "Сформировать", ничего не заполняя).

Не очень понятна логика проверок.

Что я перепробовал:

1. Игрался дополнительно в конструкторе СКД, на закладке "Настройки" вариантами заполнения параметра "Валюта" с целью получить ПустуюСсылку или Неопределено.
2. Пробовал разные выражения.

.. Нашел, что если в поле "Выражение" поместить "Справочники.Валюты.НайтиПоКоду("810")", то отчет считает все в рублях. Всегда. Игнорируя пользователя :)
.. Нашел, что конструкция "Если .. КонецЕсли" не работает, нашел, что работает конструкция "Выбор Когда Тогда Конец" :)

А вот с условием беда.
1. "Выбор Когда &Валюта=Справочники.Валюты.ПустаяСсылка() Тогда Справочники.Валюты.НайтиПоКоду("810") Конец" - не работает никак (ошибок не выдает, рубли не подхватывает)
2. "Выбор Когда &Валюта=Значение(Справочник.Валюты.ПустаяСсылка) Тогда Справочники.Валюты.НайтиПоКоду("810") Конец" - не работает никак
3. "Выбор Когда &Валюта Есть Null Тогда Справочники.Валюты.НайтиПоКоду("810") Конец" - не работает никак
4. "Выбор Когда НЕ ЗначениеЗаполнено(&Валюта) Тогда Справочники.Валюты.НайтиПоКоду("810") Конец" - работает всегда на рубли, даже когда параметр выбран (другой валютой)

Судя по последней, складывается такое впечатление, что я выбираю одно, а проверяю другое.

Как бы поставить правильное условие?
Может быть как-то надо обращаться не к &Валюта, а как-нибудь, типа, СКД.Параметры.Валюта?

Читайте также: