|
Родитель при создании нового элемента справочника | ☑ | ||
---|---|---|---|---|
0
Масянька
20.04.16
✎
11:01
|
День добрый!
Как при создании (!!!) нового элемента справочника определить группу? Именно, при создании. И интересует самая верхняя группа. Спасибо. |
|||
1
catena
20.04.16
✎
11:05
|
В смысле при интерактивном создании?
|
|||
2
Масянька
20.04.16
✎
11:07
|
(1) Нет. Пользователь создает сам (ручками). Но при записи для этой группы (именно - самой верхней) выполняется ряд действий. Ну, должен выполняться.
|
|||
3
sash-ml
20.04.16
✎
11:08
|
ПолныйКод() например, или Родитель.Родитель.Родитель... и т.д.
|
|||
4
FIXXXL
20.04.16
✎
11:09
|
ПолноеНаименование() разложить
|
|||
5
Масянька
20.04.16
✎
11:09
|
(3) ПолноеНаименование - не работает - элемент еще не записан.
Родитель.Родитель и т. д. - не кошерно. Пока - запасной вариант. |
|||
6
Масянька
20.04.16
✎
11:09
|
(4) Процедура ВводНового.
|
|||
7
Рэйв
20.04.16
✎
11:10
|
(0)Ну Об.Родитель=НайденаяСсылкаПапка
Как то так. |
|||
8
Timon1405
20.04.16
✎
11:11
|
(0) Рекурсивная функция поиска родителя. написать быстрее, чем тут мусолить.
|
|||
9
Масянька
20.04.16
✎
11:11
|
(7) Переведи...
|
|||
10
FIXXXL
20.04.16
✎
11:11
|
(6) ну а папка то есть уже у нового элемента? с нее прочитай ПолноеНаименование
ты уже спрашивала что-то похожее или у меня дежа вю |
|||
11
Рэйв
20.04.16
✎
11:11
|
(9)Ну сначала найди родителя которого хочешь иметь. пттом его присвой перед записью.
|
|||
12
Масянька
20.04.16
✎
11:12
|
(8) А я никуда не тороплюсь...
До пятницы - совершенно свободен (С) :))) Лучше день потерять - зато потом за пять минут долететь (С) :)) |
|||
13
Рэйв
20.04.16
✎
11:12
|
+(11) или выбрать дай перед записью группу.
|
|||
14
Рэйв
20.04.16
✎
11:13
|
++(11)или на форму выведи выбор родителя:-)
|
|||
15
AceVi
20.04.16
✎
11:13
|
(2) По порядку.
1. У тебя есть иерархия, при записи (пользователь ручками) пытаеться записать элемент справочника, при этом у элемента уже есть родитель, например 4 уровня, а тебе надо определить родителя 1 уровня? так? Есть 2 варианта 2а. Рекурсия по поиску родителя что то типа Процедура ПолучитьРодителя1ур(Родитель,Род1Ур = неопределено) Если Родитель.Уровень() <> 1 Тогда ПолучитьРодителя1ур(Родитель.Родитель) Иначе Род1Ур = Родитель; КонецЕсли; КонецПроцедуры 2б. В запросе выбрать все группы 1 уровня. и поставить условие в иерархии. |
|||
16
Timon1405
20.04.16
✎
11:15
|
(12) Тогда нужны подробности. Элемент создается программно? или интерактивно из формы списка?
|
|||
17
Масянька
20.04.16
✎
11:16
|
(15) 1. Именно.
2. А проще - не? |
|||
18
los_hooliganos
20.04.16
✎
11:16
|
(16) Какая разница? Это событие (манипуляции с верхним родителем) у любом случае лучше повесить на обработчика
|
|||
19
Рэйв
20.04.16
✎
11:20
|
(17)Проще только так
Род=ТекЭлемент.Родитель Пока НЕ Род.Пустая() Цикл Род=Род.Родитель; ЧтоНадо=Род; КонецЦикла; Сообщить("Вот верхний уровень:"+ЧтоНадо); ;-) |
|||
20
AceVi
20.04.16
✎
11:20
|
(17) куда тебе проще. как ты думаешь, должно выглядеть проще? Встроенной функции в 1С нету.
|
|||
21
Рэйв
20.04.16
✎
11:21
|
+(19)Правда придеся отследить чтобы не в верхнем уровне создовали.А то вообще не зайдет
|
|||
22
Рэйв
20.04.16
✎
11:21
|
+(19)Правда придеся отследить чтобы не в верхнем уровне создовали.А тро вообще не зайдет
|
|||
23
Масянька
20.04.16
✎
11:22
|
(20) Очень плохо - что встроенной нет.
Спасибо. |
|||
24
Карупян
20.04.16
✎
11:25
|
Почему Родитель.Родитель в цикле не кошерно?
|
|||
25
Timon1405
20.04.16
✎
11:29
|
Функция ВерхнийРодитель(Ссылка)
Родитель = Ссылка.Родитель; Возврат ?(Родитель.Пустая(),Ссылка,ВерхнийРодитель(Родитель)) ; КонецФункции |
|||
26
Mikeware
20.04.16
✎
11:29
|
(0)
1.При интерактивном вводе Родитель уже известен. это тебе отвечали еще пару месяцев назад. 2. ВерхнийРодитель=ЗначениеИзСтрокиВнутр(Шаблон("[ЗначениеВСтрокуВнутр(Спр"+СтрЗаменить(Формат("","С"+(Спр.Уровень()-1))," ",".Родитель")+")]")); ©РупорАбсурда |
|||
27
salvator
20.04.16
✎
11:30
|
(0) Выбрать запросом все группы, к которых нет родителя.
Затем при обходе выборки использовать метод ПринадлежитЭлементу() |
|||
28
Timon1405
20.04.16
✎
11:31
|
(27) это запрос в цикле.
|
|||
29
AceVi
20.04.16
✎
11:36
|
(28) Нет. это обход выборки запрос, по русски вроде написано.
(26) Это чет такое ? Я попробовал {Форма.Форма.Форма(35,40)}: Процедура или функция с указанным именем не определена (Шаблон) ВерхнийРодитель=ЗначениеИзСтрокиВнутр(<<?>>Шаблон("[ЗначениеВСтрокуВнутр(Спр"+СтрЗаменить(Формат("","С"+(Спр.Уровень()-1))," ",".Родитель")+")]")); (Проверка: Толстый клиент (обычное приложение)) |
|||
30
Mikeware
20.04.16
✎
11:39
|
(29) ТС - обычно по клюшкам глупые вопросы задает...
неужели она расширила область глупых вопросов? |
|||
31
Timon1405
20.04.16
✎
11:39
|
(29) "принадлежит элементу" преобразуется в запрос ГДЕ ... В ИЕРАРХИИ так что как его не назови, запрос в цикле и есть.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |