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

Проблема с автоматическим подсчетом Суммы в форме Документа.

Автор Алина Бисенбаева, 25 окт 2016, 15:45

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

Алина Бисенбаева

Всем привет. Весь день ломаю голову (Это мое первое задание). Если кто может, отзовитесь, пожалуйста.
Итак, задача такова:
Есть документ Приходная накладная с реквизитами номенклатура, количество, цена поступления и сумма.
Нужно, чтобы сумма пересчитывалась автоматически при изменении количества, но есть один нюанс: реквизит цена поступления имеет ссылочный характер и заполняется автоматически из справочника номенклатура.
Поэтому вариант:

&НаКлиенте
Процедура ТоварыКоличествоПриИзменении(Элемент)
   СтрокаТабличнойЧасти=Элементы.Товары.ТекущиеДанные;
   СтрокаТабличнойЧасти.Сумма=СтрокаТабличнойЧасти.ЦенаПоступления*СтрокаТабличнойЧасти.Количество;
КонецПроцедуры
     НЕ РАБОТАЕТ.Просто ничего не происходит
А по условию задания цена поступления обязательно должна храниться в справочнике и заполняться автоматически.
Так вот как же мне в таком случае настроить автоматический пересчет суммы.
Очень выручите, заранее спасибо

alex0402

Цитата: Алина Бисенбаева от 25 окт 2016, 15:45&НаКлиенте

1)Выполнять действия не на клиенте, а на сервере.
2)Лучше добавить еще один реквизит в тч документа типа число. При автоматическом заполнении цены, заполнять и реквизит типа число. В таком случае пересчитывать сумму можно на клиенте и в дальнейшем при новом открытии документа сумма не будет зависеть от цены в справочнике.
Спасибо за Сказать спасибо

ilyay

Цена поступления в любом случае должна сохраняться в документе. То есть, вы получаете ее из справочника номенклатуры при выборе номенклатуры и сохраняете в документе в отдельное поле. Иначе, при изменении цены в справочнике, у вас будет некорректный документ.

Vasya Povar

Создайте реквизит Цена типа Число.

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


Или присвойте значения при открытии Формы.
&НаКлиенте
Процедура ПриОткрытии(Отказ)
Обьект.Число = СтрокаТабличнойЧасти.ЦенаПоступления;
КонецПроцедуры

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

cska-fanat-kz

Цитата: alex0402 от 25 окт 2016, 16:201)Выполнять действия не на клиенте, а на сервере.

расчет колонок ТЧ на основании значений соседних колонок - вполне себе можно делать на клиенте.
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

cska-fanat-kz

Цитата: Алина Бисенбаева от 25 окт 2016, 15:45
Всем привет. Весь день ломаю голову (Это мое первое задание). Если кто может, отзовитесь, пожалуйста.
Итак, задача такова:
Есть документ Приходная накладная с реквизитами номенклатура, количество, цена поступления и сумма.
Нужно, чтобы сумма пересчитывалась автоматически при изменении количества, но есть один нюанс: реквизит цена поступления имеет ссылочный характер и заполняется автоматически из справочника номенклатура.
Поэтому вариант:

&НаКлиенте
Процедура ТоварыКоличествоПриИзменении(Элемент)
   СтрокаТабличнойЧасти=Элементы.Товары.ТекущиеДанные;
   СтрокаТабличнойЧасти.Сумма=СтрокаТабличнойЧасти.ЦенаПоступления*СтрокаТабличнойЧасти.Количество;
КонецПроцедуры
     НЕ РАБОТАЕТ.Просто ничего не происходит
А по условию задания цена поступления обязательно должна храниться в справочнике и заполняться автоматически.
Так вот как же мне в таком случае настроить автоматический пересчет суммы.
Очень выручите, заранее спасибо

вы себе плохо представляете схему "Хранить текущую цену в справочнике [Номенклатура?] и при выборе оной подставлять цену в документ".
1) в самом документе Цена - типа Число. это и логично. ваще не понятно, что значит "Цена - ссылочного типа". у вас что заведен СПРАВОЧНИК с ценами? если да, то это ваще жесть!
2) в справочнике Номенклатура имеется реквизит типа Число, назовем его ТекущаяЦена.
3) в НоменклатураПриИзменении заполняете колонку Цена документа значением из справочника
4) расчет колонки Суммы - стар как мир
Получил помощь - скажи СПАСИБО.
Разобрался сам - расскажи другим.

Теги:

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

Рейтинг@Mail.ru

Поиск