Расчет цены

Тема в разделе "1C и всё что с ней связано", создана пользователем vanjatka, 29 окт 2008.

  1. vanjatka

    vanjatka Гость

    При изменении параметра "Коэффициент" автоматически пересчитывается "РасчетнаяЦена"
    в табличной части документа в соответствии с процедурой:

    Процедура КоэффициентПриИзменении(Элемент)

    Данные=ЭлементыФормы.Цены.ТекущиеДанные;
    ЗначениеКоэффициента=ЭлементыФормы.Коэффициент.Значение;
    Данные.РасчетнаяЦена=Выборка.Цена*Выборка.ЗначениеКоэффициента;

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

    Но пересчет осуществляется только активной строки. А необходимо реализовать пересчет для всех строк
    табличной части документа.
    Подскажите пожалуйста как это сделать.
     
  2. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Ну можно дописать так
    Для каждого (<НазваниеТабличнойЧастиДокумента>) Цыкл
    Данные=ЭлементыФормы.Цены.ТекущиеДанные;
    ЗначениеКоэффициента=ЭлементыФормы.Коэффициент.Значение;
    Данные.РасчетнаяЦена=Выборка.Цена*Выборка.ЗначениеКоэффициента;
    КонецЦикла;
    Хотя может и по другому нужно - все зависит от некуазанной платформы
     
  3. x84

    x84 Гость

    ".ТекущиеДанные " в вашей процедуре определяют только 1 текущую строку табл части в которой осуществляется редактирование.
    У табличной части документа есть два метода : Выгрузить() и Загрузить(), выгружаем в таблицу значений, выполняем нужные действия, загружаем обратно :)
     
  4. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Зачем заморачиваться выгрузкой загрузкой, когда можно сразу цыкл сделать и не париться больше?
     
  5. vanjatka

    vanjatka Гость

    Пробовал так

    Для Каждого Цены Цикл
    Данные=ЭлементыФормы.Цены.ТекущиеДанные;
    ЗначениеКоэффициента=ЭлементыФормы.Коэффициент.Значение;
    Данные.РасчетнаяЦена=Данные.Цена*Данные.ЗначениеКоэффициента;
    КонецЦикла;

    Выводится ошибка:
    {Документ.ЦеныКомпании.Форма.ФормаДокумента(73,18)}: Ожидается символ '='
    Для Каждого Цены <<?>>Цикл

    Версия 8.1
     
  6. KiR

    KiR НЕ шибка опытный програмер)
    1C Team

    Регистрация:
    11 сен 2007
    Сообщения:
    1.581
    Симпатии:
    0
    Сори. Ошибся чуточку в коде. Попробуй так
    Код (Text):
    Для каждого СтрокаТЗ из Цены Цикл
    Данные=СтрокаТЗ.(<НазваниеКолонки>);
    ЗначениеКоэффициента=ЭлементыФормы.Коэффициент.Значение;
    Данные.РасчетнаяЦена=Данные.Цена*Данные.ЗначениеКоэффициента;
    КонецЦикла;
     
Загрузка...

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