Имя: Пароль:
1C
1C 7.7
v7: Окно сообщений
, , ,
0 Volodja
 
03.02.22
13:32
Пользователи часто меняют размер окна сообщений до минимума, так что не видно необходимой информации
можно ли при выводе изменять размер этого окна?
Не хотелось бы испоьзовать для этого отдельную форму
1 Смотрящий
 
03.02.22
13:33
Нет
2 Ёпрст
 
03.02.22
13:36
(0) Уже и забыл, где оно хранит размеры. Или в пользовательской ветке реестра или в cfg пользователя.
И..была вк Орефкова spy чего то там для отлова, и итракл от Абадонны.
Короче, можно было рулить.
3 Volodja
 
03.02.22
13:36
Вот Альф написал класс для работы с нимв формексе , но забыл добавить изменение размера.
4 Ёпрст
 
03.02.22
13:37
всё таки, в реестре скорее всего, ибо Абрахамс раньше выкладывал поделку "Калькуляторы идут", где окошко открывалось всегда в новом месте.
5 Kigo_Kigo
 
03.02.22
13:39
где то видел и даже использовал команды через WScript.CreateObject("WScript.Shell") для парковки его на место
6 Volodja
 
03.02.22
13:55
(2) в cfg не обнаружил.Придется в реестре поискать
7 Ёпрст
 
03.02.22
14:33
HKEY_CURRENT_USER\Software\1C\1Cv7\7.7\Имя базёнки\Config\ToolbarSystem

тут ищи
8 Volodja
 
03.02.22
16:01
(7)  Ветка не показала отличий до и после изменения размера
9 АгентБезопасной Нацио
 
03.02.22
16:05
(8) записывается-то в реестр  при завершении...
10 Volodja
 
03.02.22
16:06
Нашел
11 Volodja
 
03.02.22
16:07
Чуть по другому
[HKEY_CURRENT_USER\SOFTWARE\1C\1Cv7\7.7\Имя базы\V7\ИМЯ ПОЛЬЗОВАТЕЛЯ\ToolbarSystem\ToolbarPlace-Bar6]
12 АгентБезопасной Нацио
 
03.02.22
16:11
(0) попробуй RWidget, объект RMsgWindow, вроде бы оно было...
13 Volodja
 
03.02.22
16:19
(12) О.Спасибо. Вроде оно.
А в реестре нет смысла менять, т.к. изменения только при старте базы действуют
14 Ёпрст
 
03.02.22
16:22
(13) для нового окна - формы - при каждом открытии, для окна сообщения, по -идее, аналогично. Есть же штатная закрывалка окна сообщений, вот в это момент в реестре поправить, при след открытии будут уже свои координаты
15 Kigo_Kigo
 
03.02.22
16:31
(11) не угадал, за положение отвечает ToolbarPlace-Bar14
16 Volodja
 
03.02.22
16:35
(15) У меня MRUDockBottomPos и MRUHorzDockCY в (11) меняются, остальные ветки  нет
17 Volodja
 
03.02.22
16:38
(14) Что я делаю не так сейчас?
1.Закрываю (пока руками) окно сообщений
2.меняю MRUDockBottomPos и MRUHorzDockCY в реестре
3. запускаю обработку. она вывводит в окно сообщений что-нибудь. Окно не изменило размер.Вышло такое же, как и до п. 1
18 Volodja
 
03.02.22
16:40
(17) получается переменная хранится в памяти, а не каждый раз при выводе окна сообщений 1С обращается к реестру?
19 Kigo_Kigo
 
03.02.22
16:56
(18) сделай окно сообщений - окном не привязанным к форме и закрой 1С , у тебя появится в реестре
ToolbarPlace-Bar14, перепести его  и закрой, данные в той ветке изменятся, привязи окно сообщений обратно к форме ветка
ToolbarPlace-Bar14 исчезнет
не знаю, сработает ли, при начале работы системы, импортируй в реестр ветку "HKEY_CURRENT_USER\SOFTWARE\1C\1Cv7\7.7\Имя базы\V7\ИМЯ ПОЛЬЗОВАТЕЛЯ\ToolbarSystem" и все

а все данные до завершения работы системы скорее всего хранятся в кэше
20 Volodja
 
03.02.22
17:26
(12) Не взлетело:
    Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"LIB\RWidjets.dll") = 0 Тогда
        Предупреждение("Неудачная попытка загрузить RWidjets.dll");
        СтатусВозврата(0);
    КонецЕсли;
    Попытка
        ОкноСообщений=СоздатьОбъект("RMsgWindow");
        ОкноСообщений.Сообщить("Трутааа","Заголовок");
        ОкноСообщений.Переместить(100,100,500,200);
        //Сообщить("Сбоя не было");
    Исключение
        Сообщить("Не удалось создать RMsgWindow");
    КонецПопытки;

Ukfdyjt    Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"LIB\RWidjets.dll") = 0 Тогда
        Предупреждение("Неудачная попытка загрузить RWidjets.dll");
        СтатусВозврата(0);
    КонецЕсли;

    лОкно=СоздатьОбъект("RMsgWindow");
    лОкно.Сообщить("Привет!", "Приветственное сообщение", 1);

    Попытка
        ОкноСообщений=СоздатьОбъект("RMsgWindow");
        ОкноСообщений.Сообщить("Трутааа","Заголовок");
        ОкноСообщений.Переместить(100,100,500,200);
        //Сообщить("Сбоя не было");
    Исключение
        Сообщить("Не удалось создать RMsgWindow");
    КонецПопытки;
Главное окно моргнуло и все. И ничего не сообщает
21 Volodja
 
03.02.22
17:27
(20)
    Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"LIB\RWidjets.dll") = 0 Тогда
        Предупреждение("Неудачная попытка загрузить RWidjets.dll");
        СтатусВозврата(0);
    КонецЕсли;

    лОкно=СоздатьОбъект("RMsgWindow");
    лОкно.Сообщить("Привет!", "Приветственное сообщение", 1);

    Попытка
        ОкноСообщений=СоздатьОбъект("RMsgWindow");
        ОкноСообщений.Сообщить("Трутааа","Заголовок");
        ОкноСообщений.Переместить(100,100,500,200);
        //Сообщить("Сбоя не было");
    Исключение
        Сообщить("Не удалось создать RMsgWindow");
    КонецПопытки;
Главное окно моргнуло и все. И ничего не сообщает
Что-то в (20) лишнее влетело
22 Volodja
 
03.02.22
18:02
(21)  Сработало. Виноват.
2 + 2 = 3.9999999999999999999999999999999...