Делаем "управляемые формы" чуть более управляемыми

18.06.12

Разработка - Разработка внешних компонент

Внешняя компонента позволяющая делать с управляемыми формами то, что не решилась(или не захотела) сделать 1С.

Скачать файл

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

Наименование По подписке [?] Купить один файл
Файл поставки
.rar 108,82Kb
302
302 Скачать (1 SM) Купить за 1 850 руб.

Введение

Управляемые формы. Новая разработка 1С призванная облегчить труд разработчика, дать ему больше времени на написание кода за счет упрощения проектирования интерфейса. На деле часто получается, что т. н. «управляемые формы» являются совершенно неуправляемыми. УФ не умеют таких банальных вещей как сворачивание/разворачивание окна, не говоря уже о его позиционировании на экране и задании размера в пикселях. Возможно эти функции посчитали невостребованными и не стали включать в новый интерфейс, но практика показывает, что их порою очень сильно не хватает. Некоторое время проблема частично решалась за счет WSH, но хотелось чего-то большего. Так была реализована внешняя компонента для того что бы сделать «управляемые формы» чуть более управляемыми.

 

 

Что? Где? Когда?

Данная ВК представляет собой библиотеку функций для управления состоянием и положением окон. Так же в библиотеке есть несколько полезных системных функций.

 

Управление состоянием окна:

Развернуть(ЗаголовокОкна) разворачивает окно на полный экран

Свернуть(ЗаголовокОкна)сворачивает окно в панель задач

Скрыть(ЗаголовокОкна)скрывает окно(при этом код формы продолжает исполняться)

Показать() - показывает последнее скрытое функцией Скрыть() окно

СвернутьВОкно(ЗаголовокОкна) — восстанавливает исходное состояние окна

ИСТИНА Видимость(ЗаголовокОкна) — проверяет видимо ли окно на экране

ИСТИНА Развернуто(ЗаголовокОкна)проверяет развернуто ли окно на полный экран

ИСТИНА Свернуто(ЗаголовокОкна)проверяет свернуто ли окно в панель задач

УстановитьПрозрачность(ЗаголовокОкна, Коэффициент)устанавливает прозрачность окна. Степень прозрачности задается через коэффициент (0-255).

 

Управление положением окна:

ПолучитьПозицию(ЗаголовокОкна, X, Y)получает координаты левого верхнего угла окна относительно экрана. Координаты возвращаются через параметры X,Y.

Переместить(ЗаголовокОкна, X, Y)перемещает окно на заданную позицию XY. В данном случае XY являются координатами левого верхнего угла окна.

ПолучитьРазмеры(ЗаголовокОкна, Ширина, Высота) – получает размеры окна в пикселях. Значения возвращаются через соответствующие параметры.

УстановитьРазмеры(ЗаголовокОкна, Ширина, Высота) – устанавливает размеры окна в пикселях.

 

Системные функции:

ПолучитьТекущееРазрешение(Horz, Vert)– получает текущее разрешение экрана. Значения возвращаются через соответствующие параметры.

ПолучитьСписокРазрешений()– получает список доступных в системе разрешений экрана. Данные возвращаются в виде «РАЗРЕШЕНИЕ1,РАЗРЕШЕНИЕ2,РАЗРЕШЕНИЕ3...». В демонстрационной обработке есть пример формирования списка разрешений на форме.

УстановитьРазрешение(ВыбранноеРазрешениеЭкрана)– устанавливает разрешение экрана. В качестве параметра указывается порядковый номер разрешения. В демонстрационной обработке показан пример установки разрешения из ранее сформированного списка.

Бонусы:

Спать(ВремяСна) – реализация классической функции sleep(). ВремяСна указывается в миллисекундах.

Сигнал(Частота, Длительность) – реализация классической функции beep(). Позволяет задать частоту и длительность звука.

 

Итого

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


В комплект поставки входят: База с подключенной ВК в виде общего макета и демонстрационной обработкой. ВК в zip архиве.

См. также

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

