Восстановить положение окна, программно возможно?

1. Win98 14.02.13 15:10 Сейчас в теме
Кроме как сэммулировать нажатие клавиш, вариантов нет?

ЗЫ.
Shell = Новый COMОбъект("WScript.Shell");
Shell.SendKeys("%+R"); // вызов Alt+Shift+R
HisShadow; yxo; Denis211990; AlexKoso; qwerty679; ShantinTD; nicknick21; +7 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. KlesAlex 3 14.02.13 15:21 Сейчас в теме
(1) Win98, прямого метода для объекта не нашел. И не сталкивался с подобным.
Думаю что только эмулировать
5. Alexey_ 26 01.07.14 12:42 Сейчас в теме
(1) Win98, в процедуре ПередОткрытием
КлючСохраненияПоложенияОкна = Новый УникальныйИдентификатор();
user1629558; toxin74; fancy; ogre2007; protexprotex; TeMochkiN; BigRig; Designer1C; frkbvfnjh; whilefor; zveruganet; MsDjuice; qwerty679; d_bat; solary; insurgut; UnsavedSoul; +17 Ответить
8. insurgut 207 14.12.15 08:01 Сейчас в теме
(5) Alexey_, то что надо, спасибо большое! Я с этой обработкой подбора намучался уже, у большинства как надо, а у некоторых вся кривая и восстановить положение окна не помогает.
9. solary 186 17.05.16 08:54 Сейчас в теме
(5) Alexey_, спасибо! Вдруг, кто ищет для 8.1, пишем по аналогии:

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
	ЭтаФорма.ИмяСохраненияПоложенияОкна = Новый УникальныйИдентификатор();
КонецПроцедуры
Programmer-1C; mrChOP93; Siha; Designer1C; m-sla; +5 Ответить
2. Азбука Морзе 105 14.02.13 15:21 Сейчас в теме
А чем плох этот способ?
4. ShantinTD 91 01.07.14 12:19 Сейчас в теме
(2) Азбука Морзе, этот способ плох привязкой в Windows. Лично я не сталкивался с 1С под *nix, но тем не менее привязываться к ОС - не всегда правильно. Как поведет себя данный способ под тонким клиентом (имею ввиду сертифицированный 1С аппаратный тонкий клиент)?

(0), спасибо. буду знать такой прием.
6. iones 195 10.07.14 16:52 Сейчас в теме
Прописал в процедуре открытия формы вот так:
В процедуре МеханизмНумерацииОбъектов.УстановитьДоступностьПоляВводаНомера , которая прописана жпочти во всех документах и справочниках при открытии, написал событие "при открытии формы":

Форма - форма документа
Источник - объект документа.

Если НЕ Форма.СпособОтображенияОкна = ВариантСпособаОтображенияОкна.Максимизированное Тогда
	Форма.Модифицированность=Ложь;
	Форма.Закрыть();

	НоваяФорма = Источник.ПолучитьФорму();
	НоваяФорма.СпособОтображенияОкна = ВариантСпособаОтображенияОкна.Максимизированное;
	НоваяФорма.Открыть();
	
	Shell = Новый COMОбъект("WScript.Shell"); 
	Shell.SendKeys("%+R"); // вызов Alt+Shift+R
КонецЕсли;
Показать
Alex1Cnic; HisShadow; Lubocka; +3 Ответить
7. serg0776 5 18.06.15 15:49 Сейчас в теме
а как для линукса сделать COMОбъект там это не работает?
10. user751089 27.09.18 14:29 Сейчас в теме
11. user1578252 06.04.21 16:29 Сейчас в теме
Добрый день! Данный код был введён для восстановления окна в программный код для восстановления окна:
Shell = Новый COMОбъект("WScript.Shell");
Shell.SendKeys("%+R"); // вызов Alt+Shift+R
Но, при его выполнении уменьшается звук. Подскажите, пожалуйста, как можно решить данную проблему?
12. japopov 68 30.05.22 08:44 Сейчас в теме
(11) Вы вскрыли вторую проблему выбранного Вами метода! Итак, почему нельзя делать так, как Вы (через COM-объект):
1) Нельзя привязываться к конкретной ОС. В Linux и MacOS 1С работает, а вот COM-объекты нет.
2) COM-объекты - это настолько небезопасная гадость, что и в Windows они всегда получают максимум внимания со стороны антивирусов. Для Вас это означает минимум производительности и максимум геморроя для администраторов.
3) Посылать сочетание клавиш - плохое решение, так как его получит не только 1С, но и вся система. А какие комбинации клавиш настроены у пользователя - никто не скажет! Вероятны конфликты.

Ну, собственно, на 3) пункт Вы и напоролись...
13. Alexponenta 30.05.22 09:21 Сейчас в теме
Я так понимаю восстановление окна вам нужно - чтобы корректно вставала привязка элементов?
14. Alfn 59 30.05.22 20:46 Сейчас в теме
Универсальное решение
//Для программного сброса отображения формы 
//(замена действия: Окно - Восстановить положение):
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	КлючСохраненияПоложенияОкна = Новый УникальныйИдентификатор;
КонецПроцедуры
user1425762; toxin74; Ferrum; +3 Ответить
Оставьте свое сообщение

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