|
Программно выделить все строки табличной части обработки | ☑ | ||
---|---|---|---|---|
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) спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |