При работе с конфигурацией «Управление торговым предприятием для Украины» (УТП 1.2) многие разработчики и аналитики сталкиваются с неочевидной на первый взгляд логикой: при использовании ордерной схемы перемещения товаров списание партий происходит не в момент отгрузки (расходным ордером), а в момент приемки (приходным ордером). В этой статье мы подробно разберем, почему типовая архитектура реализована именно так, какие риски несет изменение этой логики и как правильно внедрить схему «Товары в пути».
Для начала проанализируем, как система ведет себя «из коробки». В УТП 1.2 реализовано строгое разделение между финансовым движением (стоимость, партии) и складским (физическое количество). Когда мы создаем документ ПеремещениеТоваров с установленным флагом ордерной схемы, система ожидает двух подтверждений:
Товары на складах количество уменьшается, но запись в регистр Партии товаров на складах не вносится.Выясним причину такого решения: 1С защищает целостность партионного учета. Если списать партию расходным ордером, а приходный ордер будет сделан через неделю (например, товар едет из Киева в Одессу), то в течение этой недели стоимость товара «зависнет в воздухе». Она не будет числиться ни на одном складе, что приведет к разрыву баланса и ошибкам при выполнении регламентной операции Проведение по партиям.
Рассмотрим ситуацию, которую часто просят реализовать заказчики: «Я хочу, чтобы товар списывался с остатков (включая себестоимость) сразу, как только машина уехала». Если вы просто измените код проведения документа РасходныйОрдерНаТовары, чтобы он делал движения по регистру ПартииТоваровНаСкладах, вы столкнетесь со следующими проблемами:
Перемещении товаров.Чтобы реализовать требования бизнеса и при этом не нарушить логику 1С, проанализируем наиболее правильный метод — использование промежуточного (транзитного) склада. Посмотрим на алгоритм реализации по шагам:
Склады новый элемент (например, «Товары в пути (Автопарк)»). Укажите для него тип «Оптовый».Этот подход позволяет в любой момент времени видеть в отчетах, какая сумма товара находится в процессе доставки, просто сформировав остатки по складу «Товары в пути».
Если пользователи не хотят вручную делать два перемещения, мы можем программно модифицировать поведение ордеров. Разберем, как это реализовать профессионально:
При проведении документа РасходныйОрдерНаТовары, который введен на основании ПеремещенияТоваров, мы можем программно подменять склад-получатель в финансовом учете. Для этого в модуле проведения необходимо добавить логику, которая будет перекидывать партию со склада-отправителя на предопределенный транзитный склад.
Рассмотрим пример логики кода (схематично):
// В обработке проведения Расходного Ордера
Если ДокументОснование.Тип = Тип("ДокументСсылка.ПеремещениеТоваров") Тогда
// Создаем движение по регистру ПартииТоваровНаСкладах
Движение = Движения.ПартииТоваровНаСкладах.Добавить();
Движение.ВидДвижения = ВидДвиженияНакопления.Расход;
Движение.Склад = ДокументОснование.СкладОтправитель;
// ... заполнение остальных измерений (Номенклатура, ДокументОприходования)
// Сразу делаем Приход на транзитный склад
ДвижениеТранзит = Движения.ПартииТоваровНаСкладах.Добавить();
ДвижениеТранзит.ВидДвижения = ВидДвиженияНакопления.Приход;
ДвижениеТранзит.Склад = Справочники.Склады.НайтиПоНаименованию("Товары в пути");
// ... копируем стоимость из расхода
КонецЕсли;
Важно: При таком подходе необходимо также модифицировать ПриходныйОрдерНаТовары, чтобы он забирал партии уже не со склада-отправителя, а с нашего транзитного склада. Это обеспечит полную прозрачность учета.
Проанализируем бухгалтерский аспект. В украинском учете перемещение между складами внутри одного предприятия обычно не порождает проводок по доходам/расходам, но меняет аналитику счета 281 (Товары на складе). Если вы используете схему с транзитным складом, убедитесь, что в плане счетов для этого склада настроены корректные субсчета. В идеале использовать счет 206 (Материалы, переданные в переработку) или создать субсчет 281/Транзит, чтобы бухгалтер всегда видел разницу между товаром на полке и товаром в грузовике.
Подведем итоги нашего исследования. Попытка заставить Расходный ордер просто списывать партии «в никуда» — это путь к хаосу в себестоимости. Если задача стоит остро, рекомендуем придерживаться следующих правил:
Партии товаров на складах и складских остатков. Любое расхождение в ордерной схеме должно оперативно устраняться инвентаризацией или корректировкой записей регистров.Помните, что в УТП 1.2 расчет себестоимости и партионный учет крайне чувствительны к последовательности документов. Внедряя изменения в ордерную схему, вы берете на себя ответственность за «чистоту» закрытия месяца у бухгалтерии.