Есть отчет по картам лояльности - скачать > OneDrive
Нужно выделить красным те накопительные карты, сумма которых превышает значение, заданное в константе "ЛимитСеребро" (это 15000) - если тип карты "Серебро", и "ЛимитБронза" - если тип карты "Бронза".
Как это сделать?
Через стандартное автоматическое условное оформление я пробовал, в условии нельзя задать параметр, а только число.. Условие ставил на поле "Сумма", которое показывает сумму накопления на карте.
---
identificator, В условии можно задать параметр. Для этого:
 1. щелкните по крестику около числа;
 2. Нажмите "Т" выбор типа;
 3. Выберите поле компоновки данных;
 4. Параметры данных - <нужный параметр>
---
identificator, В условии можно задать параметр. Для этого:
 1. щелкните по крестику около числа;
 2. Нажмите "Т" выбор типа;
 3. Выберите поле компоновки данных;
 4. Параметры данных - <нужный параметр>
---
IvanBoychuk123, а как параметр Бронза связать со значением, указанным в константе?
---
IvanBoychuk123, спасибо, все получилось!
И всем тоже спасибо, но правильный ответ все-таки считаю IvanBoychuk123.
Наиболее удобный и логичный.

Также в модуль объекта отчета мной была добавлена процедура для связи параметров с константами:

```1c
    Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    Настройки = КомпоновщикНастроек.Настройки;
    Настройки.ПараметрыДанных.Элементы[0].Значение = Константы.КартаБронзаЛимит.Получить();
    Настройки.ПараметрыДанных.Элементы[0].Использование = Истина;
    Настройки.ПараметрыДанных.Элементы[1].Значение = Константы.КартаСереброЛимит.Получить();
    Настройки.ПараметрыДанных.Элементы[1].Использование = Истина;
    Настройки.ПараметрыДанных.Элементы[2].Значение = Константы.КартаБронза.Получить();
    Настройки.ПараметрыДанных.Элементы[2].Использование = Истина;
    Настройки.ПараметрыДанных.Элементы[3].Значение = Константы.КартаСеребро.Получить();
    Настройки.ПараметрыДанных.Элементы[3].Использование = Истина;
    КонецПроцедуры
```

Настройки условного оформления:

Страница параметров:
---
identificator,
через параметр можно, но тогда придется прописывать программно заполнение этого параметра в процедуре ПриКомпоновкеРезультата() модуля отчета как Константы.ЛимитБронза.Получить(), через язык выражений компоновки данных значение константы не получить.
Есть второй вариант, добавить поле в запрос: последнюю таблицу запроса поместим во временную таблицу (рис 1), присоединяем к ней константы (рис 2) и настраиваем условное оформление (рис 3 и 3а). На рис 3 - для случая, если в условии нужен именно тип карты. Но судя по названиям типов, нужен все-таки не тип карты, а вид. Если "Серебро" и "Бронза" добавлены как предопределенные значения в справочник "Виды карт лояльности", то вместо выделенного текста на рисунке "Пустая ссылка" будет "Бронза".
---
Liyа, в справочнике "ВидыКартЛояльности" нет предопределенных значений. А как сделать через процедуру ПриКомпоновкеРезультата() ?
---
Лови!(1) identificator,
---
HitGroove, а как к константе прикрепить, то, что добавлено под видом "Серебро"? Непонятно..
---
а конфигурация какая?
---
В макете добавляем параметр "ВидКартыБронза", в процедуре ПриКомпоновкеРезультата() заполняем значение, например так:

```1c
    ПараметрВидКартыБронза = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("ВидКартыБронза");
    Если НЕ ПараметрВидКартыБронза = Неопределено И Не ЗначениеЗаполнено(ПараметрВидКартыБронза.Значение) Тогда
    ПараметрВидКартыБронза.Значение = Справочники.ВидыКартЛояльности.НайтиПоНаименованию("Бронза");
    ПараметрВидКартыБронза.Использование = Истина;
    КонецЕсли;
```
---
ВЫБРАТЬ
 ВидыКартЛояльности.Ссылка
ПОМЕСТИТЬ ВидыКартЛояльности
ИЗ
 Справочник.ВидыКартЛояльности КАК ВидыКартЛояльности