Медиадисплей покупателя может отображать текущую покупку на кассовом месте, показывать видеорекламу, баннеры, во время простоя разворачивать рекламу на весь экран. Экран можно использовать в качестве графического меню-борда в кафе и видеовывески. В качестве устройства отображения можно использовать Android-планшеты, смарт-телевизоры с Android, мониторы или проекторы под управлением Windows или Linux-компьютера. Linux-версия успешно запускается на одноплатных компьютерах Raspberri Pi и Orange Pi. Настраивается ЛЮБОЙ ДИЗАЙН экрана при помощи встроенного графического редактора! Решение можно масштабировать от одного экрана до тысяч экранов с централизованным управлением.

18000 руб.

30.05.2017    54253    9    69    

46

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

Внешняя компонента для конвертации PDF файлов в картинки без использования дополнительных программ. Работает на сервере и в тонком клиенте.

2400 руб.

25.06.2024    1248    3    4    

3

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

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    77675    73    257    

191

Разработка внешних компонент Программист Платформа 1С v8.3 Платформа 1C v8.2 Платные (руб)

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    3726    3    0    

5

Разработка внешних компонент Телефония, SIP Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

2400 руб.

04.05.2018    47521    124    66    

67

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

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    36929    114    127    

115

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    2491    bayselonarrend    14    

48

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Бесплатно (free)

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    5168    kovalevdmv    26    

76
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Dr.DragoN 18.06.12 11:27 Сейчас в теме
Как раз искал такое, в обход скриптов
2. fishca 1259 18.06.12 13:19 Сейчас в теме
(0) с режимом закладок работает?
3. Avalanche 199 18.06.12 13:22 Сейчас в теме
(2) fishca, смотря какие "закладки" вы имеете в виду. Все функции ориентированы непосредственно на окно и частично распространяются на контролы (например прозрачность).
4. fishca 1259 18.06.12 13:38 Сейчас в теме
(3) т.е. компонента работает только с главным окном 1С, я правильно понимаю?
6. Avalanche 199 18.06.12 14:44 Сейчас в теме
(4) fishca, нет, компонента работает с любым окном, как главным, так и дочерними.
12. AlexO 136 20.06.12 10:32 Сейчас в теме
(6)
этого крайне мало:
, что т. н. «управляемые формы» являются совершенно неуправляемыми. УФ не умеют таких банальных вещей как сворачивание/разворачивание окна, не говоря уже о его позиционировании на экране и задании размера в пикселях.

и именно это все удобней делать на скриптах - винда все-таки везде стандартна (более-менее), а вашу компоненту надо таскать с каждым проектом (а если нет доступа к компу? кто ставить будет?).
Вот если б кто собрал все скрипты в едином репозитарии - я бы безоговорочно похвалил его. А 1с, как всегда, изругал бы в хлам. Но - предметно и на основе :)
(9) orefkov,
В веб-клиенте не работает?

ваш-то снегопат тоже не работает в веб :)
Хотя - готов купить его, но со скидкой.
Исключительно лишь - чтобы оплатить ваш нелегкий труд и годы сгорбленной работы над 1с :).
15. Boog 50 20.06.12 15:17 Сейчас в теме
(12) AlexO,
так Снегопат-то, вроде как, предназначен для конфигуратора, а не для клиента...
Как он в принципе может работать на клиенте (в т.ч. веб-клиенте)?
23. AlexO 136 21.06.12 13:57 Сейчас в теме
(15) Boog,
так Снегопат-то, вроде как, предназначен для конфигуратора, а не для клиента...

ну как вон запускают выполннеие кода в Предприятии?
и получается все то же самое конфигурирование конфигуратора...
25. AlexO 136 21.06.12 14:02 Сейчас в теме
(15) Boog,
другое дело, что Орефков спросил, в общем-то, про разные вещи - выполнение окон в среде WinAPI, и реализация показа форм в браузере.
Вот я и сравнил тоже разные вещи - здешнюю примочку, и Снегопат :)
5. sanfoto 502 18.06.12 14:17 Сейчас в теме
Ну конечно думаю изобретаете велосипед..
вот AutoIT http://infostart.ru/public/76974/
все что нужно уже умеет))
8. Varies 20.06.12 06:30 Сейчас в теме
(5) sanfoto, Если не ошибаюсь, то она не работает с УФ.

