Всем доброго вечера !
Возникла следующая проблема:
При записи данных в подчинённом справочнике нужно заполнять периодический реквизит Справочника-владельца.
При обработке события в ПриЗаписи (в подчиненном справочнике)-при попытке сохранить значение реквизита Справочника-владельца вылетает ошибка:
Объект заблокирован !
Чем лечить ?
Процедура ПриЗаписи()
Влад=СоздатьОбъект("Справочник.Владелец");
Влад.Разряд.Установить(Дата,НовыйРазряд);
Влад.Записать(); //ошибка
КонецПроцедуры
Это значит, что объект, который пытаются записать, открыт.
И что ЭТО -
Справочник конечно называется по другому.Есть ли способ записать в реквизит спрaвочника-владельца?
А в чому проблема? Створіть об'єкт з типом цього довідника, знайдіть об'єкт і пишіть в нього що завгодно.
Ошибка ! - не выбран элемент
Спр=СоздатьОбъект("Справочник.Владелец"); //название условное
Спр.ИспользоватьДату(ДатаСдачи,0);
Таб_н=Владелец.Код;
найд=Спр.НайтиПоКоду("Таб_н);
Если найд=1 тогда
Спр.Разряд.Установить(ДатаСдачи,Разряд);
Спр.Записать(); //Ошибка ! - не выбран элемент
КонецЕсли;
Навіщо шукати по коду, якщо є сам елемент? Використовуйте НайтиЭлемент()! В вашому випадку буде так:
Спр=СоздатьОбъект("Справочник.Владелец"); //название условное
Спр.ИспользоватьДату(ДатаСдачи,0);
//найд=Спр.НайтиПоКоду("Таб_н);
найд=Спр.НайтиЭлемент(Владелец);
Если найд=1 тогда
Спр.Разряд.Установить(ДатаСдачи,Разряд);
Спр.Записать(); //Ошибка ! - не выбран элемент
КонецЕсли;
Ошибка !
{Справочник.ПроизводственноеОбучение.ФормаСписка.ФормаСписка.Модуль(18)}: Значение не представляет агрегатный объект (Установить)
Спр=СоздатьОбъект("Справочник.Владелец"); //название условное
Спр.ИспользоватьДату(ДатаСдачи,0);
Спр.НайтиЭлемент(Владелец);
Спр.Разряд.Установить(ДатаСдачи,Разряд); // Ошибка !
Спр.Записать();
Використовувати одночасно
ИспользоватьДату()
і Уставноить()
неможна. Щось одне
1-й вариант
Спр=СоздатьОбъект("Справочник.Владелец"); //название условное
//Спр.ИспользоватьДату(ДатаСдачи,0);
Спр.НайтиЭлемент(Владелец);
Спр.Разряд.Установить(ДатаСдачи,Разряд);
Спр.Записать();
Спр=СоздатьОбъект("Справочник.Владелец"); //название условное
Спр.ИспользоватьДату(ДатаСдачи,0);
Спр.НайтиЭлемент(Владелец);
Спр.Разряд=Разряд;
Спр.Записать();
Тут же відкривайте "Отладчик" і дивіться. Причин може бути чимало. Не тей тип данних присвоюється, не так дивишся на значення періодичних реквізитів, ...
Работает.Спасибо,объект блокировался,потому-что перед открытием подчиненного справочника ПроизводственноеОбучение,
открывается форма элемента Справочника-Владельца (способ редактирования- в Диалоге).Поэтому и блокировки пёрли...
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua