高度なカスタマイズ > ビジネスロジックのカスタマイズ > ビジネスロジックのカスタマイズ > 部品表のカスタマイズ
  
部品表のカスタマイズ
部品表 (BOM) は、製品の組み立てに必要なアイテムを識別する製品構造レポートです。現在、BOM レポートには部品構造からのアイテムだけが含まれています。以下の 2 種類の BOM がサポートされています。
BOM 階層レポートには子部品関連付けの数量と単位属性が表示され、階層レベルを視覚的に示します。
部品リストレポートは、部品構造階層内のすべての構成部品 (つまりほかの部品を使用しない部品) のリストです。子部品関連付けの情報を使用して各構成部品の数量を決定します。基本的には、部品アセンブリが完全に解除されたときに、どの部品がそれぞれいくつあるかという疑問に答えます。
これらのレポートは、どちらも Web ブラウザから印刷するために最適化された HTML ページとして生成されるように定義されます。
既存レポートのカスタマイズ
部品のグローバル属性は、テーブルビューを使用すると自動的に BOM レポートに表示されますが、部品親子リンクのグローバル属性は自動的には表示されません。部品親子リンクのグローバル属性は、使用可能な列のリストには表示されますが、表示する実際の値を取得するには、対応するレポートコンフィギュレーションクラスを拡張して、部品親子リンクから表示するリンクの対象となるグローバル属性を示す必要があります。
たとえば、グローバル属性 "LinkName" が部品親子リンクに追加された場合、その属性値をマルチレベル BOM レポートに表示するには、次の手順に従います。
1. 次のような MultiLevelBOMReportTreeBuilder クラスの機能拡張を作成します。
@ComponentBuilder("part.report.multiLevelBOM")
public class MultiLevelBOMReportTreeBuilderCustomAtts extends MultiLevelBOMReportTreeBuilder {
@Override
public ComponentConfig buildComponentConfig(ComponentParams params)
throws WTException {
ComponentConfig tableConfig = super.buildComponentConfig(params);
ComponentConfigFactory factory = getComponentConfigFactory();

String columnLabel = "Custom column name";
ColumnConfig col = factory.newColumnConfig("IBA|LinkName", columnLabel, true);
col.setDataUtilityId("part.report.numberText");
col.setTargetObject("link");

tableConfig.addComponent(col);

return tableConfig;
}
}
2. カスタムの ComponentBuilder<Windchill>/codebase/config/mvc/PartReport-configs.xml ファイルに登録します。
行を追加します。
<bean class="custom.MultiLevelBOMReportTreeBuilderCustomAtts"/>
<bean class="com.ptc.windchill.enterprise.part.reports.mvc.builders.MultiLevelBOMReportTreeBuilder"/>
を除去します。
3. コラムを 1 つ選択して、そのコラムにそのカスタムテーブルビューを設定します。