Имя: Пароль:
1C
1C 7.7
v7: Номенклатура - до записи элемента определить группу
,
0 Масянька
 
28.12.15
14:50
День добрый!

Как до записи элемента в справочник определить самую верхнюю группу?
Родитель - выбирает не самую верхнюю.

Спасибо.
1 ДаЛадно
 
28.12.15
14:51
Родитель родитель родитель
2 Масянька
 
28.12.15
14:53
(1) А как уровень определить?
3 ДаЛадно
 
28.12.15
14:53
1+1+1
4 Злопчинский
 
28.12.15
14:54
ПустойРодитель = ПолучитьПустоеЗначение("Справочник.Номенклатура");
Родитель = ЧтоТо
Пока Родитель.Родитель <> ПустойРодитель Цикл
  Родитель = Родитель.Родитель;
КонецЦикла;
5 ДенисЧ
 
28.12.15
14:54
Родитель.Уровень() + 1
6 Злопчинский
 
28.12.15
14:54
СП
см. Уровень()
7 HawkEye
 
28.12.15
14:55
(0) если нового, то до записи - никак ))) ты же его не записала еще, откуда систем тебе будет знать куда ты его запишешь ))))

если существующего.. Родитель в рекурсии ))
8 Масянька
 
28.12.15
14:56
(6) Сообщить("1 - " + Уровень()); в процедуре ВводНового пишет 0.
9 Масянька
 
28.12.15
14:56
(7) Фишка в том, что текущего родителя возвращает. А надо выше...
10 Mikeware
 
28.12.15
14:57
так у тебя он не записан. откудова известно, куды ты хочешь записать?
11 Mikeware
 
28.12.15
14:57
(9) ну тогда от известного родителя - ЗначениеИзСтрокиВнутр(Шаблон("[ЗначениеВСтрокуВнутр(Спр"+СтрЗаменить(Формат("","с"+(Спр.Уровень()-1))," ",".Родитель")+")]"));
12 Mikeware
 
28.12.15
14:58
+(11) тут Спр - это известный элемент или группа справочника
13 Mikeware
 
28.12.15
14:58
+(11) ©РупорАбсурда
14 HawkEye
 
28.12.15
14:59
(9) ты наверное в форме списка смотришь?
с чего ты решила, что текущий родитель = родителю нового элемента? )))

я же ответил, чтобы получить выше, надо написать функцию которая будет возвращать тебе родителя элемента/группы переданного в нее, а дальше рекурсией вызывать ее из самой себя )
15 Злопчинский
 
28.12.15
15:00
(7) неправ.
для нового элемента (по крайней мере при интерактивном вводе) - родитель определяется
16 Злопчинский
 
28.12.15
15:01
(8) Уровень работает только для ТЕКУЩЕГО элемента справочника, т.е. для выбранного.
17 HawkEye
 
28.12.15
15:01
(15) ну да )) вот прямо для этого элемента определяется? ))
определяется он у тебя не для этого элемента, а для текущего контекста и да... иногда он совпадет, но может и не совпасть, поэтому не надо про неправ )))
18 Масянька
 
28.12.15
15:02
(12) Сообщить("1 - " + ЗначениеИзСтрокиВнутр(Шаблон("[ЗначениеВСтрокуВнутр(Спр"+СтрЗаменить(Формат("","с"+(Спр.Уровень()-1))," ",".Родитель")+")]")));
пишет "1 - "
19 Mikeware
 
28.12.15
15:02
(15) так то при интерактивном. туда неявно 3,4 и 5 параметры передаются.
20 Масянька
 
28.12.15
15:02
(14) В форме элемента в ВводНового.
21 Mikeware
 
28.12.15
15:02
(18) замени Спр на Владелец
22 Злопчинский
 
28.12.15
15:04
Функция фуПолучитьВерхнегоРодителя(Родитель)
  текРодитель = Родитель;
  Пока 1=1 Цикл
    Если ПустоеЗначение(текРодитель.Родитель)=0 Тогда Продолжить; КонецЕсли;
    Возврат текРодитель;
  КонецЦикла;
КонецФункции
23 FIXXXL
 
28.12.15
15:04
в 8-ке есть ПолноеНаименование()
а в 7-ке?
24 Масянька
 
28.12.15
15:05
(21) Сообщить("1 - " + ЗначениеИзСтрокиВнутр(Шаблон("[ЗначениеВСтрокуВнутр(Владелец"+СтрЗаменить(Формат("","с"+(Спр.Уровень()-1))," ",".Родитель")+")]")));
тоже самое - пусто.
25 Масянька
 
28.12.15
15:05
(23) Элемент еще не записан.
26 HawkEye
 
28.12.15
15:06
(20) это контекст откуда вызвала... спокойно в коде можешь заменить его...

Функция лкмВернутьВерхнююГруппу(вхЭлемент)
  если пустоеЗначение(вхЭлемент.Родитель) = 1 Тогда
возврат вхЭлемент.Родитель
иначе
лкмВернутьВерхнююГруппу(вхЭлемент.Родитель);
конецЕсли
конецфункции

как-то так...
27 mikecool
 
28.12.15
15:06
емнип, ИспользоватьРодителя() вернет текущего родителя, ту папку, в которой создается элемент, дальше - рекурсией
28 FIXXXL
 
28.12.15
15:07
(25) дык ссылку Родителя проверь
какая разница?
29 Mikeware
 
28.12.15
15:08
(25) так что тебе мешает взять ПолноеНаименование() от Родителя?
30 Злопчинский
 
28.12.15
15:08
(17) угу, прямо для этого элемента. ибо при интерактивном вводе надо очень постараться, чтобы сработал интерактивный ввод нового, но при этом не быть в контексте формы списка справочника в опоределенной группе - тыт ак можешь? я навскидку - нет
31 Злопчинский
 
28.12.15
15:09
(22) Масяня по прежнему упорно не читает предлагаемые коды.
Мась, тебе прямо мультик записать? - достаточно будет? ;-)
32 Масянька
 
28.12.15
15:10
(28) Ты мог раньше прийти?!
Спасибо огромное!

PS Чую, что Новый год буду встречать с бутылкой коньяка в одной руке и ноутом в другой :(
33 Масянька
 
28.12.15
15:11
(31) Твой код из (22) у меня завис. Так что - не спасибо и не надо :)
34 Масянька
 
28.12.15
15:11
(28) Еще раз - СПАСИБО!
35 Mikeware
 
28.12.15
15:11
(24) ты действительно не видишь больше  слов "Стр"?
ну, для слепых...
Сообщить("1 - " + ЗначениеИзСтрокиВнутр(Шаблон("[ЗначениеВСтрокуВнутр(Родитель"+СтрЗаменить(Формат("","с"+(Родитель.Уровень()-1))," ",".Родитель")+")]")));
36 Mikeware
 
28.12.15
15:12
(32) а зачем тебе коньяк? чисто для запаха?
37 HawkEye
 
28.12.15
15:13
(30) я могу записать элемент совсем не в ту группу из контекста которого его открыли, поэтому по определению родителем этого элемента будет совсем другая группа )))
38 Temai
 
28.12.15
15:16
(33) Еще бы :D там условие цикла крутое!
39 HawkEye
 
28.12.15
15:18
(38) чем тебя условие не устраивает?
40 Масянька
 
28.12.15
15:20
ОФФ: подарите мне туфли. Я каблук сломала (тут не знаю - смеяться или плакать).
41 Mikeware
 
28.12.15
15:20
(40) коньяка перебрала?
42 Масянька
 
28.12.15
15:23
(41) Спокойно: коньяк в машине лежит. Хорошо, что не в руках несла... Тут бы рыдала однозначно.
43 Temai
 
28.12.15
15:23
(39) Не увидел с начало "Продолжить"
44 FIXXXL
 
28.12.15
15:26
(32) я семерку в глаза не видел :)
захожу в такие темы от скуки иногда
45 Злопчинский
 
28.12.15
15:26
(33) Масяня, я бы не был бы Злопом, если бы не вставил засаду... Конечно завис, там же переприсвоения в цикле нет... (на самом деле я тупо пропустил это)

http://screencast.com/t/ssK3p6dX0d
46 Злопчинский
 
28.12.15
15:26
(40) Участвуй в конкурсе бюстов - хватит и на туфли и на телефон в придачу!
47 Mikeware
 
28.12.15
15:27
(45) а чем тебе не нДравиЦЦо вариант Рупора?
48 Масянька
 
28.12.15
15:27
(45) Подарю тебе одну туфлю с отломанным каблуком :)
49 Масянька
 
28.12.15
15:27
(46) Не буду.
50 Mikeware
 
28.12.15
15:27
(44) клюшки пора забывать уже. а ТС их только осваивает...
51 Mikeware
 
28.12.15
15:28
(49) думаешь, оштрафуют? :-)))
52 Злопчинский
 
28.12.15
15:28
(40) никогда не парился по поводу сломанного и потерь. Но, говорят, для женщины - сломанный каблук - как неудавшийся половой акт для мужчины - несмываемое пятно на всю жизнь..? ;-)
53 Злопчинский
 
28.12.15
15:29
(48) А что, прикольно! ;-) Жена только прибьет - у нее же каблуки не сломанные - а я под каблуком...
54 Масянька
 
28.12.15
15:30
(52) Муж подарил (выбирала я). Классные туфли... Были...
Вот что скажет папа... (С)
55 Масянька
 
28.12.15
15:37
(44) Совсем вылетело... Я полное наименование для элемента пробовала... А про родителя забыла... И все из-за каблука... Куплю, блин, берцы.
56 Mikeware
 
28.12.15
15:40
(55) тазик с цементом...