|
v7: Смена родителя | ☑ | ||
---|---|---|---|---|
0
kupec
17.02.12
✎
11:03
|
Добрый день !!! Подскажите как перенести все элементы справочника в его корень ? Написал процедуру но не работает до конца правильно, я как понимаю при смене родителя нарушается выборка, и соответственоо переносятся не все элементы !!!
С=СоздатьОбъект("Справочник.Товары"); С.ПорядокКодов(); С.ВыбратьЭлементы(); Пока С.ПолучитьЭлемент()=1 Цикл Если С.ЭтоГруппа()=0 Тогда С.Родитель=""; С.Записать(); КонецЕсли; КонецЦикла; |
|||
1
План счетов
17.02.12
✎
11:06
|
да, совершенно верно!
|
|||
2
kupec
17.02.12
✎
11:06
|
(1) как то это можно обойти ?
|
|||
3
План счетов
17.02.12
✎
11:07
|
Если С.ЭтоГруппа()=0 Тогда
С.Родитель=""; С.Записать(); С.ВыбратьЭлементы(); КонецЕсли; |
|||
4
kupec
17.02.12
✎
11:08
|
спасибо
|
|||
5
kupec
17.02.12
✎
11:09
|
(3) получается бесконечны цикл !!!
|
|||
6
План счетов
17.02.12
✎
11:10
|
(5) Подумай, как обойти.
|
|||
7
План счетов
17.02.12
✎
11:11
|
Подсказка:
ПустоеЗначение С.Родитель Если |
|||
8
kupec
17.02.12
✎
11:11
|
может сделать перебор чисел, например найти наибольший код товара, и в цикле перебирать коды, ну и соответственно если найдется то менять родителя
|
|||
9
План счетов
17.02.12
✎
11:12
|
(8) тогда лучше буквы алфавита перебирать, их меньше.
|
|||
10
kupec
17.02.12
✎
11:13
|
если пустоезначение родителя тогда выбратьэлементы не делать чтоли ?
|
|||
11
viktor_vv
17.02.12
✎
11:14
|
А не проще
С.ВыбратьЭлементы(0); |
|||
12
Voronve
17.02.12
✎
11:14
|
С=СоздатьОбъект("Справочник.Товары");
СД=СоздатьОбъект("Справочник.Товары"); С.ПорядокКодов(); С.ВыбратьЭлементы(); Пока С.ПолучитьЭлемент()=1 Цикл Если С.ЭтоГруппа()=0 Тогда СД.НайтиЭлемент(С.ТекущийЭлемент()); СД.Родитель=""; СД.Записать(); КонецЕсли; КонецЦикла; |
|||
13
viktor_vv
17.02.12
✎
11:15
|
По идее в таком варианте не должна нарушаться выборка.
|
|||
14
kupec
17.02.12
✎
11:18
|
(11) Спасибо !!! Работает !!!
|
|||
15
Ёпрст
17.02.12
✎
11:21
|
(0)
update $Справочник.Товары set parentid = :ПустойИД where isfolder =2 или С.ВыбратьЭлементы(0); и закомментить С.ПорядокКодов(); |
|||
16
Баклажанов
17.02.12
✎
11:38
|
родитель http://goo.gl/GiLcc
|
|||
17
Ёпрст
17.02.12
✎
11:39
|
(16) забей себе гвоздь в голову, пока не поздно
|
|||
18
Эльниньо
17.02.12
✎
12:25
|
(15) В прямых нуб. Случаем не все элементы спр-ка окажутся без папы?
А где where на конкретного родителя? |
|||
19
ДенисЧ
17.02.12
✎
12:27
|
(18) А зачем вере, если условие стоит "все"?
|
|||
20
Эльниньо
17.02.12
✎
12:42
|
(19) Ну да. Плохо сабж прочитал.
|
|||
21
Ёпрст
17.02.12
✎
12:54
|
(18) нет, только элементы - в "вере" стоит условие на исфолдер
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |