Поле объекта недоступно для записи (Наименование) почему не даёт записать?

1. user817897 2 16.05.19 09:54 Сейчас в теме
Создаю Контрагента через обработку

менеджер = Справочники.ФизическиеЛица.НайтиПоКоду("УТ0000022").ПолучитьОбъект().Наименование;
контр.Менеджер.Наименование = менеджер;

и не даёт записать ,выдаёт ошибку здесь.


{Обработка.Обработка1.Форма.Форма.Форма(13)}: Поле объекта недоступно для записи (Наименование)
контр.Менеджер.Наименование = менеджер;

в Реквизите Менеджер в контр - тип: СправочникСсылка.ФизическиеЛица
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. starjevschik 16.05.19 09:56 Сейчас в теме
ну потому что меняешь реквизит ссылки
а менять можно только реквизиты объекта, что логично в общем-то
надо найти этот Менеджер, получить его объект и тогда уже менять его реквизиты.
user970589; Dimeron; alex-l19041; +3 Ответить
7. user817897 2 16.05.19 10:12 Сейчас в теме
(2) можно подробнее ваши действия расписать,хочу понять как правильно должно работать?
13. starjevschik 16.05.19 10:22 Сейчас в теме
(7)
МенеджерСсылка = Контр.Менеджер;
МенеджерОбъект = СенеджерСсылка.ПолучитьОбъект();
МенеджерОбъект.Наименование = Наименование;
Попытка
МенеджерОбъект.Записать();
Исключение
/// обработка исключения, не заню что нужно
КонецПопытки;
Показать
14. user817897 2 16.05.19 10:29 Сейчас в теме
(13)
написал по вашему методу, всё равно ошибка:
менеджер = Справочники.ФизическиеЛица.НайтиПоКоду("УТ0000022").ПолучитьОбъект().Наименование;
МенеджерСсылка = Контр.Менеджер;
МенеджерОбъект = МенеджерСсылка.ПолучитьОбъект();
МенеджерОбъект.Наименование = менеджер;
Попытка
МенеджерОбъект.Записать();
Исключение
/// обработка исключения, не заню что нужно
КонецПопытки;


ошибка:
{Обработка.Обработка1.Форма.Форма.Форма(13)}: Ошибка при вызове метода контекста (ПолучитьОбъект)
МенеджерОбъект = МенеджерСсылка.ПолучитьОбъект();
по причине:
Элемент не выбран!
18. starjevschik 16.05.19 10:35 Сейчас в теме
(14) ну это значит, что у контр не заполнен реквизит Менеджер.
Наймите вы программиста в конце концов, сколько сэкономите времени и денег... найдите фрилансера на поддержку и все...
21. user817897 2 16.05.19 10:41 Сейчас в теме
19. catena 110 16.05.19 10:39 Сейчас в теме
(14)Что хотим записать? Контрагента. Значит

КонтрагентОбъект = конт.ПолучитьОбъект();

Теперь его реквизиты можно менять. Нужно в менеджер подставить по коду? Значит

менеджер = Справочники.ФизическиеЛица.НайтиПоКоду("УТ0000022");

У контрагента "Менеджер" - это строка или все-таки справочник? Если справочник, тогда:

КонтрагентОбъект.Менеджер = менеджер;


И не забываем

КонтрагентОбъект.Записать();
22. user817897 2 16.05.19 10:41 Сейчас в теме
(19)спасибо большое,вышло как в (15)
3. catena 110 16.05.19 10:08 Сейчас в теме
менеджер = Справочники.ФизическиеЛица.НайтиПоКоду("УТ0000022").ПолучитьОбъект();
контр.Менеджер.Наименование = менеджер;
5. user817897 2 16.05.19 10:10 Сейчас в теме
(3)
менеджер = Справочники.ФизическиеЛица.НайтиПоКоду("УТ0000022").ПолучитьОбъект();
контр.Менеджер.Наименование = менеджер;

так не верно,уже пробовал)
надо делать как писали в (2),но что-то всё равно у меня не выходит,или я не правильно пишу...
8. catena 110 16.05.19 10:12 Сейчас в теме
(5)А, ну да, вы сами запутались в переменных и меня запутали))
менеджер = контр.Менеджер.ПолучитьОбъект();
Менеджер.Наименование = Справочники.ФизическиеЛица.НайтиПоКоду("УТ0000022").Наименование;
Менеджер.Записать();
4. Shurik_M 2 16.05.19 10:09 Сейчас в теме
Посмотрите через отладчик, там можно будет посмотреть все реквизиты объекта. В конфигураторе включите в меню Отладка "Остановка по ошибке". Далее через Вычислить выражение или нажатием клавиши Shift+F9 можете посмотреть реквизиты.
6. user817897 2 16.05.19 10:11 Сейчас в теме
(4)я знаю все реквизиты,я просто читал такое в нете что нужно через получитьОбъект,но что-то не выходит
9. Shurik_M 2 16.05.19 10:13 Сейчас в теме
(6) Вот попробуйте через отладчик, написать ваш код, там будет виднее
10. catena 110 16.05.19 10:13 Сейчас в теме
(6)Для записи получаем объект, который хотим записать. Во всех остальных случаях пользуемся ссылкой.
11. user817897 2 16.05.19 10:17 Сейчас в теме
(10){Обработка.Обработка1.Форма.Форма.Форма(10)}: Ошибка при вызове метода контекста (ПолучитьОбъект)
менеджер = контр.Менеджер.ПолучитьОбъект();
по причине:
Элемент не выбран!
12. catena 110 16.05.19 10:19 Сейчас в теме
(11)Это логично, если там пусто, да

Чего хочется-то, по-русски и последовательно. Создать менежера? Найти менеджера по наименованию и подставить в контрагента? Кто на ком спит?
15. antz 16.05.19 10:29 Сейчас в теме
Контр - это создаваемый контрагент? А у него есть реквизит Менеджер с типом Справочник.ФизическиеЛица?

менеджер = Справочники.ФизическиеЛица.НайтиПоКоду("УТ0000022");
контр.Менеджер = менеджер;
16. user817897 2 16.05.19 10:30 Сейчас в теме
(15)да,всё верно,именнно так
17. antz 16.05.19 10:33 Сейчас в теме
20. user817897 2 16.05.19 10:40 Сейчас в теме
(17)да,лааадно,вроде так пробовал, спасибо большое,получилось)))
23. user817897 2 10.11.20 13:36 Сейчас в теме
Спасибо всем, Тема закрыта.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот