При автоматизации розничной и оптовой торговли часто возникает необходимость вести учет товаров, которые продаются не поштучно, а мерами длины, объема или веса. К таким товарам относятся автомобильные масла на розлив, кабельная продукция, шланги, металлический профиль и строительные материалы. У пользователей часто возникает вопрос: как правильно оформить такие позиции в программе 1С:Предприятие 8.3 Управление торговлей (редакция 11), чтобы система корректно списывала остатки, рассчитывала цены при дробных продажах (например, при покупке 1.35 метра шланга) и позволяла удобно проводить инвентаризацию?
В этой статье мы подробно разберем три основных метода организации учета мерного товара, начиная от самого простого базового функционала и заканчивая сложным учетом в независимых единицах измерения с помощью серийного учета.
Рассмотрим самую распространенную ситуацию: нам необходимо продавать садовый шланг на отрез или моторное масло из бочки произвольными порциями. Минимальный шаг отпуска может быть любым (вплоть до миллиметров или миллилитров).
Для реализации этого сценария нам не потребуется вносить изменения в программный код. Платформа 1С:Предприятие 8.3 по умолчанию поддерживает математические операции с точностью до трех знаков после запятой (0.001). Это означает, что если базовой единицей измерения товара является Метр или Литр, мы можем без проблем продавать порции объемом 0.1, 0.5, 1.25 или даже 0.005 от базовой единицы.
Разберем настройку по шагам:
Проанализируем, как система будет вести себя при продаже. Когда клиент просит отрезать 1.35 метра шланга, менеджер или кассир в документе продажи (или в рабочем месте кассира — РМК) выбирает этот шланг и в поле "Количество" вручную указывает значение 1.35. Программа автоматически производит расчет стоимости по внутреннему алгоритму:
// Внутренний расчет стоимости позиции в табличной части документа
СуммаПродажи = Округлить(Количество * Цена, 2);
// В нашем примере: 1.35 м * 150 руб = 202.50 руб
При проведении документа списания со склада спишется ровно 1.35 метра. На складе останется корректный дробный остаток. Никаких дополнительных округлений делать не нужно, система "тупо занимается математикой", как справедливо отметили специалисты на форуме.
Выясним причину, почему стандартного метода в метрах или литрах иногда бывает недостаточно. Представим, что мы торгуем моторным маслом. Мы можем продавать его на розлив по литрам, но также у нас на складе есть запечатанные канистры по 1 литру, 4 литра и бочки по 200 литров. Если завести их как разные номенклатурные позиции, мы запутаемся в остатках.
Для решения этой задачи рассмотрим подробнее механизм Упаковок номенклатуры:
1;4;200.При поступлении товара мы можем приходовать масло бочками (указывая в документе упаковку "Бочка 200л"), а продавать его как целыми канистрами по 4 литра, так и абсолютно произвольным дробным количеством литров на розлив (указав количество 1.5 и единицу измерения л). Система сама пересчитает остатки на складе в единую базовую единицу — литры. Для быстрого развертывания этой модели учета на большом ассортименте товаров подойдет обработка для автоматического группового создания упаковок номенклатуры.
Теперь разберем более сложную и интересную ситуацию, которая часто встречается при торговле кабельной продукцией или шлангами высокого давления. Кабель поставляется от завода-изготовителя в бухтах (барабанах). При этом каждая бухта уникальна: в одной может быть намотано 150 метров кабеля, во второй — 148 метров, в третьей — 152 метра. У нас нет постоянного коэффициента пересчета между штуками (бухтами) и метрами.
Если мы будем вести учет просто в метрах, мы потеряем информацию о том, какими именно кусками мы располагаем. Клиент может попросить отрезать цельный кусок длиной 130 метров. По данным системы у нас числится 160 метров кабеля, но фактически этот остаток состоит из двух разных бухт по 80 метров. Отрезать 130 метров цельным куском мы не сможем.
Для решения этой проблемы в «1С:Управление торговлей 11» применяется методика ведения учета в двух независимых единицах измерения с помощью функционала Серий номенклатуры, где серия выступает в роли идентификатора конкретного экземпляра (бухты или рулона).
Настроим этот функционал по шагам:
При такой настройке в любых складских отчетах (например, в отчете Ведомость товаров на складах с детализацией по сериям) мы будем наглядно видеть структуру нашего склада:
Номенклатура: Кабель силовой NYM 3x2.5
-- Всего на складе: 300.000 м
-- Серия (Бухта) №1: 140.000 м
-- Серия (Бухта) №2: 160.000 м
При продаже менеджер выписывает клиенту необходимое количество метров и прямо в документе выбирает, из какой конкретно серии (бухты) будет производиться отрез. Если клиент заказывает 50 метров, мы выбираем Серию №1. Программа списывает 50 метров именно с этой бухты, и ее остаток становится равным 90 метрам. Для оперативного контроля и анализа таких остатков в стоимостном выражении можно использовать отчет для вывода остатков товаров с детализацией по сериям и ценам.
Проанализируем важный практический нюанс. В процессе отрезания кабеля или шланга неизбежно образуются мелкие остатки (так называемые "огрызки" длиной 10-15 сантиметров), которые уже невозможно продать покупателям. В системе они продолжают числиться на остатках, искажая реальную картину.
Для поддержания актуальности данных на складе необходимо периодически проводить инвентаризацию и списывать накопившиеся неликвидные остатки. В программе 1С:УТ 11 это реализуется с помощью следующих шагов:
0.Используя предложенные методики, вы сможете гибко настроить учет абсолютно любых мерных товаров в программе «1С:Управление торговлей 11» без привлечения программистов и дорогостоящих доработок конфигурации.