Одной из наиболее острых проблем при переходе на 1С:Управление торговлей 11 (УТ 11), ERP или Комплексную автоматизацию 2 является механизм формирования себестоимости. В отличие от старых версий (например, УТ 10.3), где доп. расходы могли распределяться «в моменте», современная архитектура платформы 8.3 на управляемых формах использует сложный механизм распределения через регламентные задания. Рассмотрим подробнее, почему так происходит и как обойти это ограничение для оперативной установки цен.
Проанализируем архитектуру регистров. В УТ 11 данные о стоимости хранятся в регистре накопления СебестоимостьТоваров. Когда мы проводим документ ПриобретениеТоваровУслуг, система сразу записывает в регистр стоимость самого товара. Однако, когда мы вводим ПриобретениеУслугИПрочихАктивов с распределением «на себестоимость», связь между конкретной единицей товара и суммой услуги устанавливается только в процессе Расчета себестоимости.
Выясним причину такой сложности: система 1С рассматривает расчет себестоимости как решение системы линейных уравнений. Если в течение месяца были перемещения между складами, возвраты, перепродажи между организациями (Интеркампани), то точная сумма доп. расхода на конкретный остаток товара может быть вычислена только при закрытии всего периода. Именно поэтому «из коробки» 1С не показывает полную себестоимость в отчетах мгновенно.
Наиболее эффективный способ, который позволяет менеджеру установить цену сразу после оформления документов, — это использование произвольного запроса к базе данных в механизме ценообразования. Разберем по шагам, как это реализовать:
Произвольный запрос к данным ИБ.Рассмотрим пример логики такого запроса. Мы должны выбрать данные из ТЧ Товары документа ПриобретениеТоваровУслуг и соединить их с ТЧ Расходы документа ПриобретениеУслугИПрочихАктивов, где в качестве Документа-основания (или аналитики расходов) указано наше поступление товаров.
Пример фрагмента запроса для СКД:
ВЫБРАТЬ
ПриобретениеТовары.Номенклатура КАК Номенклатура,
ПриобретениеТовары.Сумма / ПриобретениеТовары.Количество КАК ЦенаЗакупа,
ЕСТЬNULL(ДопРасходы.СуммаУслуг, 0) / ПриобретениеТовары.Количество КАК ДопЦенаНаЕдиницу,
(ПриобретениеТовары.Сумма + ЕСТЬNULL(ДопРасходы.СуммаУслуг, 0)) / ПриобретениеТовары.Количество КАК ИтоговаяОперативнаяСебестоимость
ИЗ
Документ.ПриобретениеТоваровУслуг.Товары КАК ПриобретениеТовары
ЛЕВОЕ СОЕДИНЕНИЕ (
ВЫБРАТЬ
Услуги.ДокументОснование КАК СсылкаНаПоступление,
СУММА(Услуги.Сумма) КАК СуммаУслуг
ИЗ
Документ.ПриобретениеУслугИПрочихАктивов.Расходы КАК Услуги
ГДЕ
Услуги.СтатьяРасходов.ВариантРаспределения = ЗНАЧЕНИЕ(Перечисление.ВариантыРаспределенияРасходов.НаСебестоимостьТоваров)
СГРУППИРОВАТЬ ПО
Услуги.ДокументОснование
) КАК ДопРасходы
ПО ПриобретениеТовары.Ссылка = ДопРасходы.СсылкаНаПоступление
Такой подход позволяет игнорировать отсутствие рассчитанного регистра СебестоимостьТоваров и получать данные напрямую из первичных документов. Важный момент: этот метод требует, чтобы пользователи всегда указывали документ поступления товаров в качестве аналитики в документе приобретения услуг.
В последних версиях 1С:УТ 11.5 и выше реализован механизм фонового расчета себестоимости. Посмотрим, как он может помочь. Если включить эту опцию, система будет пытаться рассчитывать себестоимость автоматически после проведения документов.
Однако проанализируем риски:
Провести.Рассмотрим еще один методический прием. В документе ПриобретениеТоваровУслуг есть закладка Услуги. Если поставщик товара и перевозчик — одно и то же лицо, или если вы готовы отражать услуги в этом же документе, вы можете добавить транспортные расходы прямо туда.
В этом случае при настройке статьи расходов На себестоимость товаров связь между суммой услуги и товаром фиксируется в системе более жестко. Несмотря на то, что в отчеты по себестоимости цифра все равно попадет после регламентной операции, механизмы Установки цен, работающие по алгоритму Цены поступления, могут «подхватывать» эти суммы корректнее.
Важно понимать разницу между двумя режимами, которые предлагает 1С:
Для целей оперативного ценообразования (установки розничных цен) Предварительный расчет часто оказывается бесполезным, если доля транспортных расходов в цене товара существенна.
Если ваша компания не может ждать закрытия месяца для оценки прибыли, мы рекомендуем следующий алгоритм действий:
1. Используйте расширения: Можно создать небольшое расширение конфигурации, которое будет добавлять в документ ПриобретениеТоваровУслуг виртуальную колонку «Себестоимость с учетом доп. расходов». Эта колонка будет рассчитываться программно при открытии или проведении документа, суммируя данные из связанных документов приобретения услуг.
2. Настройте регламентное задание: Если объем данных позволяет, настройте регламентное задание Фактический расчет себестоимости на выполнение в обеденный перерыв и вечером. Это позволит менеджерам видеть актуальные данные хотя бы дважды в день.
3. Доработка СКД: Это самый «чистый» способ с точки зрения типовой конфигурации. Напишите один раз качественный запрос в схеме компоновки данных для вида цен, и система сама будет собирать нужные цифры из документов поступления и услуг, обеспечивая оперативность без ущерба для производительности системы.
Таким образом, мы выяснили, что отсутствие мгновенной себестоимости — это не ошибка, а особенность архитектуры 1С:УТ 11. Решение этой задачи лежит в плоскости использования инструментов СКД или настройки фоновых заданий, в зависимости от масштаба вашей базы данных.