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

29.12.22

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

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

Скачать файл

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

Наименование SM По подписке [?] Купить один файл
Менеджер открытых форм [update 29.12.22]:
.epf 339,94Kb
13
13
1 SM
Скачать Купить за 1 850 руб.
Менеджер отрытых форм (0.2.2)
.epf 53,52Kb
19
19
1 SM
Скачать Купить за 1 850 руб.
Менеджер открытых форм (ver. 0.3.5)
.epf 89,23Kb
22
22
1 SM
Скачать Купить за 1 850 руб.
Менеджер открытых форм (ver. 0.5.1) NEW!
.epf 335,18Kb
20
20
1 SM
Скачать Купить за 1 850 руб.

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

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

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

Инструмент протестирован на файловых и серверных базах платформ 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 1С:ERP Управление предприятием 2 Платные (руб)

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

2400 руб.

29.06.2020    17678    24    6    

38

Работа с интерфейсом Программист Платформа 1С v8.3 Бесплатно (free)

Пример простого и симпатичного прогресс-бара в динамическом списке, без картинок, используя редактирование запроса.

27.05.2024    5467    smielka    37    

96

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

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

20.02.2024    4870    SeiOkami    5    

59

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

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

27.12.2023    12512    789    elcoan    47    

110

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

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

2 стартмани

10.04.2023    10697    158    acces969    31    

120

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

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

1 стартмани

05.07.2022    4630    kalyaka    6    

32
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Automatik 946 14.04.17 09:20 Сейчас в теме
Опечатка в наименовании. Или так задумано ? :)
2. vdmkvrshn 14 14.04.17 09:48 Сейчас в теме
Интересно, интересно... давно хотел сам такое разработать. Протестим))
4. vdmkvrshn 14 14.04.17 12:11 Сейчас в теме
(2) Недоработок много, но идея хорошая.
6. SeiOkami 3483 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 3483 15.04.17 06:37 Сейчас в теме
(7) 1) Просто, если не делать проверку при отмене редактирования, то можно в существующей строке задать "плохое" имя свойства, а после нажать Esc и оно будет применено. Я как-то не догнал, почему так работает платформа, вот и решил насильно всегда проверять)

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

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

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

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

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

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

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

Описание:

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

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

Тонкий клиент, веб-клиент, толстый клиент, мобильное приложение(клиент).
Показать
8. пользователь 15.04.17 06:36
Сообщение было скрыто модератором.
...
12. CheBurator 3126 15.04.17 13:54 Сейчас в теме
Обработка ловит открытые печатные формы?
13. SeiOkami 3483 20.04.17 16:24 Сейчас в теме
Опубликована новая версия. Помимо прочего добавлена возможность работы с настройками форм из системного хранилища
14. kalyaka 1087 16.03.18 09:12 Сейчас в теме
Пожелание.
Добавьте, пожалуйста, в перечень свойств элементов формы "Связи параметров выбора", "Параметры выбора".
Видеть эти свойства было бы полезно при анализе работы формы, когда происходит выбор элемента.
Еще было бы полезно видеть в форме свойство УсловноеОформление.
Все эти параметры могут управляться программно и не всегда удается выловить код, который управляет этими свойствами. Также в отладчике просмотр этих свойств менее удобен, чем был бы в Вашей обработке,т.к. в отладчике для их просмотра требуется останавливаться в каждой из исследуемых форм.
15. SeiOkami 3483 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 7194 07.05.20 11:57 Сейчас в теме
От чего же заголовки полей она не вычисляет?
20. SeiOkami 3483 07.05.20 12:29 Сейчас в теме
(19) не всё в мире идеально)
Готовлю новую версию, там и заголовки будут. И расширенное редактирование реквизитов (таблиц, деревьев, настроек компоновки и так далее).
21. Automatik 946 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: Ошибка отображения типов:
Отсутствует отображение для типа 'РегистрСведенийКлючЗаписи.ВоинскийУчет'
Оставьте свое сообщение