1с 7.7 Бухгалтерия для Украины. Хочу изменить родителя в контрагента, работает:
Процедура групаудал()
Если ПустоеЗначение(ТекущийЭлемент())=1 Тогда Возврат; КонецЕсли;
Если ТекущийЭлемент().ЭтоГруппа()=1 Тогда Возврат; КонецЕсли;
Элемент=СоздатьОбъект("Справочник.Контрагенты");
Элемент.найтиЭлемент(ТекущийЭлемент());
Элемент.Родитель="";
Элемент.Записать();
КонецПроцедуры
Процедура групаудалл()
СписокЭлементов = СоздатьОбъект("СписокЗначений");
Элемент=СоздатьОбъект("Справочник.Контрагенты");
Элемент.ВыбратьЭлементы();
Пока Элемент.ПолучитьЭлемент()=1 Цикл
Элемент.Родитель="";
Элемент.Записать();
КонецЦикла;
КонецПроцедуры
// вне цикла
ПустойРодитель = ПолучитьПустоеЗначение("Справочник.Контрагенты")
Элемент.ТекщийЭлемент();
Родитель = ПустойРодитель;
// запись
Скорее всего не работает из-за того, что по умолчанию ВыбратьЭлементы() делает выборку с учетом иерархии, а Вы в цикле иерархию изменяете. В этой ситуации, нужные элементы киньте в список значений, а затем в цикле по списку значений Элемент.НайтиЭлемент(Список.ПолучитьЗначение(й)) и Элемент.Родитель = "";
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua