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







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

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

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

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

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

 

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

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

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

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

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

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

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

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


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

 

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

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

 

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

5 Comments

  1. karg

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

    // Karg 06.11.2014 << >>

    // ВНИМАНИЕ, ЗДЕСЬ ОСУЩЕСТВЛЯЕТСЯ ИЗМЕНЕНИЕ ВНЕШНЕГО ВИДА ФОРМЫ

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

    Reply
  2. Denis S

    Интересная идея, опробуем) Применяю данный подход в ERP с использованием типового функционала внесения доработок форм.

    Reply
  3. Puk2

    интересно как заработают типовые расширения 1С в платформе 8.3.6, призванные облегчить обновление и изменение конфигураций Типовой механизм расширений 1С

    Reply
  4. karg

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

    Reply
  5. sss999

    Прочитал,ниче,не понял,что это и для чего,ссылку читал про легкие изменения.

    Reply

Leave a Comment

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