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

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

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

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

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

Буду благодарен за идеи.
Найденные решения
3. KVIKS 101 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 101 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;

КонецЦикла;

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




Показать
Оставьте свое сообщение
Вопросы с вознаграждением
Вакансии
Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству

Программист 1С
Москва
зарплата от 150 000 руб. до 200 000 руб.
Полный день

Ведущий разработчик 1С
Москва
зарплата от 250 000 руб.
Полный день

Руководитель проектов 1С
Москва
зарплата от 200 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб.
Полный день