Доброго дня.
Каким образом можно можно подсветить др.цветом всю строку в табличном документе, а не только ту ячейку на которой стоишь?
Сам табличный документ располагается на форме внешней обработки(форма обычна, т.е. не управляемая). Есть возможность установить цвет фона самой активной ячейки, а вот чтобы всю строку - такого не нашла.
Кто-то может сталкивался, какие есть варианты?
Заранее благодарю.
---
```1c
    Перем ПредыдущийНомерСтроки;

    Процедура ТабДокПриАктивизацииОбласти(Элемент)
    НомерСтроки = ЭлементыФормы.ТабДок.ТекущаяОбласть.Верх;
    Если ПредыдущийНомерСтроки <> Неопределено И НомерСтроки <> ПредыдущийНомерСтроки Тогда
    ЭлементыФормы.ТабДок.Область(ПредыдущийНомерСтроки,,ПредыдущийНомерСтроки).ЦветФона = Новый Цвет;
    КонецЕсли;
    ЭлементыФормы.ТабДок.Область(НомерСтроки,,НомерСтроки).ЦветФона = WebЦвета.АкварельноСиний;
    ПредыдущийНомерСтроки = НомерСтроки;
    КонецПроцедуры
```
---
Свойства табличного поля - Режим выделения строки - Строка
---
строки
нет такого в свойствах поля табличного документа (у нас 1С 8.3)
---
```1c
    Перем ПредыдущийНомерСтроки;

    Процедура ТабДокПриАктивизацииОбласти(Элемент)
    НомерСтроки = ЭлементыФормы.ТабДок.ТекущаяОбласть.Верх;
    Если ПредыдущийНомерСтроки <> Неопределено И НомерСтроки <> ПредыдущийНомерСтроки Тогда
    ЭлементыФормы.ТабДок.Область(ПредыдущийНомерСтроки,,ПредыдущийНомерСтроки).ЦветФона = Новый Цвет;
    КонецЕсли;
    ЭлементыФормы.ТабДок.Область(НомерСтроки,,НомерСтроки).ЦветФона = WebЦвета.АкварельноСиний;
    ПредыдущийНомерСтроки = НомерСтроки;
    КонецПроцедуры
```
---
дело в том, что табличное поле не является реквизитом обработки, а значит и обратиться к нему через ЭлементыФормы не получится
---
>Сам табличный документ располагается на форме внешней обработки
>табличное поле не является реквизитом обработки

Так табличный документ или табличное поле? Является или не является?
---
Из справки к полю табличного документа:
Поле табличного документа можно использовать для ввода данных пользователем и представления информации, хранимой в системе или полученной в результате расчетов.
Объект является визуальным представлением объекта ТабличныйДокумент и имеет все присущие ему свойства и методы.
---
Разобралась. Да, действительно через ЭлементыФормы всё отлично работает.
Спасибо огромное!
---
Ваш код хорош но как вернуть предыдущей строке ее цвет после перемещения на текущую строку.
Новый цвет красит все в белый((
---
Значит цвет для ячеек изначально был предопределён, а не в значении по умолчанию,т.е. "Авто".
Можно попробовать так:

```1c
    Перем ПредыдущийНомерСтроки;
    Перем ЦветФонаСтроки;

    Процедура ТабДокПриАктивизацииОбласти(Элемент)
    НомерСтроки = ЭлементыФормы.ТабДок.ТекущаяОбласть.Верх;
    Если ПредыдущийНомерСтроки <> Неопределено И НомерСтроки <> ПредыдущийНомерСтроки Тогда
    ЭлементыФормы.ТабДок.Область(ПредыдущийНомерСтроки,,ПредыдущийНомерСтроки).ЦветФона = ?(ЦветФонаСтроки <> Неопределено, ЦветФонаСтроки, Новый Цвет);
    КонецЕсли;
    ОбластьСтроки = ЭлементыФормы.ТабДок.Область(НомерСтроки,,НомерСтроки);
    ЦветФонаСтроки = ОбластьСтроки.ЦветФона;
    ОбластьСтроки.ЦветФона = WebЦвета.АкварельноСиний;
    ПредыдущийНомерСтроки = НомерСтроки;
    КонецПроцедуры
```
---
Не взлетает(( все равно красит в белый.
цвета везде не авто.
---
Значит нужно делать обход ячеек строки - перед установкой фона для каждой запоминать его цвет, потом так же обходом восстанавливать:

```1c
    Перем ПредыдущийНомерСтроки;
    Перем ЦветаФонаСтроки;

    Процедура ТабДокПриАктивизацииОбласти(Элемент)
    ТабДок = ЭлементыФормы.ТабДок;

    Если ЦветаФонаСтроки = Неопределено Тогда
    ЦветаФонаСтроки = Новый Соответствие;
    КонецЕсли;

    НомерСтроки = ТабДок.ТекущаяОбласть.Верх;

    Если ПредыдущийНомерСтроки <> Неопределено И НомерСтроки <> ПредыдущийНомерСтроки Тогда
    Для НомерКолонки = 1 По ТабДок.ШиринаТаблицы Цикл
    ОбластьЯчейка = ТабДок.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки);
    ЦветФонаЯчейки = ?(ЦветаФонаСтроки <> Неопределено, ЦветаФонаСтроки.Получить(НомерКолонки), Неопределено);

    ОбластьЯчейка.ЦветФона = ?(ЦветФонаЯчейки <> Неопределено, ЦветФонаЯчейки, Новый Цвет);
    КонецЦикла;
    КонецЕсли;

    Для НомерКолонки = 1 По ТабДок.ШиринаТаблицы Цикл
    ОбластьЯчейка = ТабДок.Область(НомерСтроки, НомерКолонки, НомерСтроки, НомерКолонки);

    ЦветаФонаСтроки.Вставить(НомерКолонки, ОбластьЯчейка.ЦветФона);
    КонецЦикла;

    ОбластьСтроки.ЦветФона = WebЦвета.АкварельноСиний;

    ПредыдущийНомерСтроки = НомерСтроки;
    КонецПроцедуры
```
---
сделал так. Именно то что хотел.

```1c
    Процедура РезультатПриАктивизацииОбласти(Элемент)
    ШиринаТаблицы = ЭлементыФормы.Результат.ШиринаТаблицы;
    Если ШиринаТаблицы <> 0 Тогда
    ТекОбласть = ЭлементыФормы.Результат.ТекущаяОбласть;

    НоваяТекОбласть = ЭлементыФормы.Результат.Область(ТекОбласть.Верх, 1, ТекОбласть.Низ, ШиринаТаблицы);

    Если ТекОбласть.Имя <> НоваяТекОбласть.Имя Тогда
    ЭлементыФормы.Результат.ТекущаяОбласть = НоваяТекОбласть;
    КонецЕсли;
    КонецЕсли
    КонецПроцедуры
```

В идеале можно прописать условие( булево) вкл/откл/ выделения строки или ячейки
---
Ну, если вас устраивает, то и ладно.

Хотя, к примеру, что делает эта строка?
```1c
    ЭлементыФормы.Результат.Область("R"+ТекОбласть.Верх+"C1:R"+ТекОбласть.Низ+"C"+ШиринаТаблицы).Шрифт;
```
---
подправил. Это строка лишней была.