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

Вывод итога при изменении суммы

Автор Said, 07 мая 2024, 15:42

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

Said

Здравствуйте люди добрые!
Сделал так чтобы при изменении цены и количества менялась сумма.
После пытался сделать так чтобы при смены в ручную суммы менялась цена (естесвенно делясь на количество).
Но вот не задача, никак не могу сделать так чтобы при этом менялась и итоговая сумма документа.


&НаКлиенте
Процедура ТоварыКоличествоПриИзменении (Элемент)
   РассчитатьСумму () ;
   
   Объект.СуммаДокумента = Объект.Товары.Итог("Сумма");
   
КонецПроцедуры

&НаКлиенте
Процедура ТоварыЦенаПриИзменении (Элемент)
   РассчитатьСумму ()  ;
   
   Объект.СуммаДокумента = Объект.Товары.Итог("Сумма");

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

&НаКлиенте
Процедура ТоварыСуммаПриИзменении  (Элемент)   
РассчитатьСумму () ;
Объект.СуммаДокумента = Объект.Товары.Итог ("Сумма");
КонецПроцедуры

&НаКлиенте
Процедура РассчитатьСумму ()
    ТекущиеДанные = Элементы.Товары.ТекущиеДанные; 
     ТекущиеДанные.Сумма = ТекущиеДанные.Цена * ТекущиеДанные.Количество;
     ТекущиеДанные.Цена = ТекущиеДанные.Количество / ТекущиеДанные.Сумма;
   
КонецПроцедуры;   Что вот тут не правильно я делаю?

Максим75

Said, вынесите вот это
Объект.СуммаДокумента = Объект.Товары.Итог("Сумма");
в отдельную процедуру &НаСервере

Said

Максимально глупый вопрос задам. Там в трех местах он у меня, какой именно?

LexaK

Said, вот здесь ошибка, надо заменить процедуру
&НаКлиенте
Процедура ТоварыСуммаПриИзменении  (Элемент)   
//РассчитатьСумму () ;
РассчитатьЦену () ;// такая процедура нужна!!!
Объект.СуммаДокумента = Объект.Товары.Итог ("Сумма");
КонецПроцедуры
если помогло нажмите: Спасибо!

Максим75

Said, да просто сделайте процедуру и вызывайте ее во всех трех местах.
ну как Вы вызываете процедуру, что цену рассчитывает.

просто есть подозрение, что Объект на клиенте недоступен, он живет на сервере. Могу правда ошибаться.

LexaK

немного подробнее.
не надо смешивать расчет цены и суммы в одной процедуре!!!
нужны именно ДВЕ процедуры

РассчитатьСумму();
РассчитатьЦену();

каждую вызывать в своем месте.
(если сами не справитесь, пишите)

если помогло нажмите: Спасибо!

Said

LexaK, Создал отдельную процедуру, пошло поехало. Благодарю! Я чуть больше недели начал учиться программированию 1с, и только-только начинаю что либо понимать.

Said

К сожалению я пока этот метод не попробовал, но через пару часиков все же сделаю, и дам вам ответ по тому получилось или нет у меня. Благодарю!

Теги:

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

Рейтинг@Mail.ru

Поиск