![]() |
![]() |
![]() |
|
Определить старший уровень | ☑ | ||
---|---|---|---|---|
0
ацкий
23.11.05
✎
12:14
|
туплю. нужно пределить самый старший уровень у элемента в справочнике
|
|||
1
Рупор абсурда
23.11.05
✎
12:15
|
Уровень самого верхнего родителя?
|
|||
2
ацкий
23.11.05
✎
12:15
|
да
|
|||
3
SnarkHunter
23.11.05
✎
12:15
|
Что такое "старший уровень"?
|
|||
4
Рупор абсурда
23.11.05
✎
12:15
|
(2) 1
|
|||
5
PVasili
23.11.05
✎
12:16
|
Искать родителей
|
|||
6
NS
23.11.05
✎
12:16
|
род=ТекущийЭлемент();
Пока род.Родитель.Выбран()=1 цикл Род=Род.Родитель; КонецЦикла; сообщить(Род.Наименование); |
|||
7
SnarkHunter
23.11.05
✎
12:16
|
Я в шоке.
|
|||
8
ацкий
23.11.05
✎
12:16
|
у родителя искать родителя?
|
|||
9
PVasili
23.11.05
✎
12:17
|
во блин, отвечают, быстрее, чем вопрос задается :)))
|
|||
10
Рупор абсурда
23.11.05
✎
12:18
|
(6) Скучно ..., пОшло ...
|
|||
11
ацкий
23.11.05
✎
12:18
|
Ясно
(7) а ты по-моему постоянно в шоке или в ахтунге, уж не знаю |
|||
12
Рупор абсурда
23.11.05
✎
12:18
|
(6) Давай решение в одну строчку ...
|
|||
13
PVasili
23.11.05
✎
12:19
|
В запросе?
|
|||
14
NS
23.11.05
✎
12:20
|
Что поделаешь. Тупые 1Сники даже это написать не в состоянии...
(12) Только ежели нет в названии разделителей. Через ПолноеНаименование() - но это не сам элемент!!! Это его наименование. А чтоб его найти - нужна уникальность - либо кода, либо наименования, с отсутствием, как я уже сказал в наименовании разделителей... |
|||
15
SnarkHunter
23.11.05
✎
12:22
|
(11)Что поделаешь. Тупые 1Сники задают такие вопросы. от которых можно впасть только в шок...
|
|||
16
ацкий
23.11.05
✎
12:23
|
(15)следи за собой, будь осторожен
|
|||
17
Рупор абсурда
23.11.05
✎
12:27
|
(14) Учись:
ВерхнийРодитель=ЗначениеИзСтрокиВнутр(Шаблон("[ЗначениеВСтрокуВнутр(Спр"+СтрЗаменить(Формат("","С"+(Спр.Уровень()-1))," ",".Родитель")+")]")); |
|||
18
NS
23.11.05
✎
12:39
|
(17) Въехал.
Спасибо. |
|||
19
Simod
23.11.05
✎
12:51
|
(17) Прикольно, но по моему цикл будет быстрее. Надо проверить :-)
|
|||
20
PVasili
23.11.05
✎
12:52
|
(19) часто так и бывает красивый и краткий код работает на порядок тупого в лоб написанного.
|
|||
21
Terv
23.11.05
✎
12:56
|
(17) мдя круто,
за СтрЗаменить(Формат("","С"+(Спр.Уровень()-1))," ",".Родитель")+")]") , спасибо надо запомнить :) |
|||
22
GrayT
23.11.05
✎
14:38
|
(17)Вай как харашо.....
|
|||
23
Sirus Virus
23.11.05
✎
14:39
|
(17) Бог программирования с нами :)) ура
|
|||
24
Nag
23.11.05
✎
14:41
|
А как получить полное дерево? :)
|
|||
25
Рупор абсурда
23.11.05
✎
14:52
|
(24) Тут много таких ..., но самые полные, по-моему, это СаШка и Алекс_Парен ...
|
|||
26
skunk
23.11.05
✎
14:54
|
забыл про блондина... точнее полосатого блондина
|
|||
27
Nag
23.11.05
✎
14:56
|
Смешно... Но вопрос заключался в том, чтобы показать все дерево номенклатуры
Типа: Бытовая химия (группа) Порошки стиральные (группа) Импортные (группа) Henkel (группа) Порошок стиральный для автомат. машин 3 кг. (товар) |
|||
28
Рупор абсурда
23.11.05
✎
14:56
|
(26) Ну, что ты ...
Ты уже не дерево ..., ты по уровню уже давно где-то среди высших приматов ... |
|||
29
Рупор абсурда
23.11.05
✎
14:57
|
(27) Одной строчкой?
|
|||
30
Nag
23.11.05
✎
14:57
|
(29) Необязательно, просто наилучшее решение.
|
|||
31
skunk
23.11.05
✎
14:58
|
(28)это расценивать как поощрение
|
|||
32
Рупор абсурда
23.11.05
✎
15:02
|
(30) Скучное и пОшлое?
|
|||
33
Широкий
23.11.05
✎
15:02
|
Через полный код попробуй
|
|||
34
LOD
23.11.05
✎
15:03
|
(32) А ты это сам додумался или вместе с кем ? И долго думали
Супер ! Этож надо так мысль завернуть ... Яб решил типовым ... и даже не задумался что можно в одну строчку ЗначениеИзСтрокиВнутр(Шаблон("[ЗначениеВСтрокуВнутр(Спр"+СтрЗаменить(Формат("","С"+(Спр.Уровень()-1))," ",".Родитель")+")]")); |
|||
35
LOD
23.11.05
✎
15:03
|
(34) + Аплодисменты
|
|||
36
Nag
23.11.05
✎
15:04
|
(33) Я знаю, как решить через полный код...
|
|||
37
Рупор абсурда
23.11.05
✎
15:08
|
(33,36) Так делают чайники ...
|
|||
38
LOD
23.11.05
✎
15:09
|
(37) ответь на (34)
|
|||
39
Nag
23.11.05
✎
15:12
|
(37) А как делают не чайники?
|
|||
40
NS
23.11.05
✎
15:12
|
Процедура получитьРодителя(род)
Если род.Родитель.Выбран()=1 тогда получитьРодителя(род.родитель); КонецЕсли; сообщить(род.наименование); КонецПроцедуры ПолучитьРодителя(спр.ТекущийЭлемент()); |
|||
41
Рупор абсурда
23.11.05
✎
15:17
|
(38) Я даже и не думал почти ...
Это решение пришло в голову почти сразу, как только решил выдумать какое-нибудь извращённое решение ... |
|||
42
LOD
23.11.05
✎
15:28
|
(41) Достойно уважения !
Тут даже и говорить о таких решениях как в (40) неразумно (40) А представь если он подумает над этим вариантом ... ;) Вдруг напишет в одну строчку ? ;))))))) |
|||
43
Иде я
23.11.05
✎
15:34
|
Род=?(Эл.Уровень()=1,Эл,?(Эл.Уровень()=2,Эл.Родитель,Эл.Уровень()=3,Эл.Родитель.Родитель,)));
|
|||
44
Широкий
23.11.05
✎
15:37
|
(43) Ну да ... тоже самое и рупор написал... (42) не забудь его добавить в книжку, кого не забыть поуважать
|
|||
45
skunk
23.11.05
✎
15:39
|
(43)а если не знать заранее количество родителей.
|
|||
46
Широкий
23.11.05
✎
15:40
|
(45) максимум 10
|
|||
47
Рупор абсурда
23.11.05
✎
15:41
|
(46) Спорнём смогу сделать 20? ...
|
|||
48
LOD
23.11.05
✎
15:42
|
(45) Вот в этом то и суть всей мысли Рупор абсурда, он не упирается в этот критерий
(43) Это решение равно по силе простому перебору |
|||
49
Широкий
23.11.05
✎
15:44
|
(47) документировано вроде не больше 10 ... я не знаю как сделать 20 ... но думаю, что через дырки в 1с
|
|||
50
ooki
23.11.05
✎
15:45
|
можете закидать меня гнилыми помидорами, но я бы использовала код из (6, 40), не (17). Код должен быть прост и понятен тем, кто после меня будет работать с ним.
|
|||
51
Иде я
23.11.05
✎
15:46
|
Обычно вы знаете скока уровней у конкретного справочника :)
|
|||
52
Рупор абсурда
23.11.05
✎
15:46
|
(49) Спорить не будешь?
|
|||
53
LOD
23.11.05
✎
15:46
|
(44) А ты, случаем не завидуешь ему ?
|
|||
54
Широкий
23.11.05
✎
15:47
|
(50) забавно, но я так тоже думаю..
(51) Претензии на универсальность (52) Нет... не спорю, в чем не уверен (53) Чему завидовать? |
|||
55
skunk
23.11.05
✎
15:47
|
(50)а что в непонятного и сложного в (17)
(51)а завтра я решу изменить количества уровней справочника, или не я, а кто-то вместо меня ;)) |
|||
56
Рупор абсурда
23.11.05
✎
15:48
|
Мне решение в (43) нравится!
|
|||
57
Иде я
23.11.05
✎
15:49
|
Кстати (43) Можно расширитоь до упора
|
|||
58
GrayT
23.11.05
✎
15:50
|
(50)Немного утрируя - а если после тебя будут работать дауны?
|
|||
59
Рупор абсурда
23.11.05
✎
15:51
|
(50) Однострочные решения иногда бывают необходимы ...
Например, когда нельзя менять конфигурацию, но нужно вывести что-то на внешней печатной форме. |
|||
60
ooki
23.11.05
✎
15:51
|
(55)понятно, но не наглядно
это как с обменом данными между двумя переменными. Можно написать наглядно, используя третью переменную. А можно не использовать. Но это не будет настолько просто и понятно. По крайней мере на первый взгляд. |
|||
61
ooki
23.11.05
✎
15:52
|
(59)если действительно есть необходимость, то конечно
|
|||
62
Рупор абсурда
23.11.05
✎
15:54
|
(61) Ты права, (17) я написал больше для выпендрежу ...
|
|||
63
ooki
23.11.05
✎
15:58
|
(62)судя по откликам народа тебя тут и так уважают :) А вообще оригинальные решения всегда всем нравятся, даже если ими и не пользуются.
|
|||
64
skunk
23.11.05
✎
16:09
|
(60)не знаю... но всегда стараюсь максимально упростить код
|
|||
65
Золушок
23.11.05
✎
16:15
|
Могу заметить одно. Я предпочту Серегин, а не Лешкин, вариант. Ибо для дальнейшего сопровождения не только автором, но и другими специалистами, Серегин вариант предпочтительней на порядок.
|
|||
66
skunk
23.11.05
✎
16:22
|
(65)Сереги вариант можно было победить и без рекруссии
|
|||
67
Guk
23.11.05
✎
16:24
|
(66) А где в первом варианте рекурсия?...
|
|||
68
skunk
23.11.05
✎
16:26
|
(67)сорри ... я не сначала ветку смотрел... а открываю только последнии двадцать...
|
|||
69
NS
23.11.05
✎
16:26
|
(66) Тогда со стеком.
Без стека и рекурсии - 40 не делается. Ну, только ежели собирать строку... род=ТекущийЭлемент(); стр=сокрлп(род.наименование); Пока род.Родитель.Выбран()=1 цикл Род=Род.Родитель; стр=сокрлп(Род.Наименование)+разделительСтрок+стр; КонецЦикла; сообщить(стр); |
|||
70
Минона
23.11.05
✎
16:33
|
2(69) А не проще стрЗаменить( ПолноеНаименование, "/", РазделительСтрок) ?
|
|||
71
skunk
23.11.05
✎
16:36
|
(69)почему... вариант в 6... работает
|
|||
72
NS
23.11.05
✎
16:36
|
(70) А ежели "/" в наименовании?
|
|||
73
Рупор абсурда
23.11.05
✎
16:44
|
(65) А если поставлю тебе задачу я?
|
|||
74
Минона
23.11.05
✎
16:48
|
2(72) тады лажа.
вот ведь, с пробелами гимор, со слешами лажа .. |
|||
75
Nag
23.11.05
✎
17:12
|
Мда... Мое решение даже неудобно как то выставлять... Счас начнется критика, что это полный отстой и попытка почесать правое ухо левой ногой... Но я не гордый. Работает, и ладно. И потомки разберутся (надеюсь), код несложный...
Процедура Сформировать() Товар = СоздатьОбъект("Справочник.Номенклатура"); Товар.НайтиПоКоду("00041515"); ПолныйКод = СокрЛП(Товар.ПолныйКод())+"/"; Пока Найти(ПолныйКод, "/") <> 0 Цикл Код = Лев(ПолныйКод, Найти(ПолныйКод, "/") - 1); Товар.НайтиПоКоду(Код); Сообщить(Товар); Пока Лев(ПолныйКод, 1)<>"/" Цикл ПолныйКод=Сред(ПолныйКод, 2); КонецЦикла; ПолныйКод = Сред(ПолныйКод, 2); КонецЦикла; КонецПроцедуры |
|||
76
Рупор абсурда
23.11.05
✎
17:21
|
(75) Только он неуниверсальный ..., т.е. на некоторых справочниках может и не заработать вовсе ...
|
|||
77
Nag
23.11.05
✎
17:22
|
+(75) В общем то я уже как то высказывался на эту тему на сайте... Если вдруг надо скопировать справочник ТМЦ в некую копию справочника, но при этом копировать только то, что есть в наличии... Тогда сначала тупо очищается полностью весь копия-справочник, затем идет запрос к регистру остатка ТМЦ и при Ост > 0 создается новый элемент в копии справочника. Причем необходимо скопировать и структуру самого справочника ТМЦ ... Следовательно, надо сначала найти и сразу же создать каталог верхнего уровня, потом второго и т.д. до самого элемента ... писалось все это под конкретную контору с конкретным трудностями в базе...
|
|||
78
Рупор абсурда
23.11.05
✎
17:22
|
(75) Тебе нужно твёрдо усвоить, что делать так ни при каких обстоятельствах нельзя ...
|
|||
79
Nag
23.11.05
✎
17:23
|
(78) Почему?
|
|||
80
skunk
23.11.05
✎
17:24
|
(76)рискну предположить... не заработает на тех где CodeLength вернет 0... да?
|
|||
81
Рупор абсурда
23.11.05
✎
17:24
|
(79) Чтоб не попасться ...
|
|||
82
Nag
23.11.05
✎
17:26
|
(81) На грабли? :) А конкретнее, вдруг заказчик наступит и на меня обидится...
|
|||
83
Рупор абсурда
23.11.05
✎
17:26
|
(80) Да, например ...
Или на тех где отключен контроль уникальности, или на подчиненных где уникальность в пределах подчинения, или на глючных, где нарушена уникальность ... |
|||
84
Nag
23.11.05
✎
17:28
|
(83) Ага... Уникальность... Вот об этом я и не подумал...
|
|||
85
Nag
23.11.05
✎
17:30
|
(80) Насчет вернет ПолныйКод = 0 Хм... Вложу защиту, что такой элемент вывалить в окно сообщений и послать юзверя исправлять данный баг.
Сенкс. |
|||
86
skunk
23.11.05
✎
17:32
|
(83)то есть данное равенство верно Скунс = ВысшийПримат
(85)Вообщето это ДлинаКода |
|||
87
Рупор абсурда
23.11.05
✎
17:32
|
(85) Он не про полный код, а про нулевую длину кода ..., т.е. про справочники вообше без кода ...
|
|||
88
Nag
23.11.05
✎
17:35
|
Ну... C аглицким не знаком и самонадеянно решил, что это полный код, спасибо за аккуратный щелчок по высоко задранному носу... :)
Нулевая длина... Верно, это решение его не поддержит. Значица, будем посмотреть, когда возникнет аналогичная задача, вышеописанные решения... |
|||
89
Nag
23.11.05
✎
17:39
|
А уникальность в пределах подчинения легко обойти с помощью ИспользоватьРодителя.
|
|||
90
Рупор абсурда
23.11.05
✎
17:41
|
(89) Кого?
|
|||
91
Nag
23.11.05
✎
17:45
|
Ну по данному решению сначала находится каталог верхнего уровня. Затем второго, и т.д. если искать по коду с флагом 1 внутри предидущего каталога...
НайтиПоКоду(<?>,); Синтаксис: НайтиПоКоду(<Код>,<ФлагПоиска>) Назначение: Найти элемент справочника по коду. Возвращает: 1 - если действие выполнено; 0 - если действие не выполнено (элемент не найден). Параметры: <Код> - выражение со значением искомого кода, <ФлагПоиска> - флаг поиска (необязателен): 0 - поиск во всем справочнике вне зависимости от родителя; 1 - поиск внутри установленного подчинения (родителя); |
|||
92
skunk
23.11.05
✎
17:55
|
91) не понял
|
|||
93
Guk
23.11.05
✎
17:57
|
Мдя. Инженеры знаний. Кто третий эту ветку в БЗ добавит?...
|
|||
94
fisher
23.11.05
✎
18:07
|
Не пойму, с чего народ прется...
Наверное, уже стар стал. Мне почему-то нравятся наглядные и быстрые решения. Лучше чем (6) тут, ИМХО, ничего не предумаешь. ЗЫ. И вообще, если будет два варианта решения, одно из которых будет чуть менее производительно, но более наглядно, то я выберу его. |
|||
95
AAAChel
23.11.05
✎
20:56
|
я тоже согласен, что (6) - понятное и лучшее и решение, и о какой производительности идет речь при 2-6 уровнях ? Это мгновения. Улучшать надо минуты, или хотя бы секунды. Я думаю, что у многих была эта "задачка" и большинство так и делают
|
|||
96
Guk
23.11.05
✎
21:06
|
(94) Ты я смотрю диалектики не понимаешь. Как в (6) каждый может. Ты попробуй как Рупор! Банальную задачу изъеппнуть так, что потом не все даже въехали, как это произошло, это талант надо иметь. Нужен ли такой талант? Не знаю.
Если бы я увидел такой код у подрядчика или своего подчиненного, то дал бы ему звизды. И не потому что я не понял код Рупора, а потому что я на работе, а не на разгадке шарад, когда мне приходится напрягать мосх, только для того, чтобы понять код для простейшей задачи... |
|||
97
Забыл
26.11.05
✎
08:11
|
Подождите добавлять, пожалуйста. Я не понял, многие наверное тоже.
Раскладываю по частям: п1 =Формат("","С"+(Спр.Уровень()-1)); п2 =СтрЗаменить(п1," ",".Родитель"); п3 =Шаблон("[ЗначениеВСтрокуВнутр(Спр"+п2+")]"); ВерхнийРодитель=ЗначениеИзСтрокиВнутр(п3); Форматная строка возвращает пустую строку. Зачем она нужна? |
|||
98
skunk
26.11.05
✎
08:53
|
попробуй без нее
|
|||
99
Забыл
26.11.05
✎
09:02
|
да я знаю что не работает. не врубаюсь как он наверх спрыгивает. объясните поподробнее.
|
|||
100
Guk
26.11.05
✎
09:03
|
100?...
|
|||
101
skunk
26.11.05
✎
09:05
|
101 - износ
|
|||
102
Забыл
26.11.05
✎
09:06
|
хорошо бы в базу знаний то с объяснением? как это работает.
|
|||
103
skunk
26.11.05
✎
09:09
|
грубо... но это работает вот так
Пока род.Родитель.Выбран()=1 цикл Род=Род.Родитель; КонецЦикла; |
|||
104
Забыл
26.11.05
✎
09:13
|
этот код понятен, прозрачен. Я не понял то что Рупор написал
|
|||
105
Забыл
26.11.05
✎
09:14
|
Например, можно ли этим методом не самый старший уровень определить а просто верхний
|
|||
106
skunk
26.11.05
✎
09:16
|
(104) приблизительно тоже... но в одну строку )))
(105)просто верхний можно определить по атрибуту Parent... |
|||
107
Забыл
26.11.05
✎
09:18
|
skunk, будь человеком, объясни ЧТО формат возвращает. НЕ цитатой из СП.
|
|||
108
Забыл
26.11.05
✎
09:20
|
(106) второй по старшинству?
|
|||
109
skunk
26.11.05
✎
09:29
|
начни смотреть, что вернет ЗначениеВСтрокуВнутр
|
|||
110
Забыл
26.11.05
✎
09:36
|
(109) возврщает {"U","0","0","0","0","0",""}
|
|||
111
Забыл
26.11.05
✎
09:38
|
ай, случайно нажал (110). И что? Это уровни справочника?
|
|||
112
skunk
26.11.05
✎
09:40
|
ЗначениеИзСтрокиВнутр(ЗначениеВСтрокуВнутр(МойСпавочник)) - что получишь на выходе
|
|||
113
Забыл
26.11.05
✎
09:42
|
(112) МойСправочник. Или нет?
|
|||
114
skunk
26.11.05
✎
09:47
|
да... пока правильно ...
теперь, что бы МойСправочник был родителем верхнего уровня |
|||
115
skunk
26.11.05
✎
09:47
|
правильно?
|
|||
116
Забыл
26.11.05
✎
09:51
|
Нужно выбирать Родителей в цикле до конца. Все равно не понял
|
|||
117
skunk
26.11.05
✎
09:55
|
ну грубо весь сотальной изврат сформирует строку
что-то типа Спр.Родитель.Родитель.Родитель ........ |
|||
118
Забыл
26.11.05
✎
10:04
|
Идею понял. Реализацию нет. skunk, если пошло в базу знаний, неплохо бы разжевать. Вряд ли я один такой тупой. Почему у меня работает пошагово (97). Что возвращает Формат()
|
|||
119
skunk
26.11.05
✎
10:12
|
из меня плохой жеватель... тем более, часть фишки я сам не просекаю...
а формат в идеии ... вернет пустую строку... |
|||
120
Забыл
26.11.05
✎
10:39
|
Формат возвращает пустую строку. Так зачем он нужен? Хотелось бы приоткрыть истыну.
|
|||
121
skunk
26.11.05
✎
10:44
|
это если смотреть явно... но ведь там стоит используеться еще и шаблон
|
|||
122
Забыл
26.11.05
✎
10:50
|
(121) Ха, вот об этом я думаю. Как тогда смотреть? Пустая строка она и есть. А без нее не работает.
|
|||
123
skunk
26.11.05
✎
11:03
|
не знаю... может сам Рупор захочет разжевать... но наколка тут именно с шаблоном
|
|||
124
Забыл
26.11.05
✎
11:03
|
Я не успокоюсь, пока не пойму. Не люблю что-то не понимать. Как же технично обходят вниманием эту ветку разные другие старожилы. Только Скунку не стремно признаться (119). Респект и уважуха Скунку.
|
|||
125
skunk
26.11.05
✎
11:11
|
стремно когда видно... не буду говорить что )))
просто мне самому интересно узать секрет данного фокуса... сижу кручу... верчу... и не пойму, где туплю |
|||
126
Забыл
26.11.05
✎
11:12
|
(123) У Рупора частенько в кодах Шаблон какой-нибудь прикол делает. Шаблон() вообще классная функция. имхо в 1С две вещи которые мне очень нравятся и их нет в других языках -Шаблон() и ТЗ
|
|||
127
skunk
26.11.05
✎
11:15
|
(126)ТЗ ... можно реализовать...
|
|||
128
Забыл
26.11.05
✎
11:17
|
TStringList? уже реализовано. Ближе к делу.
|
|||
129
skunk
26.11.05
✎
11:24
|
(128)TStringList не много не то...
|
|||
130
Забыл
26.11.05
✎
11:27
|
(129) За это мне и нравится ТЗ. ;) а реализовывать ее зачем? Другие задачи-другие решения.
|
|||
131
skunk
26.11.05
✎
11:30
|
ладно уходим от темы... а то Рупор и не поймент, что от него хотели... толи реализовать ТЗ на сипе... то ли объяснить бестолковым в чем суть (верблюды) ... фишки шаблон... в данном примере
|
|||
132
Забыл
26.11.05
✎
11:34
|
(131) Согласен. Знаешь, перед тем как поднять эту ветку, я два дня думал. И не понял в чем фишка Шаблона(). Я короче буду ее поднимать, пока кто-нибудь не признается в чем прикол (17).
|
|||
133
skunk
26.11.05
✎
11:37
|
(132)а я поробую у Рупора спросить... может захочет ответить
|
|||
134
GrayT
26.11.05
✎
11:41
|
(133)Хочешь сказать, что не въехал в 17?
|
|||
135
skunk
26.11.05
✎
11:44
|
точнее хочу сказать не могу вкурить как он раскрутил Спр.Родитель... до нужного Родителя
|
|||
136
Guk
26.11.05
✎
11:45
|
Код Рупора достаточно понятен. Для меня по крайней мере. Но, см. (96)...
|
|||
137
Забыл
26.11.05
✎
11:49
|
(136) Многоуважаемый!!! Объясните нам бестолковым. Люблю разгадывать шарады... Но сдаюсь. имхо: Рупор-извращенец от 1С
|
|||
138
GrayT
26.11.05
✎
11:49
|
Сперва накидал форматом столько пробелов сколько уровне, Стр заменить заменила пробелы на ".Родитель". Шпблон позволил расчитать строку динамически, но он возвращает строку, а нужен был объект. Поэтому Рупор вернул внутреннее представление (как строка), а потом из внутреннего представления получил объект.
Вот как он до этого додумался - это да.... Согласен - см 96 |
|||
139
Забыл
26.11.05
✎
11:58
|
Снимаю шляпу. Но Рупор -извращенец. Ему наверное защиту конфы не нужно делать - все равно такой код понять не каждому.
|
|||
140
GrayT
26.11.05
✎
12:03
|
Однажды при обсуждении защиты конфигураций Рупор брякнул - я и штатными средствами замучу код так, что фиг кто въдет. Знаешь - я ему верю :))))
|
|||
141
skunk
26.11.05
✎
12:05
|
я за это думал... но видать я точно примат...
message(strlen(format("", "C" + (Level() - 1)))); возвращает 0 message(strlen(format("", "C" + (CurrentItem().Level() - 1))));возвращает 0 message(strlen(strreplace(format("", "C" + (Level() - 1)), " ", ".Родитель"))); возвращает 0 message(strlen(strreplace(format("", "C" + (CurrentItem().Level() - 1)), " ", ".Родитель"))); возвращает 0 |
|||
142
skunk
26.11.05
✎
12:06
|
и все таки она вертиться.... ((((
|
|||
143
skunk
26.11.05
✎
12:08
|
(140)как ни странно ... я тоже... верю
|
|||
144
Забыл
26.11.05
✎
12:37
|
Инженеры знаний! Добавьте (138) в страницу знаний. И (140) -на самое видное место
|
|||
145
GrayT
26.11.05
✎
12:45
|
Опа, вот это косяк - пометил 138, а галки на все встали :(
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |