Проверки согласованности¶
12.1. Номенклатура¶
- у каждой номенклатурной позиции есть
sku,name,productType,baseUnit; - BOM ссылается на существующее выпускаемое изделие;
- каждая строка BOM ссылается на существующую номенклатурную позицию;
consumedAtOperationTemplateIdдолжен ссылаться на существующий шаблон операции;- единица строки BOM должна быть совместима с базовой единицей компонента;
- изделие не должно ссылаться само на себя в составе без явного разрешения рекурсивного процесса.
12.2. Шаблоны операций¶
- у каждого шаблона есть
operationTypeId; - категория шаблона однозначно вычисляется из типа операции и отдельно не сохраняется;
capabilityKindкаждой роли разрешенoperationType.executorRoleRules[];primaryExecutorзадан для каждой исполняемой операции;- входы и выходы ссылаются только на
products[]; - логистическая операция, требующая времени или исполнителя, должна быть шаблоном операции, а не только движением остатка;
- шаблон операции не содержит индивидуальных нормативов конкретного агента.
12.3. Процессы¶
- процесс имеет один
STARTи хотя бы одинEND; - все операционные узлы ссылаются на существующие
operationTemplates[]; - все ребра соединяют существующие узлы одного процесса;
- условные ветки имеют условия или понятный приоритет;
- для каждого шаблона операции в процессе есть хотя бы один потенциальный агент, подходящий по capability и operation type;
- для выходного продукта есть хранитель результата или правило выбора хранителя.
12.4. Объекты и агенты¶
- каждый объект с политикой
REQUIREDимеет ровно одного связанного агента; - объект с политикой
NEVERне имеет связанного агента; - выбранный архетип содержит
objectTypeобъекта вcompatibleObjectTypes[]; - каждый промышленный агент содержит
spatialBinding.objectId; - пользователь не может создать агента без объекта через обычный UI;
- удаление агентного объекта обрабатывает связанные настройки агента;
- capability агента ссылается на существующую спецификацию своего архетипа;
- вид capability совпадает с видом спецификации, а
operationTypeIds[]является подмножествомallowedOperationTypeIds[]; - агент может быть назначен только на те шаблоны операций, которые совместимы с его capability;
- индивидуальный профиль агента не ослабляет требования шаблона операции.
12.5. Проверки типов операций¶
Проверки применяются к проектному справочнику типов операций.
- нельзя удалить тип операции, если он используется в шаблонах, capability или профилях;
- нельзя изменить категорию, правила ролей или схемы параметров типа операции без проверки всех связанных шаблонов, архетипов, capability и профилей;
- деактивированный тип нельзя выбирать в новых шаблонах, но старые версии проекта должны открываться;
- код типа операции должен быть стабильным и не зависеть от языка интерфейса.
Связанные документы: Справочники | Процессы | Агенты