Оформление строк по условию

1. user1619761 01.09.23 10:24 Сейчас в теме
Добрый день. Обычные формы. Сделал оформление строк в процедуре ПриПолученииДанных, но из за большого количества условий в этой процедуре открытый документ сильно тормозит. Настроил оформление по отдельной кнопке, код отрабатывает, но ячейки табличной части сначала меняют цвет по условиям, и сразу становятся снова белыми. Подскажите, пожалуйста, как сделать чтобы цвет ячеек не сбрасывался?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. SlavaKron 01.09.23 11:42 Сейчас в теме
(1) Скорее всего, значения реквизитов берете через точку во встроенном языке. Замените получение реквизитов на запрос.
4. user1619761 01.09.23 15:12 Сейчас в теме
(3) у меня в этой процедуре три таблицы значений, получаемые запросами, таблицы заполняются в этой же процедуре, при условии когда все они имеют значение неопределено, и далее поиск строк отрабатывает в этой процедуре, строк может быть больше 20, и по каждой ячейке каждой строки идет поиск в таблицах, из за этого замедление работы.
(3)
значения реквизитов берете через точку во встроенном языке
под точками имеете ввиду это "ОформлениеСтроки.ДанныеСтроки["КолонкаТовара" + Строка(СчКолонок)]"?
5. SlavaKron 01.09.23 15:27 Сейчас в теме
(4)
под точками имеете ввиду это "ОформлениеСтроки.ДанныеСтроки["КолонкаТовара" + Строка(СчКолонок)]"?
Я имел в виду, когда у ссылочного объекта получают значения его реквизитов через точку, например, Номенклатура.ЕдиницаИзмерения.
Попробуйте добавить индекс у таблиц значений для полей, по которым происходит поиск.
2. jmw 61 01.09.23 11:12 Сейчас в теме
Событие ПриВыводеСтроки
Что-то типа такого:
	Если ДанныеСтроки.НДС <> НДСизСтавки(ДанныеСтроки.СтавкаНДС) Тогда
		ОформлениеСтроки.Ячейки.СтавкаНДС.ЦветФона = красным;
	КонецЕсли;
	
	Если ДанныеСтроки.Номенклатура = Справочники.Номенклатура.ПустаяСсылка() Тогда
		ОформлениеСтроки.Ячейки.Штрихкод.ЦветФона = красным;
	ИначеЕсли найтиНоменклатуру(ДанныеСтроки.Штрихкод) <> ДанныеСтроки.Номенклатура Тогда
		ОформлениеСтроки.Ячейки.Штрихкод.ЦветФона = красным;
		ОформлениеСтроки.Ячейки.Номенклатура.ЦветФона = красным;
	КонецЕсли;
Показать

Где красным — это глобальная переменная, которая заполняется сразу во время открытия формы.
Типа

красным = Новый Цвет(255,120,120);

или

красным = WebЦвета.Красный;
Оставьте свое сообщение

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