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

20.11.24

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

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

Файлы

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

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

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

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

Протестировано на платформе 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С.

15500 руб.

02.09.2020    202475    1116    410    

1021

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

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

8400 руб.

20.08.2024    35592    206    104    

195

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

Расширение для создания и редактирования печатных форм в системе 1С:Предприятие 8.3. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и прозрачность разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    23978    62    26    

92

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

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

16000 руб.

10.11.2023    16462    69    39    

88

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

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

9360 руб.

17.05.2024    34667    123    53    

165

SALE! 30%

Инструментарий разработчика WEB-интеграция 1С v8.3 1C v8.2 1C:Бухгалтерия 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x Платные (руб)

Инструмент для генерации OpenApi (Swagger) спецификаций на основании файлов конфигураций 1С. Это консольное и десктопное приложение на языке Rust с полноценным редактором кода, содержащим автозамену и подсвечивание ошибок для быстрого и безошибочного написания документирующего комментария.

18000 12600 руб.

22.11.2024    1728    1    0    

8

Инструментарий разработчика Программист 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

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

6000 руб.

07.02.2018    107154    249    100    

313

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

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

3600 руб.

27.12.2024    2866    6    0    

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

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

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


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

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

Только перед использованием откройте калькулятор
3. Viktor_Ermakov 376 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 134 29.06.20 11:28 Сейчас в теме
(4)на windows 10 тестировалось, всё работает. Попробуйте от имени администратора
6. user1209971 77 15.12.20 15:05 Сейчас в теме
правильно я понял. Сеанс один, разные окна 1с на разны мониторах?
7. Grigoriy251 134 15.12.20 20:30 Сейчас в теме
(6)
но я понял. Сеанс один, разные

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

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

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

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

Можно если не модальное окно.
10. burmsergey 18 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 134 31.10.24 07:55 Сейчас в теме
(11) в рамках одной запущенной 1с нет.
Если запущено две 1с то да. Вы можете получить размер экрана, изменить размер окна 1с, отключить масштабируемость окна и перенести его в удобное место
13. user1779748 07.11.24 15:36 Сейчас в теме
При открытии выходит ошибка "тип не определен", можете подсказать возможно ли это исправить?
Прикрепленные файлы:
14. Grigoriy251 134 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 134 20.11.24 20:59 Сейчас в теме
(15) Компонента подключается без проблем на всех этих конфигурациях.
17. user1779748 02.12.24 11:05 Сейчас в теме
(16) У меня вышло сообщение "Тип не определен", и компонента не подключилась в итоге. Это просто обратная связь. Пробовал на Windows 11, Windows 10. Обратная связь нужна для других пользователей, т.к. возврата нет, гарантии тоже нет)
18. Grigoriy251 134 02.12.24 15:38 Сейчас в теме
(17) С удовольствием вам помогу подключить её, тем более недавно добавил несколько функций, личным сообщением отправил вам номер телеграмма, чтоб можно было оперативнее вам помочь, а так можете хотя бы скриншот прикрепить.
Оставьте свое сообщение