Servigistics InService 自訂 > 自訂系統整合 > 經由協力廠商系統新增全域替代零件 > 顯示全域替代零件
  
顯示全域替代零件
您可以在 Servigistics InService 中顯示來自協力廠商系統的全域替代零件。
請遵循下列步驟以便在 Servigistics InService 中顯示全域替代零件:
1. 開啟位於目錄 <INS_HOME>/InS_SW/SW/Applications/Windchill.ear/codebase.war/delivery/app/servicespricingService.js 檔案。
2. pricingService.js 檔案中找出 pricingService.updatePriceInItems 函數。
3. pricingService.updatePriceInItems 函數中新增一個新的函數,以便在零件項目內新增自訂中繼資料屬性。
4. 開啟位於目錄 <INS_HOME>/InS_SW/SW/Applications/Windchill.ear/codebase.war/delivery/app/directives/pricepriceAndAvailability.html 檔案。
5. priceAndAvailability.html 檔案中找出 <div class="availabilityIdClass"></div> 標籤。
6. 新增程式碼,以便在零件項目描述中的 <div class="availabilityIdClass"></div> 標籤之後顯示針對全域替代零件新增的屬性。
7. 開啟位於目錄 <INS_HOME>/InS_SW/SW/Applications/Windchill.ear/codebase.war/delivery/app/directives/pricepriceAndAvailabilityDirective.js 檔案並執行下列編輯:
a. priceAndAvailabilityDirective.js 檔案的 definition 函數中為全域替代零件宣告變數。
b. 找出 availabilityElement.text 元素並新增程式碼,以便從零件項目取得屬性值,並將該值指派給全域替代零件編號與全域替代零件位置這兩個屬性。
8. 經由 Windchill Shell 執行下列指令將用戶端最小化:<ANT_HOME>/bin/ant -f <INS_HOME>/InS_SW/SW/Applications/Windchill.ear/codebase.war/delivery/minimize.xml
全域替代零件詳細資訊會顯示在 Servigistics InService 中的零件資訊頁上。
在此範例中,您會針對 Servigistics InService 中的所有零件項目新增自協力廠商系統取得的一個全域替代零件與其位置詳細資訊。
請遵循下列步驟,以便針對 Servigistics InService 中的所有零件項目新增來自協力廠商系統的一個全域替代零件:
1. 開啟位於目錄 <INS_HOME>/InS_SW/SW/Applications/Windchill.ear/codebase.war/delivery/app/servicespricingService.js 檔案。
2. pricingService.js 檔案中找出 pricingService.updatePriceInItems 函數。
3. pricingService.updatePriceInItems 函數中新增下列 updateAlternatePart 函數,以便在零件項目內新增自訂中繼資料屬性:
pricingService.updatePriceInItems = function (itemsWithPricing, itemsWithout) {
var i;
for (i = 0; i < itemsWithPricing.length; i++) {
var item = itemsWithPricing[i];
var idx = utils.findItemIndexById(item, itemsWithout);
if (idx >= 0) {
var gridItem = itemsWithout[idx];
pricingService.updatePriceInItem(gridItem, item.attributes);
pricingService.updateAlternatePart(gridItem, item.customMetadata);
}
}
};
pricingService.updateAlternatePart = function (item, customMetadata)
{ 131
/* below code is written just for reference. Here, all the entries from actual json
customMetadata should be copied to item customMetadata*/
item.customMetadata.Partnumber = customMetadata.Partnumber;
item.customMetadata.location = customMetadata.location;
};
4. 開啟位於目錄 <INS_HOME>/InS_SW/SW/Applications/Windchill.ear/codebase.war/delivery/app/directives/pricepriceAndAvailability.html 檔案。
5. priceAndAvailability.html 檔案中找出 <div class="availabilityIdClass"></div> 標籤
6. 新增下列程式碼,以便在零件項目描述中的 <div class="availabilityIdClass"></div> 標籤之後顯示針對全域替代零件新增的屬性:
Alternate Part:<div class="alternatePartNumber"> </div>
Location:<div class="alternatePartLocation"> </div>
7. 開啟位於目錄 <INS_HOME>/InS_SW/SW/Applications/Windchill.ear/codebase.war/delivery/app/directives/pricepriceAndAvailabilityDirective.js 檔案並執行下列編輯:
a. priceAndAvailabilityDirective.js 檔案的 definition 函數中為全域替代零件宣告下列變數:
var alternatePartNoElement = element.find('.alternatePartNumber');
var alternatePartLocationElement = element.find('.alternatePartLocation');
b. 找出 availabilityElement.text 元素並新增下列程式碼,以便從零件項目取得屬性值,並將該值指派給全域替代零件編號與全域替代零件位置這兩個屬性:
var alternatePartNo = $parse('item.customMetadata.
Partnumber.value')(scope);
alternatePartNoElement
.text(alternatePartNo);

var alternatePartLocation = $parse('item.customMetadata
.location.value')(scope);
alternatePartLocationElement
.text(alternatePartLocation);
8. 經由 Windchill Shell 執行下列指令將用戶端最小化:<ANT_HOME>/bin/ant -f <INS_HOME>/InS_SW/SW/Applications/Windchill.ear/codebase.war/delivery/minimize.xml
全域替代零件詳細資訊會顯示在下列零件資訊頁上: