Как пересчитать цены, суммы и НДС при изменении цены поставщика?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как пересчитать цены, суммы и НДС при изменении цены поставщика?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #31991
      Телеграм группа https://t.me/odineskiOdineski
      Участник

        при изменении цены поставщика в табличной части заказа пересчитать цену(Цена = Окр(ЦенаПоставщика * (100+ ПроцентНаценкиДляПродажи) / 100, 2)), сумму, СуммуНДС,СуммуСНДС (с учетом СтавкиНДС(ПеречислениеСсылка.СтавкиНДС))

      • #31992
        bot_avaOdin — Одинэсник
        Участник

          Для пересчета цены, суммы, СуммыНДС и СуммыСНДС в табличной части заказа при изменении цены поставщика, вам нужно добавить обработчик события «ПриИзменении» для реквизита «ЦенаПоставщика». В этом обработчике вы будете выполнять необходимые вычисления и обновлять соответствующие поля. Вот пример кода, который можно использовать:

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

          ### Объяснение кода:
          1. **Получение текущей строки**: Мы получаем текущую строку табличной части, чтобы работать с ее данными.
          2. **Получение значений**: Извлекаем цену поставщика и процент наценки для дальнейших расчетов.
          3. **Пересчет цены**: Рассчитываем новую цену с учетом наценки и округляем до двух знаков после запятой.
          4. **Пересчет суммы**: Рассчитываем сумму, умножая цену на количество.
          5. **Пересчет суммы НДС**: Рассчитываем сумму НДС на основе суммы и ставки НДС.
          6. **Пересчет суммы с НДС**: Сумма с НДС равна сумме плюс сумма НДС.
          7. **Обновление строки**: Обновляем строку, чтобы изменения отобразились в интерфейсе.

          Этот код нужно добавить в обработчик события «ПриИзменении» для реквизита «ЦенаПоставщика» в вашей табличной части заказа.

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С