Добрый день. Обычные формы. Сделал оформление строк в процедуре ПриПолученииДанных, но из за большого количества условий в этой процедуре открытый документ сильно тормозит. Настроил оформление по отдельной кнопке, код отрабатывает, но ячейки табличной части сначала меняют цвет по условиям, и сразу становятся снова белыми. Подскажите, пожалуйста, как сделать чтобы цвет ячеек не сбрасывался?
По теме из базы знаний
- Оформление и рефакторинг сложных логических выражений
- Идея или как сохранить ЦВЕТ, ШРИФТ, ОФОРМЛЕНИЕ пользователя
- Условное оформление формы в пользовательском режиме 1С (управление видимостью и доступностью элементов форм)
- Условное оформление строк и полей Таблицы значений и Дерева значений (готовый код)
- Конструктор условного оформления
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(3) у меня в этой процедуре три таблицы значений, получаемые запросами, таблицы заполняются в этой же процедуре, при условии когда все они имеют значение неопределено, и далее поиск строк отрабатывает в этой процедуре, строк может быть больше 20, и по каждой ячейке каждой строки идет поиск в таблицах, из за этого замедление работы.
(3)
(3)
значения реквизитов берете через точку во встроенном языке
под точками имеете ввиду это "ОформлениеСтроки.ДанныеСтроки["КолонкаТовара" + Строка(СчКолонок)]"?
(4)
Попробуйте добавить индекс у таблиц значений для полей, по которым происходит поиск.
под точками имеете ввиду это "ОформлениеСтроки.ДанныеСтроки["КолонкаТовара" + Строка(СчКолонок)]"?
Я имел в виду, когда у ссылочного объекта получают значения его реквизитов через точку, например, Номенклатура.ЕдиницаИзмерения.
Попробуйте добавить индекс у таблиц значений для полей, по которым происходит поиск.
Событие ПриВыводеСтроки
Что-то типа такого:
Где красным — это глобальная переменная, которая заполняется сразу во время открытия формы.
Типа
красным = Новый Цвет(255,120,120);
или
красным = WebЦвета.Красный;
Что-то типа такого:
Если ДанныеСтроки.НДС <> НДСизСтавки(ДанныеСтроки.СтавкаНДС) Тогда
ОформлениеСтроки.Ячейки.СтавкаНДС.ЦветФона = красным;
КонецЕсли;
Если ДанныеСтроки.Номенклатура = Справочники.Номенклатура.ПустаяСсылка() Тогда
ОформлениеСтроки.Ячейки.Штрихкод.ЦветФона = красным;
ИначеЕсли найтиНоменклатуру(ДанныеСтроки.Штрихкод) <> ДанныеСтроки.Номенклатура Тогда
ОформлениеСтроки.Ячейки.Штрихкод.ЦветФона = красным;
ОформлениеСтроки.Ячейки.Номенклатура.ЦветФона = красным;
КонецЕсли;
ПоказатьГде красным — это глобальная переменная, которая заполняется сразу во время открытия формы.
Типа
красным = Новый Цвет(255,120,120);
или
красным = WebЦвета.Красный;
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот