Добрый день всем!
Пытаюсь открыть форму выбора складов с отбором по конкретной группе. Всё отрабатывает ок.
Но в данной группе есть ещё вложенная группа с элементами. Как мне сделать чтобы её элементы тоже попадали в форму выбора ?
Пытаюсь открыть форму выбора складов с отбором по конкретной группе. Всё отрабатывает ок.
Но в данной группе есть ещё вложенная группа с элементами. Как мне сделать чтобы её элементы тоже попадали в форму выбора ?
&НаКлиенте
Процедура СкладНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
ПараметрыВыбора = Новый Структура;
ПараметрыВыбора.Вставить("МножественныйВыбор", ЛОЖЬ);
ПараметрыВыбора.Вставить("ЗакрыватьПриВыборе", ИСТИНА);
ПараметрыВыбора.Вставить("РазрешитьВыборКорня", ЛОЖЬ);
ПараметрыВыбора.Вставить("ВыборГруппИЭлементов", ИспользованиеГруппИЭлементов.Элементы);
ПараметрыВыбора.Вставить("ЗакрыватьПриЗакрытииВладельца", ИСТИНА);
ПараметрыВыбора.Вставить("ТолькоПросмотр", ИСТИНА);
Отбор = Новый Структура();
Отбор.Вставить("Родитель", ПолучитьГруппу());
Отбор.Вставить("ПометкаУдаления", ЛОЖЬ);
Отбор.Вставить("ЭтоГруппа", ЛОЖЬ);
Отбор.Вставить("ВыборГруппИЭлементов", ИспользованиеГруппИЭлементов.Элементы);
ПараметрыВыбора.Вставить("Отбор", Отбор);
Форм = ОткрытьФорму("Справочник.Склады.ФормаВыбора", ПараметрыВыбора, Элемент, ЛОЖЬ,,,,РежимОткрытияОкнаФормы.БлокироватьВесьИнтерфейс);
Форм.Элементы.Список.Отображение = ОтображениеТаблицы.Список;
КонецПроцедуры
&НаСервере
Функция ПолучитьГруппу()
Возврат Справочники.Склады.НайтиПоНаименованию("Склад основной");
КонецФункции
ПоказатьНайденные решения
(11)
&НаКлиенте
Процедура ОткрытьФормуКоманда(Команда)
Родитель = Получитьродителя();
НастройкиКомпоновки = Новый НастройкиКомпоновкиДанных;
ГруппаОтбора = НастройкиКомпоновки.Отбор;
ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ПравоеЗначение = Родитель;
ПараметрыВыбора = Новый Структура;
ПараметрыВыбора.Вставить("ФиксированныеНастройки", НастройкиКомпоновки);
ПараметрыВыбора.Вставить("РежимВыбора",Истина);
ПараметрыВыбора.Вставить("ВыборГруппИЭлементов",ИспользованиеГруппИЭлементов.Элементы);
ФормаВыбора = ПолучитьФорму("Справочник.Номенклатура.ФормаВыбора",ПараметрыВыбора);
ФормаВыбора.Элементы.Список.Отображение = ОтображениеТаблицы.Список;
ФормаВыбора.Открыть();
КонецПроцедуры
Функция Получитьродителя()
возврат Справочники.Номенклатура.НайтиПоНаименованию("Новый год" );;
КонецФункции // ()
ПоказатьОстальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
попробуйте не по Родителю отбирать а по элементам (ссылка)
по списку значений (по крайней мере в обычных формах так можно было)
выполняете запрос с условием
Где ССылка в иерархии (&ВашаГруппа)
результат Ссылки в СписокЗначеций (или массив)
вот это уберите
Отбор.Вставить("Родитель", ПолучитьГруппу());
и примерно это добавьте
Отбор.Вставить("Ссылка", ПолучитьСсылкиПоГруппе());
по списку значений (по крайней мере в обычных формах так можно было)
выполняете запрос с условием
Где ССылка в иерархии (&ВашаГруппа)
результат Ссылки в СписокЗначеций (или массив)
вот это уберите
Отбор.Вставить("Родитель", ПолучитьГруппу());
и примерно это добавьте
Отбор.Вставить("Ссылка", ПолучитьСсылкиПоГруппе());
(10) В итоге отображается только группа указанная в массиве без элементов..
НастройкиКомпоновки = Новый НастройкиКомпоновкиДанных;
ГруппаОтбора = НастройкиКомпоновки.Отбор;
ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ПравоеЗначение = ПолучитьГруппу();
ПараметрыВыбора = Новый Структура;
ПараметрыВыбора.Вставить("ФиксированныеНастройки", НастройкиКомпоновки);
ПараметрыВыбора.Вставить("РежимВыбора",Истина);
ПараметрыВыбора.Вставить("МножественныйВыбор",Истина);
Форм = ОткрытьФорму("Справочник.Склады.ФормаВыбора",ПараметрыВыбора,
Элемент, , , , );
Форм.Элементы.Список.Отображение = ОтображениеТаблицы.Список;
Показать
(11)
&НаКлиенте
Процедура ОткрытьФормуКоманда(Команда)
Родитель = Получитьродителя();
НастройкиКомпоновки = Новый НастройкиКомпоновкиДанных;
ГруппаОтбора = НастройкиКомпоновки.Отбор;
ЭлементОтбора = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.ПравоеЗначение = Родитель;
ПараметрыВыбора = Новый Структура;
ПараметрыВыбора.Вставить("ФиксированныеНастройки", НастройкиКомпоновки);
ПараметрыВыбора.Вставить("РежимВыбора",Истина);
ПараметрыВыбора.Вставить("ВыборГруппИЭлементов",ИспользованиеГруппИЭлементов.Элементы);
ФормаВыбора = ПолучитьФорму("Справочник.Номенклатура.ФормаВыбора",ПараметрыВыбора);
ФормаВыбора.Элементы.Список.Отображение = ОтображениеТаблицы.Список;
ФормаВыбора.Открыть();
КонецПроцедуры
Функция Получитьродителя()
возврат Справочники.Номенклатура.НайтиПоНаименованию("Новый год" );;
КонецФункции // ()
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот