Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
28 мар 2024, 17:42

Как сделать элемент справочника группой?

Автор Tanusha, 21 янв 2011, 10:23

0 Пользователей и 1 гость просматривают эту тему.

Tanusha

Здравствуйте!

Подскажите, возможно ли сделать элемент иерархического справочника группой? Если "да", то как?
Долго искали, как это сделать, но выхода так и не нашли.
Очень не хотелось бы элемент удалять, создавать группу и затем перепривязывать ссылки по всей базе.

Спасибо.

Klyacksa

Я так понимаю, иерархия в справочнике "Групп и элементов"? Тогда, наверное, никак.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Tanusha

Да, "групп и элементов".

Придумали адский способ:
1. Изменить иерархию на "Иерархия элементов"
2. Подчинить к необходимому элементу какой-нибудь фиктивный
3. Изменить иерархию на родную "Иерархия групп и элементов"

На простом (есть только код и наименование) справочнике сработало. На более сложном не угадать, чем чревато.
Очень надеемся, что есть способ полегче и более безопасный.

Вопрос оставляем открытым. Может еще какие идеи появятся.

Klyacksa

Нет, думаю, менять иерархию справочника не стОит, мало ли чем это обернется.

А попробовать можно так:
1. Взять уникальный идентификатор элемента
2. программно удалить сам элемент
3. создать группу с тем же идентификатором

...пошла пробовать...
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Klyacksa

Нет, так не получается. Оставшаяся ссылка все-равно остается элементом справочника, группу из нее сделать не удается.
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Tanusha

Klyacksa, Вы гений! Такую идею подкинули!
Получилось  :bleh:

Процедура КнопкаВыполнитьНажатие(Кнопка)

//Запоминаем ссылку на текущий элемент
УникальнаяСсылка = ЭлементСправочника.Ссылка;

//Создаем новый элемент - группу
НовыйЭлемент = Справочники.ЦентрыФинансовойОтветственности.СоздатьГруппу();
НовыйЭлемент.УстановитьСсылкуНового(УникальнаяСсылка);

//... с такими же параметрами, что и текущий
НовыйЭлемент.Код                 = ЭлементСправочника.Код;
НовыйЭлемент.Наименование  = ЭлементСправочника.Наименование;
НовыйЭлемент.Родитель         = ЭлементСправочника.Родитель;

//Удаляем текущий
ЭлементСправочника.ПолучитьОбъект().Удалить();

//Записываем новый (группу)
НовыйЭлемент.Записать();

КонецПроцедуры


Tanusha

Тьфу... а в предпросмотре все было красиво ))))
Вот код:

Процедура КнопкаВыполнитьНажатие(Кнопка)

   //Запоминаем ссылку на текущий элемент
   УникальнаяСсылка = ЭлементСправочника.Ссылка;

   //Создаем новый элемент - группу
   НовыйЭлемент = Справочники.Справочник1.СоздатьГруппу();   
   НовыйЭлемент.УстановитьСсылкуНового(УникальнаяСсылка);

   //... с такими же параметрами, что и текущий
   НовыйЭлемент.Код = ЭлементСправочника.Код;
   НовыйЭлемент.Наименование = ЭлементСправочника.Наименование;
   НовыйЭлемент.Родитель = ЭлементСправочника.Родитель;
   
   //Удаляем текущий
   ЭлементСправочника.ПолучитьОбъект().Удалить();
   
   //Записываем новый (группу)
   НовыйЭлемент.Записать();

КонецПроцедуры

Klyacksa

Классно, правда сработало!
А у меня через УникальныйИдентификатор не получилось, оказывается и вправду можно было проще - через Ссылку  :ooifh:
xxx: Спасибо! Я бы загуглил, но ты интересней. Материшься. Злишься. Послать можешь...

Мысль - это оргазм мозга. Кто способен его испытать - получают истинное наслаждение, остальным приходится имитировать

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск