Имя: Пароль:
1C
1C 7.7
v7: Изменить владельца элемента справочника из формы самого элемента
,
0 Roman2012
 
11.01.18
06:26
Здравствуйте!
наверное, уже обсуждалось и не раз, но именно такой ситуации не нашел

есть справочник Номенклатура и подчиненный ему справочник Модели

нужно дать возможность пользователям переподчинять некоторые модели другой позиции Номенклатуры

на форме элемента Моделей размещаю реквизит НовыйВладелец типа Справочник.Номенклатура и кнопку "изменить"

начал с простого:

Процедура ИзменитьВладельца()
        
    ТекущийЭлемент().Владелец = НовыйВладелец;
    
КонецПроцедуры

получаю в результате

Объект не может быть перепозиционирован!

пробовал по другому

Процедура ИзменитьВладельца()
    
    СпрНом = СоздатьОбъект("Справочник.Номенклатура");
    СпрНом.НайтиЭлемент(НовыйВладелец);
    
    ТекущийЭлемент().Владелец = СпрНом.ТекущийЭлемент();
    
КонецПроцедуры

то же самое - Объект не может быть перепозиционирован!

Подскажите, это вообще возможно - такое изменение владельца элемента из формы самого элемента?
1 Sserj
 
11.01.18
06:33
СпрМодели = СоздатьОбъект("Справочник.Модели");
СпрМодели.НайтиЭлемент(ТекущийЭлемент());
СпрМодели.Владелец = НовыйВладелец;
СпрМодели.Записать();
2 Sserj
 
11.01.18
06:36
А у тебя вообще из формы. Тогда нужно просто
Владелец = НовыйВладелец;
Записать();
3 Roman2012
 
11.01.18
10:49
Сергей, спасибо что отозвался
не сработало

Владелец = НовыйВладелец;
{Справочник.Модели.Форма.Модуль(9)}: Объект не может быть перепозиционирован!
4 Roman2012
 
11.01.18
11:00
по первому варианту немного другое сообщение
СпрМодели.Записать();
{Справочник.Модели.Форма.Модуль(12)}: Объект заблокирован: ШП-1,
5 Builder
 
11.01.18
11:17
1. Закрыть форму, изменить владельца, открыть форму.
2. Сделать свою форму (обработку) для этого элемента, в ней делай чего хочешь.
3. где то у Ёпрст была конфа с примером обхода блокировок.
6 Asakra
 
11.01.18
11:19
+ (5) 4. делать в списке моделей
7 ikea
 
11.01.18
11:19
(5) + 100500.
Сделайте свою форму(обработка). Сам был в такой ситуации, лучшее из решений.
8 YFedor
 
11.01.18
11:22
Владелец
Синтаксис:
Владелец
Назначение:
Доступ к владельцу выбранного элемента справочника в связанном справочнике.
Атрибут  может быть изменен только для объектов, созданных функцией СоздатьОбъект.
Подробнее см. в документации, глава 'Работа со Справочниками'


Обратите внимание на это:
Атрибут  может быть изменен только для объектов, созданных функцией СоздатьОбъект.
9 Злопчинский
 
11.01.18
13:37
В процедуре ПриЗакрытии генеришь формексом внешнее событие, в него в качестве данных передаешь сам элемент и нового владельца и все. После отработки закрытия формы сработает внешнее событие в котором сделаешь все что надо. Профит.
10 Roman2012
 
11.01.18
13:58
Спасибо всем!
остановился на варианте (6)

добавил реквизит НовыйВладелец на форму списка справочника Модели и кнопку "изменить"

в коде написал все как в (1)  - заработало