부품 구조
부품 구조는 항목 목록 구성 요소의 미리 정의된 구성입니다. 부품 구조에는 부품 또는 CAD 문서와 해당 하위 항목 간의 계층적 관계를 표시하는 구조 트리가 포함되어 있습니다. 트리의 각 항목의 경우 부품 구조에는 구성을 통해 선택할 수 있는 속성이 표시됩니다. 기본 속성은 번호, 이름 및 상태입니다.
부품 구조를 구성하여 트리의 초기 확장 수준을 설정할 수 있습니다. 기본값으로 초기 확장 수준은 3으로 설정되어 있습니다. 사용자는 트리에서 요소를 확장 및 축소할 수 있습니다.
부품 구조 트리에는 구조 레벨을 시각적으로 표시하기 위한 들여쓰기가 포함되어 있습니다. 구성을 통해 테이블에 처음 표시되는 열을 정의할 수 있습니다. 기본적으로 첫 번째 열은 '번호'입니다.
부품 구조에는 항목 목록과 동일한 내보내기 기능이 있습니다. 내보낸 파일에는 구조에 있는 각 항목의 번호 수준을 보여주는 열이 포함되며 구조 수준을 표시하기 위해 들여쓰기를 포함합니다.
다음은 부품 구조의 사전 정의된 구성을 보여주는 샘플 이미지입니다.
* 
구조 트리를 보는 사용자에게 구조의 항목에 대한 액세스 권한이 없는 경우 해당 항목이 표시되지 않으며 다음 메시지가 표시됩니다. "일부 항목에 대한 액세스 권한이 없기 때문에 숨겨졌습니다."
바인딩 속성 
부품 구조 바인딩에 대한 자세한 내용은 항목 목록 구성 요소를 참조하십시오.
* 
부품 구조의 경우 입력 바인딩 속성은 PTC.ProdMgmt.PartPTC.CADDocumentMgmt.CADDocument 객체 유형을 지원합니다.
selectedItems 바인딩 속성 출력에는 PTC.ProdMgmt.PartStructureItemPTC.CADDocumentMgmt.CADStructure 객체 유형이 있는 항목이 포함되어 있습니다.
구성 속성 
부품 구조에 사용할 수 있는 모든 구성 속성 목록은 항목 목록 구성 요소에 대한 구성 속성 표를 참조하십시오. 다음 표에서는 구성 속성과 관련하여 부품 구조와 관련된 추가 정보를 제공합니다.
구성 구조에 대한 자세한 내용은 구성 요소 구성 구조를 참조하십시오.
하위 속성에 대한 자세한 내용은 하위 속성 및 컨테이너 키를 참조하십시오.
속성 이름
설명
속성 유형
기본값
필수 사항 또는 선택 사항
attributes
자세한 내용은 항목 목록을 참조하십시오.
PTC.ProdMgmt.PartStructureItemPTC.CADDocumentMgmt.CADStructure 객체 유형의 속성을 허용합니다.
기본적으로 부품 구조 트리는 첫 번째 속성(음수가 아닌 서수 값이 가장 낮은 속성)에 따라 정렬됩니다.
해당 없음
필수 사항
샘플 구성 
{
"attributes":{
"inTailoring":true,
"selectedValues":{
"data":[
{
"itemListsData":[
{
"items":[
{
"id":"Part|Number",
"ordinal":0
},
{
"id":"Part|Name",
"ordinal":1
},
{
"id":"Part|State#Display",
"ordinal":2
}
],
"objectType":"PTC.ProdMgmt.PartStructureItem"
},
{
"items":[
{
"id":"CADDocument|Number",
"ordinal":0
},
{
"id":"CADDocument|Name",
"ordinal":1
},
{
"id":"CADDocument|State#Display",
"ordinal":2
}
],
"objectType":"PTC.CADDocumentMgmt.CADStructure"
}
],
"adapter":{
"instanceName":"windchill",
"thingName":"PTC.WCAdapter"
}
}
]
}
},
"defaultExpansionLevel":{
"selectedKey":[
"3"
],
"inTailoring":true
},
"label":{
"value":""
},
"selectionType":{
"selectedKey":"multi"
},
"showExportAction":{
"additionalData":{
"itemListExportDefinition":{
"exportTypes":{
"selected":[
{
"key":"exportToCsv"
},
{
"key":"exportToExcel"
}
]
},
"exportUnFilteredData":{
"value":true
}
}
},
"value":true
},
"waitForInput":{
"value":true
},
"baseConfigurationVersion":{
"value":"nav.3"
},
"implementationConfigurationVersion":{
"value":"nav.1"
}
}
사용자 지정 서비스 
구성 외에도 각 구성 요소는 비즈니스 로직을 확장하여 구성 요소를 사용자 지정할 수 있도록 지원합니다. 각 구성 요소의 비즈니스 로직에는 확장하고 재정의할 수 있는 사물 템플릿의 재정의 가능 서비스가 포함되어 있습니다. 이 구성 요소에 대한 재정의 가능 서비스는 다음 표에 자세히 설명되어 있습니다.
각 서비스에 대한 반환 및 매개 변수의 예는 사용자 지정 서비스에 대한 입력/출력의 예를 참조하십시오.
이름
설명
ComputeMessages
부품 구조에 표시하려는 메시지를 계산합니다. 현재 메시지 JSON 및 제안된 메시지 JSON을 수신하고 항목 목록에 표시할 메시지가 포함된 알림 메시지 JSON을 반환합니다.
매개 변수:
getItemsResponse(필수 사항) - getItems 서비스에서 반환된 항목이 포함되어 있는 CCO 형식의 JSON 객체입니다.
currentMessages(필수 사항) - 사용자 인터페이스에 표시되는 현재 알림 메시지가 포함되어 있는 JSON 객체입니다.
suggestedMessages(필수 사항) - 제안된 메시지 세트가 포함되어 있는 JSON 객체입니다. 제안된 메시지를 사용하는 것이 좋습니다.
input(선택 사항) - 구조의 루트에 있는 항목에 대한 입력 ID가 포함되어 있는 CCO 형식의 JSON입니다.
configuration(선택 사항) - 구성이 포함되어 있는 JSON입니다.
scope(선택 사항) - getItemsResponse에 있는 데이터의 범위를 나타내는 JSON입니다. JSON 객체에는 rootchild 값을 수락하는 scope 키가 포함되어 있습니다. 계층적 데이터와 관련이 있습니다. 예:
{
"scope": "root"
}
반환: 항목 목록 그리드에 표시할 메시지가 포함되어 있는 JSON 객체입니다. 예:
"INFO":{
{
"messages":[
"[[PTC.Nav.ItemList.HiddenItemsBecauseAccessRightMessage]]"
]
}
}
DefHookAttributesTypesInfo
어댑터 정보와 부품 구조에서 지원하는 속성의 객체 유형을 포함하는 JSON 배열을 반환합니다.
매개 변수: 없음
반환: JSON 배열
GetChildren
부품 또는 CAD 문서를 수신하고 해당 항목의 하위(계층적 데이터 구조에서 해당 부품 또는 CAD 문서보다 한 수준 아래의 모든 항목)를 포함하는 CCO 형식의 JSON을 반환합니다. 반환된 JSON에는 계층적 데이터가 아닌 단순 목록으로 하위 항목이 포함됩니다.
매개 변수:
input(선택 사항) - 구조의 루트에 있는 부품 또는 CAD 문서에 대한 입력 ID가 포함되어 있는 CCO 형식의 JSON입니다.
configuration(필수 사항) - 구성이 포함되어 있는 JSON입니다.
item(필수 사항) - 반환할 하위 항목이 있는 상위 항목을 포함하는 JSON입니다.
반환: CCO 형식의 JSON
GetConfigurations
부품 구조에 사용 가능한 구성을 반환합니다.
매개 변수: 없음
반환: JSON
GetImplementationSettings
부품 구조 구현의 설정 데이터를 반환합니다. 구현은 고유한 설정을 제공하기 위해 이 서비스를 재정의할 수 있습니다. 자세한 내용은 항목 목록에 대한 GetImplementationSettings 서비스 관련 추가 정보 항목을 참조하십시오.
매개 변수: 없음
반환: JSON 객체
GetItems
입력 값에 지정된 부품 또는 CAD 문서의 구조를 반환합니다.
매개 변수:
input(필수 사항) - 백엔드 시스템에서 불러올 데이터의 입력 ID와 백엔드 시스템에 대한 어댑터 정보를 포함하는 CCO 형식의 JSON입니다.
configuration(필수 사항) - 수정 매니저 리소스에서 가져온 최종 결합된 구성을 포함하는 JSON입니다.
반환: CCO 형식의 JSON
GetItemsByExpansionPath
요청된 모든 속성, itemExpansionKeysitemIdentifierKeys를 포함하여 루트에서 요청된 항목까지의 경로에 있는 모든 항목을 포함하고 있는 계층적 구조 CCO를 반환합니다. 계층적 구조 CCO는 경로의 모든 등위를 포함합니다.
selectedItems 바인딩 속성에서 로드되지 않은 항목을 지정하는 입력을 수신하면 서비스가 호출됩니다.
매개 변수:
input(선택 사항) - 구조의 루트에 있는 부품 또는 CAD 문서에 대한 입력 ID가 포함되어 있는 CCO 형식의 JSON입니다.
configuration(필수 사항) - 구성이 포함되어 있는 JSON입니다.
itemExpansionValues(필수 사항) - 확장이 요청된 부품 또는 CAD 문서의 itemExpansionKeys를 포함하는 JSON 배열입니다. 배열 값은 루트 부품 또는 CAD 문서부터 시작하는 트리의 경로에 따라 정렬됩니다.
반환: CCO 형식의 JSON
GetStructureSkeleton
CCO 형식으로 계층적 구조의 모든 수준을 반환합니다. 여기서 구조의 각 부품 또는 CAD 문서에는 GetImplementationSettings 서비스에 정의된 대로 itemIdentifierKeysitemExpansionKeys가 모두 포함됩니다.
매개 변수:
input(선택 사항) - 구조의 루트에 있는 부품 또는 CAD 문서에 대한 입력 ID가 포함되어 있는 CCO 형식의 JSON입니다.
configuration(필수 사항) - 구성이 포함되어 있는 JSON입니다.
반환: CCO 형식의 JSON
MapItemToInputObject
부품 구조 항목 또는 CAD 문서 구조 항목을 부품 또는 CAD 문서 입력에 매핑하면 GetItems 서비스에서 사용할 수 있습니다.
매개 변수:
input(선택 사항) - 구조의 루트에 있는 부품 또는 CAD 문서에 대한 입력 ID가 포함되어 있는 CCO 형식의 JSON입니다.
item(필수 사항) - 매핑할 부품 또는 CAD 문서가 포함된 JSON입니다.
반환: id 속성만 포함하는 단일 부품 또는 CAD 문서가 있는 CCO 형식의 JSON입니다.
구현 정의 
{
"array": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "actionBarConfigurationJSON"
}
]
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.DefinitionGroup"
},
"mandatory": false,
"key": "actionBarConfiguration"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "fieldTitleOverride"
}
],
"key": "itemListAttributesDefinition"
},
{
"directDefinition": [],
"key": "implementationAttributesDefinition"
}
],
"updateServiceName": "",
"minimumSelectedAttributes": null,
"supportedTypes": {
"data": [
{
"itemListsData": [
{
"selectionGroupIds": [
"PSI"
],
"objectType": "PTC.ProdMgmt.PartStructureItem"
},
{
"selectionGroupIds": [
"CS"
],
"objectType": "PTC.CADDocumentMgmt.CADStructure"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
],
"allowSubsetForTailoring": false
},
"addServiceName": "",
"maximumSelectedAttributes": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.AttributesSelector"
},
"mandatory": true,
"key": "attributes"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"options": [
{
"label": "-1",
"key": "-1"
},
{
"label": "1",
"key": "1"
},
{
"label": "2",
"key": "2"
},
{
"label": "3",
"key": "3"
},
{
"label": "4",
"key": "4"
},
{
"label": "5",
"key": "5"
},
{
"label": "6",
"key": "6"
},
{
"label": "7",
"key": "7"
},
{
"label": "8",
"key": "8"
},
{
"label": "9",
"key": "9"
}
],
"updateServiceName": null,
"addServiceName": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Dropdown"
},
"mandatory": false,
"key": "defaultExpansionLevel"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"options": [
{
"description": "Sort column in ascending order",
"label": "[[PTC.Nav.ItemList.SortOrder.Asc]]",
"key": "asc"
},
{
"description": "Sort column in descending order",
"label": "[[PTC.Nav.ItemList.SortOrder.Dsc]]",
"key": "dsc"
}
],
"updateServiceName": null,
"addServiceName": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.RadioButton"
},
"mandatory": false,
"key": "defaultSortDirection"
}
],
"key": "itemListDefaultSortFieldDefinition"
}
],
"updateServiceName": "",
"minimumSelectedAttributes": null,
"supportedTypes": {
"data": [
{
"itemListsData": [
{
"selectionGroupIds": [
"PSI"
],
"objectType": "PTC.ProdMgmt.PartStructureItem"
},
{
"selectionGroupIds": [
"CS"
],
"objectType": "PTC.CADDocumentMgmt.CADStructure"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
],
"allowSubsetForTailoring": false
},
"addServiceName": "",
"maximumSelectedAttributes": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.AttributesSelector"
},
"mandatory": false,
"key": "defaultSortFields"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": true,
"true": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "searchHintText"
}
],
"key": "itemListSearchDefinition"
}
],
"label": "[[PTC.Nav.Yes]]"
},
"false": {
"additionalDefinition": [],
"label": "[[PTC.Nav.No]]"
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Toggle"
},
"mandatory": false,
"key": "enableSearch"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"dynamicallySetTypeServiceName": "GetFilterTypeDefinitionForFilterField",
"type": {
"enum": {
"options": [],
"updateServiceName": null,
"dynamicallySetOptionsServiceName": null,
"addServiceName": null,
"multiSelect": null
}
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.FieldFilter"
},
"mandatory": false,
"key": "defaultSelectedFilterValues"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "filterLabelOverride"
}
],
"key": "itemListFilterFieldDefinition"
}
],
"updateServiceName": "",
"minimumSelectedAttributes": 0,
"supportedTypes": {
"data": [
{
"itemListsData": [
{
"selectionGroupIds": [
"PSI"
],
"objectType": "PTC.ProdMgmt.PartStructureItem"
},
{
"selectionGroupIds": [
"CS"
],
"objectType": "PTC.CADDocumentMgmt.CADStructure"
}
],
"adapter": {
"instanceName": "windchill",
"thingName": "PTC.WCAdapter"
}
}
],
"allowSubsetForTailoring": false
},
"addServiceName": "",
"maximumSelectedAttributes": 1
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.AttributesSelector"
},
"mandatory": false,
"key": "filterFields"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.DefinitionGroup"
},
"mandatory": false,
"key": "implementationConfiguration"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Textbox"
},
"mandatory": false,
"key": "label"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"minValue": 50,
"default": 500,
"maxValue": 10000,
"step": 50
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Number"
},
"mandatory": false,
"key": "maxNumberOfRowsInGrid"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"options": [
{
"description": "Disallow items selection",
"label": "[[PTC.Nav.ItemList.SelectionType.None]]",
"key": "none"
},
{
"description": "Allow single item selection",
"label": "[[PTC.Nav.ItemList.SelectionType.Single]]",
"key": "single"
},
{
"description": "Allow multiple items selection",
"label": "[[PTC.Nav.ItemList.SelectionType.Multiple]]",
"key": "multi"
}
],
"updateServiceName": null,
"addServiceName": null
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.RadioButton"
},
"mandatory": false,
"key": "selectionType"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": true,
"true": {
"additionalDefinition": [
{
"directDefinition": [
{
"property": {
"options": [
[
{
"label": "[[PTC.Nav.ItemList.ExportCSVActionLabel]]",
"key": "exportToCsv"
},
{
"label": "[[PTC.Nav.ItemList.ExportCSVAsExcelActionLabel]]",
"key": "exportToExcel"
}
]
]
},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": "",
"overflow": null,
"minimumSelectedItems": null,
"options": [],
"updateServiceName": null,
"addServiceName": null,
"constraints": {}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.CheckboxArray"
},
"mandatory": false,
"key": "exportTypes"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": false,
"true": {
"additionalDefinition": [],
"label": null
},
"false": {
"additionalDefinition": [],
"label": null
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Toggle"
},
"mandatory": false,
"key": "exportUnFilteredData"
}
],
"key": "itemListExportDefinition"
}
],
"label": "[[PTC.Nav.Yes]]"
},
"false": {
"additionalDefinition": [],
"label": "[[PTC.Nav.No]]"
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Toggle"
},
"mandatory": false,
"key": "showExportAction"
},
{
"property": {},
"value": {
"initializationData": {
"version": "1.0.0",
"constraints": {},
"properties": {
"default": false,
"true": {
"additionalDefinition": [],
"label": "[[PTC.Nav.Yes]]"
},
"false": {
"additionalDefinition": [],
"label": "[[PTC.Nav.No]]"
}
}
},
"elementVersion": "1.0.0",
"elementName": "PTC.Nav.DynamicForm.Toggle"
},
"mandatory": false,
"key": "waitForInput"
}
]
}
도움이 되셨나요?