Менеджер открытых форм [update 29.12.22]

29.12.22

Разработка - Работа с интерфейсом

Обработка позволяет редактировать данные открытых форм и открывать новые с передачей параметров

Скачать исходный код

Наименование Файл Версия Размер
Менеджер открытых форм [update 29.12.22]:
.epf 339,94Kb
11
.epf 0.6.2 339,94Kb 11 Скачать
Менеджер отрытых форм (0.2.2)
.epf 53,52Kb
19
.epf 0.2.2 53,52Kb 19 Скачать
Менеджер открытых форм (ver. 0.3.5)
.epf 89,23Kb
22
.epf 0.3.5 89,23Kb 22 Скачать
Менеджер открытых форм (ver. 0.5.1) NEW!
.epf 335,18Kb
20
.epf 0.5.1 335,18Kb 20 Скачать

Доброго времени суток!

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

Данная обработка перехватывает все открытые окна, собирает информацию о формах, выводит её в редактор и позволяет выполнять разные манипуляции.

Инструмент протестирован на файловых и серверных базах платформ 8.3.12, 8.3.14 и 8.3.21.

История изменений:

Версия Изменения
0.6.2 • Добавлена возможность обновления открытых окон с задежкой по таймеру
• Добавлена возможность добавления в доп. обработки БСП
• Добавлена возможность открытия скрытых системных форм sysForm
• Небольшой рефакторинг
0.5.1 • Добавлена возможность открытия форм с передачей параметров
• Добавлен редактор структур, соответствий, компоновщиков, динамических списков
• Добавлен Редактор значений реквизитов через XML
• Оптимизирована работа
• Исправлены ошибки обработки несериализируемых значений
0.3.5 • Увеличена скорость запуска и работы увеличена
• Добавлена возможность прямой работы с реквизитами формы
• Добавлена возможность отображения истории открытия форм
• Добавлена возможность работы с параметрами формы
• Расширенные настройки обработки
0.2.2 • Добавлена возможность работы с сохранёнными настройками форм
• Добавлены команды обновления для дерева элементов и свойствах формы
• Добавлена расширенная подсказка к многим элементам формы в виде кнопок
• Добавлена возможность отключать вывод расширенной подсказки этой обработки в виде кнопки
0.2.1 • Добавлена подсказка для консоли кода
• Добавлена поддержка более ранних версий платформы
• Добавлена кнопка перехода из обработки на страницу Infostart
• Исправлена прозрачность иконок в дереве элементов
• Исправлена ошибка получения расширенной подсказки у управляемой формы

 

Ниже приведена инструкция из обработки:

 

Список открытых форм:

 - обновляет список открытых форм

 - активирует выбранную форму

 - обновляет информацию о выбранной форме

 - устанавливает всем элементам формы ТолькоПросмотр = Ложь и Доступность = Истина

- закрывает выбранную форму

 - открывает настройки этой обработки

 - открывает страницу обработки в Инфостарт

Отдельная кнопка позволяет открыть новую форму

 

Настройки обработки:

Для упрощения работы с инструментом (а так же его ускорения) есть возможность отключать ненужный на данный момент функционал и проводить его настройку.

 

О форме:

Содержит информацию о выбранной форме.

Заголовок - заголовок формы

Ключ- Параметр формы "Ключ". Для форм элементов содержит ссылку на сам элемент.

Уникальный идентификатор - уникальный идентфикатор формы. все операции этой обработки оперируют им при определении формы

Навигационная ссылка - ссылка на форму. Справа от поля есть возможность включить\исключить форму в список избранного платформы.

 

Элементы:

Данный функционал доступен, если в настройках установлен флажок "Работа с элементами форм".

Содержит дерево элементов выбранной формы.

Можно изменить свойства: Видимость, ТолькоПросмотр, Доступность.

При двойном клике по элементу, активируется выбранная форма с позиционированием на выбранный элемент.

Через соответсвующий пункт в контекстом меню (или нажатии F5) дерево обновляется

 

Свойства:

Данный функционал доступен, если в настройках установлен флажок "Работа со свойствами форм".

Список свойств формы.

Через соответствующий пункт в контекстом меню (или нажатии F5) список обновляется

В списке свойств есть АвтоЗаголовок, Доступность, Заголовок, Модифицированность, ТолькоПросмотр

Имеется возможность установки значения любого произвольного свойства формы в пункте "Произвольная установка"

Реквизиты:

Данный функционал доступен, если в настройках установлен флажок "Работа с реквизитами форм".

Содержит дерево реквизитов

Можно изменять значения реквизитов и таблиц формы.

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

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

 

Параметры:

Данный функционал доступен, если в настройках установлен флажок "Показывать параметры форм".

Список параметров формы, которые доступны после её открытия

 

Консоль кода:

Данный функционал доступен, если в настройках установлен флажок "Работа с консолью кода".

Позволяет выполнить код, оперируя выбранной формой. Выполняется изначально код &НаКлиенте, из которого уже можно вызвать выполнение &НаСервере методом ВыполнитьКодНаСервере(ТекстНаСервере, ДополнительныеПараметры);

&НаКлиенте

//Работает непосредственно с выбранной формой в контексте клиента.
//
//Доступные переменные:
// ТекущаяФорма   - выбранная открытая форма;
// ТекстНаСервере   - текст кода, выполняемого на сервере
// ДополнительныеПараметры - структура для обмена данными между клиентом и сервером
//
//Доступные методы:
// ВыполнитьКодНаСервере(ТекстНаСервере, ДополнительныеПараметры);

&НаСервере

//Код выполняется в контексте сервера, но не имеет возможности обратится к форме. Необходим для получения значений, например, из запросов.
//
//Доступные переменные:
// ДополнительныеПараметры - структура для обмена данными между клиентом и сервером

Дополнительные параметры

Таблица с доп. параметрами, которые будут доступны &НаКлиенте и &НаСервере в виде структуры

 

Настройки из хранилища:

Данный функционал доступен, если в настройках обработки стоит галочка "Работа с настройками форм".

Таблица показывает список настроек из хранилища системных настроек для выбранный формы.


Через соответсвующий пункт в командной панели (или нажатии F5) список обновляется
Имеется возможность добавления\изменения\удаления настроек хранилища.

Редактирование самой настройки происходит в виде строки, полученной методом ЗначениеВСтрокуВнутр(Настройка).

История:

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

Платформенная история открытия текущей формы текущим пользователем

 

ВНИМАНИЕ! Проект выложен на гитхаб и доступен по ссылке. Оставляйте предложения, качайте релиз, регистрируйте ошибки и замечания.

А здесь вы можете скачать релиз и поддержать автора валютой сайта. Или же поддержать развитие купюрой =)

 

обработка форма окно менеджер открытая элемент доступность свойство

См. также.

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

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

2400 руб.

29.06.2020    17346    23    4    

37

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

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

20.02.2024    4601    SeiOkami    5    

58

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

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    11943    780    elcoan    47    

109

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

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

2 стартмани

10.04.2023    10403    158    acces969    31    

120

Работа с интерфейсом Программист Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    4372    kalyaka    4    

31

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

Подсистема условного оформления элементов форм (далее подсистема) предназначена для настройки оформления элементов форм (видимость, доступность, цвет фона, цвет текста и прочее) в пользовательском режиме 1С. Также подсистему возможно использовать для ограничения доступа к реквизитам формы для определенных пользователей (или групп пользователей).

6000 руб.

18.01.2022    9200    1    2    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Automatik 936 14.04.17 09:20 Сейчас в теме
Опечатка в наименовании. Или так задумано ? :)
2. vdmkvrshn 14 14.04.17 09:48 Сейчас в теме
Интересно, интересно... давно хотел сам такое разработать. Протестим))
4. vdmkvrshn 14 14.04.17 12:11 Сейчас в теме
(2) Недоработок много, но идея хорошая.
6. SeiOkami 3471 14.04.17 20:14 Сейчас в теме
(4) а какие конкретно недоработки? я поправлю.
7. vdmkvrshn 14 15.04.17 00:22 Сейчас в теме
(6) Например:
1) В таблице параметров в событии при окончании редактирования нет проверки на то, что это не отмена редактирования - при нажатии Esc все равно проверяется заполнение и не позволяет отказаться от ввода нового параметра или изменения существующего.
2) Сразу не понял, почему кнопка выполнения кода вызывает только клиентский метод. Где вызов серверного? Я так понимаю, что предполагается его вызывать самому из клиентского? Ну, если так, то надо бы это как-то описать в каком-нибудь хоть небольшом хелпе на закладке серверного кода, а то как-то неочевидно это. Чтобы разобраться надо заглянуть в код. Понятно, что обработка для программистов, но для экономии времени подсказка не помешала бы.
3) Режим совместимости. Про это не слова в описании. В коде используются методы глобального контекста, доступные только с 8.3.6 (или 7) типа СтрНайти, СтрРазбить. У меня, например, базы в режиме совместимости 8.3.5 еще и пришлось это исправлять - в 3 или 4-х местах, только тогда заработало. Я считаю, что можно было вполне обойтись методом Найти и вызовом стандартной для БСП функции СтроковыеФункцииКлиентСервер.РазбитьСтрокуВМассивПодстрок() для большей совместимости. Ну на крайняк можно этот метод себе в обработку скопировать, чтобы не зависеть от наличия модулей БСП.

Учитывая вышесказанное на beta-версию, как написано в самой обработке, не тянет, т.к. "из коробки" не взлетело :)
9. SeiOkami 3471 15.04.17 06:37 Сейчас в теме
(7) 1) Просто, если не делать проверку при отмене редактирования, то можно в существующей строке задать "плохое" имя свойства, а после нажать Esc и оно будет применено. Я как-то не догнал, почему так работает платформа, вот и решил насильно всегда проверять)

