Модификация формы в расширении
Хочу добавить свой код в процедуру формы. Пытаюсь сделать это через расширения: ПКМ на процедуре формы - "Добавить в расширение".
После этого в расширение перенеслись все реквизиты объекта и вся форма целиком, со всеми визуальными элементами. Есть опасение, что в таком виде будет проблема поддержки изменений при обновлении конфигурации. Есть ли способ, чтобы в расширение попадал только модуль формы, а все визуальные элементы брались из формы конфигурации?
После этого в расширение перенеслись все реквизиты объекта и вся форма целиком, со всеми визуальными элементами. Есть опасение, что в таком виде будет проблема поддержки изменений при обновлении конфигурации. Есть ли способ, чтобы в расширение попадал только модуль формы, а все визуальные элементы брались из формы конфигурации?
По теме из базы знаний
- 8.3 Управляемые формы. Модификация формы другой формой. Еще один метод упрощения обновления типовых конфигураций. Без использования расширения конфигурации
- Управляемые формы. Изменение формы списка или формы объекта без внесения изменений в типовые формы (без использования расширений)
- Доработки объектов метаданных и форм (только кодом) с помощью расширений на примере типовых конфигураций: 1C:ERP Управление предприятием 2.4 и 1С:Альфа-Авто: Автосалон+Автосервис+Автозапчасти КОРП 6
- Эволюция расширения конфигурации
- Динамическая модификация форм в расширении
Найденные решения
Остальные ответы
В избранное
Подписаться на ответы
Сортировка:
Древо развёрнутое
Свернуть все
(3) получилось как описано в ссылке (1). Кодировать совсем немного пришлось:
1. Создал пустую базу
2. Добавил туда свой документ без реквизитов
3. Выгрузил расширение из рабочей базы, загрузил в пустую. Так как расширение не пустое, то было много ругани о том, что объект в расширении есть, а в конфигурации нет. Просто проигнорировал их.
4. В конфигурации добавил форму документа (пустую). Добавил ее в расширение.
5. Выгрузил расширение из пустой базы, загрузил в рабочую.
6. Добавил свои процедуры - обработку нажатия кнопки. Саму кнопку и команду формы добавлял не здесь, а в общем модуле МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере() - так мне привычнее. Можно, наверное, добавить кнопку и в расширении.
Все работает. При нажатии на кнопку отрабатывает команда формы, определенная в МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере, которая вызывает процедуру из расширения формы.
1. Создал пустую базу
2. Добавил туда свой документ без реквизитов
3. Выгрузил расширение из рабочей базы, загрузил в пустую. Так как расширение не пустое, то было много ругани о том, что объект в расширении есть, а в конфигурации нет. Просто проигнорировал их.
4. В конфигурации добавил форму документа (пустую). Добавил ее в расширение.
5. Выгрузил расширение из пустой базы, загрузил в рабочую.
6. Добавил свои процедуры - обработку нажатия кнопки. Саму кнопку и команду формы добавлял не здесь, а в общем модуле МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере() - так мне привычнее. Можно, наверное, добавить кнопку и в расширении.
фрагмент кода |
---|
ИмяКоманды = ИмяКоманды_ДанныеТСД();
КомандаФормы = Форма.Команды.Добавить(ИмяКоманды);
КомандаФормы.Действие = ИмяКоманды;
КомандаФормы.Заголовок = "Данные ТСД";
КомандаФормы.ИзменяетСохраняемыеДанные = Ложь;
КомандаФормы.Отображение = ОтображениеКнопки.КартинкаИТекст;
КомандаФормы.Картинка = БиблиотекаКартинок.ПодключаемоеОборудованиеТерминалСбораДанных16;
НовыйЭлемент = Форма.Элементы.Добавить(КоманднаяПанель.Имя+ИмяКоманды,
Тип("КнопкаФормы"),
КоманднаяПанель);
НовыйЭлемент.Вид = ВидКнопкиФормы.КнопкаКоманднойПанели;
НовыйЭлемент.ИмяКоманды = ИмяКоманды;
Показать |
Все работает. При нажатии на кнопку отрабатывает команда формы, определенная в МодификацияКонфигурацииПереопределяемый.ПриСозданииНаСервере, которая вызывает процедуру из расширения формы.
Вакансии
Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)