Нажпть кнопку программно.

1. Tsprogrammist1 85 15.12.08 12:21 Сейчас в теме
Всем привет вопрос такой- Можно ли в 1с77 программно сэметировать нажатие кнопки на форме(т.е. программно нажать кнопку)? Если ДА то привидите плиз пример.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Душелов 4018 15.12.08 12:22 Сейчас в теме
А почему нельзя просто вызвать процедуру - обработчик нажатия кнопки?
3. Tsprogrammist1 85 15.12.08 12:25 Сейчас в теме
т.е. Вы имеете ввиду открыть форму модально итд и тп... ???
5. Fuego 462 15.12.08 12:33 Сейчас в теме
(3) у кнопки в свойствах на вкладке "дополнительно" есть "формула", в ней указана процедура-обработчик нажатия. Вот её и нужно вызывать програмно...
4. Душелов 4018 15.12.08 12:26 Сейчас в теме
А модально зачем? Задача-то какая?
6. Tsprogrammist1 85 15.12.08 12:34 Сейчас в теме
Есть обработа. Задачи обработки. Создать документ Товарная накладная (все норм. получаеться)
Затем эта обработка должна создать документ Счет-фактура выдання, при этом основанием СФВ должен быть документ созданный нами ранее (ТН). Проблема: Создаю док СФВ выбираю основание... Остальные реквизиты мажно заполнить автоматически... Я знаю что это можно это можно сделть нажатием на кнопку заполнить. Как это лучше реализовать?
7. Fuego 462 15.12.08 12:39 Сейчас в теме
(6) есть обработчик заполнения. Может быть к нему нужно постучаться?..
8. tdr1225 37 15.12.08 12:51 Сейчас в теме
(6) Чтобы сымитировать нажатие кнопки "Заполнить", нужно вызвать проц., как указал (5)
13. Tsprogrammist1 85 15.12.08 14:59 Сейчас в теме
А без копирования как то можно обоитись...??? хочу так ... из соей обрботки вызваз процедуру из док Причем эта процедура должна заполнять реквизиты документа. Задачи (6).
9. Tsprogrammist1 85 15.12.08 14:36 Сейчас в теме
Все во внешней обработке! Вощем делаю так Создаю док Счет-Фактура Выданная, назначаю основание, теперь... как теперь заполнить реквизиты док СФВ автоматически не пойму (((( Привидите пример кода плиз.
10. Душелов 4018 15.12.08 14:45 Сейчас в теме
Mars пишет:

Все во внешней обработке! Вощем делаю так Создаю док Счет-Фактура Выданная, назначаю основание, теперь... как теперь заполнить реквизиты док СФВ автоматически не пойму (((( Привидите пример кода плиз.


См. пункт 5!
11. Tsprogrammist1 85 15.12.08 14:49 Сейчас в теме
ЗаполнитьНаОсновании()-Это в поле формула. Делаю так ДокСчетФактура.ЗаполнитьНаОсновании(); не катит (((
14. Abadonna 3960 15.12.08 15:17 Сейчас в теме
(11) И не прокатит. Смотри куда стучится сама процедура ЗаполнитьНаОсновании()
12. Душелов 4018 15.12.08 14:55 Сейчас в теме
Скопируй код этой процедуры в свою обработку. И все.
15. Ёпрст 1063 15.12.08 15:21 Сейчас в теме
Можно... Можно и штатно ...
Можно и с ВК.
Но лучше - скопировать код в обработку... делов на 2 минуты.
16. Tsprogrammist1 85 15.12.08 15:25 Сейчас в теме
Согласен скопировать можно... но я не хочу :)
Ёпрст привидите плиз код простого примера
17. Ёпрст 1063 15.12.08 16:31 Сейчас в теме
ЗагрузитьВнешнююКомпоненту("formex.dll");
Конт="";
ОткрытьФорму(Док.ТекущийДокумент(),Конт);
Конт.Печать();
18. Ёпрст 1063 15.12.08 16:34 Сейчас в теме
можно и ВыполнитьПроцедуру/ВыполнитьФункцию ...

А можно и без ВК.
Например так:
http://www.forum.mista.ru/topic.php?id=146549
читай 30 пост
19. Abadonna 3960 15.12.08 17:11 Сейчас в теме
Вот так, например, можно:
Процедура КнопкаВыполнитьНажатие(Кнопка)
// на кнопку быстрая клавиша F4, например
Сообщить("Нажали");
КонецПроцедуры

Процедура ПриОткрытии()
WshShell = ПолучитьComОбъект("","WScript.Shell") ;
WshShell.SendKeys("{F4}");
КонецПроцедуры
22. Abadonna 3960 16.12.08 03:26 Сейчас в теме
(19) Блин, только что заметил, что это про 7.7
Тогда в коде
не WshShell = ПолучитьComОбъект("","WScript.Shell") ;
а WshShell = СоздатьОбъект("WScript.Shell") ;
20. Tsprogrammist1 85 15.12.08 21:53 Сейчас в теме
Всем спасибо. Особое спасибо за примеры Ёпрст и Abadonna. Шас все буду пробовать.
21. Fuego 462 15.12.08 23:17 Сейчас в теме
(20) я ща домой приехал, и меня очень улыбнуло это отношение к работе :))) Даже самые блондинистые девчонки не улыбали меня так никогда как Tsprogrammist1 (Mars):)) Сегодня буду видеть хорошие сны :)) Спасибо ))
23. Tsprogrammist1 85 16.12.08 14:54 Сейчас в теме
Fuego чем же я Вас так порадовал ? (конкретно) Елси я вас действительно порадовал вышлите 5$ :)
25. Fuego 462 16.12.08 17:54 Сейчас в теме
(23) вчера домой приехал поздно и с дурным настроением. Сел за комп и разрыдался от смеха. Здесь уже кучу решений предложили, а у тебя всё никак не получается. А $5 ты не заслужил ещё :)
Из обработки програмно открой форму, на которой кнопка находится и програмно вызови обработчик нажатия.