ГДЕ
 ВидыКартЛояльности.ШаблоныКодовКартЛояльности.Ссылка.Статус <> ЗНАЧЕНИЕ(Перечисление.СтатусыВидовКартЛояльности.НеДействует)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
 КартыЛояльности.Ссылка КАК Карта
ПОМЕСТИТЬ КартыЛояльности
ИЗ
 ВидыКартЛояльности КАК ВидыКартЛояльности
  ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.КартыЛояльности КАК КартыЛояльности
  ПО ВидыКартЛояльности.Ссылка = КартыЛояльности.Владелец
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
 ВложенныйЗапрос.Сумма,
 ВложенныйЗапрос.Карта,
 ВложенныйЗапрос.Партнер,
 ВложенныйЗапрос.Регистратор,
 Серебро.Значение КАК Серебро
ИЗ
 (ВЫБРАТЬ
  ВыручкаИСебестоимостьПродаж.СуммаВыручки КАК Сумма,
  КартыЛояльности.Карта КАК Карта,
  КартыЛояльности.Карта.Партнер КАК Партнер,
  ВыручкаИСебестоимостьПродаж.Регистратор КАК Регистратор
 {ВЫБРАТЬ
  Регистратор.*}
 ИЗ
  РегистрНакопления.ВыручкаИСебестоимостьПродаж КАК ВыручкаИСебестоимостьПродаж
   ВНУТРЕННЕЕ СОЕДИНЕНИЕ КартыЛояльности КАК КартыЛояльности
   ПО (ВыручкаИСебестоимостьПродаж.Регистратор ССЫЛКА Документ.РеализацияТоваровУслуг)
    И ВыручкаИСебестоимостьПродаж.Регистратор.Партнер = КартыЛояльности.Карта.Партнер
    И ВыручкаИСебестоимостьПродаж.Регистратор.КартаЛояльности = КартыЛояльности.Карта

 ОБЪЕДИНИТЬ ВСЕ

 ВЫБРАТЬ
  ВыручкаИСебестоимостьПродаж.СуммаВыручки,
  КартыЛояльности.Карта,
  КартыЛояльности.Карта.Партнер,
  ВыручкаИСебестоимостьПродаж.Регистратор
 ИЗ
  РегистрНакопления.ВыручкаИСебестоимостьПродаж КАК ВыручкаИСебестоимостьПродаж
   ВНУТРЕННЕЕ СОЕДИНЕНИЕ КартыЛояльности КАК КартыЛояльности
   ПО (ВыручкаИСебестоимостьПродаж.Регистратор ССЫЛКА Документ.ОтчетОРозничныхПродажах)
    И ВыручкаИСебестоимостьПродаж.АналитикаУчетаПоПартнерам.Партнер = КартыЛояльности.Карта.Партнер

 ОБЪЕДИНИТЬ ВСЕ

 ВЫБРАТЬ
  ДенежныеСредстваВКассахККМ.Сумма,
  КартыЛояльности.Карта,
  КартыЛояльности.Карта.Партнер,
  ДенежныеСредстваВКассахККМ.Регистратор
 ИЗ
  РегистрНакопления.ДенежныеСредстваВКассахККМ КАК ДенежныеСредстваВКассахККМ
   ВНУТРЕННЕЕ СОЕДИНЕНИЕ КартыЛояльности КАК КартыЛояльности
   ПО (ДенежныеСредстваВКассахККМ.Регистратор ССЫЛКА Документ.ЧекККМ)
    И ДенежныеСредстваВКассахККМ.Регистратор.КартаЛояльности = КартыЛояльности.Карта) КАК ВложенныйЗапрос,
 Константа.Серебро КАК Серебро
---
identificator, у Вас в константе хранится ссылка на элемент справочника "Виды карт лояльности"?
Просто интересно, почему Вы предпочли константу предопределенному элементу справочника?
---
Liyа, потому что предопределенных элементов в конфигурации заказчика нет, соответственно обновление конфигурации легче сделать, используя константы. И видов карт заказчик может сделать сколько угодно. А предопределенные данные нужно постоянно менять.
---
Подскажите еще, я никак не могу разобраться.. Как сделать отчет, который будет выводить только проблемные карты лояльности - то есть те карты, накопления на которых превышают установленные лимиты в константах? За вознаграждение.