(6) а ты не мог бы скинуть исходник функций Скрыть(ЗаголовокОкна)/Показать(), а то я хотел написать одну ВК для того чтобы сворачивать 1С (УФ) в трей, но так и не получилось, нужно было больше времени и я дропнул работу на неопределённый срок. Или может я тебе скину исходник того что у меня есть а ты доделаешь? Задумка интересная :)
18. Avalanche 199 21.06.12 00:31 Сейчас в теме
(8) Varies, никаких секретных исходников там нет. Эти функции реализованы на WinAPI ShowWindow.
(9) orefkov, пока что не работает. С веб клиентами приходится работать редко, поэтому и писалось все под винду. Если будет куча свободного времени попробую сделать подобное под веб клиент.
(10) alexsiswx, раскраска окон - интересная мысль. Подумаю над этим.
27. sanfoto 502 23.06.12 13:05 Сейчас в теме
(8) Varies,
хто сказал что AutoItX3 не работает с Упр Формами??,
у меня на работе на производстве - на моноблоках КАК РАЗ РАБОТАЕТ - Тонкие клиенты,
я даже вирт.клаву(УФ 1с) полупрозрачную сделал + работа с размерами окон:
сворачивание,максимизация,sendkey и прочее)).
7. zhleonid8 20.06.12 03:20 Сейчас в теме
может для 1С это сложно:)
9. orefkov 1156 20.06.12 09:00 Сейчас в теме
(0)
В веб-клиенте не работает?
10. alexsiswx 20.06.12 10:22 Сейчас в теме
Слабовато. Хотелось бы больше "управлять формами". Вот скажите, возможно, ли полное изменение окон в 1С? Цвет, фон и многое др.
11. AlexO 136 20.06.12 10:27 Сейчас в теме
(10) alexsiswx,
это возможно даже на уровне платформы сделать.
Но 1с не разбирается в таких тонкостях.
13. alexsiswx 20.06.12 10:45 Сейчас в теме
(11) AlexO, Да, возможно, но мало настроек. И это я так понимаю делается в кон-ре и сразу для всех. А у нас клиент "креативный" хочет индивидуальное оформление для каждого пользователя (ну в коде можно прописать конечно). Но тема такая, что хотят чуть ли фон не в цветочках оформить. "чем бы дитя не тешилось..."
14. sumixam 20.06.12 11:54 Сейчас в теме
в хозяйстве пригодится+
16. motkot 54 20.06.12 17:19 Сейчас в теме
Про веб-клиент: может как расширение функционала, хотя бы частичная поддержка - сворачивание окна и т.п., что адекватно подходит.
17. Para_1987 74 20.06.12 20:21 Сейчас в теме
+! прикольная вещь! еще бы можно было что нить придать с окном подбора. на классических формах оно в 1000 раз удобнее чем подбор на УФ...но увы, никак видимо пока что.
19. пользователь 21.06.12 00:44
Сообщение было скрыто модератором.
...
20. V_V_V 21.06.12 12:25 Сейчас в теме
А вот как победить неуправляемое поведение форм при изменении размера шрифта на нестандартное? Когда стоит 100% - содержимое форм открывается нормально, стоит выставить 125% - начинается бардак. То добавляются скролы для пролистывания не поместившихся элементов, то таблицы не ресайзятся до размеров открытой на весь экран формы, оставляя пустое место. Это компонента может исправить?
21. Avalanche 199 21.06.12 13:33 Сейчас в теме
(20) V_V_V, все, что может делать компонента, описано в статье. Сам сталкивался с проблемой нестандартных шрифтов когда рисовал тач интерфейсы на УФ. Проблема решалась в основном шаманскими ритуалами с применением бубна. Вопрос нормализации нестандартных УФ стоит очень остро и у меня пока нет светлых мыслей по нему. Возможно они появятся у фирмы 1С =)
22. V_V_V 21.06.12 13:42 Сейчас в теме
(21) Я без претензий. Просто появилась робкая-робкая надежда, что хоть кто-то, пусть внешним вмешательством, но решит этот вопрос. Поскольку 1С на него явно положила и из релиза в релиз ситуация не меняется. Тут специально для удобства пользователей закуплено прилично мониторов с большой диагональю и хорошим разрешением - как оказалось зря...
24. AlexO 136 21.06.12 13:59 Сейчас в теме
(22) V_V_V,
Тут специально для удобства пользователей закуплено прилично мониторов с большой диагональю и хорошим разрешением - как оказалось зря...