Если ОткрытьФорму(Документ, ,0) = 1 Тогда
      Документ.ЗаполнитьНаОсновании(ДокументОснование);
КонецЕсли;



Если ЗаполнитьНаОсновании() не принимает никаких параметров, значит есть некоторая переменная, которая хранит в себе этот документ-основание. Разберись, как всё устроено в самом документе, и будешь знать, как жить дальше...
27. Tsprogrammist1 85 16.12.08 22:40 Сейчас в теме
(25) Fuego Решение задачи ето как женщина их много , а нужна только одна :) (Причем самая красивая).

ВСЕМ респек все получилось.
24. Ёпрст 1063 16.12.08 15:27 Сейчас в теме
А вообще, самое красивое решение, тут:
http://www.sinor.ru/%7Efilez/keypress.zip
26. lefthander 16.12.08 17:57 Сейчас в теме
Mars - это в обработке
//****
ДокЗКП.Новый();
ДокЗКП.ДокументОснование =ДокСФПДляОпл.ТекущийДокумент();

ДокЗКПВ = ДокЗКП.ТекущийДокумент();

ДатаЗКП = ДокЗКП.ДатаДок;
НомерЗКП = ДокЗКП.Номердок;
СписокПараметров=СоздатьОбъект("СписокЗначений");
СписокПараметров.ДобавитьЗначение("Заполнить","Команда");
СписокПараметров.ДобавитьЗначение(ДокСФПДляОпл.ТекущийДокумент(),"ДокументОснование");
ОткрытьФорму(ДокЗКПВ,СписокПараметров);
//****
Это ставишь в форму дока в ПриОткрытии()
Если ПустоеЗначение(Форма.Параметр)=0 Тогда
Если ТипЗначенияСтр(Форма.Параметр)="СписокЗначений" Тогда
Если Форма.Параметр.Получить("Команда")="Заполнить" Тогда
ДокументОснование=Форма.Параметр.Получить("ДокументОснование");
Заполнить(ДокументОснование);
Записать();
Провести();
СтатусВозврата(0);
Возврат;
Иначе
Предупреждение("В форму передан неверный параметр!");
КонецЕсли;
КонецЕсли;
КонецЕсли;
//***
Ну а в
Функция Заполнить(ДокОсн)
// тут как правило уже написано что надо сделать
КонецФункции
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот