Управление окнами и мониторами в 1С (новая версия)

20.11.24

Разработка - Инструментарий разработчика

Управление размерами, активностью и положением окон из 1С с возможностью вывода окон на второй монитор и запретом изменения окна, и работа с регионами

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Управление окнами и мониторами в 1с:
.zip 467,59Kb ver:2
36
36 Скачать (1 SM) Купить за 1 850 руб.
Управление окнами и мониторами в 1С Исходники VS C++2022
.zip 23,48Kb ver:2
10
10 Скачать (6 SM) Купить за 3 350 руб.

Обновление и компоненты и обработки для тестирования

Протестировано на платформе 1С 8.3.25.1394, на конфигурациях БП, УНФ. В среде WINDOWS  10

В комплекте два DLL файла x32 и x64, а также демонстрационная обработка.

Стандартная Native (win) библиотека для управления окнами

Позволяет вывести окно в любой точке экрана, на любом из мониторов.

Подключается как Native

ИмяКомпоненты = "SetWindow";
Рез = ПодключитьВнешнююКомпоненту(ПолныйПутьКФайлуОкон, ИмяКомпоненты, ТипВнешнейКомпоненты.Native);	
ПрогИД = "AddIn." + ИмяКомпоненты+".SetWindow";
КомпонентВК = Новый(ПрогИД);

Область применения:

Вывод второстепенного окна на второй монитор (Монитор покупателя);

Запретить пользователю изменять размер окна (Рабочее место кассира);

Вывод окна в определенном месте экрана (Рабочее место кассира, Телефония);

Просто побаловаться (Вывести окно, чтоб бухгалтера не смогли ни закрыть, не сдвинуть это окно) !

Функции

ПолучитьМониторы();

ПолучитьНастройкиМонитора(Монитор);

ПолучитьДескрипторАктивногоОкна();

ПолучитьСписокОкон();

ПолучитьДескрипторОкна(ИмяКласса, ЗаголовокОкна); 

ПолучитьПараметрыОкна(ДескрипторОкна);

Процедуры

УстановитьПозициюОкна(ДескрипторОкна, x, y);

РазвернутьНаВесьЭкран(ДескрипторОкна);

УстановитьРазмерОкна(ДескрипторОкна, ширина, высота);

//Изменена
//ВывестиОкноНаМонитор(Монитор, ДескрипторОкна);
ВывестиОкноНаМонитор(ДескрипторОкна, Монитор);

АктивизироватьОкно(ДескрипторОкна);

ЗапретитьИзменятьРазмерОкна(ДескрипторОкна, Статус);

ЗакрепитьОкно(ДескрипторОкна, Статус);

БлокироватьКнопкиУправления(ДескрипторОкна, Статус);

Добавлены:
СоздатьЭллиптическуюОбласть(ДескрипторОкна, Х1, У1, Х2, У2, ОбъединениеРегионов);

СоздатьПрямоугольноОкруглуюОбласт(ДескрипторОкна, Х1, У1, Х2, У2, Высота, Ширина, ОбъединениеРегионов);

СоздатьПолигональнуюОбласть(ДескрипторОкна, "x1;y1;x2;y2;x3;y3....",1, ОбъединениеРегионов);

УдалитьВсеОбласти(ДескрипторОкна);

 

Native компонента управление окнами вывод на два дисплея

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

12000 руб.

02.09.2020    169926    939    403    

905

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и выполнять их автоматически без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    12979    100    46    

103

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    26717    90    48    

134

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    16917    41    15    

75

SALE! %

Инструментарий разработчика Инструменты администратора БД Системный администратор Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

4800 3840 руб.

14.01.2013    190702    1151    0    

918

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    11447    40    27    

66

Инструментарий разработчика Платформа 1С v8.3 Конфигурации 1cv8 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    927    2    0    

5

Инструментарий разработчика Программист Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Восстановление партий или взаиморасчетов, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

5000 руб.

07.02.2018    103990    244    100    