бубны лучше закупите, большие и звонкие :)
26. AlexO 136 21.06.12 14:03 Сейчас в теме
(22) V_V_V,
Просто появилась робкая-робкая надежда

сколько вам нужно, чтобы "робкая надежда" пропала?
1С дает неограниченное время, чтобы доказать беспочвенность любых надежд.
28. Dethmond 25.06.12 10:23 Сейчас в теме
29. Zas1402 06.11.12 15:15 Сейчас в теме
fishca, смотря какие "закладки" вы имеете в виду. Все функции ориентированы непосредственно на окно и частично распространяются на контролы (например прозрачность).

Если форма в MDI режиме открыта то проблемы будут??
30. tvixeg 499 18.12.12 12:34 Сейчас в теме
интересует как можно одновременно изменить размер управляемой формы и перетащить ее верх за границу экрана, сделав таким образом рабочий стол на весь экран.
31. Йожкин Кот 1008 25.06.13 14:52 Сейчас в теме
Проверил работу под 8.3. Результат - отлично работает!
Avalanche; +1 Ответить
32. hiduk 127 21.10.13 11:34 Сейчас в теме
Добрый день! Вопросы: 1) Требует ли внешняя компонента регистрации в реестре Windows? 2) Способна ли данная компонента активировать окно формы, поверх открытых окон других (не 1С) приложений? Т.е., например, пользователь сидит в браузере, 1с свернута. В 1с происходит событие, по которому, с использованием данной компоненты, я смогу активировать окно формы 1с поверх браузера? 3) Будет ли работать компонента в клиент-серверном варианте, в тонком клиенте?
33. Avalanche 199 24.10.13 07:59 Сейчас в теме
36. AlexO 136 02.06.15 09:18 Сейчас в теме
(33) кстати, подозреваю, исходя из набора функций - компонента на Дельфи написана?
34. mastersva 20.11.13 09:25 Сейчас в теме
Подскажите, возможно ли с помощью данной компоненты открыть форму и держать её поверх всех окон, а также интересует возможность работы в тонком клиенте.
35. Adoney 02.06.15 07:10 Сейчас в теме
При разработке своего решения, потребовалось программно развернуть "Сворачиваемую" группу. Но ответ 1С мне не пришелся по душе). Возможно ли включить в ВК данный метод?
37. Tilirxs 28.10.15 11:56 Сейчас в теме
Подскажите пожалуйста можно ли перемещать обычные формы?
38. aupovy 50 12.11.15 17:35 Сейчас в теме
А как подключить эту компоненту?
Разобрался, в архиве еще есть файл базы данных
AddIn.Window.WindowEx

Помогло, спасибо
39. 7OH 70 20.05.16 15:32 Сейчас в теме
Спасибо, работает.
Правда пришлось поправить немного.
ЗаголовокОкна = ПолучитьЗаголовокКлиентскогоПриложения();
ЗаголовокОкна = СтрЗаменить(ЗаголовокОкна, Символы.ПС, " ");
обОкно.Развернуть(ЗаголовокОкна);


Заголовок может быть и с переносом строки, а вот отображается он в одну строку.
a_a_burlakov; +1 Ответить
40. jacknk 28.03.17 11:54 Сейчас в теме
Есть ли возможность запретить изменять положение окна (т.е. кнопками свернуть/развернуть) и через правую кнопку мыши - заблокировать эти кнопки, и перемещать окно - на подобии свойства прикрепленное окно у обычных форм?
41. Tilirxs 04.08.17 13:54 Сейчас в теме
Как раз то что сейчас нам нужно.
Спасибо большое )))))))))))))))))
42. FlagmanGK 14.10.18 07:03 Сейчас в теме
А для x64 есть эта библиотека?
43. Lapitskiy 1062 23.05.20 20:50 Сейчас в теме
на 64 битной не работает, зацикливается
Оставьте свое сообщение