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

25.02.25

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

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

Файлы

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

Наименование Скачано Купить файл
Декомпилятор управляемых форм:
.epf 147,93Kb ver:4.1
109 2 150 руб. Купить

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

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

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

Введение

 

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

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

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

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

 

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

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

 

 

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

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

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

 

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

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

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

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

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

 

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

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

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

 

 

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

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

 

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

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

 

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

 

Обновление февраль 2025:

Вышла новая версия с конструктором элементов Конструктор управляемых форм.

Рекомендуется скачивать новую версию.

 


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

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

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

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

 

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.17.185

Вступайте в нашу телеграмм-группу Инфостарт

См. также

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

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    222727    1212    415    

1062

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

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

14400 руб.

20.08.2024    45798    251    129    

233

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

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

22200 руб.

06.10.2023    28472    76    30    

101

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

Первые попытки разработки на 1С с использованием больших языковых моделей (LLM) могут разочаровать. LLMки сильно галлюцинируют, потому что не знают устройства конфигураций 1С, не знают нюансов синтаксиса. Но если дать им подсказки с помощью MCP, то результат получается кардинально лучше. Далее в публикации: MCP для поиска по метаданым 1С, справке синтакс-помошника и проверки синтаксиса.

9900 руб.

25.08.2025    18686    37    7    

50

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

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

9500 руб.

17.05.2024    40534    148    57    

184

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

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

16000 руб.

10.11.2023    20123    77    39    

92

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

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

18000 руб.

22.11.2024    2825    2    0    

8
Отзывы
18. SergDobrodelov 805 25.02.25 12:32 Сейчас в теме
Вышла версия Конструктор управляемых форм.
В наличии конструктор элементов.
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Viktor_Ermakov 393 20.11.24 10:21 Сейчас в теме
Есть отличное расширение на гитхабе formhelper, в нем можно очень легко и быстро создавать элементы формы и прочее. Попробуйте, может понравится.
2. tormozit 7313 20.11.24 14:14 Сейчас в теме
(1) Оно умеет генерировать кода разве?
4. Viktor_Ermakov 393 21.11.24 08:37 Сейчас в теме
(2) Согласен, что формхелпер не умеет генерировать код, но тут вопрос а зачем, генерация ради генерации?
Кажется что писать канонически удобно, есть подсказки, код выглядит компактно и логично, diff смотреть так же удобно и понимать что изменилось.
Я ни в коем случае не хочу обидеть автора, он молодец, проделал интересную большую работу, я про использование в работе, на сколько это удобно, и чем это удобнее формхелпера пока не понятно.
Спасибо, и извините если обидел.
3. SergDobrodelov 805 21.11.24 01:07 Сейчас в теме
(1) Теперь в нем отпадет необходимость. Генератор кода элементов работает гораздо быстрее )
12. Viktor_Ermakov 393 02.12.24 09:08 Сейчас в теме
(3) А можно уточнить, в чем быстрота заключается?
Быстрота чего?
Спасибо!
13. SergDobrodelov 805 02.12.24 10:20 Сейчас в теме
(12) Быстрота создания кода. Вы можете набросать элементы на форму и получить код без написания его вручную
5. RocKeR_13 1457 21.11.24 09:15 Сейчас в теме
Что-то я только не очень понял концепцию... Если нужно добавить свои элементы, то я сначала их добавляю интерактивно в конфигураторе, потом открываю декомпилятор, формирую код, потом удаляю элементы и вставляю сгенерированный код? Или же элементы можно добавлять непосредственно в обработке? Добавление УО я увидел, есть, а элементы/реквизиты/команды формы?
6. tormozit 7313 21.11.24 09:30 Сейчас в теме
(5) Да. добавляешь элементы формы в конфигураторе как обычно. Затем в режиме выполнения генерируешь код их программного создания.
7. RocKeR_13 1457 21.11.24 09:35 Сейчас в теме
(6) Надо будет попробовать. На первый взгляд вручную код написать будет быстрее)
8. Batman 166 21.11.24 10:57 Сейчас в теме
(7) Ещё была похожая разработка "Помощник программного изменения форм (версия 0.4)" от DevelPlatform, я пользовался ею. На самом деле удобно - на копии базы интерактивно разместил элементы как нужно, сгенерировал программный код и уже готовый код просто вставляешь на рабочей базе
17. SergDobrodelov 805 25.02.25 12:30 Сейчас в теме
(7) Выпустил новую версию с конструктором элементов.
Конструктор управляемых форм

Теперь точно не быстрее )
RocKeR_13; +1 Ответить
9. XilDen 734 21.11.24 14:33 Сейчас в теме
Симпатично) Декомпилятор условного оформления я делал ещё 4 года назад тут)
Но здесь удобно тем, что всё в одном, и что можно отметить нужное условное оформление галочкой, а не выгружать всё целиком) В общем, однозначно плюс)
10. SergDobrodelov 805 21.11.24 15:54 Сейчас в теме
(9) Спасибо! Не видел вашу разработку, а то бы тоже что-нибудь полезное позаимствовал ))
11. SergDobrodelov 805 26.11.24 11:53 Сейчас в теме
(9)
можно отметить нужное условное оформление галочкой, а не выгружать всё целиком

галочка - это признак Использовать у элемента условного оформления. Как на закладке Элементы пока не сделал.
14. BlizD 1109 13.12.24 13:09 Сейчас в теме
Спасибо, за разработку.

Также советую посмотреть публикацию Евгении Карук: "Генерация кода управляемой формы (декомпиляция элементов)"
https://infostart.ru/1c/tools/304736/

В свое время пользовался ей, мне помогла с задачей.
15. SergDobrodelov 805 13.12.24 13:33 Сейчас в теме
(14) Пожалуйста. Это как раз форк той публикации, в начале описания есть ссылка.
16. BlizD 1109 13.12.24 13:48 Сейчас в теме
(15) Сергей, точно, а слона то я не заметил.
Спасибо, понял.
SergDobrodelov; +1 Ответить
18. SergDobrodelov 805 25.02.25 12:32 Сейчас в теме
Вышла версия Конструктор управляемых форм.
В наличии конструктор элементов.
Для отправки сообщения требуется регистрация/авторизация