306
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. VmvLer 28.10.19 10:50 Сейчас в теме
Область применения заманчива, правда настройки громоздкие и чисто визуально выглядят небрежно "на отцепись"

буду ждать благодарных отзывов а ля
"скачал и стал ходить по воде"
"купила и сразу влезла в школьные джинсы"
и т.д.

когда станет ясно, что это работает - будем брать
Ta_Da; uk09; acanta; +3 Ответить
2. Grigoriy251 118 28.10.19 14:05 Сейчас в теме
(1)
сть применения заманчива, правда настройки громоздкие и чисто визуально выглядят небреж


Обработка служит для демонстрации возможностей, небрежно да, но в ней раскрыта вся суть использования Native библиотеки.

Настройки нет не громоздкие, для примера (алгоритм):
1. Получаем список окон
2. Находим необходимое нам окно
3. А дальше выбираем, что с ним делать.
для примера код:
ПолныйПутьКФайлуОкон= "D:\SetWindow.dll";
ИмяКомпоненты = "SetWindow";
Рез = ПодключитьВнешнююКомпоненту(ПолныйПутьКФайлуОкон, ИмяКомпоненты, ТипВнешнейКомпоненты.Native);	
ПрогИД = "AddIn." + ИмяКомпоненты+".SetWindow";
КомпонентВК = Новый(ПрогИД);
ИдентефикаторОкна = ПолучитьДескрипторОкна("", "Калькулятор"); 
КолВоМониторов = ПолучитьМониторы();
Если КолВоМониторов=2 Тогда
         ВывестиОкноНаМонитор(2, ИдентефикаторОкна);
КонецЕсли;
РазвернутьНаВесьЭкран(ИдентефикаторОкна);
ЗапретитьИзменятьРазмерОкна(ИдентефикаторОкна, Истина);
ЗакрепитьОкно(ИдентефикаторОкна, Истина);
Показать

Только перед использованием откройте калькулятор
3. Viktor_Ermakov 371 19.02.20 16:19 Сейчас в теме
Спасибо автору, он дал старт новому опенсорсному проекту.
Пользуйтесь на здоровье
https://github.com/lintest/1cWinCtrl
Student1C; ulen; Grigoriy251; +3 Ответить
4. ITStorm 10 25.06.20 15:56 Сейчас в теме
Не работает на виндос 10, 8.3.15. Пишет Тип не определен (AddIn.SetWindow.SetWindow)
Компоненты не регистрируются и не подключаются. Попробую на семерке.

Сможете помочь ?
5. Grigoriy251 118 29.06.20 11:28 Сейчас в теме
(4)на windows 10 тестировалось, всё работает. Попробуйте от имени администратора
6. user1209971 76 15.12.20 15:05 Сейчас в теме
правильно я понял. Сеанс один, разные окна 1с на разны мониторах?
7. Grigoriy251 118 15.12.20 20:30 Сейчас в теме
(6)
но я понял. Сеанс один, разные

Да только окна должны быть независимые.
8. burmsergey 17 25.08.21 14:29 Сейчас в теме
(7) Либо я неправильно понял вопрос товарища user1209971,
либо я неправильно понял Ваш ответ.

Лично мне нужно, чтобы я мог открыть в одном сеансе 1С:Предприятие два окна, и одно из них отобразить на основном мониторе, а второе - на дополнительном. Например, открываю справочник валют, "перетаскиваю" его на дополнительный монитор, затем открываю форму нового документа, и работаю с ней на основном мониторе.

Насколько я понял, товарищ user1209971 спрашивал именно об этом.
Вы, как опять же я Вас понял, ответили, что такое возможно.

