Имя: Пароль:
1C
1С v8
v8: Как создать ОбластьЯчеекТабличногоДокумента?
0 Sh18
 
18.05.12
13:07
Собсно, требуется программно выделить область в табличном документе. Я так думаю, что следует сделать такое:

ЭлементыФормы.Результат.ВыделенныеОбласти.Добавить(НужнаяОбласть);

Но получить объект типа ОбластьЯчеекТабличногоДокумента не получается. Конструктора нет. По методу ПолучитьОбласть(...) возвращается ТабличныйДокумент и на Добавить() оно ругется :(
1 Адинэснег
 
18.05.12
13:15
Вывести()
Присоединить()
2 Reset
 
18.05.12
13:19
Вопрос непонятен. ОбластьЯчеекТабличногоДокумента сам по себе смысла не имеет(так же как , например, строка ТЗ). Используется как инструмент для доступа к частям (областям) табличного документа.
Возвращается методом Область()
3 Sh18
 
18.05.12
13:33
(2) ну, задачу я написал - надо программно выделить область в документе. Вот такое вылетает с критической ошибкой

   Обл=ЭлементыФормы.Результат.ТекущаяОбласть;
   Обл1=ЭлементыФормы.Результат.Область(Обл.Верх,1,Обл.Верх,10);
   ЭлементыФормы.Результат.ВыделенныеОбласти.Добавить(Обл1);
4 Sh18
 
18.05.12
13:40
(3) Да, это вставляется в ПриАктивизацииОбласти(Элемент)
5 Reset
 
18.05.12
13:42
(4) Это называется бесконечная рекурсия
6 Reset
 
18.05.12
13:42
Код в (3) рабочий
7 Bober
 
18.05.12
13:43
Там нще нужно выкидываь текущую вылелен область
8 Reset
 
18.05.12
13:44
(7) Ну, автор не рассказал об этом. Может он хочет иметь две выделенные области
9 Sh18
 
18.05.12
13:46
Я понял, там бесконечная рекурсия, (5) прав. Я ее убрал внешней переменной, в которой хранится текущая строка - если поменялась, делаем (3), иначе пропускаем.
10 Sh18
 
18.05.12
13:48
Собсно, задача была в том, чтобы выделить строку, а не ячейку. В Табличном поле такое есть, в поле табличного документа нет
11 Reset
 
18.05.12
13:54
(10) Есть.
Область(2,,2) - вся строка
Это описано в СП
12 Bober
 
18.05.12
13:56
(11) угу
(10) вот даже пример есть http://infostart.ru/public/19519/
13 Sh18
 
18.05.12
14:00
(11) я имею в виду, что в Табличном поле есть реквизит РежимВыделенияСтроки - поставил нужную галку, и ничего делать не надо. В Поле табличного документа такого нет
14 Sh18
 
18.05.12
14:07
(12) в ссылке, чтобы избежать рекурсии, для креста используется отключение обработчика - грамотнее, чем я сделал, без доп. переменной. Но результат такой же ))