8.х Табличная Часть

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

  1. TopicStarter Overlay
    Sareth
    Offline

    Sareth

    Регистрация:
    27 окт 2008
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Мне нужно чтобы при изменении в документе реквезита "Контрагент" в табличной части "Товары" изменялась цена в соответствии со скидками для данного контрагента. У меня возникла проблема что при изменении пересчет проходит нормально, только в табличной части не происходит никаких изменений. Вот код может я что-то не так сделал...
    Код:
     Процедура КонтрагентПриИзменении(Элемент)
    СтрокаТЧ = ЭлементыФормы.Товары.ТекущиеДанные;
    Если НЕ ЭтоНовый() Тогда
    
    Запрос = Новый Запрос;
    Запрос.УстановитьПараметр("Контрагент", Контрагент);
    Запрос.Текст =
    "ВЫБРАТЬ
    |	СкидкиСрезПоследних.КатегорияПокупателей,
    |	СкидкиСрезПоследних.Процент
    |ИЗ
    |	Справочник.Контрагенты КАК Контрагенты
    |		ЛЕВОЕ СОЕДИНЕНИЕ  РегистрСведений.Скидки.СрезПоследних КАК СкидкиСрезПоследних
    |		ПО Контрагенты.КатегорияПокупателей = СкидкиСрезПоследних.КатегорияПокупателей
    |ГДЕ
    |	Контрагенты.Ссылка = &Контрагент";
    
    Результат = Запрос.Выполнить().Выбрать();
    Пока Результат.Следующий() Цикл
    Скидка = Результат.Процент;
    КонецЦикла; 
    Документ = ЭтотОбъект.Ссылка.ПолучитьОбъект();
    Для Каждого ТекущаяСтрока Из Документ.Товары Цикл
    Если Скидка = 1 Тогда
    //ТекущаяСтрока = ЭлементыФормы.Товары.ТекущиеДанные;
    ТекущаяСтрока.Цена = ТекущаяСтрока.Номенклатура.ЦенаПродажи;
    Иначе
    ТекущаяСтрока.Цена = ТекущаяСтрока.Номенклатура.ЦенаПродажи - (((ТекущаяСтрока.Номенклатура.ЦенаПродажи)/100)*Скидка);
    КонецЕсли;
    КонецЦикла;
    КонецЕсли;
    
    
    
  2. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    А вот это зачем?
    Код:
    Документ = ЭтотОбъект.Ссылка.ПолучитьОбъект();
    
    Выкинуть и ниже просто написать "Товары"
  3. TopicStarter Overlay
    Sareth
    Offline

    Sareth

    Регистрация:
    27 окт 2008
    Сообщения:
    2
    Симпатии:
    0
    Баллы:
    1
    Во я тупой... Спасибо огромное!!!

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