2) Да, серверный код по кнопке вызывать нельзя, ибо просто не имеет смысла - на сервер перехваченную форму передать не получится. Нужно будет дополнить описание.

3) Да, я разрабатывал, тестировал и использовал всё на 8.3.8. Поправлю сей момент.
А проблемы были только с СтрРазделить или ещё может какие методы?

Спасибо за комментарий!
10. vdmkvrshn 14 15.04.17 13:32 Сейчас в теме
11. SeiOkami 3471 15.04.17 13:37 Сейчас в теме
(10) ок, на следующей неделе выложу обновлённую версию. может ещё и прикручу чего-нить нового.
17. SlavaKron 22.08.19 08:33 Сейчас в теме
(9)
на сервер перехваченную форму передать не получится

Это можно реализовать, если форма использует подключаемые команды через процедуру-"форточку" Подключаемый_ВыполнитьКомандуНаСервере. В ней передается форма на сервер и можно получить ее в модуле внешней обработки. Далее обработка может внедриться в форму — создавать новые элементы, реквизиты и даже обработчики через Подключаемый_ВыполнитьКоманду. Минус в том, что не универсально.
Прикрепленные файлы:
3. ResetAtreides 14.04.17 10:21 Сейчас в теме
А принцип получения открытых форм какой? Раньше вроде вообще возможности такой не было
5. ixijixi 1828 14.04.17 12:55 Сейчас в теме
(3) на УФ давненько уже

ПолучитьОкна (GetWindows)
Синтаксис:

ПолучитьОкна()
Возвращаемое значение:

Тип: ОкнаКлиентскогоПриложения.

Описание:

Получает окна приложения. Порядок элементов в коллекции не определен.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
Показать
8. пользователь 15.04.17 06:36
Сообщение было скрыто модератором.
...
12. CheBurator 3125 15.04.17 13:54 Сейчас в теме
Обработка ловит открытые печатные формы?
13. SeiOkami 3471 20.04.17 16:24 Сейчас в теме
Опубликована новая версия. Помимо прочего добавлена возможность работы с настройками форм из системного хранилища
14. kalyaka 1082 16.03.18 09:12 Сейчас в теме
Пожелание.
Добавьте, пожалуйста, в перечень свойств элементов формы "Связи параметров выбора", "Параметры выбора".
Видеть эти свойства было бы полезно при анализе работы формы, когда происходит выбор элемента.
Еще было бы полезно видеть в форме свойство УсловноеОформление.
Все эти параметры могут управляться программно и не всегда удается выловить код, который управляет этими свойствами. Также в отладчике просмотр этих свойств менее удобен, чем был бы в Вашей обработке,т.к. в отладчике для их просмотра требуется останавливаться в каждой из исследуемых форм.
15. SeiOkami 3471 06.06.19 21:26 Сейчас в теме
UPD: Обработка теперь более быстрая, гибкая и функциональная. Добавлена возможность редактирования значений реквизитов формы (включая таблицы).

В планах:
1. возможность сохранения сессии открытых окон. Очень полезно, когда ведёшь разработку с отладкой, перезапускаешь постоянно сеанс и открываешь те же самые формочки.
2. возможность открытия любых форм конфигурации с любыми параметрами.
18. slawa 26 11.02.20 07:13 Сейчас в теме
(15)
2. возможность открытия любых форм конфигурации с любыми параметрами.


Ждёмс
16. SlavaKron 21.08.19 17:24 Сейчас в теме
Интересная обработка. Возможно пригодится, сериализованный основной реквизит формы также содержит информацию о всех реквизитах управляемой формы.
19. tormozit 7177 07.05.20 11:57 Сейчас в теме
От чего же заголовки полей она не вычисляет?
20. SeiOkami 3471 07.05.20 12:29 Сейчас в теме
(19) не всё в мире идеально)
Готовлю новую версию, там и заголовки будут. И расширенное редактирование реквизитов (таблиц, деревьев, настроек компоновки и так далее).
21. Automatik 936 16.11.22 09:44 Сейчас в теме
Приветствую!Платформа 8.3.17.1851
Зарплата и управление персоналом, редакция 3.1 (3.1.24.23) (http://v8.1c.ru/hrm/)
[Справочник.Сотрудники.Форма.ФормаЭлемента] Не удалось получить реквизиты по причине: {ВнешняяОбработка.МенеджерОтрытыхФорм.Форма.Форма.Форма(3336)}: Ошибка при вызове метода контекста (ЗаписатьXML): Ошибка преобразования данных XDTO:
Запись значения свойства:
форма: Элемент
имя: {http://v8.1c.ru/8.2/uobjects}FormDataStructure: Ошибка преобразования данных XDTO:
Запись значения свойства 'v':
форма: Элемент
имя: {http://v8.1c.ru/8.2/uobjects}v: Ошибка отображения типов:
Отсутствует отображение для типа 'РегистрСведенийКлючЗаписи.ВоинскийУчет'
Оставьте свое сообщение