Контур прослеживаемости

ООО «МПК Свежнев» · демонстрационный прототип

Интерактивная мока: приёмка из 1С, выпуск с автопостроением связок, отгрузка и выгрузка четырёх потоков в ИС AITS. Данные вымышленные, внешние системы имитируются на стороне страницы — ни 1С, ни trace.by здесь не вызываются.

Приходы приезжают из 1С по расписанию. Партии, которых в 1С нет, создаются здесь — приёмщик добавляет то, чего в приходе не бывает: ветеринарное разрешение, ТТН поставщика, срок годности. В момент создания партия получает GUIN и живёт под ним до отгрузки.

Очередь приходов из 1С

Документ 1СДатаПоставщикНоменклатураКг

Партии сырья

Столбец «AITS» — состояние выгрузки, оно же признак «уже отправлено»
ПартияНаименованиеПоставщикКгВет. разрешениеGUINЛабораторияAITS

Весы отдают вес по RS-232 и выводятся в сеть через serial device server — на рабочем месте остаётся только браузер. Здесь драйвер подменён эмулятором (FakeScale из плана), но метрология настоящая: цена деления, минимальная нагрузка и предел взвешивания взяты с шильдиков вашего парка, а вес квантуется по делению, как у реального прибора.

Терминал весов

0,0кг
движение тара 0,0 в диапазоне

Поток показаний

непрерывная выдача, как требует детекция по циклу нагрузки

Отвес приёмки

фактический вес против количества из документа 1С
кнопка доступна только при устойчивом весе

Передача сырья работнику и сдача после разделки

лицевой баланс смены — основа сдельной оплаты
Сдано по видамКгДоля

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

Режим рабочего места

это те же два действия, что делает оператор руками

Активная коробка

МешокКгОтметки

Активный поддон

Коробка (SSCC)МешковКг

Закрытые единицы упаковки

расформирование — отдельная операция с причиной, а не удаление записи
ТипSSCCСоставКгСостояние

Журнал упаковки

каждое срабатывание контроля попадает сюда

Массовая печать без веса

для продукции фиксированного веса и подготовки этикеток
Тираж не создаёт единиц упаковки, но фиксируется в журнале печати: кто, что, сколько и когда. Неучтённые этикетки ломают прослеживаемость.
ВремяВид продукцииЭтикеток

Как иерархия превращается в поля ТТН AITS

Поле AITSОткуда берётсяЗначение сейчас

Монитор на участке — табло, а не рабочее место: оператор в него только смотрит. Мыши и клавиатуры нет, сенсор в мокром цехе не работает. Весь ввод — три физические кнопки. Нажимайте их мышью или клавишами 1, 2, 3: на реальном АРМ это USB-кнопочный пост в режиме эмуляции клавиатуры, и браузер видит их так же.

Кнопочный пост рабочего места

Продукция смены
ГОТОВ
Вес на платформе
0,00кг
Мешков в коробке
0
Вес коробки, кг
0,000
Коробок на поддоне
0
Положите мешок на весы

Почему кнопки, а не экран

Перчатки и водаёмкостный сенсор не реагирует на мокрую перчатку, резистивный — врёт. Кнопка с ходом 2 мм нажимается любой рукой
Мойка цехакнопочный пост IP65/IP67 моется из шланга; монитор ставится за стекло или в герметичный корпус, а трогать его не нужно вовсе
Руки занятымешок держат двумя руками. Кнопку «коробка готова» удобно делать ножной педалью — руки не освобождаются вообще
Обучениетри подписанные кнопки разного цвета осваиваются за минуту; интерфейс с полями требует объяснений и порождает ошибки ввода
Нет курсора — нет чужих действийс табло физически невозможно исправить вес, сменить продукцию или закрыть смену: этих команд нет на кнопках. Настройки — с АРМ мастера

Как подключается

СпособЧто нужноОценка
USB-кнопочный пост или педаль в режиме HIDничего: браузер видит нажатие как клавишурекомендуется
Штатные функциональные клавиши индикатора весовразбор протокола прибора, кнопки уже есть и защищеныесли протокол позволяет
Дискретные входы модуля Modbus TCPопрос модуля сервером, промышленное исполнениедороже, под тяжёлые условия

Что предусмотрено против ошибок кнопок

РискРешение в системе
Случайное нажатие «отмены»срабатывает только при удержании 1,5 с с полосой заполнения на табло; отменяет ровно последний мешок активной коробки и пишется в журнал
Двойное нажатие «коробка готова»закрытие пустой коробки игнорируется — второе нажатие не создаёт пустую единицу упаковки
Залипшая или неотпущенная кнопкаповторные срабатывания подавляются, пока кнопка не отпущена; удержание дольше 5 с — сигнал «проверьте кнопочный пост»
Оператор не заметил предупреждениепредупреждение занимает всё табло и меняет его цвет, а не выводится строкой; гаснет только со следующим мешком
Двое операторов на одном участкеодно табло ведёт ровно один активный поток — второму нужен свой АРМ, иначе мешки перемешаются

Акт разделки в системе — та же форма, что предприятие ведёт на бумаге, но процент выхода считается, а не заполняется, и каждая строка выхода получает GUIN и связку с конкретными строками прихода. Бумажный акт фиксирует общий котёл; AITS требует связь по партиям.

Акт поступления сырья в производство и выхода при разделке

от 08.08.2026 · смена 1 · участок разделки
Поступило сырьяПоставщикВет. свидетельствоТТНКг
Выход продукцииТНПАШтрихкод (GTIN)Кг%
Килограммы можно править — процент и контроль пересчитываются

Страна получателя определяет, какой из трёх контрактов ТТН уйдёт в AITS, и набор полей меняется вместе с ней. Печатная форма — из 1С: так её актуализацией при смене законодательства занимается вендор 1С, а не мы.

Отгрузка ОТГ-0001

Черновик

Состав отгрузки

Партии без статуса «Принята AITS» к комплектации не допускаются
Партия продукцииGTINКгУпаковокAITS

Проведение и печать

Проведение отправляет документ в 1С методом POST /shipment с нашим ExternalId. Повторная отправка тем же ExternalId обновляет документ, а не создаёт второй — это условие фиксируется в контракте HTTP-сервисов и проверяется тестом.

Выгрузка — не кнопка «отправить», а машина состояний. Четыре потока идут строго по порядку, следующий не выпускается без чистого протокола предыдущего, обработка на стороне AITS асинхронная, а RequestGuid сохраняется в базе до HTTP-вызова: при обрыве связи мы обязаны выяснить судьбу запроса протоколом, а не отправить его заново.

Сеанс выгрузки

Токен не получен. Auth.svc/auth вызывается только по HTTPS, токен затем идёт в заголовке AuthToken каждого запроса.

Мастер выгрузки: четыре потока

Порядок и блокировки — регламент AITS, не наша оптимизация

    Тело запроса

    выбранный поток

    Журнал сеанса

    каждая строка восстановима по RequestGuid

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

    Журнал обменов

    pull — справочники и приходы, push — выпуск, списание, отгрузки, табель, сдельная выработка
    ВремяМетодНаправлениеExternalIdЗаписейРезультатПопытка

    Что тянем и что отдаём

    Метод 1СНаправлениеСодержаниеИдемпотентность
    GET /nomenclatureиз 1Сноменклатура, GTIN, ЕИ, ТНПАинкрементально по метке изменения
    GET /partnersиз 1Сконтрагенты (GLN, УНП/ИНН), договорыинкрементально
    GET /receiptsиз 1Сприходы сырья — основание партийпо номеру документа
    GET /employees, /shiftsиз ЗУПсотрудники, подразделения, графикиинкрементально
    POST /productionв 1Свыпуск продукции по партиямExternalId партии
    POST /consumptionв 1Ссписание сырья в производствоExternalId акта
    POST /shipmentв 1Сотгрузка с составом — оттуда же печать ТТНExternalId отгрузки
    POST /timesheetв ЗУПтабель рабочего времениExternalId смены
    POST /pieceworkв ЗУПсдельно: тоннаж (3 знака), тариф, суммаExternalId периода