При торговле рулонными и мерными материалами (линолеум, обои, ткани, металлопрокат) компании часто сталкиваются с несовпадением единиц измерения: поставщик отгружает продукцию в квадратных метрах (м²), а клиенты в рознице или опте заказывают её в погонных метрах (пог. м). Неправильная настройка таких позиций в 1С:Управление торговлей 11 приводит к постоянным ошибкам менеджеров, списанию не тех единиц и расхождениям при инвентаризации. Разберем особенности учета мерных товаров и типовые способы решения этой задачи.
В конфигурациях 1С на платформе 1С:Предприятие 8 остатки на складах и себестоимость в регистрах (таких как ТоварыНаСкладах и СебестоимостьТоваров) всегда рассчитываются строго в одной единице хранения (базовой единице). Все остальные единицы измерения настраиваются как упаковки с определенным коэффициентом пересчета.
Рассмотрим ключевую проблему: перевод единиц с бесконечной дробью. Например, если ширина рулона составляет 3 метра, а базовой единицей выбран погонный метр:
При дробных коэффициентах пересчета неизбежно накапливается погрешность округления при проведении документов списания и расчета себестоимости. Поэтому фундаментальное правило звучит так: базовой единицей (единицей хранения) всегда назначается та величина, через которую другие единицы выражаются целыми числами или конечными десятичными дробями с минимальным количеством знаков.
Если по номенклатуре уже зафиксированы движения и проведены документы, конфигурация блокирует изменение поля единицы хранения. Попытка принудительно изменить базовую единицу измерения приведет к искажению исторических данных в регистрах.
Разберем по шагам правильный порядок перехода на новую единицу учета:
СписаниеНедостачТоваров (или оформляем документ ПересортицаТоваров).ОприходованиеИзлишковТоваров.Проанализируем сценарий, когда внутри компании складской учет и продажи ведутся в погонных метрах, а входящие накладные от контрагентов поступают в квадратных метрах. Чтобы снабженцам не приходилось пересчитывать количество вручную, воспользуемся типовым функционалом сопоставления.
НоменклатураПоставщика, где указываем наименование поставщика и его единицу измерения (м²).ПриобретениеТоваровУслуг подбираем позицию поставщика: программа отобразит м², но в движениях документа и на остатках зафиксирует погонные метры.Если один и тот же тип линолеума поступает с разной шириной (например, 2 м, 2.5 м, 3 м, 4 м), фиксированный коэффициент пересчета на уровне карточки применить нельзя. В этом случае выручает учет по характеристикам.
Чтобы ревизоры и продавцы перестали путать квадратные и погонные метры при создании документов реализации, применим следующие меры:
РеализацияТоваровУслуг или в рабочем месте кассира программа автоматически подставит требуемую единицу без возможности ручной ошибки менеджера.ПередЗаписью документа реализации и проверяем, чтобы мерный товар проводился только в разрешенных для продажи единицах измерения.Посмотрим на пример логики проверки в расширении конфигурации:
&Вместо("ПередЗаписью")
Процедура Расш_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
Для Каждого Стр Из ЭтотОбъект.Товары Цикл
// Проверяем, что для рулонных материалов выбрана требуемая единица
Если Стр.Номенклатура.ВидНоменклатуры.Имя = "РулонныеМатериалы" Тогда
Если Стр.Упаковка = Справочники.УпаковкиЕдиницыИзмерения.ПустаяСсылка()
ИЛИ Стр.Упаковка.Наименование <> "пог. м" Тогда
Отказ = Истина;
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(
"Товар """ + Строка(Стр.Номенклатура) + """ разрешено продавать только в погонных метрах!",
ЭтотОбъект,
"Товары[" + Формат(Стр.НомерСтроки - 1, "ЧГ=0") + "].Упаковка"
);
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Если специфика бизнеса требует строгого контроля отрезов и остатков по каждому конкретному рулону, настраивается серийный учет с политикой «Учет остатков рулонов/отрезов». В этом случае каждой партии (рулону) присваивается серия, фиксирующая начальную и текущую длину. Это полностью исключает возникновение фиктивных дробных остатков при мерной резке на складе.