Как автоматизировать заказ и распределение канцтоваров в крупной компании на базе 1С?

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

Закупка и распределение канцелярских товаров в крупных организациях со множеством филиалов и подразделений часто превращается в хаотичный процесс. Ручной сбор потребностей через мессенджеры, сотни разнородных писем на электронную почту координаторов АХО (административно-хозяйственного отдела) и путаница при оприходовании приводят к нецелевому расходованию бюджета и потере времени. В этой статье мы подробно разберем, как спроектировать и внедрить эффективную систему автоматизации заказа канцтоваров на базе 1С, начиная от простейших регламентов и заканчивая продвинутыми B2B-интеграциями.

---

Методология автоматизации: от хаоса к порядку

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

  1. Отказ от избыточности каталога (обезличивание номенклатуры). Не нужно загружать в базу 1С весь прайс-лист поставщика (например, «Комуса» или «Офисмага») с десятками тысяч позиций. Если разрешить сотрудникам выбирать любые товары, компания начнет закупать «ручки с золотым тиснением» и «бумагу из красного дерева». Ограничьте выбор несколькими классами товаров. Например: ручка шариковая синяя (бюджетная, стандартная, премиум для руководителей). Номенклатура должна формироваться за 2-3 месячных цикла работы системы.
  2. Регламентирование процесса. Введите жесткое правило: закупки осуществляются только на основании электронных заявок, созданных в системе и согласованных руководителями центров финансовой ответственности (ЦФО). Заявки, отправленные устно или в личную почту специалистов АХО, к рассмотрению не принимаются.
  3. Лимитирование бюджетов. Каждому подразделению должен быть назначен ежемесячный лимит расходов на канцелярские товары. При попытке заказать больше лимита система 1С должна автоматически блокировать отправку заявки или требовать дополнительного согласования у финансового директора.

---

Сценарий 1. Сбор потребностей через стандартизированные файлы Excel

Рассмотрим самый доступный и быстрый в реализации вариант, который отлично подходит, если у конечных сотрудников подразделений нет непосредственного доступа к информационной базе 1С (например, из-за нехватки лицензий или соображений безопасности).

Суть метода заключается в рассылке шаблона файла Excel, в котором заблокированы для изменения все ячейки, кроме колонки Количество. Сотрудники заполняют только объемы потребностей, после чего отправляют файлы обратно.

Разберем по шагам, как автоматизировать этот процесс в 1С:

Шаг 1. Создание и рассылка шаблона

В системе 1С формируется плоская таблица с актуальным перечнем доступной к заказу номенклатуры (внутренний код, наименование, артикул поставщика). Данная таблица программно выгружается в формат Excel, при этом на уровне листа Excel ставится защита паролем на все колонки, кроме колонки количества.

Шаг 2. Автоматический сбор писем с вложениями

Для исключения ручной работы специалистов АХО заводится выделенный служебный почтовый ящик (например, kancler@company.ru). На стороне 1С настраивается регламентное задание, которое считывает новые письма из этого ящика, извлекает вложенные файлы и производит их разбор.

Посмотрим на пример программного парсинга полученного Excel-файла и создания на его основе документа ВнутреннийЗаказ:


// Пример обработки входящего файла Excel в 1С
&НаСервере
Процедура ЗагрузитьЗаявкуИзExcel(ПутьКФайлу, Отправитель)
    
    Попытка
        ExcelПриложение = Новый COMОбъект("Excel.Application");
        ExcelКнига = ExcelПриложение.Workbooks.Open(ПутьКФайлу);
        ExcelЛист = ExcelКнига.Sheets(1);
    Исключение
        ЗаписьЖурналаРегистрации("ЗагрузкаКанцтоваров", УровеньЖурналаРегистрации.Ошибка,,, 
            "Не удалось открыть файл Excel: " + ОписаниеОшибки());
        Возврат;
    КонецПопытки;
    
    // Создаем новый Внутренний заказ в 1С
    НовыйЗаказ = Документы.ВнутреннийЗаказ.СоздатьДокумент();
    НовыйЗаказ.Дата = ТекущаяДата();
    НовыйЗаказ.Инициатор = НайтиПользователяПоEmail(Отправитель);
    НовыйЗаказ.Подразделение = НайтиПодразделениеПоПользователю(НовыйЗаказ.Инициатор);
    
    НомерСтроки = 2; // Предполагаем, что первая строка — шапка
    Пока ЗначениеЗаполнено(ExcelЛист.Cells(НомерСтроки, 1).Value) Цикл
        
        КодТовара = СокрЛП(ExcelЛист.Cells(НомерСтроки, 1).Value);
        Количество = Число(ExcelЛист.Cells(НомерСтроки, 4).Value);
        
        Если Количество > 0 Тогда
            СсылкаНоменклатура = Справочники.Номенклатура.НайтиПоКоду(КодТовара);
            Если Не СсылкаНоменклатура.Пустая() Тогда
                НоваяСтрока = НовыйЗаказ.Товары.Добавить();
                НоваяСтрока.Номенклатура = СсылкаНоменклатура;
                НоваяСтрока.Количество = Количество;
            КонецЕсли;
        КонецЕсли;
        
        НомерСтроки = НомерСтроки + 1;
    КонецЦикла;
    
    ExcelКнига.Close(Ложь);
    ExcelПриложение.Quit();
    
    Если НовыйЗаказ.Товары.Количество() > 0 Тогда
        НовыйЗаказ.Записать(РежимЗаписиДокумента.Проведение);
    КонецЕсли;
    
КонецПроцедуры

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

---

Сценарий 2. Работа непосредственно в 1С с разделением прав (RLS)

Если у сотрудников подразделений есть доступ к системе 1С (через тонкий клиент или веб-клиент), то лучшим решением будет использование типовых механизмов планирования и обеспечения потребностей.

Проанализируем архитектуру этого решения:

  1. Ограничение прав на уровне записей (RLS): Для пользователей настраиваются права доступа таким образом, чтобы каждый инициатор видел только документы своего подразделения (ЦФО). Это исключает возможность случайного просмотра или изменения чужих заявок.
  2. Документ «Внутренний заказ» (или «Заказ на внутреннее потребление»): Ответственный сотрудник каждого отдела самостоятельно заходит в систему и создает документ. В нем он выбирает товары из предопределенной папки номенклатуры «Канцелярия».
  3. Согласование: После заполнения заявка переводится в статус «К согласованию». Руководитель отдела получает уведомление и прямо в 1С согласовывает документ, меняя статус на «Согласовано».
  4. Консолидация потребностей: В конце отчетного периода (например, раз в месяц) сотрудник АХО запускает встроенную обработку «Формирование заказов поставщикам» (или «Обеспечение потребностей»). Система автоматически суммирует все утвержденные внутренние заказы и генерирует единый документ ЗаказПоставщику.

---

Сценарий 3. Продвинутая автоматизация для крупного бизнеса (PunchOut и API)

Для территориально распределенных корпораций со штатом в несколько тысяч человек ручное ведение каталогов и отправка файлов становятся неэффективными. Современная практика крупного бизнеса опирается на глубокую интеграцию корпоративной системы 1С с внешними платформами поставщиков.

1. Использование технологии PunchOut (OCI)

Технология PunchOut (cXML) позволяет пользователям осуществлять закупки на внешнем сайте поставщика, но под полным контролем внутренней системы 1С.

Выясним, как функционирует данный бизнес-процесс:

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

2. Интеграция по API и ЭДО

После того как все внутренние потребности согласованы и консолидированы в один ЗаказПоставщику, отправка этого документа также автоматизируется через API. В один клик мышки данные улетают в личный кабинет поставщика. В ответ система получает подтверждение резерва и актуальный счет на оплату.

Для завершения цепочки обязательно внедряется ЭДО (электронный документооборот). При доставке канцтоваров поставщик отправляет УПД (универсальный передаточный документ) по каналам ЭДО. В 1С документ ПоступлениеТоваровУслуг формируется и проводится автоматически на основании входящего электронного документа, сопоставляя номенклатуру по штрихкодам.

---

Сценарий 4. Предиктивные (автоматические) закупки на основе нормативов

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

Рассмотрим шаг за шагом реализацию предиктивного снабжения:

  1. Разработка нормативов расхода: Финансовая служба совместно с АХО утверждает нормы потребления канцтоваров на одного штатного сотрудника в месяц. Например: 0.5 пачки бумаги формата А4, 1 синяя ручка, 10 файлов.
  2. Связь со штатным расписанием: Система 1С автоматически запрашивает из подсистемы расчета зарплаты и кадров (ЗУП) актуальные данные по численности персонала в разрезе каждого подразделения.
  3. Автоматический расчет потребности: Раз в месяц регламентное задание перемножает нормы на количество фактически работающих сотрудников и генерирует черновик заказа поставщику. Сбор заявок от отделов в данном случае вообще не проводится.
  4. Интеграция со статистикой использования оборудования: Для оптимизации расходов на бумагу можно настроить интеграцию 1С с сервером печати компании. Система анализирует реальное количество распечатанных документов каждым отделом и корректирует плановый заказ бумаги в большую или меньшую сторону.

---

Организация склада и адресное распределение

Когда большая сборная партия канцтоваров прибывает от поставщика на центральный склад компании, возникает сложная задача: как быстро и безошибочно разложить товары по коробкам для отправки в десятки различных отделов?

Разберем, как автоматизировать этот этап:

---

Резюме и рекомендации

Выбор варианта автоматизации зависит от масштаба вашей компании и доступных ресурсов:

← На главную