8.х почему Поле объекта недоступно для записи?

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем Sunbear, 11 фев 2010.

  1. TopicStarter Overlay
    Sunbear
    Offline

    Sunbear Опытный в 1С

    Регистрация:
    11 фев 2010
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    Процедура СписокПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)
    Если ЭлементыФормы.Список.Текущаястрока <> Неопределено
    И НЕ ЭлементыФормы.Список.Текущаястрока.ЭтоГруппа Тогда

    спр=справочники.Номенклатура;
    зн=спр.НайтиПоКоду(ЭлементыФормы.Список.Текущаястрока.Код);
    зн.ЦенаРозн=56;

    КонецПроцедуры

    //(процедура формысписка номенклатуры)

    пишет ошибку Поле объекта недоступно для записи (ЦенаРозн)

    хотя в формеэлемента тотже реквизит номенклатуры спокойно изменяется.
  2. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.549
    Симпатии:
    716
    Баллы:
    204
    для изменения реквизита объекта, нужно получить этот самый объект.

    ............
    объект = зн.получитьобъект();
    объект.ценарозн = 56;
    объект.записать();
  3. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Согласен с пред. постом. Но это вы делаете при выводе строки!
    Нельзя так делать! будет тормозить дико.
  4. TopicStarter Overlay
    Sunbear
    Offline

    Sunbear Опытный в 1С

    Регистрация:
    11 фев 2010
    Сообщения:
    112
    Симпатии:
    0
    Баллы:
    26
    спасибо заработало. :) про объект читал раньше но не допер почемуто до этих трех элементарных строк.
    А когда это делать если не при выводе строки? Мне нужно чтобы при открытии группы номенклатуры все строки обновлялись и цена присваивалась.
  5. Stack_G
    Offline

    Stack_G Опытный в 1С

    Регистрация:
    10 дек 2007
    Сообщения:
    786
    Симпатии:
    2
    Баллы:
    26
    Вот так и нужно написать:
    "при открытии группы получить все элементы справочика открытой группы и для каждого присвоить цену."
    Но уж точно не
    "при выводе строки присвоить цену".
    Если вы, например, промотаете полосу прокрутки в списке справочника (или другим образом обносите просмотр строки), то у вас снова будет перезаписываться цена.

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