Как перенести элемент справочника из группы в "корень" справочника программно?
30.03.2006
10:57
#1
"Требуется изменить Родителя элемента справочника, а именно - сделать так, чтобы он не входил ни в какую группу.
Пишу так:
Спр.ВыбратьЭлементы;
Пока Спр.ПолучитьЭлемент()=1 Цикл
ТекЭл=Спр.ТекущийЭлемент();
Если (ТекЭл.ЭтоГруппа()=0) и (ТекЭл.Уровень()>1) Тогда
ТекЭл.Родитель=ПолучитьПустоеЗначение("Справочник.Номенклатура");
КонецЕсли;
КонецЦикла;
Выдает: Объект не может быть перепозиционирован!
Похожий вопрос нашла на форуме, но четкого ответа там нет.
Подскажите, пожалуйста, может я что не так делаю? "
Пишу так:
Спр.ВыбратьЭлементы;
Пока Спр.ПолучитьЭлемент()=1 Цикл
ТекЭл=Спр.ТекущийЭлемент();
Если (ТекЭл.ЭтоГруппа()=0) и (ТекЭл.Уровень()>1) Тогда
ТекЭл.Родитель=ПолучитьПустоеЗначение("Справочник.Номенклатура");
КонецЕсли;
КонецЦикла;
Выдает: Объект не может быть перепозиционирован!
Похожий вопрос нашла на форуме, но четкого ответа там нет.
Подскажите, пожалуйста, может я что не так делаю? "
30.03.2006
21:27
#2
"Пускай длинно, но верно:
Спр = СоздатьОбъект("Справочник.<вид справочника>");
Спс=СоздатьОбъект("СписокЗначений");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()=1 Цикл
Если (Спр.ЭтоГруппа()=0) и (Спр.Уровень()>1) Тогда
Спс.ДобавитьЗначение(Спр.ТекущийЭлемент());
КонецЕсли;
КонецЦикла;
Для Сч=1 По Спс.РазмерСписка() Цикл
Спр.НайтиЭлемент(Спс.ПолучитьЗначение(Сч));
Спр.Родитель="""";
Спр.Записать();
КонецЦикла;
"
Спр = СоздатьОбъект("Справочник.<вид справочника>");
Спс=СоздатьОбъект("СписокЗначений");
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()=1 Цикл
Если (Спр.ЭтоГруппа()=0) и (Спр.Уровень()>1) Тогда
Спс.ДобавитьЗначение(Спр.ТекущийЭлемент());
КонецЕсли;
КонецЦикла;
Для Сч=1 По Спс.РазмерСписка() Цикл
Спр.НайтиЭлемент(Спс.ПолучитьЗначение(Сч));
Спр.Родитель="""";
Спр.Записать();
КонецЦикла;
"
30.03.2006
21:46
#3
"спр=СоздатьОбъект("Справочник.Номенклатура");
спр.ВыбратьЭлементы(0);
пока спр.получитьэлемент()=1 цикл
если спр.Текущийэлемент().ЭтоГруппа()=0 тогда
спр.Родитель="""";
спр.записать();
конецесли;
конеццикла;"
спр.ВыбратьЭлементы(0);
пока спр.получитьэлемент()=1 цикл
если спр.Текущийэлемент().ЭтоГруппа()=0 тогда
спр.Родитель="""";
спр.записать();
конецесли;
конеццикла;"
Читают тему
(гостей: 1)