Можете решить проблему копеек в прикрепленном примере в бухгалтерской задачи? там данные забиты. У меня не получилось.
Списываем по срокам годности. В конце если количество остатка по номенклатуре равна количеству общего остатка по сериям, то находим копейки и корректируем последнее движение.
ОбщаяСуммаСписания = 0;
Пока ВыборкаСерия.Следующий() и НеобходиомСписать>0 Цикл
КолСписать = МИН(НеобходиомСписать,ВыборкаСерия.КоличествоОстатокПоСерии);
Если КолСписать = ВыборкаНоменклатура.КоличествоОстаток Тогда
СуммаСебастоимость = ВыборкаНоменклатура.СуммаОстаток;
Иначе
СуммаСебастоимость = КолСписать * ВыборкаСерия.СуммаОстаток / ВыборкаСерия.КоличествоОстаток ;
КонецЕсли;
ОбщаяСуммаСписания = ОбщаяСуммаСписания + СуммаСебастоимость;
Проводка = Движения.РегистрБухгалтерии.Добавить();
Проводка.Период = Дата;
Проводка.СчетДт = ПланыСчетов.Управленческий.ПрибылиУбытки;
Проводка.СчетКт = ПланыСчетов.Управленческий.Товары;
Проводка.СубконтоДт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаНоменклатура.Номенклатура;
Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Номенклатура] = ВыборкаНоменклатура.Номенклатура;
Проводка.СубконтоКт[ПланыВидовХарактеристик.ВидыСубконто.Серия] = ВыборкаСерия.Серия;
Проводка.КоличествоКт = КолСписать;
Проводка.Сумма = СуммаСебастоимость;
НеобходиомСписать = НеобходиомСписать - КолСписать;
КонецЦикла;
Если ВыборкаНоменклатура.КоличествоОстаток = ВыборкаНоменклатура.КоличествоОстатокПоСерии Тогда
Копейка = ВыборкаНоменклатура.СуммаОстаток - ОбщаяСуммаСписания;
Проводка.Сумма = Проводка.Сумма + Копейка;
КонецЕсли;