Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 00:47

Как изменить фон цвета строки списка на форме обработки по нажатию кнопки

Автор Thunder19888, 09 мар 2024, 20:55

0 Пользователей и 1 гость просматривают эту тему.

Thunder19888

Добрый вечер. Столкнулся с такой задачей: Требуется создать обработку, на форме которой располагается список чисел, и по нажатию кнопки минимальное число выделяется одним цветом, а максимальное другим.
Не могу решить эту задачу, потому что у реквизитов формы типа СписокЗначений и ТаблицаЗначений, через которые реализую список, нет в свойствах полей условного форматирования, а реквизит типа ДинамическийСписок невозможно использовать в этой задаче, потому что его не к чему привязывать: задача не предполагает наличие каких-либо таблиц в конфигурации.
Пытался окрашивать строку программно на клиенте, получил данные нужной строки.

Но в данных строки нет свойства цвета фона строки.

Искал на других форумах, как окрашивать строки табличных частей, и нашёл, что это делается через параметр "ОформлениеСтроки" в событиях ПриВыводеДанных и ПриПолученииДанных, но в моей форме обработки такие событий нет. Подскажите, пожалуйста, есть ли ещё какие-то способы решить эту задачу ? 

Максим75

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

antoneus

Добавить колонки "МинЗначение" и "МаксЗначение", тип булево, выгрузить колонку ТЗ с числами в массив, массив отсортировать, первый элемент - минимальное значение, последний - максимальное, найти строку с минимальным значением, в колонку МинЗначение воткнуть истина, аналогично с максимальным значением. Потом красить условным оформлением или оформлением строки в зависимости от значения этих, скажем так, флагов.

Thunder19888

Максим75, написал запрос для динамического списка:
ВЫБРАТЬ
Список1.Значение1 КАК Значение1
ПОМЕСТИТЬ ВрТСписок
ИЗ
&Список1 КАК Список1
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВрТСписок.Значение1 КАК Значение1
ИЗ
ВрТСписок КАК ВрТСписок

Конструктор запросов выдаёт ошибку "Неверные параметры "Список1"" после нажатия на "ОК", но тем не менее закрывается.

Пытаюсь передать список значений параметром динамического списка:

Реквизит3.Параметры.УстановитьЗначениеПараметра("Список1", Список);
Обработка не открывается, возникает ошибка "Ошибка отображения типов: Отсутствует отображение для типа '{http://v8.1c.ru/8.1/data/core}ValueTable'"

Подскажите, пожалуйста, что неправильно делаю?

Thunder19888

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

Максим75

Thunder19888, у Вас Список-это что? Должна быть таблица значений.

antoneus

Цитата: Thunder19888 от 09 мар 2024, 23:07условное оформление доступно только для динамического списка

Это кто вам такое сказал?

Thunder19888

antoneus, спасибо, я просто не верил, что условное оформление ТЗ можно задать в свойствах формы. Задача решена, тему можно закрыть.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск