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

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

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

В этой статье мы подробно разберем, можно ли в рамках одной базы настроить систему так, чтобы один штучный товар мог отпускаться дробно, а второй — строго целиком. Мы проанализируем ограничения типового функционала и рассмотрим три практических метода решения этой задачи.

Ограничение типовой конфигурации 1С:УТ 11

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

Тем не менее, решить эту задачу в 1С:УТ 11 можно. Давайте подробно рассмотрим основные методические и технические подходы.

Вариант 1. Методически правильный учет через «атомарную» единицу измерения

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

Разберем этот подход по шагам:

  1. Определяем минимальную неделимую единицу. В качестве базовой единицы хранения (учета) в карточке номенклатуры мы выбираем самый мелкий элемент. Например, не «Коробка» и не «Блистер», а шт (одна таблетка, одна ампула, одна батарейка).
  2. Настраиваем упаковки. Включаем использование индивидуальных наборов упаковок для номенклатуры. Создаем упаковку, например, «Блистер» с коэффициентом 6 (если в блистере 6 таблеток) и упаковку «Коробка» с коэффициентом 60 (если в коробке 10 блистеров).
  3. Оформляем продажи. При отгрузке менеджер или кассир выбирает в документе нужную единицу измерения. Если покупатель берет целый блистер, в документ подставляется единица Блистер. Программа автоматически спишет со склада 6 базовых единиц (штук), но в печатной форме и чеке все будет выглядеть корректно. Если клиенту нужна только 1 штука, мы просто выбираем базовую единицу шт.

Преимущества метода: Полностью исключаются ошибки округления в регистрах остатков. В базе всегда хранятся целые числа (например, 22 штуки вместо 3.6667 коробки), что гарантирует легкое проведение инвентаризации. Для быстрого заполнения структуры единиц в номенклатуре подойдёт обработка для массового создания индивидуальных упаковок.

Вариант 2. Использование упаковок с дробными коэффициентами

Рассмотрим ситуацию, когда компания не готова переводить базовый учет на штуки (например, весь приход от поставщика идет строго в коробках, и менять базовую единицу трудоемко). В таком случае можно пойти от обратного:

  1. Базовой единицей хранения оставляем шт (которая по факту является коробкой).
  2. Для возможности дробления создаем упаковку с дробным коэффициентом. Например, «Блистер» с коэффициентом 0.5 (если в коробке 2 блистера) или 0.25 (если их 4).

Важное предупреждение! Этот метод отлично работает только в том случае, если вложенность выражается конечной десятичной дробью (например, 1/2 = 0.5, 1/4 = 0.25, 1/5 = 0.2). Если же вам нужно продать 1 блистер из пачки, в которой их 3 (коэффициент 0.3333...) или 6 (коэффициент 0.1666...), система столкнется с бесконечной дробью. При постоянных продажах неизбежно возникнут копейки и погрешности округления в регистре ТоварыНаСкладах, которые придется периодически корректировать ручными операциями или документами списания.

Вариант 3. Физическая и программная разукомплектация

Если дробные продажи происходят несистемно и редко, лучшим решением будет использование стандартного складского контура:

  1. В системе заводятся две разные карточки номенклатуры: например, «Коробка батарейки (10 шт)» и «Батарейка поштучно».
  2. При необходимости продать товар поштучно оформляется документ Сборка (разборка) товаров с видом операции «Разборка на комплектующие».
  3. Одна «Коробка» списывается со склада, а на остаток приходуется 10 «Батареек поштучно». При этом себестоимость корректно распределяется на новые позиции.

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

Решение для разработчиков: Ограничение ввода через расширение конфигурации

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

Создадим расширение конфигурации и добавим дополнительный реквизит типа Булево в карточку номенклатуры (например, ЗапретитьДробноеКоличество). Далее напишем проверку в модуле менеджера или в процедуре перед записью документов продажи:


&После("ПередЗаписью")
Процедура Расш_ПередЗаписью(Отказ, РежимЗаписи, РежимПроведения)
    Для Каждого СтрокаТЧ Из ЭтотОбъект.Товары Цикл
        // Проверяем наш признак в карточке номенклатуры
        Если СтрокаТЧ.Номенклатура.ДополнительныеРеквизиты.Найти("ЗапретитьДробноеКоличество") <> Неопределено Тогда
            Если СтрокаТЧ.Количество <> Цел(СтрокаТЧ.Количество) Тогда
                Отказ = Истина;
                ВызватьИсключение "Для товара " + СтрокаТЧ.Номенклатура.Наименование + " запрещен ввод дробного количества!";
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;
КонецПроцедуры

Такой несложный код полностью заблокирует проведение документов, в которых пользователи попытаются указать нецелое количество для защищенных от дробления позиций. В качестве готовой альтернативы собственной разработке можно использовать расширение для контроля кратности количества в УТ 11.

Современные тренды: частичное выбытие маркированного товара

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

В актуальных релизах 1С:УТ 11 при пробитии чека ККМ поддерживается передача реквизита «дробное количество маркированного товара» (тег 1291). Система позволяет легально отпустить долю маркированной упаковки через рабочее место кассира (РМК), корректно передав данные в систему «Честный Знак» и рассчитав стоимость доли.

Резюме

Мы подробно изучили все варианты решения проблемы дробных отгрузок штучного товара в 1С:УТ 11. Подведем итоги:

← На главную