Обработка Проведения

  • Автор темы Автор темы Doubleagent
  • Дата начала Дата начала
D

Doubleagent

Здравствуйте Уважаемые!
Помогите начинающему программисту.
Вопрос такого плана. Есть справочник «студенты» с реквизитами «ФИО», «НомерПриказаДва» . И документ с реквизитом «НомерПриказа» и тб Опереводе с перечислением ФИО. Нужно при проведении документа чтобы искал в справочнике ФИО и присваивал значение в справочник НомерПриказа из документа . Или подскажите как получить объект и записать его:

Код:
 Для int = 0 по Опереводе.Количество()-1 Цикл
стр = ОПереводе.Получить(int);
прс = стр.Студент;
ккр = справочники.Студент.НайтиПоНаименованию(прс);		
ккр.НомерПриказаДва = НомерПриказа;
КонецЦикла;
При таком коде выдает ошибку:
Ошибка при выполнении обработчика - '{Документ.ОПереводе(8)}: Поле объекта недоступно для записи (НомерПриказаДва)'
по причине:
{Документ.ОПереводе(8)}: Поле объекта недоступно для записи (НомерПриказаДва)
 
почему опять язык не указан???????????????????????????
ну я и так вижу что восьмерка.
ккр = справочники.Студент.НайтиПоНаименованию(прс);
так ты получаешь ссылку. а писать можно только в объект. рабочий код:
ккр = справочники.Студент.НайтиПоНаименованию(прс).ПолучитьОбъект();

а еще более правильно (с учетом того что НайтиПоНаименованию() может не найти:
ккр = справочники.Студент.НайтиПоНаименованию(прс);
Если ЗначениеЗаполнено(ККР) Тогда
объект = ккр.ПолучитьОбъект();
Объект.НомерПриказаДва = НомерПриказа;
Объект.записать();
КонецЕсли;
кстати где Записать() в твоем коде??
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab

🚀 Первый раз на Codeby?
Гайд для новичков: что делать в первые 15 минут, ключевые разделы, правила
Начать здесь →
🔴 Свежие CVE, 0-day и инциденты
То, о чём ChatGPT ещё не знает — обсуждаем в реальном времени
Threat Intel →
💼 Вакансии и заказы в ИБ
Pentest, SOC, DevSecOps, bug bounty — работа и проекты от проверенных компаний
Карьера в ИБ →

HackerLab