Вход | Регистрация


1с Программное изменение положение окна, сохранение положения

1с Программное изменение положение окна, сохранение положения
Я
   assest
 
26.09.18 - 09:26
Платформа 8.2.19.121 
Обычное приложение

Форма списка задач открывается по умолчанию всегда в левом верхнем углу, вопрос как это изменить? Установить по умолчанию его положение прижатое к правому краю или запомнить последнее положение окна.

"СостояниеОкна" должно быть "Обычное", "СоединяемоеОкно" = Ложь

Не понятно мне почему Справочник контрагенты, форма списка запоминает последнее открытие, а задачи нет.

Также пробовал использовать ИмяСохраненияПоложенияОкна/КлючСохраненияПоложенияОкна, прописал его в процедуре ПередОткрытием, но при повторном открытии параметр сбрасывается
 
 
   Гипервизор
 
1 - 26.09.18 - 09:31
Конфа-то какая?
   assest
 
2 - 26.09.18 - 09:33
(1) УПП 111,1
   assest
 
3 - 26.09.18 - 09:44
Вопрос с запоминанием закрыт, у меня от предыдущих прогеров осталось восстановление положение окна

Остался вопрос с программным изменением положением окна
   Serg_1960
 
4 - 26.09.18 - 09:52
Если в конфигураторе настройку окна сделать как в конфигурации поставщика - то вопрос сам собой исчезнет.
   assest
 
5 - 26.09.18 - 10:02
(4) У меня вопрос как программно прижать окно к правому краю, как мне поможет взятые конфигурации поставщика настройки, тем более что объект не типовой
   Cyberhawk
 
6 - 26.09.18 - 10:06
Посмотри как в портативных ИР сделано, например
   Cyberhawk
 
7 - 26.09.18 - 10:07
(главное окно и настройка его прижатия в четырех позициях)
   Serg_1960
 
8 - 26.09.18 - 10:37
(5) Так речь не о типовом "Мои задачи"? Хм... Ну тогда в конфигураторе установи нужные значения СостояниеОкна - Прикрепленное и ПоложениеПрикрепленногоОкна = Право.

Проблема программной работы с окнами в том, что "Данное свойство устанавливается окну только в том случае, если положение окна не было ранее сохранено в профиле."(СП)
   assest
 
9 - 26.09.18 - 10:49
(8) В том то и дело что мне нужно чтобы это было не закрепленное окно
А еще вопрос как рассчитать высоту окна, чтобы оно было максимальным, если есть несколько пользователей с разными разрешениями экранов

Я пытался развенуть окно программно, но там мной нафден только 1 вариант эммитировать нажатия клавиш, и нажатия вызова контекстного меню у меня не получилось
   Serg_1960
 
10 - 26.09.18 - 17:52
Ну... незнаю, надо ли это тебе...
В общем, у меня была одна обработка, в которой окно обработки всегда открывалось на весь экран, независимо от дальнейших изменений размеров и его положения пользователем. Там ещё поверх этого окна на переднем плане ещё несколько окон открывалось - но это уже не важно.

Короче: формой обработки сделал "левое" окно, которое открывалось при запуске обработки только для того, чтобы открыть нужную мне форму. Типа вот так:

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
   Отказ = Истина;
   СтандартнаяОбработка = Ложь;
   Форма = ЭтотОбъект.ПолучитьФорму("ФормаОбработки");
   Форма.СпособОтображенияОкна = ВариантСпособаОтображенияОкна.Максимизированное;
   Форма.Открыть();
   Shell = Новый COMОбъект("WScript.Shell"); 
   Shell.SendKeys("%+R");    
КонецПроцедуры
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует