• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

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

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

Doubleagent

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

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

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

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