|
Обход строк дерева | ☑ | ||
---|---|---|---|---|
0
bUbA
22.05.13
✎
12:04
|
Есть такая процедура
Процедура ОбойтиСтрокиДерева(ДеревоЗагрузки) дзНаше = Новый ДеревоЗначений; Для Каждого СтрокаДерева ИЗ ДеревоЗагрузки.Строки Цикл Если ЭлементыФормы.ДеревоЗагрузки.ТекущаяСтрока.ЭтоГруппа = Ложь Тогда Продолжить; КонецЕсли; НС = ДеревоЗагрузки.Строки.Добавить(); ЗаполнитьЗначенияСвойств(НС,дзНаше); КонецЦикла; дзНаше.ВыбратьСтроку(); КонецПроцедуры Необходимо, чтобы строки дерева заполнялись только элементами. Что здесь не так? |
|||
1
Maxus43
22.05.13
✎
12:06
|
что не работает говори, или надо догадаться?
и это чего? Если ЭлементыФормы.ДеревоЗагрузки.ТекущаяСтрока.ЭтоГруппа = Ложь Тогда ? работает разве? |
|||
2
bUbA
22.05.13
✎
12:10
|
(1) если курсор установлен на группе, то получается какой то бесконечный цикл, а если на элементе, то появляется просто пустая строка
|
|||
3
Alex S D
22.05.13
✎
12:12
|
бред какой-то, обходишь дерево и туда же добавляешь строки?
|
|||
4
1Сергей
22.05.13
✎
12:13
|
(3) + 1
|
|||
5
Maxus43
22.05.13
✎
12:14
|
Обходи копию дерева, а добавляй в доугое
|
|||
6
Maxus43
22.05.13
✎
12:15
|
ЗаполнитьЗначенияСвойств(НС,дзНаше);
дак дзНаше - пустая, чо заполнить хочешь? |
|||
7
Alex S D
22.05.13
✎
12:16
|
видимо так надо
НС = дзНаше.Строки.Добавить(); |
|||
8
Alex S D
22.05.13
✎
12:16
|
+ ЗаполнитьЗначенияСвойств(НС,СтрокаДерева);
|
|||
9
bUbA
22.05.13
✎
12:19
|
(8) теперь на группе бесконечного цикла нету, но всё равно ДЗ пустое получается
|
|||
10
1Сергей
22.05.13
✎
12:20
|
(9) колонки ещё надо создать
|
|||
11
Alex S D
22.05.13
✎
12:20
|
пустое, у тебя же колонок нет там
|
|||
12
Maxus43
22.05.13
✎
12:20
|
(9) тут задача не программирования, а простой логике.
Да и дзНаше у тебя абсолютно пуста, без колонок. что он будет добавлять? |
|||
13
bUbA
22.05.13
✎
12:23
|
(12) а если очистить это дерево и туда же добавить результаты этой процедуры?
|
|||
14
Maxus43
22.05.13
✎
12:24
|
(13) какое очистить?
дзНаше = ДеревоЗагрузки.Скопировать(); дзНаше.Очистить(); так хоть одинаковая структура будет |
|||
15
bUbA
22.05.13
✎
12:28
|
(14) почему то всё равно пустые строки получаются, даже с колонками
|
|||
16
Alex S D
22.05.13
✎
12:28
|
(15) а где ты смотришь? в отладчике?
|
|||
17
Maxus43
22.05.13
✎
12:29
|
(15) смотри отладчиком, там увидишь где косяк поидее
|
|||
18
bUbA
22.05.13
✎
12:31
|
ну а как допустим сделать так, чтобы выбирались все элементы открытой группы, независимо установлен там курсор или нет?
|
|||
19
Alex S D
22.05.13
✎
12:33
|
не понял...
|
|||
20
bUbA
22.05.13
✎
12:36
|
(19) т.е. при нажатии на кнопку ДеревоЗагрузки очищалось и вместо него там появлялись все элементы, которые ранее входили в группу в очищенном дереве
|
|||
21
Alex S D
22.05.13
✎
12:42
|
это правила обмена?
|
|||
22
bUbA
22.05.13
✎
12:48
|
(21) это вы о чём?
сейчас это ДЗ заполняется, но совсем не так как надо, если курсор установлен на элементе, то появляется пустая строка. Если на группе, то открываются не все элементы этой группы, а копируется просто строка с её названием дзНаше = ДеревоЗагрузки.Скопировать(); дзНаше.Строки.Очистить(); Для Каждого СтрокаДерева ИЗ ДеревоЗагрузки.Строки Цикл Если ЭлементыФормы.ДеревоЗагрузки.ТекущаяСтрока.ЭтоГруппа = Ложь Тогда Продолжить; КонецЕсли; НС = дзНаше.Строки.Добавить(); ЗаполнитьЗначенияСвойств(НС,СтрокаДерева); КонецЦикла; дзНаше.ВыбратьСтроку(); |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |