|
Родитель нужного уровня | ☑ | ||
---|---|---|---|---|
0
Rizhij_Nikitos
27.08.13
✎
11:15
|
Эта тема не про п*дарасов. Есть у меня управляемая форма(8.3.3 не такси), на ней расположены несколько групп, в которых сгруппированы однотипные поля ввода. Задача сгруппировать поля ввода по родителю нужного уровня - то есть основных групп, но они не являются группами высшего уровня - у них еще 2 уровня сверху.
Как лучше это сделать, есть ли стандартные средства? Не хотелось бы рекурсию устраивать. |
|||
1
Rizhij_Nikitos
27.08.13
✎
11:17
|
Извините, если не очень доходчиво - кожу со вчерашнего дня еще не останавливался...
Есть основные группы, у которых есть родители. Есть поля ввода которые раскиданы по подчиненным группам основных групп. Как перебрать все поля ввода(названия поддаются обходу при помощи итератора) и определить у них родителя кратчайшим путем - то есть какая из перечня основных групп является его родителем? |
|||
2
olegves
27.08.13
✎
11:27
|
(0) отдельно выбирай свои группы:
Выбрать Второй.ссылка Поместить Группы Из справочник.Твой КАК Верх Левое соединение Справочник.Твой КАК Первый ПО Первый.Родитель = Верх.Ссылка Левое соединение Справочник.Твой КАК Второй ПО Второй.Родитель = Первый.Ссылка ГДЕ Второй.ЭтоГруппа а затем вяжи со своими элементами |
|||
3
Rizhij_Nikitos
27.08.13
✎
11:28
|
Почти угадал, только мы про УФ говорим а не про элементы справочника...
|
|||
4
olegves
27.08.13
✎
11:29
|
(3) а кто тебе мешает использовать Дин.список с произвольным запросом на УФ?
|
|||
5
Rizhij_Nikitos
27.08.13
✎
11:30
|
Мы говорим про элементы формы, а не про объекты ИБ.
|
|||
6
olegves
27.08.13
✎
11:34
|
(5) ты не умеешь добавлять элемент формы с типом: Динамический список?
|
|||
7
Rizhij_Nikitos
27.08.13
✎
11:35
|
||||
8
olegves
27.08.13
✎
11:40
|
(7) любим плавать в шубе и валенках? Упростить форму не пробовал?
|
|||
9
Rizhij_Nikitos
27.08.13
✎
11:43
|
Это уже другой вопрос и форма итак уже упрощена, удачно сгруппирована и набита всякими крутыми штуками чтобы эргономично вмещать в себя около 300 полей ввода. Кароче мы не обсуждаем сейчас мое ТЗ, мне надо взяв любое поле ввода определить принадлежит ли оно группе на несколько уровней выше.
|
|||
10
olegves
27.08.13
✎
11:50
|
(9) см (2) и думать
|
|||
11
Rizhij_Nikitos
27.08.13
✎
11:53
|
Я конечно еще не специалист, но на сколько мне известно, к элементам формы запросы делать нельзя.
|
|||
12
olegves
27.08.13
✎
12:43
|
(11) принадлежность группе в какой момент собираешься проверять?
В ПриСозданииНаСервере заполни реквизит формы с типом ТаблицаЗначений запросом, подобным (2) А в проверке вызывай серверную функцию, в которой делай поиск родителя проверяемого элемента в этой таблицеЗначений |
|||
13
Rizhij_Nikitos
27.08.13
✎
13:41
|
Ну вот как то так...
Отбор=Новый Структура; Попытка Отбор.Вставить("Группа",Элементы[Элемент].Родитель); Исключение //Если обращение к родителю не прокатит, что конечно очень врятли... Сообщить("Ошибка определения родителя поля при расчете коэффициентов, обратитесь к автору сего творения!"); Возврат("Ошибка"); КонецПопытки; Результат=ТЗПоказателей.НайтиСтроки(Отбор); Если Результат.Количество()>0 Тогда Возврат(Результат[0]); Иначе Возврат(ОпределитьРодителя(Элементы[Элемент].Родитель.Имя)); КонецЕсли; |
|||
14
Rizhij_Nikitos
27.08.13
✎
13:41
|
Это был полный текст функции Функция ОпределитьРодителя(Элемент)
|
|||
15
Rizhij_Nikitos
27.08.13
✎
13:42
|
В ТЗ показателей в колонке группа содержатся проверяемые основные группы
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |