Как распределить сумму на товары в документе реализации в 1С:Управление торговлей 11?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

Переход с версии 10.3 на 1С:Управление торговлей 11 часто вызывает вопросы у опытных пользователей, особенно когда речь заходит о привычных механизмах манипуляции табличными частями документов. Рассмотрим ситуацию, когда возникает потребность распределить дополнительную сумму (например, стоимость доставки) по товарам в документе реализации.

Понимание методологии УТ 11

Важно уяснить: в отличие от версии 10.3, где себестоимость часто была привязана к моменту проведения документа, в 1С:Управление торговлей 11 методология учета была пересмотрена. Расчет себестоимости теперь является частью регламентных операций при закрытии месяца. Любое «размазывание» сумм в момент формирования реализации, направленное на изменение цены товара, методологически не поддерживается типовым функционалом, так как это искажает аналитику выручки и рентабельности.

Вариант 1: Использование услуг (рекомендованный способ)

Наиболее правильным способом с точки зрения учета является добавление услуги «Доставка» отдельной строкой в документ. Это позволяет:

  1. Разграничить выручку от продажи товаров и выручку от оказания дополнительных услуг.
  2. Сохранить корректную аналитику рентабельности по каждой номенклатурной позиции.
  3. Избежать проблем при возвратах товара и сверках с клиентами, так как цена товара остается неизменной.

Вариант 2: Работа с печатными формами

Если задача заключается исключительно в том, чтобы скрыть или показать клиенту наценку/скидку в печатной форме, не меняя структуру данных в документе, мы можем управлять выводом данных через параметры печати. В 1С ПараметрыПечати позволяют гибко настраивать отображение скидок:

ПараметрыПечати.Вставить("ОтображатьСкидки", Ложь);

Это позволяет не менять документ, а просто подготовить для клиента форму, которая соответствует его ожиданиям, без внесения изменений в базовую логику конфигурации.

Вариант 3: Создание внешней обработки табличной части (велосипед)

Если бизнес-процессы клиента требуют изменения именно цены в строках документа, нам придется создавать внешнюю обработку заполнения табличной части (ТЧ). Этот подход потребует от нас учета нескольких критических факторов:

Алгоритм разработки обработки

Чтобы реализовать распределение суммы через обработку, выполним следующие шаги:

  1. Создадим внешнюю обработку заполнения ТЧ для документа РеализацияТоваровУслуг.
  2. В модуле обработки получим Объект документа.
  3. Рассчитаем коэффициент распределения суммы СуммаРаспределения / ОбщаяСуммаДокумента.
  4. Для каждой строки Товары выполним пересчет: Цена = Цена + (СуммаСтроки * Коэффициент) / Количество.
  5. Обязательно пересчитаем итоговые суммы в строке, используя стандартные методы РассчитатьСуммуСНДС или аналогичные функции в модуле менеджера объекта.

Заключение

Перед тем как приступать к написанию кода, мы настоятельно рекомендуем обсудить с заказчиком последствия такого изменения. Часто бывает, что использование документа Приобретение услуг и прочих активов для распределения расходов на себестоимость является более профессиональным решением, чем манипуляция ценами в реализации. Если же заказчик настаивает на своем — используйте внешнюю обработку, чтобы сохранить типовую конфигурацию от лишних изменений, которые могут осложнить обновление системы в будущем.

← На главную