Как рассчитать среднюю себестоимость в обработке проведения 1С?

введите сюда описание изображения

Есть вот такая задачка, сейчас реализую первый отчет и возник вопрос как рассчитать среднюю себестоимость для того чтобы записать в колонку расход правильную сумму, мне подсказали что делать это нужно в обработке проведения, но я все равно не соображаю как это реализовать синтаксически что откуда вытаскивать и куда засовывать. Буду очень рада вашей помощи. Вот так сейчас выглядит обработка проведения у меня

  
  //{{__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
  // Данный фрагмент построен конструктором.
  // При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

  // регистр ОстаткиТоваров Расход
  Движения.ОстаткиТоваров.Записывать = Истина;
  Для Каждого ТекСтрокаСведенияОПродаже Из СведенияОПродаже Цикл
    Движение = Движения.ОстаткиТоваров.Добавить();
    Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
    Движение.Период = Дата;
    Движение.Товар = ТекСтрокаСведенияОПродаже.Номенклатура;
    Движение.Количество = ТекСтрокаСведенияОПродаже.Количество;
    Движение.Сумма = ТекСтрокаСведенияОПродаже.Сумма;
    
  КонецЦикла;

  //}}__КОНСТРУКТОР_ДВИЖЕНИЙ_РЕГИСТРОВ
КонецПроцедуры```

Ответы (1 шт):

Автор решения: Юрий

Для расчета себестоймости по средневзвешанному методу необходимо:

  • перед проведением получить остаток по регистру "ОстаткиТоваров" (ресурсы Количество и Сумма).
  • расчитать для каждого товара который участвует в проведении сумму списания, КонОстСумма / КонОстКоличество * Количество (из расходной накладной).

Например, если посмотреть на отчет по движению товара из текущей задачи (возьмем авторучку), то имеем следующие данные:

конечный остаток перед проведением расходной накладной такой КонОстКоличество = 25 (15 + 10) КонОстСумма = 1300 (750 + 550)

на основании этих данных можем рассчитать среднюю себестоимость: СредняяСебестоимость = КонОстСумма / КонОстКоличество * Количество, где Количество - это величина из расходной накладной, т.е. то что нужно списать СредняяСебестоимость = 1300 / 25 * 22 = 1444

Движение.Сумма = СредняяСебестоимость

Таким образом по регистру ОстаткиТоваров можно строить "Отчет по движению товаров".

Рекомендую посмотреть видеоурок, только там используется методы списания LIFO и FIFO, вместо них используйте средневзвешанный метод списания.

→ Ссылка