Как подсветить активную строку в табличном документе
Доброго дня.
Каким образом можно можно подсветить др.цветом всю строку в табличном документе, а не только ту ячейку на которой стоишь?
Сам табличный документ располагается на форме внешней обработки(форма обычна, т.е. не управляемая). Есть возможность установить цвет фона самой активной ячейки, а вот чтобы всю строку - такого не нашла.
Кто-то может сталкивался, какие есть варианты?
Заранее благодарю.
Каким образом можно можно подсветить др.цветом всю строку в табличном документе, а не только ту ячейку на которой стоишь?
Сам табличный документ располагается на форме внешней обработки(форма обычна, т.е. не управляемая). Есть возможность установить цвет фона самой активной ячейки, а вот чтобы всю строку - такого не нашла.
Кто-то может сталкивался, какие есть варианты?
Заранее благодарю.
По теме из базы знаний
Найденные решения
Перем ПредыдущийНомерСтроки;
Процедура ТабДокПриАктивизацииОбласти(Элемент)
НомерСтроки = ЭлементыФормы.ТабДок.ТекущаяОбласть.Верх;
Если ПредыдущийНомерСтроки <> Неопределено И НомерСтроки <> ПредыдущийНомерСтроки Тогда
ЭлементыФормы.ТабДок.Область(ПредыдущийНомерСтроки,,ПредыдущийНомерСтроки).ЦветФона = Новый Цвет;
КонецЕсли;
ЭлементыФормы.ТабДок.Область(НомерСтроки,,НомерСтроки).ЦветФона = WebЦвета.АкварельноСиний;
ПредыдущийНомерСтроки = НомерСтроки;
КонецПроцедуры
ПоказатьОстальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
Перем ПредыдущийНомерСтроки;
Процедура ТабДокПриАктивизацииОбласти(Элемент)
НомерСтроки = ЭлементыФормы.ТабДок.ТекущаяОбласть.Верх;
Если ПредыдущийНомерСтроки <> Неопределено И НомерСтроки <> ПредыдущийНомерСтроки Тогда
ЭлементыФормы.ТабДок.Область(ПредыдущийНомерСтроки,,ПредыдущийНомерСтроки).ЦветФона = Новый Цвет;
КонецЕсли;
ЭлементыФормы.ТабДок.Область(НомерСтроки,,НомерСтроки).ЦветФона = WebЦвета.АкварельноСиний;
ПредыдущийНомерСтроки = НомерСтроки;
КонецПроцедуры
Показать
(5) Из справки к полю табличного документа:
Поле табличного документа можно использовать для ввода данных пользователем и представления информации, хранимой в системе или полученной в результате расчетов.
Объект является визуальным представлением объекта ТабличныйДокумент и имеет все присущие ему свойства и методы.
Объект является визуальным представлением объекта ТабличныйДокумент и имеет все присущие ему свойства и методы.
(10) Значит цвет для ячеек изначально был предопределён, а не в значении по умолчанию,т.е. "Авто".
Можно попробовать так:
Можно попробовать так:
Перем ПредыдущийНомерСтроки;
Перем ЦветФонаСтроки;
Процедура ТабДокПриАктивизацииОбласти(Элемент)
НомерСтроки = ЭлементыФормы.ТабДок.ТекущаяОбласть.Верх;
Если ПредыдущийНомерСтроки <> Неопределено И НомерСтроки <> ПредыдущийНомерСтроки Тогда
ЭлементыФормы.ТабДок.Область(ПредыдущийНомерСтроки,,ПредыдущийНомерСтроки).ЦветФона = ?(ЦветФонаСтроки <> Неопределено, ЦветФонаСтроки, Новый Цвет);
КонецЕсли;
ОбластьСтроки = ЭлементыФормы.ТабДок.Область(НомерСтроки,,НомерСтроки);
ЦветФонаСтроки = ОбластьСтроки.ЦветФона;
ОбластьСтроки.ЦветФона = WebЦвета.АкварельноСиний;
ПредыдущийНомерСтроки = НомерСтроки;
КонецПроцедуры
Показать
(12) Значит нужно делать обход ячеек строки - перед установкой фона для каждой запоминать его цвет, потом так же обходом восстанавливать:
Перем ПредыдущийНомерСтроки;
Перем ЦветаФонаСтроки;
Процедура ТабДокПриАктивизацииОбласти(Элемент)
ТабДок = ЭлементыФормы.ТабДок;
Если ЦветаФонаСтроки = Неопределено Тогда
ЦветаФонаСтроки = Новый Соответствие;
КонецЕсли;
НомерСтроки = ТабДок.ТекущаяОбласть.Верх;
Если ПредыдущийНомерСтроки <> Неопределено И НомерСтроки <> ПредыдущийНомерСтроки Тогда
Для НомерКолонки = 1 По ТабДок.ШиринаТаблицы Цикл
ОбластьЯчейка = ТабДок.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки);
ЦветФонаЯчейки = ?(ЦветаФонаСтроки <> Неопределено, ЦветаФонаСтроки.Получить(НомерКолонки), Неопределено);
ОбластьЯчейка.ЦветФона = ?(ЦветФонаЯчейки <> Неопределено, ЦветФонаЯчейки, Новый Цвет);
КонецЦикла;
КонецЕсли;
Для НомерКолонки = 1 По ТабДок.ШиринаТаблицы Цикл
ОбластьЯчейка = ТабДок.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки);
ЦветаФонаСтроки.Вставить(НомерКолонки, ОбластьЯчейка.ЦветФона);
КонецЦикла;
ОбластьСтроки.ЦветФона = WebЦвета.АкварельноСиний;
ПредыдущийНомерСтроки = НомерСтроки;
КонецПроцедуры
Показать
(13) сделал так. Именно то что хотел.
В идеале можно прописать условие( булево) вкл/откл/ выделения строки или ячейки
Процедура РезультатПриАктивизацииОбласти(Элемент)
ШиринаТаблицы = ЭлементыФормы.Результат.ШиринаТаблицы;
Если ШиринаТаблицы <> 0 Тогда
ТекОбласть = ЭлементыФормы.Результат.ТекущаяОбласть;
НоваяТекОбласть = ЭлементыФормы.Результат.Область(ТекОбласть.Верх, 1, ТекОбласть.Низ, ШиринаТаблицы);
Если ТекОбласть.Имя <> НоваяТекОбласть.Имя Тогда
ЭлементыФормы.Результат.ТекущаяОбласть = НоваяТекОбласть;
КонецЕсли;
КонецЕсли
КонецПроцедуры
ПоказатьВ идеале можно прописать условие( булево) вкл/откл/ выделения строки или ячейки
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)