При ведении управленческого учета часто возникает необходимость рассчитывать мотивацию менеджеров по продажам исходя из чистой маржинальности сделки. Для этого менеджмент стремится уменьшить валовую прибыль на сумму сопутствующих затрат (например, на упаковку, транспортировку, курьерскую доставку или погрузочные работы), понесенных при отгрузке. Рассмотрим, как решить эту задачу в конфигурации «1С:Управление торговлей» редакции 10.3, не нарушая типовую методологию учета и устойчивость системы.
Прежде чем вносить изменения в конфигурацию, проанализируем, как устроен учет себестоимости и продаж в 1С:УТ 10.3:
УправлениеЗапасамиПартионныйУчет полностью очищает и переформирует записи регистра накопления ПродажиСебестоимость. Если вручную или отдельным документом записать доп. расходы в этот регистр, эти данные сбросятся при восстановлении последовательности партий.ПартииТоваровНаСкладах в момент продажи, то при последующем оформлении документа ВозвратТоваровОтПокупателя товар вернется на склад по завышенной стоимости, что исказит отчетность в будущих периодах.Разберем два практических способа реализации этой задачи.
Для сохранения типовой конфигурации и полной корректности партионного учета наиболее безопасным решением является вынос дополнительных расходов в отдельный регистр.
РеализацияТоваровУслуг добавляем новую табличную часть для ввода дополнительно понесенных расходов с указанием вида расхода и суммы.ДопРасходыПриРеализации) с измерениями ДокументПродажи, Номенклатура, Менеджер и ресурсом СуммаЗатрат. При проведении реализации формируются записи в данный регистр.ВаловаяПрибыль. В схеме компоновки данных (СКД) связываем данные регистра ПродажиСебестоимость с новым регистром ДопРасходыПриРеализации по документу и номенклатуре. Расчет финансового результата выполняется по формуле:Валовая прибыль = Выручка - Себестоимость партий - Дополнительные расходы
Данный вариант гарантирует, что перепроведение партий не сбросит введенные расходы, а складские остатки останутся корректными.
Если заказчик настаивает на использовании стандартного отчета Валовая прибыль без создания внешних отчетов, необходимо внести изменения в общий модуль проведения партий.
РеализацияТоваровУслуг регистрируются суммы дополнительных расходов.УправлениеЗапасамиПартионныйУчет дорабатывается процедура списывания партий. В момент формирования записей для регистра ПродажиСебестоимость к рассчитанной себестоимости партии программно прибавляется сумма доп. расходов из табличной части документа.ПартииТоваровНаСкладах при этом не затрагивается, сохраняя реальную себестоимость поступления товара.Рассмотрим пример алгоритма распределения доп. расходов пропорционально стоимости товаров при проведении по партиям:
// Пример распределения дополнительных расходов по строкам реализации
СуммаДопРасходов = ДокументСсылка.ДопРасходы.Итог("Сумма");
СуммаДокумента = ДокументСсылка.Товары.Итог("Сумма");
Если СуммаДокумента > 0 И СуммаДопРасходов > 0 Тогда
Для Каждого СтрокаТовара Из ТаблицаТоваров Цикл
Доля = СтрокаТовара.Сумма / СуммаДокумента;
ДопРасходНаСтроку = Окр(СуммаДопРасходов * Доля, 2);
// Увеличение себестоимости в движении регистра ПродажиСебестоимость
ДвижениеСебестоимость.Стоимость = ДвижениеСебестоимость.Стоимость + ДопРасходНаСтроку;
КонецЦикла;
КонецЕсли;
При таком подходе отчет Валовая прибыль будет показывать правильную рентабельность с учетом расходов, а групповое проведение партий не будет стирать внесенные изменения.