К сожалению, у меня так не получается.
Я скачал Вашу обработку ТестМонитора и попробовал с её помощью манипулировать окнами Windows. Всё прекрасно работает.
ТестМонитора управляет окнами РАЗНЫХ приложений.
Вопрос в том как управлять РАЗНЫМИ окнами ОДНОГО сеанса 1С:Предприятия.
ТестМонитора рассматривает сеанс 1С:Предприятия как одно окно.
Пример:
Запускаю сеанс 1С:Предприятия, открываю ТестМонитора, нажимаю "Получить список окон". В списке - 36 элементов.
Далее закрываю ТестМонитора, открываю справочник "Валюты", снова открываю ТестМонитора, нажимаю "Получить список окон". В списке - всё равно 36 элементов.
Вроде бы, окно справочника "Валюты" - независимое.
Что я делаю неправильно ?
Или всё таки сделать такое (разные окна 1с на разных мониторах) невозможно?
9. Grigoriy251 118 25.08.21 22:13 Сейчас в теме
(8)
и всё таки сделать такое (разные окна 1с на разных мониторах)

Можно если не модальное окно.
10. burmsergey 17 26.08.21 11:01 Сейчас в теме
(9) Про модальные окна речи вообще нет. Я думал одно окно отобразить на втором мониторе,
а с остальными окнами продолжать работу на основном (см. параграф "Лично мне нужно ..." в сообщении (8) ).

Можно если не модальное окно.

Может быть, и можно, но как ?
В примере из сообщения (8) справочник Валюты открывается именно в немодальном окне, однако в список окон не попадает.
Как же тогда им можно управлять ?

Далее.
Пробовал еще экспериментировать с параметром формы "РежимОткрытияОкна".
Создал обработку (далее - обработка-открыватель), которая открывает нужную мне форму (далее - Форма2)
с установкой "РежимОткрытияОкна" = "Блокировать окно владельца".
В этом случае Форма2 в список форм попадает!
И её можно переместить на второй монитор!
НО! Она отображается на 2-ом мониторе только когда в сеансе 1С активна форма обработки-открывателя.
При переход в другое окно этого же сеанса 1С Форма2 на втором мониторе пропадает ...

Итог: лично у меня желаемого (одно окно сеанса 1С отобразить на втором мониторе, а с остальными окнами этого же сеанса продолжать работу на основном мониторе) достичь не получилось.
11. user1779748 30.10.24 10:09 Сейчас в теме
Может ли эта компонента закрепить одно окно слева на 70 % размера экрана, и второе окно закрепить справа на оставшуюся часть? Либо закрепить одно окно сверху на 70 % экрана, а второе окно закрепить снизу 30 %. Формы управляемые.
12. Grigoriy251 118 31.10.24 07:55 Сейчас в теме
(11) в рамках одной запущенной 1с нет.
Если запущено две 1с то да. Вы можете получить размер экрана, изменить размер окна 1с, отключить масштабируемость окна и перенести его в удобное место
13. user1779748 07.11.24 15:36 Сейчас в теме
При открытии выходит ошибка "тип не определен", можете подсказать возможно ли это исправить?
Прикрепленные файлы:
14. Grigoriy251 118 08.11.24 00:36 Сейчас в теме
(13) у вас native библиотека не подключается, необходимо проверить, возможное решение запустить 1с с полными правами
15. user1779748 12.11.24 18:31 Сейчас в теме
(14) У меня не подключилась компонента в итоге, пробовал на платформе 8.3.24. 1467, 8.3.19. 1467.
16. Grigoriy251 118 20.11.24 20:59 Сейчас в теме
(15) Компонента подключается без проблем на всех этих конфигурациях.
17. user1779748 02.12.24 11:05 Сейчас в теме
(16) У меня вышло сообщение "Тип не определен", и компонента не подключилась в итоге. Это просто обратная связь. Пробовал на Windows 11, Windows 10. Обратная связь нужна для других пользователей, т.к. возврата нет, гарантии тоже нет)
18. Grigoriy251 118 02.12.24 15:38 Сейчас в теме
(17) С удовольствием вам помогу подключить её, тем более недавно добавил несколько функций, личным сообщением отправил вам номер телеграмма, чтоб можно было оперативнее вам помочь, а так можете хотя бы скриншот прикрепить.
Оставьте свое сообщение