Имя: Пароль:
1C
1C 7.7
v7: Как изменить размер обработки под выскакивающее окно сообщений?
0 Zhuravlik
 
20.02.13
16:20
Добрый день. Есть обработка с табличным полем, в обработке применяется клас форма.Привязки (растягиваю ТаблПоле по форме). Когда появляется окно сообщений, оно закрывает собой нижнюю часть формы, что неудобно, т.к. не видно нижних строк ТаблПоля. Можно форму как-то подгонять под размер окна сообщений?
1 ЧеловекДуши
 
20.02.13
16:23
Формекс вас спасет...
2 Zhuravlik
 
20.02.13
16:31
Да я тоже так подумал, сижу вот копаю. Не пойму, как получить высоту окна сообщений?
3 Zhuravlik
 
20.02.13
16:39
Апну. Подскажите, как дорыться до окна сообщений?
4 ЧеловекДуши
 
20.02.13
16:41
(2)Предопределенная процедура Изменение размера окна или около этого :)

А далее ты рисуешь, рисуешь и рисуешь программно...
Очень напоминает 8.2 управляемое приложение :)
5 Zhuravlik
 
20.02.13
16:42
+ Окна.ПолучитьПанели() возвращает список, где есть "Окно собщений", т.е. это для конфы Панель. Теперь как ее высоту получить?
6 Zhuravlik
 
20.02.13
16:43
(4) У меня форма размеры не изменяет) Мне нужно по-идее получить высоту окна сообщений, и исходя из этой высоты изменить размер формы.
7 ЧеловекДуши
 
20.02.13
16:43
Вот так, это у меня в документе разворачивает ТЗ на весь размер табличной части из документа:

//Для Формекса
Перем ФормаРасш;

//******************************************************************************
Процедура ПриИзмененииРазмераОкна(ТипСобытия,Ширина,Высота)
   Перем ЛевоМЧ,ВерхМЧ,ШиринаМЧ,ВысотаМЧ;
   Перем ЛевоТЗ,ВерхТЗ,ШиринаТЗ,ВысотаТЗ;
   Перем ВысотаОкна, ШиринаОкна;
   Перем ФормаМногострочнаяЧасть,ФормаТЗТаблЧасть;

   Если ТипЗначенияСтр(ФормаРасш)<>"РасширениеФормы" Тогда
       //Сообщить(ТипЗначенияСтр(ФормаРасш));
       ФормаРасш = 0;
       ФормаРасш = СоздатьОбъект("РасширениеФормы");
   Иначе
       Попытка
           ВысотаОкна = ФормаРасш.Высота;
           ШиринаОкна = ФормаРасш.Ширина;
       Исключение
           Сообщить("Ошибка: "+ОписаниеОшибки());
       КонецПопытки;
   КонецЕсли;
   
   ФормаМногострочнаяЧасть    = ФормаРасш.ПолучитьАтрибут("МногострочнаяЧасть");//МногострочнаяЧасть
   ФормаТЗТаблЧасть        = ФормаРасш.ПолучитьАтрибут("ТЗТаблЧасть");
   
   //Размер Кнопак Поиска
   ФормаМногострочнаяЧасть.ПолучитьКоординаты(ЛевоМЧ,ВерхМЧ,ШиринаМЧ,ВысотаМЧ);
   ФормаТЗТаблЧасть.ПолучитьКоординаты(ЛевоТЗ,ВерхТЗ,ШиринаТЗ,ВысотаТЗ);
   
   ФормаТЗТаблЧасть.УстановитьКоординаты(ЛевоМЧ,ВерхМЧ,ШиринаМЧ,ВысотаМЧ);
   
КонецПроцедуры
8 ЧеловекДуши
 
20.02.13
16:43
(6) Сделай, что бы меняло :)
9 ЧеловекДуши
 
20.02.13
16:44
ПриИзмененииРазмераОкна - предопределенная процедура формекса
10 ЧеловекДуши
 
20.02.13
16:45
+             ВысотаОкна = ФормаРасш.Высота;
           ШиринаОкна = ФормаРасш.Ширина;

Вот твое, что тебе нужно. Это и есть размер самой формы.
11 ЧеловекДуши
 
20.02.13
16:46
+(9)Сори, можешь не делать ,что бы меняло.
В сущности размер окна все ровно изменится :)
12 Zhuravlik
 
20.02.13
16:48
(10) Формы, или видимой части текущего окна пользователя?
Вот это Окна.РазмерОкна("", Ш, В, , 1) - выдает мне разную высоту до и после сообщения, по-ходу то что надо))
13 ЧеловекДуши
 
20.02.13
16:52
(12)Всей текущей формы, где была вызвана функция "ФормаРасш = СоздатьОбъект("РасширениеФормы");"
14 ЧеловекДуши
 
20.02.13
16:53
(12)Рад за тебя :)
15 ЧеловекДуши
 
20.02.13
16:53
+(12)Но мне больше всего нравиться изменять саму форму, а не подгонять окно сообщений :)
16 Zhuravlik
 
20.02.13
16:55
(15) Да, вы правы, мне просто показалось что эта процедура касается только текущей формы. Спасибо большое, теперь получится)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn