gifts2017

Динамическое дополнение/изменение форм в интерфейсе Такси и Управляемых формах v8.3 (8.2). Изменяем формы в режиме 1С:Предприятие...

Опубликовал Геннадий Картузов (karg) в раздел Программирование - Инструментарий

В дополнение к статье "v8: Концепция минимального изменения конфигурации для легкого обновления" (http://infostart.ru/public/170935/) (автор MarSeN) и в качестве некой альтернативы его разработке http://infostart.ru/public/171514/ предлагаю вашему вниманию механизм динамического дополнения и изменения управляемых форм из среды 1С:Предприятие с целью минимизировать довольно трудоемкий процесс сравнения измененных типовых форм.

Если сравнение модулей на данный момент можно считать довольно удобным, то сравнение форм остается весьма трудоемким, хотя с появлением управляемых форм и в этом направлении появилась бОльшая информативность. Но влиять на объединение реквизитов форм почему-то все равно нельзя (см. пример скрина).

Отличие данной реализации от других (например, http://infostart.ru/public/171514/)  в более удобной, на мой взгляд, подготовке самого "ТЗ" на изменения. В данном решении заполнение происходит в режиме 1С:Предприятие. Система предлагает в выпадающем списке возможные значения. Можно более-менее заполнить все интерактивно, по кнопке "Проверить редактируемую форму" посмотреть что получается.

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

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

 

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

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

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

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

Вызов, который нужно добавить в процедуру ПриСозданииНаСервере:

// ВНИМАНИЕ, ЗДЕСЬ ОСУЩЕСТВЛЯЕТСЯ ИЗМЕНЕНИЕ ВНЕШНЕГО ВИДА ФОРМЫ
// для актуальной версии 006

крДинамическоеИзменениеФормСервер.крДобавитьЭлементыПоСправочнику(ЭтаФорма, Элементы, Параметры.ДополнительныеПараметры); 

// для версии 005
// крДинамическоеИзменениеФормСервер.крДобавитьЭлементыПоСправочнику(ЭтаФорма.ИмяФормы, Элементы, Параметры.ДополнительныеПараметры); 


Применимо к управляемым формам. Делалось на 8.3 для Бухгалтерии 3.0

 

Ограничения (что проверял, что нет).

По факту проверял только Поле ввода (на форме и в таблице), Обычную группу, Группу колонок. В большинстве случаев этого достаточно.

 

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

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

Наименование Файл Версия Размер Кол. Скачив.
DynForms 006
.cf 32,22Kb
03.12.14
19
.cf 006 32,22Kb 19 Скачать
DynForms версия 005 (не описан функционал по динамическому добавлению кнопок). Оставил для истории, скачивать не актуально.
.cf 30,84Kb
03.12.14
7
.cf 005 30,84Kb 7 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Геннадий Картузов (karg) 23.11.14 13:05
Собственно метод, который нужно добавить с процедуру ПриСозданииНаСервере:

// Karg 06.11.2014 << >>
// ВНИМАНИЕ, ЗДЕСЬ ОСУЩЕСТВЛЯЕТСЯ ИЗМЕНЕНИЕ ВНЕШНЕГО ВИДА ФОРМЫ
крДинамическоеИзменениеФормСервер.крДобавитьЭлементыПоСправочнику(ЭтаФорма.ИмяФормы, Элементы, Параметры.ДополнительныеПараметры);
2. Денис Соломасов (Denis S) 24.11.14 09:42
Интересная идея, опробуем) Применяю данный подход в ERP с использованием типового функционала внесения доработок форм.
3. Nick (Puk2) 26.11.14 10:00
интересно как заработают типовые расширения 1С в платформе 8.3.6, призванные облегчить обновление и изменение конфигураций Типовой механизм расширений 1С
4. Геннадий Картузов (karg) 26.11.14 15:47
-> 3 Думаю, что с появлением расширений, механизмы подобные представленному уйдут в прошлое. Там все же гораздо больший функционал. Но посмотрим. Скорей бы выпустили, сэкономили бы нам всем много времени, я думаю.
5. Сергей Толмачев (sss999) 01.06.15 08:50
Прочитал,ниче,не понял,что это и для чего,ссылку читал про легкие изменения.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа