При переходе на современные конфигурации семейства 1С, такие как 1С:Управление торговлей 11, 1С:ERP или 1С:Комплексная автоматизация, пользователи часто сталкиваются с неожиданной проблемой. Полноценное адресное хранение (с жестким количественным учетом остатков в разрезе ячеек) в этих программах неразрывно связано с использованием ордерной схемы. Для крупных распределительных центров со штатом профессиональных комплектовщиков и разделением зон ответственности это благо. Но для небольших складов, внутренних кладовых инструмента или ИТ-отделов, выдающих «одну отвертку» инженеру, эта схема превращается в кошмар.
Давайте подробно проанализируем, почему возникает эта проблема, как выглядит стандартная цепочка действий в программе и какие существуют практические способы существенно упростить процесс отгрузки ТМЦ, сохранив при этом порядок на складе. Мы рассмотрим как штатные настройки системы, так и варианты с программированием и мобильной автоматизацией.
Выясним причину, почему при включенном адресном хранении обычная выдача товара (например, передача спецодежды или инструмента в эксплуатацию) требует выполнения огромного количества рутинных операций. По умолчанию в 1С:УТ 11 этот процесс выглядит следующим образом:
ВнутреннееПотреблениеТоваров с видом операции «Передача в эксплуатацию» или «Списание на расходы».РасходныйОрдерНаТовары в статусе «Подготовлено».ОтборРазмещениеТоваров с операцией «Отбор». Система рассчитывает ячейки-источники, из которых оптимальнее всего забрать товар.ОтборРазмещениеТоваров и перевести его статус в «Выполнено без ошибок» (или внести корректировки, если нужного количества в ячейке не оказалось).РасходныйОрдерНаТовары. Переводим его статус в положение «К отгрузке».Итого мы имеем от 5 до 7 шагов, открытие нескольких связанных форм и постоянную смену статусов. В условиях, когда отбором занимается сам инженер-получатель или единственный кладовщик на небольшом складе, такая цепочка парализует работу. Рассмотрим четыре эффективных способа решения этой проблемы.
Это самый простой и быстрый способ избавиться от лишних документов, не прибегая к программированию. Разберем по шагам, подходит ли он вам.
В 1С:УТ 11 существует два варианта работы с ячейками:
Если для вашего предприятия не критичен жесткий автоматический контроль остатков в разрезе конкретных ячеек, выполните перенастройку склада:
НСИ и администрирование -> Склады и магазины и откройте карточку вашего склада.Ордерная схема и структура найдите настройку использования ячеек.При справочном хранении процесс сокращается до одного шага. Пользователь создает и проводит только один документ — например, ВнутреннееПотреблениеТоваров. Адреса ячеек хранения товаров выводятся информативно прямо в печатную форму накладной (в лист сборки). Кладовщик сразу видит, куда идти за отверткой, берет ее, и на этом работа с программой завершается.
Если отказываться от жесткого адресного контроля остатков нельзя, мы можем использовать встроенные механизмы автоматизации 1С:УТ 11, чтобы переложить часть рутины на саму систему.
Шаг 1. Автоматическое создание Расходных ордеров.
В настройках склада найдите параметр Расходный ордер на товары формируется. По умолчанию там установлен вариант «Менеджером» или «Кладовщиком». Измените его на «Автоматически». Теперь при проведении накладной ВнутреннееПотреблениеТоваров система сама в фоновом режиме создаст РасходныйОрдерНаТовары в статусе «Подготовлено», избавив вас от необходимости заходить на складское рабочее место отгрузки.
Шаг 2. Автоматическая генерация заданий на отбор.
В карточке склада (или помещения при использовании помещений) перейдите по ссылке Настройки адресных складов. На вкладке Создание заданий на отбор активируйте регламентное задание (настройте расписание, например, каждые 5 минут). Система сама будет анализировать новые расходные ордера и автоматически генерировать документы ОтборРазмещениеТоваров.
При такой настройке пользователю останется лишь распечатать готовое задание на отбор, выполнить его физически и перевести документ отбора в статус «Выполнено».
Если вы хотите работать по принципу «одного окна» — заполнили накладную, нажали кнопку «Провести», а программа сама мгновенно создала, заполнила ячейками и провела всю цепочку ордеров и отборов, — лучшим решением станет создание небольшого расширения конфигурации.
Рассмотрим подробнее логику работы такого расширения. Программист 1С создает подписку на событие при проведении документа ВнутреннееПотреблениеТоваров. Программа перехватывает проведение и выполняет следующий алгоритм:
РасходныйОрдерНаТовары, заполняет его на основании нашей накладной.ОтборРазмещениеТоваров в статусе «Выполнено без ошибок», проводя списание остатков из конкретных ячеек.РасходныйОрдерНаТовары в статус «Отгружен» и проводит его.Посмотрим на пример концептуального кода, который может быть размещен в расширении для автоматического создания и заполнения отбора товаров из ячеек:
// Фрагмент процедуры автоматического формирования документов отбора
Процедура АвтоматическийОтборИзЯчеек(ДокументРаспоряжение) Экспорт
// 1. Создание Расходного ордера
НовыйОрдер = Документы.РасходныйОрдерНаТовары.СоздатьДокумент();
НовыйОрдер.Дата = ТекущаяДата();
НовыйОрдер.Склад = ДокументРаспоряжение.Склад;
НовыйОрдер.Распоряжение = ДокументРаспоряжение;
НовыйОрдер.ЗаполнитьНаОсновании(ДокументРаспоряжение);
НовыйОрдер.Статус = Перечисления.СтатусыРасходныхОрдеровНаТовары.КОтбору;
НовыйОрдер.Записать(РежимЗаписиДокумента.Проведение);
// 2. Создание Отбора (размещения) товаров
НовыйОтбор = Документы.ОтборРазмещениеТоваров.СоздатьДокумент();
НовыйОтбор.Дата = ТекущаяДата();
НовыйОтбор.Склад = ДокументРаспоряжение.Склад;
НовыйОтбор.Операция = Перечисления.ОперацииОтбораРазмещенияТоваров.Отбор;
// Заполнение табличной части с использованием механизмов автоподбора ячеек
ПараметрыЗаполнения = СкладыСервер.ПолучитьПараметрыЗаполненияОтбора(НовыйОрдер);
НовыйОтбор.ЗаполнитьПоРаспоряжению(НовыйОрдер, ПараметрыЗаполнения);
// Устанавливаем статус выполнения без ошибок
НовыйОтбор.Статус = Перечисления.СтатусыОтбораРазмещенияТоваров.ВыполненоБезОшибок;
НовыйОтбор.Записать(РежимЗаписиДокумента.Проведение);
// 3. Закрытие ордера
НовыйОрдер.Статус = Перечисления.СтатусыРасходныхОрдеровНаТовары.Отгружен;
НовыйОрдер.Записать(РежимЗаписиДокумента.Проведение);
КонецПроцедуры
Для конечного пользователя процесс становится идеальным: он создает всего один документ списания, а сложная складская структура отрабатывает за доли секунды под капотом системы.
Если набором товаров на складах занимаются инженеры или кладовщики непосредственно в зонах хранения, наиболее технологичным решением является интеграция 1С с мобильным ПО для ТСД (например, специализированным софтом для складской логистики).
Проанализируем сценарий работы с терминалом сбора данных:
ЗаказНаВнутреннееПотребление. На этом его работа заканчивается.Этот вариант является самым надежным для распределенных по городу складов, поскольку исключает человеческий фактор при вводе данных и позволяет вести строгий учет в реальном времени прямо «с полей».
Выбор оптимального пути оптимизации адресного хранения в 1С:УТ 11 зависит от масштаба вашего бизнеса и требований к строгости учета: