Создание объекта БД и открытия его формы без записи объекта
Дело в том, что ПолучитьФорму() вызывает ПрисозданииНаСервере () формы, а в нем происходит настройка формы, в зависимости от значений реквизитов объекта. Как правило, методы отвечающие за настройку формы вызываются и из ПриЧтенииНаСервере().
Т.е. получается, что объект еще не заполнен, а настройка формы уже произошла. Экспортных методов у формы нет, чтоб дернуть их для настройки формы после заполнения объекта.
В связи с этим вопрос: как выполнить настройку формы после заполнения реквизитов у созданного, но не записанного объекта?
(2) Кстати, ваше уточнение, натолкнуло меня на мысль, что в расширении нужно позаимствовать форму и добавить в нее экспортный метод, который в свою очередь вызывает штатный метод настройки.
В расширении получилось вот так:
Код |
---|
Показать полностью |
Форма заимствована. Метод ВыполнитьНастройкуФормыПослеЗаполненияОбъекта () экспортный в расширении.
(1) Верно ли я понимаю, что перед Вами стоит задача реализовать внешнюю обработку создания элемента справочника без какой-либо модификации исходной конфигурации?
Если так, то мне самому интересно, возможно ли это. Сам я для подобной задачи простого решения найти не смог: либо вносить изменения в конфигурацию, либо настраивать форму «вручную».
(2) Кстати, ваше уточнение, натолкнуло меня на мысль, что в расширении нужно позаимствовать форму и добавить в нее экспортный метод, который в свою очередь вызывает штатный метод настройки.
В расширении получилось вот так:
Код |
---|
Показать полностью |
Форма заимствована. Метод ВыполнитьНастройкуФормыПослеЗаполненияОбъекта () экспортный в расширении.
(12) Я не настаиваю. Банальное любопытство: вдруг узнаю для себя что-то новое.
Я представлял себе решение так:
1. Собираете структуру параметров заполнения, включающую в себя все необходимые параметры для создания объекта. Вставляете также некий уникальный ключ в структуру.
2. Открываете/получаете форму с параметрами, где есть ключ «Основание» со значением структуры, собранной в п.1.
2. Создаете свой обработчик события «ОбработкаЗаполнения» для создаваемого объекта с диррективой «&Перед». Проверяете тип данных заполнения (должна быть структура) и наличие уникального ключа в данных заполнения. Если есть, выполняете алгоритм заполнения нового объекта, как это делала Ваша обработка, и очищаете данные заполнения (необязательно).
Т.о. к моменту, когда будет создана форма объекта, сам объект уже будет заполнен. И настройка формы осуществиться корректно.