1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "Базы данных и администрирование", создана пользователем Doubleagent, 19 апр 2010.

  1. Doubleagent

    Doubleagent Гость

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

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

    evgenyatam Well-Known Member

    Репутация:
    0
    Регистрация:
    7 сен 2007
    Сообщения:
    175
    Симпатии:
    0
    почему опять язык не указан???????????????????????????
    ну я и так вижу что восьмерка.
    так ты получаешь ссылку. а писать можно только в объект. рабочий код:
    ккр = справочники.Студент.НайтиПоНаименованию(прс).ПолучитьОбъект();

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

    Doubleagent Гость

    Репутация:
    0
    Все работает, большое спасибо :)
    Я не мог получить сам объект верно.
     
Загрузка...

Поделиться этой страницей