Имя: Пароль:
1C
1С v8
Программное нажатие кнопки на форме.
0 scanduta
 
22.02.13
15:11
Хочу открыть программно форму. И выполнить нажатие кнопки в программном режиме. Как программно открыть форму я знаю.

Есть кнопка, при ее нажатии выполняется куча процедур. И элементы формы заполняются. Вот хочу сделать тоже самое только программно. Кто нить делал так?
1 Heckfy
 
22.02.13
15:12
Я делал. :)
2 Heckfy
 
22.02.13
15:12
ЗЫ: Личку поправь.
3 scanduta
 
22.02.13
15:14
Как сделать то...
4 Heckfy
 
22.02.13
15:15
-Вызвать программно процедуру, которая на кнопку повешена
-Использовать WBScript с SendKey
...
5 scanduta
 
22.02.13
15:16
хм...
6 MSII
 
22.02.13
15:18
(0) Да ладно, куча процедур выполняется. На самом деле в лучшем случае одна. Вот ее и запустить.
7 scanduta
 
22.02.13
15:19
Проблема что я создаю документ тоже программно. Мне еще его нужно открыть прогрманно и выплнить нажате кнопки..
8 Shurjk
 
22.02.13
15:20
Еще скажи что этор все должно на экране отображаться и форма открыться и кнопка в ней нажаться.
Что мешает вызвать процедуру которая навешана на конопку?
9 MSII
 
22.02.13
15:20
(8) Говорит, тысяча их.
10 scanduta
 
22.02.13
15:23
(8) Примерно так и должно быть =)
11 scanduta
 
22.02.13
15:25
Вся суть что процедура заполняет элеметы формы документа. Когда процедура выполняется в модуле формы все понятно. А когда ее пытаешся вызвать из вне..
12 Xatori
 
22.02.13
15:25
Процедура ОсновныеДействияФормыВыполнить(Кнопка)

примерно так) Вызывай процедуру которая висит на кнопке, будь мужиком
13 Команданте
 
22.02.13
15:30
Объяви её экспортной и вызывай, в чём трабла-то
14 Команданте
 
22.02.13
15:31
Форма = Документы.БлаБлаДок.ПолучитьФорму("Блаблаформа");
Форма.Блаблапроцедура();
15 Сниф
 
22.02.13
15:32
(12) Процедура ОсновныеДействияФормыВыполнить(Кнопка) Экспорт
16 scanduta
 
22.02.13
15:35
(14)
Форма = Документы.БлаБлаДок.ПолучитьФорму("Блаблаформа");
Форма.Блаблапроцедура();


Ладно но как передать в это процедуру элментформы?
17 scanduta
 
22.02.13
15:35
Конкретно это будет реквизит строки табличной части
18 zladenuw
 
22.02.13
15:36
(16) зачем ?
19 zladenuw
 
22.02.13
15:37
(17)ну так найди строку которая тебе надо и передавай ее, а уже со строки бери нужные реквизиты.
20 scanduta
 
22.02.13
15:37
ТО есть по сути процедура срабатывает при изменении реквизита строки ТЧ , вот эту процедуру то мне и нужно звять
21 zladenuw
 
22.02.13
15:37
(20) пересчет  что ли ?
22 zladenuw
 
22.02.13
15:38
(20) покажи процедуру
23 scanduta
 
22.02.13
15:38
Не могу получить элементы тч формы
24 zladenuw
 
22.02.13
15:39
(23) зачем тебе элементы формы. если у тебя объект доступен.
25 zladenuw
 
22.02.13
15:40
Для каждого ТекСтр из ДокументЗЧ.ТабЗЧ цикл
ПересчетСуммыЗЧ(ТекСтр);
КонецЦикла;
26 scanduta
 
22.02.13
15:43
(25) потому что в процедуре есть такое:
ТекущиеДанные = ЭлементыФормы.ОсновныеНачисления.ТекущиеДанные;

и туда надо передавать элемент формы а не другой тип
27 zladenuw
 
22.02.13
15:45
(26) ну а ты вообще смотрел какой тип данных у ЭлементыФормы.ОсновныеНачисления.ТекущиеДанные.
Небось таблица.
28 zladenuw
 
22.02.13
15:47
(27) вернее строка таблицы.
и можно без этого обойтись. а просто сделать (25)
29 scanduta
 
22.02.13
15:49
(28) нее так не прокатит ...щас я уже доделываю скоро покажу как сделал
30 zladenuw
 
22.02.13
15:52
(29) А потом тебе этот код надо будет где то еще. и без вызова формы.
Читай вообщем http://pro1c.org.ua/index.php?showtopic=3232.
Если вдруг будешь на упр формах, что то делать
31 scanduta
 
22.02.13
15:57
Вообщем как здесь писали:
Форма = Документы.БлаБлаДок.ПолучитьФорму("Блаблаформа");
Форма.Блаблапроцедура();


Такое обращение к процедуре не прокатывает..
32 zladenuw
 
22.02.13
15:58
(31) ну так. сделал (13) ?
33 scanduta
 
22.02.13
16:00
с экспортом прокатило...блин тут новые проблемы..
34 scanduta
 
22.02.13
16:02
там в процедуре идет обращение к ТекущиеДанные.Дата ТекущиеДанные.Номер и т. д.
35 MSII
 
22.02.13
16:08
(34) Ты эмулятор пользователя пишешь, что-ли? :)
36 mxs089
 
22.02.13
16:55
(29) Форма.ЭлементыФормы.Таблица.ТекущаяСтрока = Форма.ЭлементыФормы.Таблица[0]
37 Mort
 
22.02.13
16:59
Пятница не кончается.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший