![]() |
|
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
|
еще Маньяк хз в каком году это хотел...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |