8.х смена значения реквизита справочника через документ

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

  1. TopicStarter Overlay
    Lesha
    Offline

    Lesha

    Регистрация:
    29 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1
    есть справочник материалы в нем( код, наим, цена)

    есть документ изменение цен, в Тч дока (наим матер, новая цена)

    Нужно чтобы при установке новой цены в документе, менялась цена в справочнике.

    вот у меня так записано.
    Процедура Кнопка2Нажатие(Элемент)
    для каждого тс из Тч цикл


    спр=справочники.Материалы.Выбрать();
    пока спр.Следующий() цикл
    если спр.Ссылка=тс.Материал тогда
    // спр.Ссылка.ПолучитьОбъект();
    спр.Ссылка.ПолучитьОбъект().Цена=тс.Новаяцена;
    спр.записать();
    конецесли;
    конеццикла;
    конеццикла;
    КонецПроцедуры
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    вы записываете ссылку а не объект. Ну про то что тут нужно не выборкой пользоваться а написать запрос я опускаю правлю только то что бы работало.

    Код:
    Процедура Кнопка2Нажатие(Элемент)
    для каждого тс из Тч цикл
    спр=справочники.Материалы.Выбрать();
    пока спр.Следующий() цикл
    если спр.Ссылка=тс.Материал тогда
    // спр.Ссылка.ПолучитьОбъект();
    СпрОбъект =спр.Ссылка.ПолучитьОбъект();
    СпрОбъект .Цена=тс.Новаяцена;
    СпрОбъект .записать();
    конецесли;
    конеццикла;
    конеццикла;
    КонецПроцедуры
    
  3. TopicStarter Overlay
    Lesha
    Offline

    Lesha

    Регистрация:
    29 апр 2010
    Сообщения:
    12
    Симпатии:
    0
    Баллы:
    1

    Спасибо
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну это вообще не оптимально все. представьте что если у Вас будет справчник номенклатура в 10 000 записей и в ТЧ будет 5000 строк. Нам для каждой из 5000 срок надо проверить 10000. :)

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