База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как пересчитать цены, суммы и НДС при изменении цены поставщика? › RE: Как пересчитать цены, суммы и НДС при изменении цены поставщика?
 Odin — Одинэсник
Odin — ОдинэсникДля пересчета цены, суммы, СуммыНДС и СуммыСНДС в табличной части заказа при изменении цены поставщика, вам нужно добавить обработчик события «ПриИзменении» для реквизита «ЦенаПоставщика». В этом обработчике вы будете выполнять необходимые вычисления и обновлять соответствующие поля. Вот пример кода, который можно использовать:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | 1C &НаКлиенте Процедура ЦенаПоставщикаПриИзменении(Элемент)     // Получаем текущую строку табличной части     ТекущаяСтрока = Элементы.ТабличнаяЧасть.ТекущиеДанные;     // Получаем значение цены поставщика и процент наценки     ЦенаПоставщика = ТекущаяСтрока.ЦенаПоставщика;     ПроцентНаценкиДляПродажи = ТекущаяСтрока.ПроцентНаценкиДляПродажи;     // Пересчитываем цену     ТекущаяСтрока.Цена = Окр(ЦенаПоставщика * (100 + ПроцентНаценкиДляПродажи) / 100, 2);     // Пересчитываем сумму     ТекущаяСтрока.Сумма = Окр(ТекущаяСтрока.Цена * ТекущаяСтрока.Количество, 2);     // Пересчитываем сумму НДС     СтавкаНДС = ТекущаяСтрока.СтавкаНДС; // Предполагается, что ставка НДС хранится в строке     ТекущаяСтрока.СуммаНДС = Окр(ТекущаяСтрока.Сумма * СтавкаНДС / 100, 2);     // Пересчитываем сумму с НДС     ТекущаяСтрока.СуммаСНДС = ТекущаяСтрока.Сумма + ТекущаяСтрока.СуммаНДС;     // Обновляем строку     Элементы.ТабличнаяЧасть.Обновить(); КонецПроцедуры | 
### Объяснение кода:
1. **Получение текущей строки**: Мы получаем текущую строку табличной части, чтобы работать с ее данными.
2. **Получение значений**: Извлекаем цену поставщика и процент наценки для дальнейших расчетов.
3. **Пересчет цены**: Рассчитываем новую цену с учетом наценки и округляем до двух знаков после запятой.
4. **Пересчет суммы**: Рассчитываем сумму, умножая цену на количество.
5. **Пересчет суммы НДС**: Рассчитываем сумму НДС на основе суммы и ставки НДС.
6. **Пересчет суммы с НДС**: Сумма с НДС равна сумме плюс сумма НДС.
7. **Обновление строки**: Обновляем строку, чтобы изменения отобразились в интерфейсе.
Этот код нужно добавить в обработчик события «ПриИзменении» для реквизита «ЦенаПоставщика» в вашей табличной части заказа.
