8.х Ошибка "Поле не доступно для записи"

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем v0233, 23 авг 2010.

  1. TopicStarter Overlay
    v0233
    Offline

    v0233 Опытный в 1С

    Регистрация:
    23 авг 2010
    Сообщения:
    167
    Симпатии:
    0
    Баллы:
    26
    Сделал=Перечисления.СтатусЗаказа.СДЕЛАЛ;
    Запрос=Новый Запрос;
    Запрос.Текст="Выбрать ПолучилЗарплату, ДатаВыезда, Номер
    |из
    |документ.Заказы Где ДатаВыезда Между &Дата1 и &Дата2 и мастер=&Мастер и ПолучилЗарплату=ЛОЖЬ";
    Запрос.УстановитьПараметр("Сделал",Сделал);
    Запрос.УстановитьПараметр("Мастер",Мастер);
    Запрос.УстановитьПараметр("Дата1",ЭлементыФормы.Дата1.Значение);
    Запрос.УстановитьПараметр("Дата2",ЭлементыФормы.Дата2.Значение);
    В1=Запрос.Выполнить().Выбрать();
    Пока В1.Следующий()=Истина Цикл
    В1.ПОлучилЗарплату=Истина;
    КонецЦикла;

    Вложения:

    • error.gif
      error.gif
      Размер файла:
      2,5 КБ
      Просмотров:
      20
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    Нужно так:

    В1=Запрос.Выполнить().Выбрать();
    Пока В1.Следующий() Цикл
    В1Объект = В1.Ссылка.ПолучитьОбъект();
    В1Объект.ПОлучилЗарплату=Истина;
    В1Объект.Записать(РежимЗаписиДокумента.Запись);
    КонецЦикла;
    следовательно запросом нужно выбирать ещё и ССЫЛКА.
  3. TopicStarter Overlay
    v0233
    Offline

    v0233 Опытный в 1С

    Регистрация:
    23 авг 2010
    Сообщения:
    167
    Симпатии:
    0
    Баллы:
    26
    Помогите пожалуйста. Немного туплю со справочниками

    Код:
    Запрос=Новый запрос;
    Запрос.Текст="Выбрать Ссылка, Долгота, Широта,УлицаИДом,Принадлежит из Справочник.Районы.СписокДомов Где Ссылка=&район";
    Запрос.УстановитьПараметр("Район",Б1.Район);
    В1=Запрос.Выполнить().Выбрать();
    Пока В1.Следующий()=Истина Цикл
    Если В1.Принадлежит=Ложь Тогда
    В1Объект=В1.Ссылка.ПолучитьОбъект();
    В1Объект=Истина;
    В1Объект.Записать();
    Иначе
    В1Объект=В1.ПолучитьОбъект();
    В1Объект.Принадлежит=Ложь;
    В1Объект.Записать();
    КонецЕсли;
    КонецЦикла;
    
    Так вот у меня на В1Объект.Записать() выходит ошибка. И правильно ли я делаю получить объект?
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    Нужно

    B1.Ссылка.ПолучитьОбъект();

    в ветке ИНАЧЕ

    и "В1Объект=Истина" - явно ошибка, либо уберите эту строку вообще, либо через точку укажите реквизит документа, которому присваиваете значение ИСТИНА
  5. TopicStarter Overlay
    v0233
    Offline

    v0233 Опытный в 1С

    Регистрация:
    23 авг 2010
    Сообщения:
    167
    Симпатии:
    0
    Баллы:
    26
    Когда я делаю получить объект и запись из документов то все работает а здесь почемуто из справочников ругается, тем более здесь выбор идет из таблицы может из за этого

    {Обработка.ПоказатьВсеРайоны.Форма.Форма(177)}: Поле объекта не обнаружено (Принадлежит)
    В1Объект.Принадлежит=ЛОЖЬ;


    Код:
    Запрос=Новый запрос;
    Запрос.Текст="Выбрать Ссылка, Долгота, Широта,УлицаИДом,Принадлежит из Справочник.Районы.СписокДомов Где Ссылка=&район";
    Запрос.УстановитьПараметр("Район",Б1.Район);
    В1=Запрос.Выполнить().Выбрать();
    Пока В1.Следующий()=Истина Цикл
    Если В1.Принадлежит=Ложь Тогда
    В1Объект=В1.Ссылка.ПолучитьОбъект();
    В1Объект.Принадлежит=Истина;
    В1Объект.Записать();
    Иначе
    В1Объект=В1.Ссылка.ПолучитьОбъект();
    В1Объект.Принадлежит=ЛОЖЬ;
    В1Объект.Записать();
    
    КонецЕсли;
    
    
    
  6. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.566
    Симпатии:
    717
    Баллы:
    204
    ээээ...как бы смысла в ветке ИНАЧЕ нет вообще

    может ошибка в написании - буквы из разных алфавитов, как правило....

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