Как автоматизировать формирование сдельных нарядов в 1С:УНФ с помощью штрихкодирования?

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

Автоматизация производственных процессов с помощью штрихкодирования — это эффективный способ избавиться от ручного ввода данных и ошибок человеческого фактора. В рамках данной статьи мы разберем по шагам, как доработать конфигурацию «1С:Управление нашей фирмой» (УНФ) для автоматического формирования сдельных нарядов на основе сканирования штрихкодов сотрудниками в цеху.

Анализ концепции и выбор метода кодирования

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

  1. Использование уникальных идентификаторов (UUID): В платформе 1С каждый объект имеет свой внутренний уникальный идентификатор. Мы можем генерировать штрихкод напрямую из этого идентификатора. Преимущество в том, что системе не нужно искать соответствие в промежуточных таблицах — ссылка на объект уже «вшита» в код.
  2. Использование составных или коротких кодов: Если UUID кажется слишком длинным (что приводит к громоздким штрихкодам типа Code128), можно использовать регистрацию коротких кодов в специальном регистре сведений или кодировать строку вида «ТипОбъекта_ID».

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

Программная реализация генерации кода

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


Функция ЧисловойКодПоСсылке(Ссылка) Экспорт
    // Убираем дефисы из строкового представления UUID
    ШестнадцатиричноеЧисло = СтрЗаменить(Строка(Ссылка.УникальныйИдентификатор()), "-", "");
    Возврат ПреобразоватьИзШестнадцатиричнойСистемыСчисленияВДесятичноеЧисло(ШестнадцатиричноеЧисло);
КонецФункции

Функция ПреобразоватьИзШестнадцатиричнойСистемыСчисленияВДесятичноеЧисло(Знач Значение)
    Значение = НРег(Значение);
    ДлинаСтроки = СтрДлина(Значение);
    Результат = 0;
    Для НомерСимвола = 1 По ДлинаСтроки Цикл
        Результат = Результат * 16 + СтрНайти("0123456789abcdef", Сред(Значение, НомерСимвола, 1)) - 1;
    КонецЦикла;
    Возврат Формат(Результат, "ЧГ=0");
КонецФункции

При сканировании такого кода в АРМ (автоматизированном рабочем месте) нам потребуется выполнить обратное преобразование, чтобы найти объект в базе данных.

Создание АРМ исполнителя в цеху

Посмотрим на процесс глазами рабочего. Оптимальная схема работы выглядит следующим образом:

  1. Идентификация сотрудника: Рабочий сканирует свой персональный бейдж. Система определяет пользователя через справочник Справочник.Сотрудники или Справочник.Пользователи.
  2. Выбор задания: Рабочий сканирует штрихкод с печатной формы «Маршрутный лист» или «Заказ на производство». В этом коде должна быть зашифрована конкретная строка операции.
  3. Ввод данных: Система открывает простую форму, где по умолчанию подставлено количество из плана, но рабочий может его скорректировать (например, если выполнена только часть работы).
  4. Фиксация факта: Данные записываются в промежуточный регистр сведений или сразу создают черновик документа Сдельный наряд.

Важный момент: Чтобы АРМ понимал, что именно было отсканировано (сотрудник или операция), рекомендуется использовать префиксы в штрихкодах. Например, код сотрудника начинается с «S», код операции — с «O». Это позволит системе мгновенно переключать контекст ввода.

Автоматизация формирования документов

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

Рассмотрим вариант с использованием регламентного задания. Данные из АРМ сохраняются в промежуточный регистр «ОтработанныеТехнологическиеОперации». Раз в 10–15 минут запускается фоновое задание, которое группирует записи по сотрудникам и сменам, после чего формирует итоговые документы Сдельный наряд со статусом «Выполнено».

Это решение позволяет:

Использование Производственных заданий в УНФ 3.0

В новых версиях 1С:УНФ (3.0 и выше) рекомендуем обратить внимание на объект Производственное задание. Этот документ специально предназначен для выдачи заданий на конкретные смены или операции. Штрихкодирование именно этих документов является наиболее «чистым» с точки зрения типовой архитектуры программы.

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

Резюмируя: Для успешной доработки УНФ необходимо реализовать компактную генерацию штрихкодов на основе ссылок объектов, создать упрощенный интерфейс АРМ с поддержкой префиксов и настроить механизм консолидации данных через фоновые задания. Это обеспечит высокую скорость работы и прозрачность управленческого учета в производстве.

← На главную