|
v7: Програмная активизация нужных строк (документов) журнала документов. | ☑ | ||
---|---|---|---|---|
0
jah1111
07.04.21
✎
10:28
|
Помогите кодом!
вот есть активный документ в журнале. как переити, к примеру к следуеещему документу (строке жрунала) или к предидущему? рою в сторону атрибута ТекущийДокумент и метода АктивизироватьОбъект(<Объект>) но что писать в скобках для описания предидущего или следуещего документа журнала? все это надо для реализации на форме кнопок навигации по журналу |
|||
1
Злопчинский
07.04.21
✎
10:42
|
Эмулируй нажатие клавиши стрелка вверх/вниз
|
|||
2
HawkEye
07.04.21
✎
11:11
|
(0) заполни таблицу значений документами по параметрам журнала, найди в ней текущий и возми следующий ))))))))
|
|||
3
jah1111
07.04.21
✎
11:23
|
(1) если вот так то почему не взлетает?
Функция ПриВыбореЗначения(Об="") Если Об = "" Тогда Об = Форма.АктивныйЭлемент(); КонецЕсли; //Об = "" Если Об = "кнВверх" Тогда АктивизироватьОбъект(ТекущийДокумент); Клав = СоздатьОбъект("Wscript.Shell"); Клав.SendKeys("{UP}");" КонецЕсли; КонецФункции |
|||
4
jah1111
07.04.21
✎
11:24
|
(2) Вас понял, хлопотно это, но если с эмуляцией не сложится то попробую
|
|||
5
jah1111
07.04.21
✎
11:40
|
(3) оно его активизирует, но фокус ввода не на документе..., а на кнопке по которой жмякаю...
|
|||
6
HawkEye
07.04.21
✎
11:52
|
(4) ну так, все не нужное - хлопотно )))
(5) ну так переведи фокус на нужное тебе поле ))) |
|||
7
jah1111
07.04.21
✎
12:45
|
(6)
(5) ну так переведи фокус на нужное тебе поле ))) как перевести????????? я думал АктивизироватьОбъект() переводит фокус!!!!! |
|||
8
Cthulhu
07.04.21
✎
12:51
|
Активизировать() - активизирует реквизит
АктивизироватьОбъект() - активизирует объект в форме списка. продам синтакс-помощник. дорого. |
|||
9
Cthulhu
07.04.21
✎
12:52
|
ЗЫ: если ругнется на "...нельзя использовать..." - гуглить "псевдо-закрытие формы".
|
|||
10
Злопчинский
07.04.21
✎
13:17
|
ну и зачем скриптшелл? если эмуляция кбд есть в формексе
|
|||
11
Злопчинский
07.04.21
✎
13:20
|
активизироватьОбъект();
Запустить формексом обработку ожидания на 50-100 мсек в ОО - отключить ОО, сэмулировать клаву |
|||
12
jah1111
07.04.21
✎
13:21
|
(9) один ему хрен
|
|||
13
jah1111
07.04.21
✎
13:25
|
Функция вверх()
Активизировать(ТекущийДокумент); Клав = СоздатьОбъект("Wscript.Shell"); Клав.SendKeys("{UP}"); КонецФункции срабатывает также как и при АктивизироватьОбъект() |
|||
14
HawkEye
07.04.21
✎
13:32
|
(7) "табом" ты же умееешь программно кнопки нажимать )))
|
|||
15
jah1111
07.04.21
✎
13:36
|
(14) оооохрєєєєєнєєєєть. это уже не костыль, это уже инв. коляска..
|
|||
16
Ёпрст
07.04.21
✎
14:09
|
(3) в (0) пишешь по кнопке. в (3) в ПриНачалеВыбораЗначения..
ты определись уже, если что, по-кнопке в функции будет работать так, например: Функция НажалиНаКнопкуВВерх() Активизировать("ДатаДок",0); Клавиша = СоздатьОбъект("Wscript.Shell"); Клавиша.SendKeys("{UP}"); КонецФункции |
|||
17
Arbuz
08.04.21
✎
16:45
|
всё работает
АктивизироватьОбъект(Тек_Документ); // Тек_Документ - это документ на который надо установить фокус Активизировать(Тек_Колонка, 0); // Активируем нужную колонку, Тек_Колонка - строка с именем идентификатора колонки дальше эмулируй клаву, но имей ввиду, что нажатия обработаются только после того, как ВЕСЬ твой код выполнится. |
|||
18
victuan1
08.04.21
✎
17:17
|
Не проще ли сразу использовать класс "ТабличноеПоле", чтобы потом все-таки всё не переделывать?
|
|||
19
Cthulhu
08.04.21
✎
23:47
|
(12),(13): ты бы хоть заглянул в синтакс-помощник и разобрался - что и зачем и как используется. а то несешь хрень какую-то причем на каком-то птичьем языке.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |