Понимание архитектуры системы SteelTrace требует предварительного изложение базовых принципов заложенных в нее при проектировании. Одним из отличительных особенностей SteelTrace ориентация этой системы на сквозную модель прослеживаемости движения металла включающую в себя как логистические, так и производственные процессы предприятия. Эта модель противоречит классическому подходу, при котором для логистического и производственного учета используются раздельно WMS и MES системы. Такой подход позволяет переложить на SteelTrace функции, являющиеся специфическими для металлургических производств при этом, не ограничивая функциональность 1С.
Ранее при внедрении КИС, команда разработчиков всегда была вынуждена решать для себя вопрос степени адаптации 1С к особенностям металлургического производства. Глубокая адаптация 1С неизбежно инициировала лавинообразные доработки как ядра системы, так и форм и отчетов. Подобный подход имеет очевидные минусы т.к. любая модификация системы 1С затрудняет переход на новые версии и снижает стабильность ее работы.
Многие компании, предвидя проблемы, вызванные лавинообразными модификациями намеренно ограничивают функционал 1С в рамках базовой конфигурации. Минусы этого подхода в неизбежном ограничении поддерживаемых бизнес-процессов предприятия.
Как правило, сложность учета металла не позволяет найти разумного компромисса между двумя описанными стратегиями.
С этой точки зрения SteelTrace предлагает наиболее компромиссный вариант, поскольку позволяет полностью адаптировать 1С к особенностям металлургического производства не внося в ядро 1С критических изменений. Архитектура системы SteelTrace построена с таким расчетом, чтобы брать на себя функции, относящиеся к специфике работы с металлом при этом максимально задействуя функционал 1С. С этой точки зрения SteelTrace выполняет функции транслятора передавая в 1С адаптированные для выбранной конфигурации данные.
Потоки данных в SteelTrace представлены в виде XML документов. XML документы формируются на мобильных и стационарных устройствах, транслируются и трансформируются в рамках SteelTrace Server. SteelTrace Server передает XML документы в 1С вызывая через COM соединение функцию submit располагающуюся в модуле внешнего соединения.
В рамках функций submit определяется тип документа и вызывается блок кода, преобразующий XML документ в документ 1С.
Подобный подход позволяет хранить бизнес-логику связанную с обработкой документов непосредственно в 1С гибко изменяя ее.
В поставке SteelTrace входит стандартный модуль внешнего соединения, который включает функцию submit с преднастроенной обработкой всех типов документов поддерживаемых системой SteelTrace. Поскольку конкретные реализации организации учета металла в 1С различаются, как правило, требуется доработка функции submit под конкретную конфигурацию.
Submit(xmlDocument, messageId, deviceId)
Параметр | Описание |
xmlDocument | Строка содержащее документ в формате XML. |
messageId | Сквозной идентификатор документа в формате GUID. |
deviceId | Идентификатор устройства (мобильного или стационарного терминала, датчика или контроллера) в формате GUID. |
Возможность работы мобильных и стационарных терминалов в автономном режиме подразумевает хранение локальных копий основных справочников предполагает наличие локальных копий справочников, с которыми работают терминалы при отсутствии связи с сервером.
Для поддержания справочников в актуальном состоянии на сервере SteelTrace располагается центральная копия справочников. Сервер SteelTrace по настроенному расписанию синхронизирует свой справочник со справочниками 1С. Для этого из модуля внешнего соединения 1С вызывается функция Sync которая в потоковом режиме выгружает данные собственных справочников на SteelTrace Server.
На мобильные и стационарные терминалы справочники попадают с помощью механизма репликации. Реплики основных справочников SteelTrace в усеченном виде реплицируются в базу данных compact sql терминалов.
В следующей таблице приводится перечень справочников SteelTrace Server синхронизируемых с 1С.
Таблица 1 Справочники SteelTrace
Параметр | Детализации справочной информации |
Справочник номенклатуры | Виды документов Примечания-спецтребования Упаковка Виды упаковки Состав изделий Нормы качества Виды грузов Схемы погрузки Бухгалтерские шифры готовой продукции Виды продукции Национальные стандарты ГОСТ, DIN, ANSI, API Марки стали Групы марок сталей Соответствия марок стали Сортамент Единицы измерения Количественные характеристики продукции для расчета теоретического веса Шифры производственных затрат Технико-химические свойства сырья и готовой продукции Типоразмеры Профили выпускаемой продукции Лабораторные испытания Классификатор лабораторных испытаний Технологические карты Маршрутные карты Допуски на операции Заводские шифры готовой продукции Национальные шифры готовой продукции Мерности готовой продукции Параметры упаковки готовой продукции Группы отходов Причины простоев Владельцы шихты Часто используемые параметры шихты Модели бирок |
Справочник производственных центров | Рабочие центры Переделы Технологические маршруты Производительность рабочих центров Нормы простоев оборудования Оборудование График переналадок (перевалок) оборудования Нормируемые неосновных ТМЦ Технические условия изготовления Расходные коэффициенты сквозные и передельные Специализация станов Спецификация станов Взаимозаменяемые станы Технологические примечания |
Справочник складов и ячеек, зон хранения | Склады Минимальные и максимальные нормы запасов готовой продукции и материалов на складах Материально-ответственные лица |
Справочник контрагентов | Города Области Страны Железнодорожные станций Расстояния между железнодорожными станциями |
Поскольку большая часть справочников носят специализированный характер в следующей таблице приводится перечень справочной информации рекомендуемой для хранения в 1С
Таблица 2 Данные справочников 1С необходимые для репликации
Параметр | Детализации справочной информации |
Номенклатура | Код, РодКод, Наименование, Внешний идентификатор |
Стандарты | Код, Наименование, Внешний идентификатор |
Марки стали | Код, Наименование, Внешний идентификатор |
Размеры | Код, Маска, Диаметр, Длина, Ширина, Толщина, Наименование |
Типоразмеры | Код, Товар, Сталь, Размер, Стандарт |
Контрагенты | Код, Наименование, Тип, Адрес, Телефон |
SteelTrace позволяет операторам мобильных и стационарных терминалов выполнять прямые запросы в 1С для получения дополнительной информации. Поскольку допускается, что мобильные и стационарные терминалы могут периодически терять связь с 1С запросы, которые делает терминал к 1С не должны отражаться на его работоспособности. Поэтому используется специальный тип запросов, которые называются асинхронными. Асинхронный запрос инициируется в ходе исполнения тасклета. Во время выполнения запроса работа тасклета не прерывается. Если 1С успевает прислать ответ на запрос срабатывает код выполняющий обработку и визуализацию. В силу описанных особенностей использования асинхронных запросов их использование связанно обычно с получением дополнительной информации, не влияющей на принятие критичных решений. Асинхронные запросы, например, используются для получения электронного паспорта изделия, данные по резервированию пакетов и т.д.
Для асинхронных запросов в модуле внешнего соединения создаются отдельные функции исполняющие запросы в среде 1С. Далее приводится список функций исполнения асинхронных запросов поддерживаемых в рамках стандартной конфигурации SteelTrace.
Функция ProductionPlan возвращает XML пакет, содержащий производственный план для указанного номера заказа.
Параметр | Пояснение |
НомерЗак | Номер производственного заказа |
|
00000001
000000001
5000
Параметр | Пояснение |
PlaceId | Идентификатор металла (рулона, штрипса, пакета и т.д) |
LocationId | Уникальный идентификатор ячейки |
Weight | Планируемый вес |
Функция ProductionPlanAll возвращает XML пакет, содержащий производственный план для текущего планируемого периода.
|
00000001
30.12.2009
00000001
000000001
5000
Параметр | Пояснение |
Order | Номер производственного заказа |
Date | Дата производственного заказа |
PlaceId | Идентификатор металла (рулона, штрипса, пакета и т.д) |
LocationId | Уникальный идентификатор ячейки |
Weight | Планируемый вес |
Функция SalesPlanAll возвращает XML пакет содержащий план продаж для текущего планируемого периода.
|
00000001
30.12.2009
00000001
000000001
5000
Параметр | Пояснение |
Order | Номер производственного заказа |
Date | Дата производственного заказа |
PlaceId | Идентификатор металла (рулона, штрипса, пакета и т.д) |
LocationId | Уникальный идентификатор ячейки |
Weight | Планируемый вес |
Функция Location возвращает XML пакет содержащий данные о местонахождении металла, данных о весе и резервировании.
Параметр | Пояснение |
PlaceId | Идентификатор металла |
|
100x200x150
100x200x150
000000001
Параметр | Пояснение |
location | Идентификатор ячейки |
size | Кумулятивный идентификатор размера |
reserve | Документ резервирования |
Функция Place возвращает XML пакет содержащий данные о номенклатуре, типоразмерах, весе металла по идентификатору металла.
Параметр | Пояснение |
PlaceId | Идентификатор металла |
|
0000001
Рулон x/к
0.53x200
5000
000000001
Параметр | Пояснение |
location | Идентификатор ячейки |
size | Кумулятивный идентификатор размера |
reserve | Документ резервирования |
Функция OrderData возвращает XML пакет содержащий данные о заказе по его идентификатору.
Параметр | Пояснение |
OrderId | Идентификатор заказа |
30.12.2009
00001
Производство
0000001
0000001
5000
ГОСТ 3800
08пс
0.57x200
0000001
Рулон х/к
000001
5000
Параметр | Пояснение |
orderDate | Дата заказа |
depId | Идентификатор департамента создавшего заказ |
depName | Наименование департамента создавшего заказ |
itemId | Идентификатор номенклатуры |
itemName | Наименование номенклатуры |
weight | Вес металла |
standardId | ГОСТ |
steelId | Марка стали |
PlaceId | Идентификатор металла |
Desc | Пояснение к позиции заказа |
Функция PlaceTransaction возвращает XML пакет содержащий производственные и логистические транзакции относящиеся к учетной единице металла.
Параметр | Пояснение |
PlaceId | Идентификатор металла |
|
0000001
30.12.2009
000000001
1
Параметр | Пояснение |
number | Номер транзакции |
date | Дата транзакции |
Doc | Идентификатор документа |
type | Тип документа |
Функция PacketData возвращает XML пакет содержащий данные по упаковке металла.
Параметр | Пояснение |
PlaceId | Идентификатор металла |
|
< itemId >0000001< itemId >
< itemName >Рулон х/к< itemName >
< prodName >Лента< prodName >
< StandardId >ГОСТ 8300< StandardId >
< SteelId >08пс< SteelId >
< Thikness >4< Thikness >
< Covering >2< Covering >
< Rolling >2< Rolling >
< Tapes >2< Tapes >
< SizeId >2< SizeId >
< Rolling >2< Rolling >
< Tapes >2< Tapes >
Параметр | Пояснение |
itemId | Идентификационный номер |
itemName | Наименование номенклатуры |
prodName | Лента,Лист |
StandardId | Нормативный документ, ГОСТ, ТУ |
SteelId | Марка стали |
Thikness | Толщина |
Covering | Функция найти прокатку |
Rolling | Функция найти покрытие |
Tapes | Строка ленты |
SizeId | Размеры |