Имя: Пароль:
1C
 
Как открыть форму выбора в определенной папке?
0 Nikroov
 
12.06.24
12:22
Добрый день.

Я сделал подбор элементов номенклатуры.

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


Все работает нормально, но мне надо чтобы открывалась конкретная папка "Монтажи" -> "Внутренние монтажи", как это сделать?
1 Nikroov
 
12.06.24
12:23
	ПараметрыПодбора.Вставить("Отбор", Новый Структура("Родитель", Справочники.Номенклатура.МонтажныеРаботыПредприятия));


Это строка лишняя, не обращайте внимание
2 youalex
 
12.06.24
13:23
Если иерархия в отдельном реквизите, и он не основной, то есть через параметры не получится решить, всегда можно использовать Форма = ПолучитьФорму() ... какие то действия... Форма.Открыть()
3 youalex
 
12.06.24
13:29
Или как вариант
ПараметрыОтбора.Вставить("ФиксированныеНастройки", ТвоиНастройкиКомпоновкиСОтборомПоИерархии)

Ограничить Форму Выбора документа определенной группой и ее подгруппами #16
4 Nikroov
 
12.06.24
20:44
(3) Я написал так, но все равно не работает, открывается просто форма, не на нужной папке:

&НаСервере
Функция ПолучитьПапку()
	Возврат Справочники.Номенклатура.НайтиПоКоду("00-018104");	
КонецФункции

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

	ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыПодбора, Элементы.Товары);
КонецПроцедуры
5 youalex
 
12.06.24
21:38
Единственно радует, что опасения на тот счет что "ИИ нас заменит" - немного преждевременны (как минимум)
6 craxx
 
13.06.24
03:33
(0) сделать свою форму выбора с установкой на нужной позиции, задаваймой через входные параметры.
7 takefive
 
13.06.24
11:25
ФормаВыбора = ПолучитьФорму("Справочник.Номенклатура.ФормаВыбора");
ФормаВыбора.Открыть();
ФормаВыбора.Элементы.Список.ТекущаяСтрока = СсылкаНаОбъект;
8 Nikroov
 
13.06.24
16:24
Вот в итоге как я решил:

&НаСервере
Функция ПолучитьПапку()
	
	Возврат Справочники.Номенклатура.НайтиПоКоду("00-018104");
	
КонецФункции

&НаКлиенте
Процедура Подобрать(Команда)
	
	ПараметрыФормы = Новый Структура("Отбор, ВыборГруппИЭлементов, ЗакрыватьПриВыборе, МножественныйВыбор", Новый Структура("Ссылка", МассивНом()), ИспользованиеГруппИЭлементов.Элементы, Истина, Истина);
	ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыФормы, Элементы.Товары,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

КонецПроцедуры
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн