Обновление отображения отчета без переформирования

1. STELEICE 12.10.21 17:22 Сейчас в теме
Ситуация следующая:
Есть отчет. Данные выводятся в поле табличного документа.
При совершении определенных действий и соблюдении условий ячейки меняют цвет.

При формировании отчет разрисовывает как надо, но после формирования пользователь изменяет изначальные условия с изменением цвета.

Допустим при нажатии на расшифровку данная ячейка Приобретает зеленый цвет.
Потом при нажатии кнопки происходят действия и цвет этих ячеек должен вернутся к исходному.
Как это провернуть без переформирования отчета? Т.к. Отчет громоздкий.

На самой форме есть ОбновлениеОтображения() а как быть с полем Табличного документа?

Буду благодарен за идеи.
По теме из базы знаний
Найденные решения
3. KVIKS 400 13.10.21 12:05 Сейчас в теме
обновление отображения табдок - это и есть Переформировать его.
Идея только одна, при изменении реквизита на форме - перебрать все ячейки табдок, и нужные ячейки перекрасить, но это утопия, проще переформировать отчет.
5. STELEICE 13.10.21 13:33 Сейчас в теме
(3) Сделал так мне подходит. Спасибо за идею

НомерСтр = 1; 
Попытка
Пока НомерСтр <> 1000000 Цикл
	Если
	ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C11").ЦветФона=Новый Цвет(0, 255, 0)
Тогда
ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C11").ЦветФона=Новый Цвет(250, 251, 240)
КонецЕсли;

	НомерСтр = НомерСтр + 1;

КонецЦикла;

Исключение
	КонецПопытки;


Показать
6. STELEICE 13.10.21 13:36 Сейчас в теме
И еще по теме. Изменение текста в столбце.
В моем случае Новая цена ставится в столбец Действующая цена
И новый процент наценки в Действующий процент наценки
НомерСтр = 1; 
Попытка
Пока НомерСтр <> 1000000 Цикл
	Если НЕ
	ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C2").Текст=""
Тогда
ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C3").Текст=ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C2").Текст;
ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C6").Текст=ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C5").Текст+"%";
ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C2").Текст="";
ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C5").Текст="";

КонецЕсли;

	НомерСтр = НомерСтр + 1;

КонецЦикла;

Исключение
	КонецПопытки;




Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. STELEICE 13.10.21 09:00 Сейчас в теме
Походу ни у кого идей нет(((
4. Release 13.10.21 12:17 Сейчас в теме
(2) Если отображение программно меняется по конкретным ячейкам(области), то и менять их на дефолт нужно также, перед первичным изменением запомнив их состояние.
3. KVIKS 400 13.10.21 12:05 Сейчас в теме
обновление отображения табдок - это и есть Переформировать его.
Идея только одна, при изменении реквизита на форме - перебрать все ячейки табдок, и нужные ячейки перекрасить, но это утопия, проще переформировать отчет.
5. STELEICE 13.10.21 13:33 Сейчас в теме
(3) Сделал так мне подходит. Спасибо за идею

НомерСтр = 1; 
Попытка
Пока НомерСтр <> 1000000 Цикл
	Если
	ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C11").ЦветФона=Новый Цвет(0, 255, 0)
Тогда
ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C11").ЦветФона=Новый Цвет(250, 251, 240)
КонецЕсли;

	НомерСтр = НомерСтр + 1;

КонецЦикла;

Исключение
	КонецПопытки;


Показать
6. STELEICE 13.10.21 13:36 Сейчас в теме
И еще по теме. Изменение текста в столбце.
В моем случае Новая цена ставится в столбец Действующая цена
И новый процент наценки в Действующий процент наценки
НомерСтр = 1; 
Попытка
Пока НомерСтр <> 1000000 Цикл
	Если НЕ
	ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C2").Текст=""
Тогда
ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C3").Текст=ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C2").Текст;
ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C6").Текст=ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C5").Текст+"%";
ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C2").Текст="";
ЭлементыФормы.Результат.Область("R" + Строка(НомерСтр) + "C5").Текст="";

КонецЕсли;

	НомерСтр = НомерСтр + 1;

КонецЦикла;

Исключение
	КонецПопытки;




Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот