Закрытие производственных операций в 2 клика: разработка автоматизированного рабочего места оператора в 1С:ERP 2.5
Ситуация
Заказчик работает на системе 1С:ERP Управление предприятием 2.5. До проекта операторы производства закрывали сдельные наряды стандартными средствами 1С.
Каждый раз нужно было:
-
Открыть список документов «Этап производства» или «Производственная операция»,
-
Вручную проставить все отборы (по цеху, бригаде, смене, статусу),
-
Найти нужную строку,
-
Открыть документ или запустить обработку для пакетного закрытия.
Эти действия повторялись много раз за смену и занимали значительное время.
Со временем у заказчика появились новые требования:
-
Каждой детали нужно присвоить индивидуальный номер,
-
Каждому этапу производства — уникальный GUID.
Оба значения теперь выводятся в виде QR-кодов на печатных формах. При закрытии операций эти номера нужно было считывать и подтягивать в документы, но типовой функционал 1С:ERP 2.5 Не предусматривал удобной работы с кодами и их автоматическим считыванием. Это добавляло еще больше ручного труда.
Дополнительно появилась необходимость идентификации сотрудников по бесконтактной карточке EM-Marine и ограничение видимости операций по квалификационному разряду. Все вместе типовые механизмы 1С:ERP уже не «тянули».
Задача
Заказчик обратился, чтобы разработать удобное и быстрое автоматизированное рабочее место (АРМ) оператора производства, которое упростит ручной труд и расширит функционал.
Необходимо было внедрить:
-
Идентификацию сотрудников по бесконтактным карточкам EM-Marine,
-
Считывание QR-кодов (GUID этапа производства и номер деталей),
-
Вывод оперативной статистики прямо в АРМ.
При этом АРМ должно быть максимально простым и интуитивным — большинство операторов на производстве имеют небольшой опыт работы в 1С.
Решение
Весь функционал мы реализовали внешней обработкой и набором печатных форм. В начале проекта рассматривали возможность создания новых регистров, но потом решили от них отказаться. Почему — расскажем ниже.
Подключили оборудование и настроили обработку данных
Сканеры кодов и считыватели карт можно подключать двумя способами: как СОМ-объект или как виртуальную клавиатуру. Мы выбрали режим клавиатуры — это позволило полностью отлаживать всю логику даже без физического оборудования.
После сканирования в 1С информация приходит как обычный текст — просто строка символов. Нужно было научить систему различать: это GUID этапа, заводской номер детали или код с карточки сотрудника.
Для этого мы создали универсальный механизм, который по длине, формату и метаданным кода определяет, что именно отсканировано, и выполняет нужное действие.
Настроили идентификацию сотрудников и умную фильтрацию операций
Когда сотрудник прикладывает бесконтактную карточку EM-Marine к считывателю, система получает уникальный код карточки, находит соответствующего сотрудника в справочнике «Физические лица» / «Сотрудники» и сразу запоминает его на весь сеанс работы в АРМ. С этого момента все последующие действия выполняются от его имени.
Дальше формируется список доступных операций:
-
Сначала система ищет текущие производственные операции, где этот сотрудник уже указан исполнителем. Если такие есть — показывает их в первую очередь.
-
Если «своих» операций нет — подбирает операции, которые еще можно выполнить, с учетом разряда сотрудника.
Логика создания и закрытия нарядов показана на схеме.
Особый случай — операции, где исполнитель не предусматривается (у заказчика такие процессы сохранились). Для них есть специальная «пустая» карточка без привязки к физическому лицу. Когда сотрудник прикладывает её, АРМ выводит только такие операции.
Оптимизировали справочник «Разряды»
Со временем в справочнике «Разряды» накопилось много лишних элементов, которые не относились к разрядам сотрудников. Из-за этого прежняя фильтрация работала некорректно.
Мы убрали все лишнее, оставили только нужные записи и добавили строгую проверку.
Теперь в отбор попадают только те операции, которые сотрудник действительно может выполнять по своему разряду.
Реализовали создание и закрытие операций через QR-код
Когда оператор сканирует код с печатной формы, система действует в зависимости от текущего состояния:
-
Если соответствующая производственная операция еще не создана — АРМ сразу предлагает ее создать. Большая часть реквизитов заполняется автоматически.
-
Если операция уже существует и находится в работе — сканирование того же самого QR-кода открывает этот документ. Система подставляет текущего сотрудника как исполнителя и предлагает закрыть операцию.
Таким образом, один и тот же QR-код работает в обе стороны: и для создания новой операции, и для быстрого закрытия уже начатой. Оператору не нужно искать документ вручную — все происходит автоматически и без ошибок.
Настроили вывод оперативной статистики
Прямо в интерфейсе АРМ добавили блок со статистическими данными.
Теперь сотруднику не нужно лишний раз открывать отдельные отчеты и выстраивать отборы.
Вся необходимая статистика собрана в одном месте и всегда под рукой, как и планировал заказчик.
Непредвиденные сложности
Изменение логики подбора операций на финальном этапе. Уже когда основная часть работы была выполнена и мы находились на этапе тестирования, заказчик полностью поменял подход к подбору операций для создания новых документов.
Изначально планировалось показывать операции, которые выполнялись за предыдущий месяц, и из них выбирать, по какой создать документ.
На финальной стадии концепцию поменяли и ввели фильтр по разряду. У каждого сотрудника теперь прописан максимальный разряд, выше которого он не может брать операции.
Пришлось оперативно перестраивать логику фильтрации и переделывать уже готовый функционал.
Хранение QR-кодов и заводских номеров. На старте мы обсуждали вариант с отдельным регистром сведений, чтобы хранить QR-коды для документов и номера деталей. Однако быстро поняли, что при больших объемах производства это сильно увеличит размер базы и усложнит дальнейшую поддержку.
В итоге отказались от регистра и перешли на хранение в свойствах объектов и внешних печатных формах. Объем базы остался прежним, обновления конфигурации проходят без конфликтов, а поддержка стала значительно проще.
Результат
После внедрения АРМ одна операция закрывается за несколько секунд вместо прежних нескольких минут.
Когда сотрудник прикладывает карточку EM-Marine, то сразу видит свои задачи. Когда сканирует QR-код — система находит или создает документ с заполненными реквизитами. Остается сделать буквально один-два клика — и операция закрыта.
Вся статистика отображается прямо на главном экране, отдельные отчеты не нужны.
Интерфейс АРМ выглядит максимально простым, с ним могут работать сотрудники с любым опытом в 1С.
Длительность. Доработки заняли 200 часов, включая анализ, разработку, тестирование и финальную шлифовку.
Команда. Со стороны implecs над задачей работали 2 специалиста: разработчик 1С и аналитик-консультант. Со стороны заказчика проект курировал архитектор 1С, который согласовывал ТЗ и принимал работу.