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

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 Сейчас в теме
ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьОткрытиеФормыОбработки(ВыполняемаяКоманда, Неопределено, ВыполняемаяКоманда.ОбъектыНазначения);

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

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