|   |   | 
| 
 | 1С УФ как программно две разные формы вместе ? | ☑ | ||
|---|---|---|---|---|
| 0
    
        Холст 08.09.20✎ 17:35 | 
        Сабж. Допустим, открываю обработку и к ней нужно вместе вывести форму справочника . Как это сделать программно ?     | |||
| 1
    
        TormozIT гуру 08.09.20✎ 17:42 | 
        Если управляемое приложение, то есть только костыль ирОбщий.УстановитьПрикреплениеФормыВУправляемомПриложенииЛкс (подсистема ИР).
 Процедура УстановитьПрикреплениеФормыВУправляемомПриложенииЛкс(Этаформа, ПроверитьДоступностьВвода = Ложь, ПоложениеПрикрепленногоОкна = Неопределено) Экспорт Если ПроверитьДоступностьВвода И Не Этаформа.ВводДоступен() Тогда // При открытии формы ВводДоступен() всегда равно Ложь Возврат; КонецЕсли; Если ПоложениеПрикрепленногоОкна = Неопределено Тогда Если ЭтаФорма.СостояниеОкна = ВариантСостоянияОкна.Прикрепленное Тогда ПоложениеПрикрепленногоОкна = ЭтаФорма.ПоложениеПрикрепленногоОкна; КонецЕсли; КонецЕсли; Если ПоложениеПрикрепленногоОкна <> Неопределено Тогда WSHShell = Новый COMОбъект("WScript.Shell"); Если ирКэш.НомерВерсииПлатформыЛкс() >= 803017 Тогда Если ТипЗнч(ЭтаФорма) = Тип("Форма") Тогда КомандаАктивацииПунктаОкна = "{UP 2}"; Иначе КомандаАктивацииПунктаОкна = "{UP 4}"; КонецЕсли; WSHShell.SendKeys("%-"); // Такой вызов меню окна не работает в 8.3.15-16 WSHShell.SendKeys(КомандаАктивацииПунктаОкна); WSHShell.SendKeys("{ENTER}"); Если ПоложениеПрикрепленногоОкна = ВариантПрикрепленияОкна.Верх Тогда WSHShell.SendKeys("{Down 4}"); ИначеЕсли ПоложениеПрикрепленногоОкна = ВариантПрикрепленияОкна.Низ Тогда WSHShell.SendKeys("{Down 5}"); ИначеЕсли ПоложениеПрикрепленногоОкна = ВариантПрикрепленияОкна.Лево Тогда WSHShell.SendKeys("{Down 2}"); ИначеЕсли ПоложениеПрикрепленногоОкна = ВариантПрикрепленияОкна.Право Тогда WSHShell.SendKeys("{Down 3}"); КонецЕсли; WSHShell.SendKeys("{ENTER}"); ИначеЕсли ирКэш.НомерВерсииПлатформыЛкс() >= 803015 Тогда // WSHShell.SendKeys("%-"); // Такой вызов меню окна не работает в 8.3.15-16 Иначе WSHShell.SendKeys("%"); WSHShell.SendKeys("{Down 1}"); WSHShell.SendKeys("{О}"); Если ПоложениеПрикрепленногоОкна = ВариантПрикрепленияОкна.Верх Тогда WSHShell.SendKeys("{UP 4}"); ИначеЕсли ПоложениеПрикрепленногоОкна = ВариантПрикрепленияОкна.Низ Тогда WSHShell.SendKeys("{UP 3}"); ИначеЕсли ПоложениеПрикрепленногоОкна = ВариантПрикрепленияОкна.Лево Тогда WSHShell.SendKeys("{UP 6}"); ИначеЕсли ПоложениеПрикрепленногоОкна = ВариантПрикрепленияОкна.Право Тогда WSHShell.SendKeys("{UP 5}"); КонецЕсли; WSHShell.SendKeys("{ENTER}"); КонецЕсли; КонецЕсли; КонецПроцедуры | |||
| 2
    
        mikecool 08.09.20✎ 18:48 | 
        еще Маньяк хз в каком году это хотел...     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |