Как организовать информирование пользователей о невостребованных ТМЦ на складе в 1С:УПП 1.3?

Программист 1С v8.3 (Обычные формы) Управленческий учет Промышленность, строительство и АПК
← На главную

Проблема переполнения склада из-за того, что инициаторы внутренних заказов вовремя не забирают поступившие товары, является классической для крупных производственных предприятий. В условиях работы с 1С:Управление производственным предприятием 1.3 (УПП), где интерфейс построен на обычных формах, задача предоставления оперативной информации сотрудникам, не имеющим доступа к 1С, требует особого архитектурного подхода. Рассмотрим подробно, как реализовать систему информирования — от простых отчетов до современных веб-сервисов и автоматических уведомлений.

Анализ данных: Как найти «виноватых» в системе

Прежде чем выводить данные на веб-страницу или в рассылку, разберем, откуда их получить в типовой конфигурации УПП 1.3. Основным механизмом связи поступившего товара и конкретного заказчика является резервирование. Когда товар поступает на склад по Внутреннему заказу, он фиксируется в регистре накопления ТоварыВРезервеНаСкладах.

Проанализируем структуру данных: нам необходимо построить запрос к остаткам этого регистра. В качестве разрезов (измерений) нас интересуют Номенклатура, Склад и, самое главное, ДокументРезерва. Именно в документе резерва (которым выступает ВнутреннийЗаказ) указан Ответственный или Инициатор.

Рассмотрим пример запроса для получения списка «залежавшихся» товаров:


ВЫБРАТЬ
    Резервы.Номенклатура КАК Товар,
    Резервы.ДокументРезерва КАК Заказ,
    Резервы.ДокументРезерва.Ответственный КАК Инициатор,
    Резервы.КоличествоОстаток КАК Количество,
    Резервы.ДокументРезерва.Дата КАК ДатаЗаказа
ИЗ
    РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(&Период, ) КАК Резервы
ГДЕ
    Резервы.КоличествоОстаток > 0

Этот запрос станет фундаментом для любого выбранного способа визуализации.

Вариант 1. Веб-страница через HTTP-сервисы и HTML

Если стоит задача сделать «прозрачную» доску позора, доступную с любого компьютера через браузер без использования лицензий 1С, оптимальным решением будет создание HTTP-сервиса. В платформе 8.3 это реализуется достаточно быстро.

Разберем по шагам алгоритм реализации:

  1. Создание HTTP-сервиса: В конфигураторе добавим новый объект HTTP-сервис. Определим шаблон URL, например, /get_sklad_info.
  2. Формирование ответа: В обработчике метода GET напишем код, который выполняет запрос к остаткам (приведенный выше) и формирует HTML-текст.
  3. Использование ТабДока для верстки: Чтобы не писать HTML-теги вручную, можно сформировать обычный ТабличныйДокумент в 1С, оформить его (цвета, шрифты, границы) и сохранить в формате HTML.

Пример кода для отдачи HTML-страницы через сервис:


Функция СписокОстатковGet(Запрос)
    ТабДок = Новый ТабличныйДокумент;
    // Здесь заполняем ТабДок данными из запроса
    // ...
    ИмяФайла = ПолучитьИмяВременногоФайла("html");
    ТабДок.Записать(ИмяФайла, ТипФайлаТабличногоДокумента.HTML);
    
    Чтение = Новый ЧтениеТекста(ИмяФайла, КодировкаТекста.UTF8);
    HTMLТекст = Чтение.Прочитать();
    Чтение.Закрыть();
    
    Ответ = Новый HTTPСервисОтвет(200);
    Ответ.УстановитьТелоИзСтроки(HTMLТекст);
    Возврат Ответ;
КонецФункции

После этого базу нужно опубликовать на веб-сервере (Apache или IIS). Теперь любой сотрудник, введя адрес сервера в браузере, увидит актуальный список ТМЦ.

Вариант 2. Автоматическая email-рассылка («Метод давления»)

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

Проанализируем логику работы регламентного задания:

Важным моментом является добавление в копию письма начальника отдела. Это резко повышает скорость забора ТМЦ со склада.

Вариант 3. Использование механизма OData

Если на предприятии уже есть внутренний портал (например, на Bitrix или другой CMS), не обязательно рисовать страницы в 1С. Можно использовать стандартный интерфейс OData. Рассмотрим подробнее: в настройках публикации на веб-сервере достаточно поставить галочку «Публиковать стандартный интерфейс OData».

После этого внешняя система сможет забирать данные из 1С простыми JSON-запросами. Это позволит веб-разработчикам интегрировать данные о складе прямо в корпоративный портал, используя привычные им инструменты. Пример обращения к данным будет выглядеть как URL-ссылка к конкретной таблице остатков или специально созданному отчету.

Вариант 4. Административные меры и автоматизация в УПП

Иногда технического информирования недостаточно. Рассмотрим возможность автоматического освобождения склада. В УПП 1.3 можно настроить бизнес-процесс «Закрытие заказов».

Разберем алгоритм «жесткого» управления:

  1. Устанавливаем срок хранения резерва (например, 5 дней).
  2. Создаем обработку, которая по регламенту находит заказы, по которым поступление было более 5 дней назад, но товар не списан (не сделано Требование-накладная или Реализация).
  3. Обработка автоматически формирует документ Закрытие внутренних заказов.
  4. Товар снимается с резерва и становится «свободным».

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

Визуализация через «Светофор»

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

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

Подведем итог: для новичка в 1С самым простым и надежным первым шагом будет создание регламентной рассылки по почте. Это не требует настройки веб-серверов и глубоких знаний веб-верстки, но дает мгновенный результат в дисциплине сотрудников. Вторым этапом можно внедрить HTTP-сервис для общей визуализации ситуации на складе.

← На главную