Автор Тема: Задача по бухучету с курса Белоусова  (Прочитано 896 раз)

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

snaz

  • Новичок
  • *
  • Сообщений: 3
  • ФИО: Нияз
Задача по бухучету с курса Белоусова
« : Октябрь 04, 2020, 01:40:37 pm »
Учет ведется в разрезе товаров и сроков годности.
Себестоимость рассчитывается как средняя по товару, но сразу по всем срокам годности
Товары могут приходить с разными сроками годности. Списываться должны с сначала с меньшим сроком.
Как правильно списывать себестоимость? Делаю сейчас так:

СтоимостьКоличество = Выборка.КоличествоОстВсе;
СтоимостьСумма = Выборка.СуммаОстВсе;
ОсталосьСписать = Выборка.Количество;
ВыборкаДЗ = Выборка.Выбрать();
Пока ВыборкаДЗ.Следующий() и ОсталосьСписать > 0 Цикл
   
   Списываем = Мин(ОсталосьСписать, ВыборкаДЗ.КоличествоОст);
   ОсталосьСписать = ОсталосьСписать - Списываем;

   ТекСебестоимость = Списываем / СтоимостьКоличество * СтоимостьСумма;  // <---

   СтоимостьКоличество = СтоимостьКоличество - Списываем;
   СтоимостьСумма = СтоимостьСумма - ТекСебестоимость;
   
   Движение = Движения.Управленческий.Добавить();
   Движение.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
   Движение.СчетКт = ПланыСчетов.Управленческий.Товары;
   Движение.Период = Дата;
   Движение.Сумма = ТекСебестоимость;
   Движение.КоличествоКт = Списываем;
   Движение.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаДЗ.Номенклатура;
   Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаДЗ.Номенклатура;
   Движение.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.СрокГодности] = ВыборкаДЗ.СрокГодности;
КонецЦикла;

Это правильно?
Раньше делал просто так:

ТекСебестоимость = Списываем / Выборка.КоличествоОстВсе * Выборка.СуммаОстВсе;

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