Автоматизация производственной лаборатории (ЦЗЛ) — это сложная задача, которая существенно отличается от автоматизации медицинских учреждений. В промышленном секторе ключевую роль играет не только регистрация проб, но и сложная математическая обработка результатов, учет реактивов, метрологический контроль приборов и строгое соответствие государственным стандартам, таким как ГОСТ ISO/IEC 17025. Разберем подробно, по какому пути стоит пойти при создании или внедрении системы класса ЛИМС (Laboratory Information Management System) на платформе 1С.
Первый вопрос, с которым сталкивается специалист: стоит ли писать систему «с нуля» или использовать тиражный продукт. Проанализируем оба варианта. Рынок ЛИС (лабораторных информационных систем) перенасыщен медицинскими решениями, где учет привязан к пациенту. Для завода такая модель не подходит, так как объектом исследования является проба материала (руды, сплава, нефтепродукта), привязанная к технологической цепочке или партии продукции.
Рассмотрим существующие варианты на платформе 1С:
Одной из самых трудозатратных частей проекта является сопряжение 1С с приборами: аналитическими весами, спектрографами, хроматографами. Проанализируем наиболее надежные методы передачи данных, избегая нестабильных решений.
Важное правило: старайтесь не использовать внешние компоненты (ВК) напрямую в сессии 1С для работы с портами (RS-232). Ошибки в коде таких компонентов часто приводят к аварийному завершению работы всего клиентского приложения 1С. Рассмотрим более стабильные архитектурные подходы:
Вместо прямого обращения к драйверу из 1С, создадим небольшое внешнее приложение (например, на Python или C#), которое будет общаться с оборудованием и отдавать данные по HTTP. Разберем пример логики взаимодействия:
COM-порт весов в режиме реального времени.HTTPСоединение к этой прослойке.Многие современные спектрографы имеют собственное управляющее ПО, которое сохраняет результаты анализов в файлы CSV, XML или TXT. Проанализируем, как автоматизировать загрузку таких данных. Мы можем настроить регламентное задание в 1С, которое будет сканировать папку обмена.
Пример кода для чтения данных из текстового файла выгрузки:
Функция ПрочитатьРезультатСпектрографа(ПутьКФайлу)
Текст = Новый ТекстовыйДокумент;
Текст.Прочитать(ПутьКФайлу, КодировкаТекста.UTF8);
Для НомерСтроки = 1 По Текст.КоличествоСтрок() Цикл
СтрокаДанных = Текст.ПолучитьСтроку(НомерСтроки);
// Предположим, формат: Элемент;Значение;Погрешность
МассивЗначений = СтрРазделить(СтрокаДанных, ";");
Если МассивЗначений.Количество() = 3 Тогда
НоваяЗапись = РегистрыСведений.РезультатыИсследований.СоздатьМенеджерЗаписи();
НоваяЗапись.Показатель = МассивЗначений[0];
НоваяЗапись.Значение = Число(МассивЗначений[1]);
НоваяЗапись.Записать();
КонецЕсли;
КонецЦикла;
КонецФункции
Если софт прибора использует базу данных (например, Firebird или MS SQL), наиболее эффективным методом будет использование механизма ВнешниеИсточникиДанных. Это позволит 1С видеть таблицы прибора как родные таблицы базы данных и забирать результаты без промежуточных файлов.
В производственной лаборатории результаты редко являются просто «цифрой с прибора». Чаще всего это результат вычисления по формуле, где аргументами выступают данные с нескольких приборов и константы из справочников. Рассмотрим, как реализовать «математику» в ЛИМС:
Вычислить() или специализированных парсеров математических выражений.Оборудование и учитывать его в итоговой погрешности результата.Проанализируем дополнительные блоки, которые обязательны для полноценной ЦЗЛ:
1. Учет реактивов и прекурсоров. Важно реализовать партионный учет с контролем сроков годности. При регистрации исследования система должна автоматически предлагать списание реактивов согласно установленным нормам расхода. Для прекурсоров (наркотических и ядовитых веществ) необходимо ведение журналов строгого учета.
2. Внутрилабораторный контроль (ВЛК). Это сердце аккредитованной лаборатории. Программа должна автоматически строить контрольные карты (карты Шухарта). Выясним причину выхода процесса из-под контроля: если точка на карте выходит за пределы «трех сигм», система должна блокировать выдачу протоколов испытаний до проведения корректирующих действий.
3. Интеграция с ФГИС «Аршин».
Лабораторное оборудование должно вовремя проходить поверку. В 1С необходимо реализовать справочник СредстваИзмерений с хранением дат следующих поверок и автоматическим уведомлением ответственных лиц. Полезным дополнением станет автоматическая выгрузка данных о поверках в государственную систему «Аршин» через их API.
Создание ЛИМС для производства — это не только регистрация результатов, но и создание единой информационной среды для обеспечения качества продукции. Если у вас ограниченный бюджет и уникальные процессы — выбирайте путь разработки на HTTP-сервисах и обмена данными через файлы. Если же стоит задача быстрого прохождения аккредитации и соответствия ГОСТ — лучше обратить внимание на готовые отраслевые решения 1С, которые уже содержат необходимую методологическую базу.