8.1 СКД Программная установка цвета полей
Здравствуйте!
При разработке отчета (платформа 8.1, СКД) столкнулся с проблемой.
Суть задачи такова, что отчет должен выводить в строках номенклатуру, а в колонках контрагентов. Среди ресурсов отчета есть ресурс "Рейтинг" (тип: СправочникСсылка). Рейтинг устанавливается для номенклатуры в разрезе контрагентов, т.е. одна и та же номенклатура у разных контрагентов может иметь разный рейтинг.
Ниже приведен пример отчета:
У справочника "Рейтинг" есть реквизит "Цвет" (тип: ХранилищеЗначений).
С помощью указанной процедуры удается получить цвет при компоновке результата.
Остается вопрос как установить данный цвет цветом фона ячейки "Рейтинг" и соседних ячеек.
При разработке отчета (платформа 8.1, СКД) столкнулся с проблемой.
Суть задачи такова, что отчет должен выводить в строках номенклатуру, а в колонках контрагентов. Среди ресурсов отчета есть ресурс "Рейтинг" (тип: СправочникСсылка). Рейтинг устанавливается для номенклатуры в разрезе контрагентов, т.е. одна и та же номенклатура у разных контрагентов может иметь разный рейтинг.
Ниже приведен пример отчета:
У справочника "Рейтинг" есть реквизит "Цвет" (тип: ХранилищеЗначений).
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Настройки = КомпоновщикНастроек.ПолучитьНастройки();
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
Результат = ЭлементыФормы.Результат;
Результат.Очистить();
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);
ПроцессорВывода.НачатьВывод();
ЭлементТД = ПроцессорКомпоновкиДанных.Следующий();
Пока ЭлементТД <> Неопределено Цикл
ПроцессорВывода.ВывестиЭлемент(ЭлементТД);
Для каждого Параметр Из ЭлементТД.ЗначенияПараметров Цикл
Если ТипЗнч(Параметр.Значение) = Тип("СправочникСсылка.кпкРейтингиТоваров") Тогда
Цвет = Новый Цвет;
Цвет = Параметр.Значение.Цвет.Получить();
КонецЕсли;
КонецЦикла;
ЭлементТД = ПроцессорКомпоновкиДанных.Следующий();
КонецЦикла;
ПроцессорВывода.ЗакончитьВывод();
ПоказатьС помощью указанной процедуры удается получить цвет при компоновке результата.
Остается вопрос как установить данный цвет цветом фона ячейки "Рейтинг" и соседних ячеек.
По теме из базы знаний
- Инфостарт. Восьмерка. Лучшее
- 1С8:борьба - личный опыт работы с платформой 1с8
- Тикеты - система учета задач/Service Desk в 1С (+ мобильное приложение)
- Создание отчетов с помощью СКД - основные понятия и элементы
- По-настоящему свои макеты в отчетах СКД. Исследование процесса компоновки и генерация кода отчета
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот