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

1. 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_ 25 01.07.14 12:42 Сейчас в теме
(1) Win98, в процедуре ПередОткрытием
КлючСохраненияПоложенияОкна = Новый УникальныйИдентификатор();
fancy; ogre2007; protexprotex; TeMochkiN; BigRig; Designer1C; frkbvfnjh; whilefor; zveruganet; MsDjuice; qwerty679; d_bat; solary; insurgut; UnsavedSoul; +15 Ответить
8. insurgut 202 14.12.15 08:01 Сейчас в теме
(5) Alexey_, то что надо, спасибо большое! Я с этой обработкой подбора намучался уже, у большинства как надо, а у некоторых вся кривая и восстановить положение окна не помогает.
9. solary 178 17.05.16 08:54 Сейчас в теме
(5) Alexey_, спасибо! Вдруг, кто ищет для 8.1, пишем по аналогии:

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

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

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

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

	НоваяФорма = Источник.ПолучитьФорму();
	НоваяФорма.СпособОтображенияОкна = ВариантСпособаОтображенияОкна.Максимизированное;
	НоваяФорма.Открыть();
	
	Shell = Новый COMОбъект("WScript.Shell"); 
	Shell.SendKeys("%+R"); // вызов Alt+Shift+R
КонецЕсли;
Показать
Alex1Cnic; HisShadow; Lubocka; +3 Ответить
7. serg0776 7 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 65 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 50 30.05.22 20:46 Сейчас в теме
Универсальное решение
//Для программного сброса отображения формы 
//(замена действия: Окно - Восстановить положение):
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	КлючСохраненияПоложенияОкна = Новый УникальныйИдентификатор;
КонецПроцедуры
Оставьте свое сообщение
Вакансии
Архитектор 1С
Москва
зарплата от 260 000 руб.
Полный день

Начальник отдела архитектуры
Москва
зарплата от 300 000 руб.
Полный день

Эксперт по технологическим вопросам
Москва
зарплата от 250 000 руб.
Полный день

Ведущий разработчик 1С
Ростов-на-Дону
зарплата от 200 000 руб.
Полный день

Бизнес-аналитик 1С
Ростов-на-Дону
зарплата от 150 000 руб.
Полный день