Имя: Пароль:
1C
1С v8
Программно выделить все строки табличной части обработки
0 dimm7310
 
12.03.13
13:08
Управляемая форма, на форме обработки размещена табличная часть, необходимо по нажатию клавиши выделить все строки таблицы.

Пробовал в свойствах команды задавать сочетание клавиш Ctrl+A совместно с действием
&НаКлиенте
Процедура ВыбратьВсеЗаказы(Команда)
   ЭтаФорма.ТекущийЭлемент = Элементы.ТЗЗаказы;
КонецПроцедуры

- строки не выделяются.

Пробовал вторым способом (очистив сочетание клавиш команды) оставив действие

&НаКлиенте
Процедура ВыбратьВсеЗаказы(Команда)
   Для каждого стр из  ЭтаФорма.Объект.ТЗЗаказы Цикл
       Элементы.ТЗЗаказы.ВыделенныеСтроки.Добавить(стр);
   КонецЦикла;    
КонецПроцедуры
 

- результат тот же

Как правильно ?
1 Maxus43
 
12.03.13
13:12
ТаблицаФормы (FormTable)
ВыделенныеСтроки (SelectedRows)
Использование:

Только чтение.

не?
2 dimm7310
 
12.03.13
13:15
(1) Ошибку не выдает, да в конфигураторе к Элементы.ТЗЗаказы.ВыделенныеСтроки предлагается "Добавить"
3 Maxus43
 
12.03.13
13:16
попробуй
&НаКлиенте
Процедура ВыбратьВсеЗаказы(Команда)
Масс = Новый Массив;  
Для каждого стр из  ЭтаФорма.Объект.ТЗЗаказы Цикл
   Масс.Добавить(стр);
КонецЦикла;    
КонецПроцедуры
       Элементы.ТЗЗаказы.ВыделенныеСтроки = Масс;
4 Maxus43
 
12.03.13
13:17
вобще, в СП написано "Содержит массив идентификаторов выделенных строк". Может тут затык
5 nerkadry
 
12.03.13
13:19
да, номер строки туда пихай
6 Defender aka LINN
 
12.03.13
13:26
(5) Не номер, а идентификатор
7 dimm7310
 
12.03.13
13:31
(3) а так уже выдает ошибку
Поле объекта недоступно для записи (ВыделенныеСтроки)
8 kosts
 
12.03.13
13:33
(7)
Элементы.ТЗЗаказы.ВыделенныеСтроки.Добавить(стр);
9 Maxus43
 
12.03.13
13:33
send key может заюзать?)
10 dimm7310
 
12.03.13
13:35
(8) так изначально и было
11 Maxus43
 
12.03.13
13:37
(10) выдели строку, и погляди отладчиком что лежит в массиве, там должны быть идентификаторы
12 nerkadry
 
12.03.13
13:37
(6) согласен
13 dimm7310
 
12.03.13
13:38
(9) можно пример кода?
14 Defender aka LINN
 
12.03.13
13:39
(3) ВыделенныеСтроки - только для чтения
15 dimm7310
 
12.03.13
13:40
(11) поглядел, там номера строк
16 dimm7310
 
12.03.13
13:42
так получилось
   Для каждого стр из  Объект.ТЗЗаказы Цикл
       Элементы.ТЗЗаказы.ВыделенныеСтроки.Добавить(стр.НомерСтроки);
   КонецЦикла;
17 cw014
 
12.03.13
13:44
(16)
   Для каждого стр из Объект.ТЗЗаказы Цикл
       Элементы.ТЗЗаказы.ВыделенныеСтроки.Добавить(Элементы.ТЗЗаказы.ДанныеСтроки(стр).ПолучитьИдентификатор());
   КонецЦикла;
18 Maxus43
 
12.03.13
13:44
(14) кстати часто замечаю в СП такие "опечатки". Операции присваивания (3) не работают, но это не мешает менять само значение свойства (в данном случае массив)
19 kosts
 
12.03.13
13:45
(18) Нельзя заменить дверь, но можно покрасить =)
20 Reset
 
12.03.13
13:46
(18) Так это не опечатка, все верно, реквизит нельзя менять. А содержимое, адресуемое реквизитом - почему нет?
21 Maxus43
 
12.03.13
13:47
(20) вводит в заблуждение по поводу невозможности менять значение свойства, каково убеждение возникнет при первом прочтении СП
22 Reset
 
12.03.13
13:47
(21) а, понял мысль
23 Defender aka LINN
 
12.03.13
13:47
(18) Это не опечатка. Это именно означает, что заменить это свойство нельзя. Никто не говорит, что в этот массив нельзя его методами добавлять.
24 Maxus43
 
12.03.13
13:48
(23)>(21). Ты же это имел ввиду в (14) наверняка
25 Defender aka LINN
 
12.03.13
13:52
(24) да :)
26 dimm7310
 
12.03.13
13:54
на счет send key, киньте пример кода - это пригодится в другой задачке
27 Maxus43
 
12.03.13
14:03
28 Maxus43
 
12.03.13
14:04
// через SendKeys передаем Ctrl-C и Ctrl-V    
wsh=Новый COMОбъект("WScript.Shell");    
// Скопировать текст    
wsh.SendKeys("^c");      
// Вставить текст  
wsh.SendKeys("^v");  

по аналогии и  Ctrl-А
29 dimm7310
 
12.03.13
14:25
(28) Спасибо
30 dimm7310
 
12.03.13
14:31
кстати  может и можно без SendKeys

Над табличной частью обработки есть командная панель в которой  нет клавиши Найти, но этот пункт (найти) есть в разделе "Все действия".    

Можно-ли вытащить на командную панель клавишу найти ? (не делая самопальных команд и не прибегая к SendKeys)
31 Reset
 
12.03.13
14:36
(30) Добавить на панель кнопку со стандартной командой
32 dimm7310
 
12.03.13
15:00
(31) спасибо
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший