Алексей Лустин | CTO | SilverBulleters, LLC

«ВебФронт = Новый ВебПриложение()»

* Как мы отказались полностью от HTML, CSS, JS но создаём фронт-офисные ВебПриложения * "ВебФронт.Настройки = <>" * "ВебФронт.КлиентскиеДанные = <>" * "ФормаСпискаЗаказов = ВебФронт.Формы.ДобавитьФорму(<>)" * "ЭлементТаблица = ФормаСпискаЗаказов.ДобавитьТаблицу(<>)" * "ВебФронт.ПрименитьСтильПриложения(<>)" * "ВебФронт.ДобавитьФункцииПоведения(<>)" * Как Вам больше не использовать аутсорс на PHP, JS, и HTML(CSS)

Помощник программного изменения форм (версия 0.4)

Программирование - Инструментарий

Обработка "Помощник программного изменения форм" версии 0.4 предназначена для формирования программного кода создания и изменения элементов формы, а также задания их свойств. С ее помощью Вы сможете выполнять модификацию форм конфигураций экономя время на написании кода. Помощник не сделает всю работу за вас! Он лишь поможет Вам в выполнении рутинных действий.

Описание

 

Обработка "Помощник программного изменения форм" предназначена для формирования программного кода создания и изменения элементов формы, а также задания их свойств. 

Управляемая форма обработки

С ее помощью Вы сможете выполнять модификацию форм конфигураций экономя время на написании кода. Помощник не сделает всю работу за вас! Он лишь поможет Вам в выполнении рутинных действий.

Возможности

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

 Поддержка управляемых форм в обычном приложении

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

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

 

На презентации выше продемонстрирован принцип работы обработки, основные действие по ее использованию. Ниже представлено демонстрационное видео.

 


Хоть на видео и продемонстрировано использование старой версии обработки 0.3, но принцип действий сохранился. 

Обратная связь

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


Спасибо за интерес к разработке!  

Связанная статья: "Формы. Трудности программной работы"

Блог автора: Devel Platform

Скачать файлы

Наименование Файл Версия Размер
Помощник программного изменения форм - v0.4
.epf 58,73Kb
14.09.13
115
.epf 58,73Kb 115 Скачать

См. также

Комментарии
Сортировка: Древо
1. Yashazz 2255 25.02.13 14:59 Сейчас в теме
Забавная вещица, но неряшливо сделанная. И интерфейс можно бы докрутить, и опечатки всякие...
И, я не сумел всё же понять, генерирует ли эта обработка код под управляемые формы?
2. YPermitin 640 25.02.13 15:07 Сейчас в теме
(1) Yashazz, под управляемые формы код генерирует.

Опечатки и интерфейс допилю =) Это же как-никак версия 0.2. Когда подойдет выход 1.0 думаю уже использовать можно будет по полной.

Функционал еще развивать и развивать.
26. AlexO 125 06.03.13 12:52 Сейчас в теме
(2)
автор, вы можете четко, по пунктам, объяснить - в чем отличие вашей разработки от приведенных в (15)?
Вы придумали новый способ делать программные элементы в 1С? Ваша обработка сразу подсказывает, что и куда поместить, чтоб не трогало типовое обновление? Что нового? :)
27. YPermitin 640 06.03.13 13:37 Сейчас в теме
(26) AlexO, хотя бы скачайте и посмотрите. Как сказал выше, после новой версии напишу подробное описание. Сейчас недостаточно времени.
28. AlexO 125 06.03.13 13:41 Сейчас в теме
(27)
ну я как-бы давно пользуюсь обработками из списка ( 15), и впорос, что еще можно "эдакого" написать, возник не случайно :)
Поэтому и спрашиваю - что? Или вы не смотрели те обработки?
Ну т.е. это больше ваша обязанность - не изобретать велосипед :)
3. w-divin 25.02.13 15:55 Сейчас в теме
Ну ок - подождем версию 1.0 и тогда плюсанем )))
9. YPermitin 640 25.02.13 18:20 Сейчас в теме
(3) w-divin, сам жду с нетерпением =)))
4. kapustinag 25.02.13 16:39 Сейчас в теме
Если бы существовала возможность сохранить ПРОГРАММНО СГЕНЕРИРОВАННУЮ форму в "обычном" виде, то есть как если бы она была сделана в конструкторе форм - то тогда последующие доделки формы уже не были бы слишком трудоемкими.
На входе имеем обычную форму, меняем ее в конструкторе, сохраняем, и трансформируем форму в программный код.
Впоследствии, если потребовались масштабные изменения, сохраняем программный код как "обычную" форму, и меняем ее в конструкторе.
8. YPermitin 640 25.02.13 18:15 Сейчас в теме
(4) kapustinag, в статье (ссылка в публикации) я писал, что лучше бы "Конфигуратор" все изменения в форме конструктором делал как в Visual Studio. Там все элементы формы всегда формируются программным образом. И в этом огромный плюс!
5. AlX0id 25.02.13 16:44 Сейчас в теме
Ну как-то именно "забавная", не более того. По крайней мере, то, что есть сейчас.
Я так понимаю, что целью было избежать геморроя при обновлении - так что особо сильно не поможет, судя по всему )
6. YPermitin 640 25.02.13 18:12 Сейчас в теме
7. aet 37 25.02.13 18:13 Сейчас в теме
(5) AlX0id, поможет, в каталоге много материала на тему минимального изменения конфигурации, тут 1 шаг - формирование кода, второй шаг грамотно разместить его.
10. cdb 24 25.02.13 18:41 Сейчас в теме
У меня выскакивает ошибка при выборе любой формы (документы, обработки и т.п.)
Конфигурация ЗУП. (Обычное приложение)
{Форма.ФормаОбычная.Форма(292)}: Ошибка при вызове метода контекста (ПолучитьФорму)
ВыбраннаяФорма = ПолучитьФорму(ТекущаяФорма, ПараметрыФормы);
по причине:
Недопустимое значение параметра (параметр номер '1')
12. YPermitin 640 25.02.13 19:29 Сейчас в теме
(10) cdb, дело в том, что некоторые формы требуют обязательной инициализации каких-либо параметров. Тут либо нужно в копии оригинальной формы убрать обработчики событий "ПриОткрытии" и "ПередОткрытием", или закомментировать код, вызывающий ошибку.

В будущем возможно сделаю автоинициализацию таких параметров. Пока правда не знаю как)
11. srv7 430 25.02.13 18:59 Сейчас в теме
(0) как насчет привязок ? без них идея реализована наполовину.. реализуете - плюс с меня
13. YPermitin 640 25.02.13 19:30 Сейчас в теме
(11) srv7, обязательно сделаю.
14. Новиков 289 25.02.13 22:41 Сейчас в теме
Идея интересная. По поводу привязок в ОФ'ах поддержу (11)
16. YPermitin 640 26.02.13 10:20 Сейчас в теме
(15) yandextesting, спасибо за ссылки.

Некоторые из публикаций уже читал ранее.
17. yandextesting 143 26.02.13 10:51 Сейчас в теме
(16) в одной из приведенных публикаций (думаю, в самой поздней), насколько помню, был реализован обход ошибки, описанной в комментарии (10)
18. yandextesting 143 26.02.13 11:03 Сейчас в теме
(0), (16) В продолжение списка публикаций из (15) - о "слоне"-то я забыл:) упомянуть:
- наиболее продвинутое решение в смежном направлении (в т.ч. генерация кода формы), сугубо на мой взгляд, V8Reader (с расширенным анализом форм) Upd., там также можно почерпнуть некоторую информацию для развития своего решения.
19. YPermitin 640 26.02.13 11:34 Сейчас в теме
(18) yandextesting, V8Reader очень хорош. Его кажется частично используют в Снегопаде.
20. Модератор раздела artbear 28.02.13 20:06 Сейчас в теме
(0) Выложил бы картинки отдельно, как скриншоты к статье.
Сейчас они слишком мелки. А скриншоты можно отдельно в большом окне просматривать.
21. YPermitin 640 28.02.13 20:23 Сейчас в теме
(20) artbear, к понедельнику выложу новую версию обработки. Переработаю оформление публикации.
22. YPermitin 640 05.03.13 08:13 Сейчас в теме
(21) к сожалению пока не успеваю заняться доработкой. В течении недели выложу новую версию с поддержкой привязок и доп. поддержкой элементов обычных форм.
23. Rustig 972 05.03.13 23:54 Сейчас в теме
(0) Добротно сделано. Основательно. Спасибо, автор, молодец!
(6), (7) задаю прямой вопрос: как программное создание элементов форм помогает при дальнейшем обновлении конфигураций? и еще один: как "грамотно" разместить код программного создания элементов, чтобы вся затея помогала с обновлением конфигураций?
имхо, не стоит заморачиваться над программным созданием именно элементов форм! лучше создать свою форму, скопировав например основную форму элемента справочника или основную форму документа, и ее уже изменять. Ни одно последующее обновление ее не затронет.
24. YPermitin 640 06.03.13 05:05 Сейчас в теме
(23) Rustig, на счет копирования формы - так и делаю. Но в скопированной форме, чтобы при последующем обновлении не заниматься копипастом, изменяю форму программным образом. Тогда при последующем накате обновлений поставщика нужно скопировать одну строчку кода и все, так как все пограммные изменения делаются в общем модуле. Каждая форма лишь вызывает соответствующую процедуру и передает туда форму, объект.

Например, в событии "ПередОткрытием" вызывается процедура общего модуля:

DEV_ИзменениеФормы.ПередОткрытиемАвансовыйОтчетФормаДокумента(ЭтаФорма, ЭтотОбъект, <ИмяФормы>);

Имя формы передаю, т.к. у документа может быть несколько форм одинакового типа.
25. AlexO 125 06.03.13 12:50 Сейчас в теме
(24)
Но в скопированной форме,

Тогда при последующем накате обновлений поставщика

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

зачем - если форма уникальна, - делать программно элементы?
(23) Rustig,
лучше создать свою форму, скопировав например основную форму элемента справочника

... и при следующем изменении самой типовой формы или её модуля будете мучительно думать - а как теперь соединить-то все изменения в одной снова?!
29. Rustig 972 06.03.13 15:39 Сейчас в теме
(25) ну вы прям любите поговорить :)
смотрите в суть, в глубину: мною описанный способ надо распространить на УТ например. На БП или ЗУП - с их частым обновлением - такой способ не будет простым решением... я считаю что универсального решения нет.
30. AlexO 125 06.03.13 17:03 Сейчас в теме
(29) Rustig,
На БП или ЗУП - с их частым обновлением - такой способ не будет простым решением

УПП уже приближается по частоте обновлений к ним, и именно такой способ введения своих изменений - комплексный программно-копии-подписочный, - дает максимальный эффект при обновлениях.
43. aet 37 21.03.13 12:29 Сейчас в теме
(23) можно множество изменений форм сделать в одном месте Псевдо подписка ПриОткрытии
44. YPermitin 640 21.03.13 15:42 Сейчас в теме
(43) aet, для управляемых форм лучше делать "ПриСозданииНаСервере", так оптимальней будет, никаких лишних вызовов сервера.

Для обычных форм в большинстве случаев не важно "ПередОткрытием" или "ПриОткрытии".
45. aet 37 22.03.13 04:02 Сейчас в теме
(44) в (43) ключевое "в одном месте"
31. ivanov660 706 09.03.13 16:26 Сейчас в теме
Мне понравилось. Как раз собираюсь заняться работой в данном направлении, т.к. заниматься обновлением конфигураций каждый раз становится трудновато.
32. VVi3ard 40 12.03.13 18:14 Сейчас в теме
Сегодня встала задача: Есть 8 форм на каждую нужно добавить группу "Общие сведения" в ней порядка 8 реквизитов + оформление + доп группы для выравнивания.

Можно было бы CTRL+C/V по всем 8ми формам но пока еще до конца не определились с составом этих реквизитов, в итоге 100% будем еще раз переделывать (менять состав, группировку).

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

Эта обработка могла бы помочь но пришлось дорабатывать она умеет только один элемент а мне нужно сразу для многих элементов(это не сложно добавить). Что хуже она не понимает дерево (тот самый элемент родитель).

Так же не хватает дерева и в списке элементов для которых генерировать код.
33. YPermitin 640 12.03.13 18:43 Сейчас в теме
(32) VVi3ard, Обработка действительно сейчас умеет немного.

Те задачи, которые передо мной стояли решил, сейчас пока никак не могу всерьез взяться за ее допиливание. Только если постепенно, ибо другие задачи имеются.
34. AlexO 125 13.03.13 10:24 Сейчас в теме
(32) VVi3ard,
Эта обработка могла бы помочь но пришлось дорабатывать она умеет только один элемент а мне нужно сразу для многих элементов(это не сложно добавить). Что хуже она не понимает дерево (тот самый элемент родитель).

Так же не хватает дерева и в списке элементов для которых генерировать код.

Потому что вы, как и автор, не смотрите декомпиляторы из (15 ) :)
35. VVi3ard 40 13.03.13 11:33 Сейчас в теме
(34) AlexO, уже смотрим :) Спасибо
37. YPermitin 640 14.03.13 15:10 Сейчас в теме
(35) VVi3ard, вот и новая версия с поддержкой иерархии элементов и привязок для обычных форм.

Может пригодиться теперь =)

(34) AlexO, декомпиляторы я смотрел, и пользуюсь ими тоже в некоторых случаях. В остальном использую свою обработку, ибо для меня она удобнее.
qus-qus; VVi3ard; +2 Ответить
39. AlexO 125 14.03.13 17:22 Сейчас в теме
(37)
декомпиляторы я смотрел, и пользуюсь ими тоже в некоторых случаях. В остальном использую свою обработку, ибо для меня она удобнее.

ну все, народ объяснил - ваша для управляемых недоформ :)
Я-то с позиции обычного приложения писал.
40. YPermitin 640 14.03.13 17:41 Сейчас в теме
(39) AlexO, да для "неуправляемых" тоже, и для обычных =)
41. AlexO 125 15.03.13 10:11 Сейчас в теме
(40)
Ну с УФ вообще, похоже, полная ж, если там даже программно сформировать - все перелопачивать да и не всегда удается, а если напишите, чем отличается от аналогов в обычном режиме - то будет только плюс :)
36. 91197ch 29 14.03.13 11:22 Сейчас в теме
38. VVi3ard 40 14.03.13 15:49 Сейчас в теме
42. fr.myha 21.03.13 11:44 Сейчас в теме
Знаете, а мне нравиться стандартная реализация редактирования форм.
46. 26178_mail.ru 25.03.13 15:25 Сейчас в теме
Спасибо болльшое изменения в форме не всегда охота делать а иногда и нельзя, капризные бывают заказчики. Поэтому выход +++
47. margo_m09 26.03.13 13:56 Сейчас в теме
48. ivanov660 706 07.05.13 16:27 Сейчас в теме
Посмотрел обработку "недопилина" она для управляемых форм (версия 3). Пришлось много чего руками править (может я не понял как):
- Не весь функционал перетаскивается - не перенося атрибуты групп (к примеру, нет типа группировки подчиненных элементов; путь к данным, имена команд);
- Не выделяются (пометка) параметры которые отличаются от по-умолчанию.
и др.
49. YPermitin 640 08.05.13 11:47 Сейчас в теме
(48) ivanov660, со всем согласен. В перспективе допилю.
50. mr.Kot 13.05.13 10:51 Сейчас в теме
Вот уже который раз на публикацию о прогорммном изменении форм обращаю внимание, думаю у себя внедрить, но задача постоянно оказывается не столь актуальна, сколь другие. В итоге смотрю, думаю попробовать и забываю. Потом снова смотрю, думаю попробовать и далее по кругу. :)
51. YPermitin 640 13.05.13 10:57 Сейчас в теме
(50) mr.Kot, сам такой же))
Перевел у многих форм изменения в программное формирование, потом пришли другие важные задачи и все. Больше этим не занимался уже более месяца)
53. validat 1 19.09.13 15:39 Сейчас в теме
Опытные программисты, скажите, новичку поможет начать изучать или освоить программирование? Или хотя бы начать настраивать формы под определённые нужды?
Иногда в формах нужно добавить одну колонку с нужными данными, может это облегчить работу?
Заранее благодарю за советы.
54. AlexeyXL 22.09.13 13:14 Сейчас в теме
55. master_yoda 27 23.09.13 17:04 Сейчас в теме
56. Andry.Boris 54 06.01.15 01:16 Сейчас в теме
Возьму на вооружение...
Достаточно удобно и наглядно...
Автор если бы при предварительном просмотре отображались изменения было бы здорово,
а еще неплохо добавить создание программных элементов прям в обработку...
+
Оставьте свое сообщение