Версия для печати темы (https://pro1c.org.ua/index.php?s=bba18ac1ef5ab726a2a79e4ff0d02f86&showtopic=67470)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Как программно открыть нужную управляемую форму документа?

Автор: andrew76 05.02.24, 16:49

Добрый вечер всем.
Имеется несколько Управляемых Форм одного документа.
В зависимости от значения одного из реквизитов требуется открывать нужную форму документа
с разным набором полей для ввода на форме.
Как программно открыть нужную форму уже существующего документа ? В принципе нужная форма то открывается,Вот только открывается она с незаполненными реквизитами документа.Хотя если открыть основную форму,то там эти поля все заполнены.

Автор: alex-l1904 05.02.24, 16:55

andrew76 @ Сегодня, 17:49 * ,
при відкритті форми передаєте Ссилку ?

Автор: andrew76 05.02.24, 17:01

alex-l1904 @ Сегодня, 19:55 * ,
Нет.

Автор: alex-l1904 05.02.24, 17:04

andrew76 @ Сегодня, 18:01 * ,


ось приклад

П = Новый Структура;
    П.Вставить("Ключ", Проект);

   ОткрытьФорму("Справочник.Проекты.ФормаОбъекта", П);

Автор: andrew76 05.02.24, 17:15

alex-l1904 @ Сегодня, 20:04 * ,

и что мне указать в качестве ссылки ?

П = Новый Структура;
П.Вставить("Ключ", Объект); //ИЛИ
П.Вставить("Ключ", Ссылка);

ОткрытьФорму("Справочник.Проекты.ФормаОбъекта", П);

Автор: andrew76 06.02.24, 6:43

Прописал следующий код в процедуру ПриОткрытии формы Документа.
Сработало.Хотя рекомендуют делать это в модуле менеджера, событие ОбработкаПолученияФормы.

&НаКлиенте
Процедура ПриОткрытии(Отказ)

Если НужныйРеквизит тогда
        
        Ключ = Новый Структура("Ключ", Объект.Ссылка);
        ОткрытьФорму("Документ.Р_Лист.Форма.Форма_Дополн", Ключ);
        Отказ=Истина;  //основная форма не открывается

Иначе
        Отказ=Ложь;   //основная форма открывается

КонецЕсли;

КонецПроцедуры

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua