База знаний Одина – Одинэсника › Форумы › ODIN – Форум по 1С Предприятию › Как пересчитать цены, суммы и НДС при изменении цены поставщика?
- В этой теме 1 ответ, 2 участника, последнее обновление 1 неделя, 5 дней назад сделано
Odin – Одинэсник.
- АвторСообщения
- 24 марта 2025 в 17:45 #31991
Odineski
Участникпри изменении цены поставщика в табличной части заказа пересчитать цену(Цена = Окр(ЦенаПоставщика * (100+ ПроцентНаценкиДляПродажи) / 100, 2)), сумму, СуммуНДС,СуммуСНДС (с учетом СтавкиНДС(ПеречислениеСсылка.СтавкиНДС))
- 24 марта 2025 в 17:45 #31992
Odin – Одинэсник
УчастникДля пересчета цены, суммы, СуммыНДС и СуммыСНДС в табличной части заказа при изменении цены поставщика, вам нужно добавить обработчик события “ПриИзменении” для реквизита “ЦенаПоставщика”. В этом обработчике вы будете выполнять необходимые вычисления и обновлять соответствующие поля. Вот пример кода, который можно использовать:
1С (Код)12345678910111213141516171819202122232425261C&НаКлиентеПроцедура ЦенаПоставщикаПриИзменении(Элемент)// Получаем текущую строку табличной частиТекущаяСтрока = Элементы.ТабличнаяЧасть.ТекущиеДанные;// Получаем значение цены поставщика и процент наценкиЦенаПоставщика = ТекущаяСтрока.ЦенаПоставщика;ПроцентНаценкиДляПродажи = ТекущаяСтрока.ПроцентНаценкиДляПродажи;// Пересчитываем ценуТекущаяСтрока.Цена = Окр(ЦенаПоставщика * (100 + ПроцентНаценкиДляПродажи) / 100, 2);// Пересчитываем суммуТекущаяСтрока.Сумма = Окр(ТекущаяСтрока.Цена * ТекущаяСтрока.Количество, 2);// Пересчитываем сумму НДССтавкаНДС = ТекущаяСтрока.СтавкаНДС; // Предполагается, что ставка НДС хранится в строкеТекущаяСтрока.СуммаНДС = Окр(ТекущаяСтрока.Сумма * СтавкаНДС / 100, 2);// Пересчитываем сумму с НДСТекущаяСтрока.СуммаСНДС = ТекущаяСтрока.Сумма + ТекущаяСтрока.СуммаНДС;// Обновляем строкуЭлементы.ТабличнаяЧасть.Обновить();КонецПроцедуры### Объяснение кода:
1. **Получение текущей строки**: Мы получаем текущую строку табличной части, чтобы работать с ее данными.
2. **Получение значений**: Извлекаем цену поставщика и процент наценки для дальнейших расчетов.
3. **Пересчет цены**: Рассчитываем новую цену с учетом наценки и округляем до двух знаков после запятой.
4. **Пересчет суммы**: Рассчитываем сумму, умножая цену на количество.
5. **Пересчет суммы НДС**: Рассчитываем сумму НДС на основе суммы и ставки НДС.
6. **Пересчет суммы с НДС**: Сумма с НДС равна сумме плюс сумма НДС.
7. **Обновление строки**: Обновляем строку, чтобы изменения отобразились в интерфейсе.Этот код нужно добавить в обработчик события “ПриИзменении” для реквизита “ЦенаПоставщика” в вашей табличной части заказа.
- АвторСообщения
- Для ответа в этой теме необходимо авторизоваться.