Декомпилятор управляемых форм

19.11.24

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Декомпилятор управляемых форм:
.epf 147,93Kb ver:4.1
63
63 Скачать (1 SM) Купить за 1 850 руб.

Введение

 

Нередко возникает задача добавить на типовую форму новые элементы программным способом. 

Это значительно облегчает дальнейшее обновление и поддержку конфигурации, но отнимает уйму времени при реализации.

До недавнего времени я пользовался разработкой Евгении Карук Декомпиляция управляемых форм. Но столкнулся с тем, что там нет общих форм, с момента создания появились новые свойства элементов и нет условного оформления.

Я прочитал все комментарии к той обработке, и взял ее за основу с учетом полезных изменений от K_A_O

 

Порядок работы

1. Выбрать нужную форму в дереве метаданных слева*

 

 

2. Справа выбираем закладку Элементы, Реквизиты, Команды или Условное оформление

3. Указываем нужный элемент и код сразу отобразится в центре

4. Если нужно сразу несколько элементов, выделяем их пометками и нажимаем Сформировать код. 

 

* Сразу появится сообщение, что: 

Для генерации нужно в модуль исследуемой формы в конец процедуры ПриСозданииНаСервере добавить код

	НастройкиДекомпиляции = ХранилищеСистемныхНастроек.Загрузить("ВнешняяОбработка.ДекомпиляцияУправляемыхФорм", "НастройкиДекомпиляции");
	Если НастройкиДекомпиляции <> Неопределено И НастройкиДекомпиляции.НомерСоединения = НомерСоединенияИнформационнойБазы() Тогда
		ВнешниеОбработки.Создать(НастройкиДекомпиляции.ИмяОбработки, Ложь).ОпределитьВнутренниеСвойстваЭлементов(ЭтотОбъект);
	КонецЕсли;

КонецПроцедуры  //ПриСозданииНаСервере

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

 

Список улучшений

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

Также я добавил просмотр и генерацию условного оформления. Кто пытался разобраться в нем в конфигураторе, понимает степень сложности, с которой можно столкнуться. Здесь же вы сможете не только разобраться в сделанном ранее, но и отредактировать в конструкторе или добавить новые элементы условного оформления.

 

 

Улучшена генерация кода. 

Раньше все элементы добавлялись через Вставить, даже последовательно идущие. Теперь если после списка отмеченных для генерации есть элементы. То первый из списка вставляется, а последующие за ним добавляются.

 

Отображаются только измененные свойства

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

 

Протестировано на платформе 8.3.25.

 


Также предлагаю ознакомиться с другими моими разработками:

 Выгрузка загрузка данных XML адаптивная

 Конструктор параметров командной строки

 Менеджер внешних обработок и отчетов

 

См. также

SALE! %

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

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравнение объектов, Все функции, Подписки на события и др. Редактор запросов и кода с раскраской и контекстной подсказкой. Доработанный конструктор запросов тонкого клиента. Продукт хорошо оптимизирован и обладает самым широким функционалом среди всех инструментов, представленных на рынке.

12000 10000 руб.

02.09.2020    161077    890    399    

872

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

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

8400 руб.

20.08.2024    8472    63    29    

76

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

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

22200 руб.

06.10.2023    15644    38    7    

73

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

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

9360 руб.

17.05.2024    23799    70    45    

119

SALE! %

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

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

15000 10000 руб.

10.11.2023    10631    38    27    

63

SALE! %

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

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

4800 3840 руб.

14.01.2013    188432    1141    0    

913

SALE! %

Инструментарий разработчика Программист 8.3.14 1С:Конвертация данных Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 15000 руб.

07.10.2021    17541    6    32    

42

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

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

1800 руб.

21.02.2023    7814    8    35    

23
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Viktor_Ermakov 369 20.11.24 10:21 Сейчас в теме
Есть отличное расширение на гитхабе formhelper, в нем можно очень легко и быстро создавать элементы формы и прочее. Попробуйте, может понравится.
2. tormozit 7238 20.11.24 14:14 Сейчас в теме
(1) Оно умеет генерировать кода разве?
4. Viktor_Ermakov 369 21.11.24 08:37 Сейчас в теме
(2) Согласен, что формхелпер не умеет генерировать код, но тут вопрос а зачем, генерация ради генерации?
Кажется что писать канонически удобно, есть подсказки, код выглядит компактно и логично, diff смотреть так же удобно и понимать что изменилось.
Я ни в коем случае не хочу обидеть автора, он молодец, проделал интересную большую работу, я про использование в работе, на сколько это удобно, и чем это удобнее формхелпера пока не понятно.
Спасибо, и извините если обидел.
3. Serg2000mr 691 21.11.24 01:07 Сейчас в теме
(1) Теперь в нем отпадет необходимость. Генератор кода элементов работает гораздо быстрее )
12. Viktor_Ermakov 369 02.12.24 09:08 Сейчас в теме
(3) А можно уточнить, в чем быстрота заключается?
Быстрота чего?
Спасибо!
13. Serg2000mr 691 02.12.24 10:20 Сейчас в теме
(12) Быстрота создания кода. Вы можете набросать элементы на форму и получить код без написания его вручную
5. RocKeR_13 1366 21.11.24 09:15 Сейчас в теме
Что-то я только не очень понял концепцию... Если нужно добавить свои элементы, то я сначала их добавляю интерактивно в конфигураторе, потом открываю декомпилятор, формирую код, потом удаляю элементы и вставляю сгенерированный код? Или же элементы можно добавлять непосредственно в обработке? Добавление УО я увидел, есть, а элементы/реквизиты/команды формы?
6. tormozit 7238 21.11.24 09:30 Сейчас в теме
(5) Да. добавляешь элементы формы в конфигураторе как обычно. Затем в режиме выполнения генерируешь код их программного создания.
7. RocKeR_13 1366 21.11.24 09:35 Сейчас в теме
(6) Надо будет попробовать. На первый взгляд вручную код написать будет быстрее)
8. Batman 165 21.11.24 10:57 Сейчас в теме
(7) Ещё была похожая разработка "Помощник программного изменения форм (версия 0.4)" от DevelPlatform, я пользовался ею. На самом деле удобно - на копии базы интерактивно разместил элементы как нужно, сгенерировал программный код и уже готовый код просто вставляешь на рабочей базе
9. XilDen 490 21.11.24 14:33 Сейчас в теме
Симпатично) Декомпилятор условного оформления я делал ещё 4 года назад тут)
Но здесь удобно тем, что всё в одном, и что можно отметить нужное условное оформление галочкой, а не выгружать всё целиком) В общем, однозначно плюс)
10. Serg2000mr 691 21.11.24 15:54 Сейчас в теме
(9) Спасибо! Не видел вашу разработку, а то бы тоже что-нибудь полезное позаимствовал ))
11. Serg2000mr 691 26.11.24 11:53 Сейчас в теме
(9)
можно отметить нужное условное оформление галочкой, а не выгружать всё целиком

галочка - это признак Использовать у элемента условного оформления. Как на закладке Элементы пока не сделал.
Оставьте свое сообщение