7.7 Применение метода SendKeys к выборке доков

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 7.7"", создана пользователем dim3740, 26 дек 2009.

  1. TopicStarter Overlay
    dim3740
    Offline

    dim3740 Опытный в 1С

    Регистрация:
    23 ноя 2009
    Сообщения:
    93
    Симпатии:
    0
    Баллы:
    26
    Код:
    Процедура Сформировать()
    ф=СоздатьОБъект("WScript.Shell");
    Доки=СоздатьОбъект("Документ.ОперацияПоРасчСчету"); 
    Доки.ВыбратьДокументы();  
    Пока Доки.ПолучитьДокумент()=1 Цикл 
    ТД=Доки.ТекущийДокумент(); 
    Конт="";
    ОткрытьФорму(ТД,конт);
    ф.SendKeys("{F12}");   //на Ф12 "повесил" кнопку формы 
    Конт.Форма.Закрыть(0); 
    КонецЦикла;
    КонецПроцедуры
    
    Почему эмуляция работает только на последнем доке выборки?
  2. Бухгалтерский угодник
    Offline

    Бухгалтерский угодник Администраторы Команда форума Администратор

    Регистрация:
    29 дек 2008
    Сообщения:
    21.523
    Симпатии:
    407
    Баллы:
    104
    Вы хотите таким образом вызвать некую функцию из документа? Не получится - форма не открыта, соответственно нажатие клавиши не сработает. Вызов процедуры нужно осуществлять через параметр формы и обрабатывать в процедуре ПриОткрытии
  3. TopicStarter Overlay
    dim3740
    Offline

    dim3740 Опытный в 1С

    Регистрация:
    23 ноя 2009
    Сообщения:
    93
    Симпатии:
    0
    Баллы:
    26

    За ответ- спасибо! Видимо, программное открытие методом ОткрытьФорму(ТД) - не есть открытие? Она ведь даже открывается на экране. Может быть не хватает некой "активизации"?
    Ведь если выбрать только ОДИН документ, то все получается! Т.е имитируется нажатие кнопки, идет обращение к соответ. процедуре формы, выполнение ее... Все видно на экране. Потом, если нужно, я ее программно закрываю. (Сохранение изменений, перепроведение не стоит в задаче).
    Изначально: при автозакгрузке из БанкКлиента, 1С77, в сформировавшемся доке "ОперацияПоРасСчету" можно нажатием кнопки "Внести нового контрагента" заполнить этот справочник новым элементом. Ну и лень мне это делать ручками.... Признателен за помощь.
  4. WaRDeR
    Offline

    WaRDeR Модераторы Команда форума Модератор

    Регистрация:
    23 ноя 2006
    Сообщения:
    3.263
    Симпатии:
    14
    Баллы:
    29
    Это все-равно что лечить зубы через задний проход (как в одном анекдоте).

Поделиться этой страницей