Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
17 июн 2024, 02:57

Пересчет цены или количества при изменении суммы

Автор MissisAngelina, 27 сен 2014, 23:13

0 Пользователей и 1 гость просматривают эту тему.

MissisAngelina

Доброго времени суток!

Необходимо реализовать пересчет цены или количества при изменении суммы (сам вариант пересчета - количества или цены, нужно определить с помощью константы).

&НаКлиенте
Процедура СписокНоменклатурыСуммаПриИзменении(Элемент)
   ВариантПересчетаСуммыПриИзменении(Элемент);   
КонецПроцедуры

&НаКлиенте
Процедура ВариантПересчетаСуммыПриИзменении(Элемент)
     ТекСтрока = Элементы.СписокНоменклатуры.ТекущиеДанные;
     ВариантПересчетаСуммыПриИзмененииНаСервере(ТекСтрока.Количество, ТекСтрока.Цена, ТекСтрока.Сумма);
     РасчетСуммыДокумента();
КонецПроцедуры

&НаСервере
Процедура ВариантПересчетаСуммыПриИзмененииНаСервере(Количество, Цена, Сумма)
   Пересчет = Константы.ВариантПересчетаСуммы.Получить();
   Если Пересчет = Перечисления.ВариантыПересчетаСуммы.Цена Тогда
      Цена = Сумма/Количество;
   Иначе
      Количество = Сумма/Цена;
   КонецЕсли;   
КонецПроцедуры


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

cska-fanat-kz

зачем рассчитывать на сервере?
у вас есть все данные для расчета на клиенте!
единственная задача - получить вариант пересчета.
не берусь 100%но утверждать что значение константы нельзя получить на стороне клиента...
но даже если так, то можно завести реквизит формы этого же типа и положить в него значение константы в ПриСозданииНаСервере().

а так, все вроде правильно, смущает только вот это
...
РасчетСуммыДокумента();
...
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск