Открыть форму дополнительной обработки

1. HIVvich 05.12.23 15:39 Сейчас в теме
Всем привет, помогите, я туплю.
У меня есть обработка, которая добавлена в справочник Дополнительные отчеты и обработки с типом - ОткрытиеФормы.
Внутри основной формы этой обработки я открываю ее другие формы, как их открыть?
Знаю, что есть такой код:
&НаКлиенте
Процедура ОтобратьНоменклатуру(Команда)
    
    ПараметрыФормы = Новый Структура("КомпоновщикНастроек", КомпоновщикНастроек);
            
    Обработка = ПолучитьВнешнююОбработкуСервер();

    ВыполняемаяКоманда = Новый Структура();
    ВыполняемаяКоманда.Вставить("ВариантЗапуска", ПредопределенноеЗначение("Перечисление.СпособыВызоваДополнительныхОбработок.ОткрытиеФормы"));
    ВыполняемаяКоманда.Вставить("Вид", ПредопределенноеЗначение("Перечисление.ВидыДополнительныхОтчетовИОбработок.ДополнительнаяОбработка"));
    ВыполняемаяКоманда.Вставить("Идентификатор", "");
    ВыполняемаяКоманда.Вставить("Модификатор", "");
    ВыполняемаяКоманда.Вставить("ОбъектыНазначения", Неопределено);
    ВыполняемаяКоманда.Вставить("ПоказыватьОповещение", Истина);
    ВыполняемаяКоманда.Вставить("Представление", Строка(Обработка));
    ВыполняемаяКоманда.Вставить("Ссылка", Обработка);
    ВыполняемаяКоманда.Вставить("ЭтоОтчет", Ложь);
    
    ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьОткрытиеФормыОбработки(ВыполняемаяКоманда, Неопределено, ВыполняемаяКоманда.ОбъектыНазначения);
    
КонецПроцедуры  

&НаСервере
Функция ПолучитьВнешнююОбработкуСервер()
    
    ИмяОбъекта = "название_моей_обработки";
    ЭлементСправочника = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоРеквизиту("ИмяОбъекта", ИмяОбъекта);
    Если ЭлементСправочника <> Неопределено Тогда
        Возврат ЭлементСправочника;
    Иначе
        ТекстСообщения = СтрШаблон("В справочнике ""Дополнительные отчеты и обработки"" 
                                    |по имени объекта ""%1"" не найдена внешняя обработка.", ИмяОбъекта);
        ВызватьИсключение ТекстСообщения;
    КонецЕсли;
    
КонецФункции
Показать


но не могу понять, как в этом коде указать конкретную форму обработки (их всего 3 вообще, например, мне надо открыть ФормуВыбора).
По теме из базы знаний
Найденные решения
5. Неопределено 91 06.12.23 06:11 Сейчас в теме
ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьОткрытиеФормыОбработки(ВыполняемаяКоманда, Неопределено, ВыполняемаяКоманда.ОбъектыНазначения);

Заменить на
СтруктураПараметровФормы = Новый Структура;
СтруктураПараметровФормы.Вставить("ИмяФормы", "ИмяФормыКоторуюНеобходимоОткрыть");
ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьОткрытиеФормыОбработки(ВыполняемаяКоманда, СтруктураПараметровФормы, ВыполняемаяКоманда.ОбъектыНазначения);
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. spacecraft 05.12.23 17:01 Сейчас в теме
(1)
У меня есть обработка, которая добавлена в справочник Дополнительные отчеты и обработки с типом - ОткрытиеФормы.
Внутри основной формы этой обработки я открываю ее другие формы, как их открыть?

т.е. из уже открытой формы дополнительной обработки открыть другие формы этой же обработки?
ОткрытьФорму("ВнешняяОбработка.ИмяОбработки.Форма.ИмяНужнойФормы", ....

Вместо ИмяОбработки и ИмяНужнойФормы подставить свои значения.
2. soft_wind 05.12.23 16:28 Сейчас в теме
там, где-то, в модулях БСП есть подключение внешней обработки из справочника ДопОбработки
ту команду в своем коде тоже выполните, а потом вот это

    Попытка
        лкФорма = ПолучитьФорму("ВнешняяОбработка." + ИмяОбработки + ".Форма." + ИмяФормы, Параметры, ЭтаФорма, Новый УникальныйИдентификатор);
        Если лкФорма <> Неопределено Тогда
            лкФорма.Открыть();
        КонецЕсли; 
        Возврат;
    Исключение
        лкОшибка = ОписаниеОшибки();
        Сообщить(лкОшибка);
        лкФорма = Неопределено;
    КонецПопытки;

Показать

так получите и откроете любую форму своей обработки
4. HIVvich 05.12.23 18:54 Сейчас в теме
5. Неопределено 91 06.12.23 06:11 Сейчас в теме
ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьОткрытиеФормыОбработки(ВыполняемаяКоманда, Неопределено, ВыполняемаяКоманда.ОбъектыНазначения);

Заменить на
СтруктураПараметровФормы = Новый Структура;
СтруктураПараметровФормы.Вставить("ИмяФормы", "ИмяФормыКоторуюНеобходимоОткрыть");
ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьОткрытиеФормыОбработки(ВыполняемаяКоманда, СтруктураПараметровФормы, ВыполняемаяКоманда.ОбъектыНазначения);
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот