FormCodeGenerator Программная доработка форм. Часть 2 (Режим работы "Режим сравнения форм") на примере ERP 2.5
Разработка - Инструментарий разработчика
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Предыдущая Часть 1 (Режим работы "Палитра")
Предисловие
На этот раз будет демонстрироваться работа обработки в составе расширения.
Этому есть несколько причин.
- На начальном этапе можно не добавлять общий модуль "РедакторФорм" а он будет в расширении.
- В этом же расширении можно подключать к типовым формам без включения возможности изменения.
- Можно выносить доработанные формы так же в расширение, дорабатывать ее интерактивно и сравнивать с ней(не всегда работает).
Сегодня продемонстрирую как можно дорабатывать типовое решение с помощью обработки "FormCodeGenerator" в составе расширения.
Отправная точка: Конфигурация ERP полностью типовая с включенной возможностью изменения для корня и документа "ПриобретениеТоваровУслуг".

Подготовка конфигурации
Для подготовки конфигурации необходимо подключить расширение(файл из данной публикации) и добавить возможность получения данных из формы.
Так как я буду показывать на ERP, то я буду использовать процедуру МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере(огромный поклон разработчикам ERP, что реализовали такую возможность, в других конфигурациях можно "врезаться" в какие ни будь процедуры и функции из БСП, которые подключаются в формы, что бы можно было покрыть максимальное количество форм, которые можно "читать" данной обработкой).
Добавленный код:
Если Форма.Параметры.Свойство("РедакторФорм") Тогда
ИмяПодключеннойОбработки = Форма.Параметры.РедакторФорм.ИмяПодключеннойОбработки;
Если Форма.Параметры.РедакторФорм.ЗапущенаКакВнешняя Тогда
ВнешниеОбработки.Создать(ИмяПодключеннойОбработки, Ложь).ПодготовитьДанныеАнализируемойФормы(Форма);
Иначе
Обработки[ИмяПодключеннойОбработки].Создать().ПодготовитьДанныеАнализируемойФормы(Форма);
КонецЕсли;
КонецЕсли;
Интерактивная доработка формы
Что бы получить результат сравнения форм, нужно подготовить форму которая будет доработана.
Для этого я в конфигурации делаю копию текущий типовой формы(эталонной) и дальше дорабатываю ее как хочу через редактор.
После того как я получил эталонную форму и доработанную мышкой, я их выбираю в обработке и получаю код, который нужно вызвать в эталонной форме, что бы ее довести до вида доработанной, но только программным изменением элементов форм.

Перенос кода по результату сравнения форм
Полученный код из результата сравнения форм переносится в типовую форму в процедуру "ПриСозданииНаСервере".
После переноса кода запускаем 1с и смотрим результат доработанной типовой формы, програмно, сгенерированным кодом.

Зависимости:
Для работы сгенерированного кода необходимо наличие модуля "РедакторФорм": https://github.com/huxuxuya/1cFormEditor
Ссылки:
Модуль "FormEditor"(РедакторФорм): Проект на GitHub
Статьи:
Обработка "FormCodeGenerator": Проект на GitHub
Статьи:
- Предыдущая Часть 1 (Режим работы "Палитра")
- Как я пришел к данной обработке: Статья. Быстрая кодогенерация программной доработки форм.
Группа в телеграмм: https://t.me/FormCodeGenerator1c
Вступайте в нашу телеграмм-группу Инфостарт
