自訂報價條列項目匯入的資料處理引擎定義
如果您想要使用者匯入自訂欄位,請修改「資料處理引擎」定義。「交易管理」會使用此定義,在使用者上載 CSV 檔案後處理報價條列項目。
必要版本
| 適用於:Lightning Experience |
| 適用於:已啟用交易管理的 Revenue Cloud Enterprise、Unlimited 及 Developer Edition |
| 需要的使用者權限 | |
|---|---|
| 建立「資料處理引擎」定義: | 自訂應用程式 和 修改所有資料 |
-
開始之前,請下載現有的範本。
- 進入「設定」,尋找並選取「資料處理引擎」。
-
按一下與「從 CSV 檔案建立報價條列項目」範本對應的
,然後選取「下載」。
由於定義的執行平台類型為 Core,因此您無法在視覺定義產生器工具中將其開啟。
-
開啟並編輯下載的 JSON 檔案。在自訂期間請遵循這些需求。
- 保留 definitionRunMode、executionPlatformType 和 processType 欄位的預設值。
- 保留 Get_Related_Quote_Line_Items_Relationships_and_Attributes 和 Consolidate_and_Write_Quote_Line_Item_and_Its_Related_Records 節點,以建立已配套產品的預設子系條列項目和預設報價條列項目屬性。
- 在 Get_Related_Quote_Line_Items_Relationships_and_Attributes 自訂節點和 Consolidate_and_Write_Quote_Line_Item_and_Its_Related_Records 節點中維護 Quote Line Reference 參數。
- 將 isTemplate 欄位的值設定為 false。
- 使用自訂欄位別名的 API 名稱,並將尾碼 __c 變更為 _c。
例如,針對 SpecialInstructions__c 自訂欄位使用別名 SpecialInstructions_c。 - 使用 BatchCalcJobDefinition API 上載更新的「資料處理引擎」定義。
- 在匯入報價條列項目之資料處理引擎定義欄位中選取更新的定義。
範例
在此範例中,定義包含處理資料的特定節點和邏輯。
- 「取得唯一產品」節點使用彙總函數,從篩選後的報價條列項目列中計算唯一產品代碼。
- 附加的節點會結合包含和不包含產品銷售模型的報價條列項目列。
- 「合併和撰寫報價條列項目」及其「相關記錄」節點會合併報價條列項目、關係和屬性。接著將這些項目寫入目標物件。
- 篩選條件會根據 QuoteId 輸入變數限制列,並識別未銷售模型的產品。
- 運算式欄位會識別空白銷售模型,並決定 StartDate 和 SubscriptionTerm 的預設值。
{
"FullName" : "SpecialInstructions_c",
"Metadata" : {
"aggregates" : [ {
"description" : "Gets a list of unique products from the quote line item rows and their count.",
"fields" : [ {
"aggregateFunction" : "Count",
"alias" : "UniqueProductCodeCount",
"sourceFieldName" : "ProductCode"
} ],
"groupBy" : [ "ProductCode", "QuoteId" ],
"label" : "Get Unique Products",
"name" : "Get_Unique_Products",
"sourceName" : "Filter_Quote_Line_Item_Rows_by_Quote_ID"
} ],
"appends" : [ {
"description" : "Combines quote line item rows that have a product selling model with those that don’t have one.",
"isDisjointedSchema" : false,
"label" : "Combine Quote Line Item Rows With and Without Product Selling Models",
"name" : "Combine_Quote_Line_Item_Rows_With_and_Without_Product_Selling_Models",
"sources" : [ "Add_Product_Fields_to_Quote_Line_Item_Rows_with_Product_Selling_Models", "Add_Product_Fields_to_Quote_Line_Item_Rows_Without_Product_Selling_Models" ]
} ],
"atomicWritebacks" : [ {
"description" : "Consolidates quote line item, quote line relationship, and quote line item attribute records, and then writes all the records together to the target objects.",
"label" : "Consolidate and Write Quote Line Item and Its Related Records",
"name" : "Consolidate_and_Write_Quote_Line_Item_and_Its_Related_Records",
"writebackObjectRelationships" : [ {
"childWritebackObjectName" : "Create_Quote_Line_Item_Relationship",
"parentWritebackObjectName" : "Create_Quote_Line_Item_Records",
"sequenceNumber" : 1
}, {
"childWritebackObjectName" : "Create_Quote_Line_Attributes",
"parentWritebackObjectName" : "Create_Quote_Line_Item_Records",
"sequenceNumber" : 1
} ],
"writebackSequence" : 1
} ],
"customNodes" : [ {
"description" : "Gets child line item, relationship, and attribute records for the input quote line items. It also adds QuoteLineReference values to these records. The Composite Writeback node uses these values to write the related records together.",
"extensionName" : "GetRelatedLinesRelationshipsAndAttributes",
"extensionNamespace" : "TransactionManagement",
"label" : "Get Related Quote Line Items, Relationships, and Attributes",
"name" : "Get_Related_Quote_Line_Items_Relationships_and_Attributes",
"parameters" : [ {
"name" : "Attribute_AttributeName",
"value" : "Attribute_AttributeName"
}, {
"name" : "Attribute_AttributeValue",
"value" : "Attribute_AttributeValue"
}, {
"name" : "Attribute_AttributePicklistValueId",
"value" : "Attribute_AttributePicklistValueId"
}, {
"name" : "Attribute_AttributeDefinitionId",
"value" : "Attribute_AttributeDefinitionId"
}, {
"name" : "Relationship_MainQuoteLineId",
"value" : "Relationship_MainQuoteLineId"
}, {
"name" : "Relationship_AssociatedQuoteLineId",
"value" : "Relationship_AssociatedQuoteLineId"
}, {
"name" : "Relationship_ProductRelationshipTypeId",
"value" : "Relationship_ProductRelationshipTypeId"
}, {
"name" : "Relationship_AssociatedQuoteLinePricing",
"value" : "Relationship_AssociatedQuoteLinePricing"
}, {
"name" : "Relationship_AssociatedQuantScaleMethod",
"value" : "Relationship_AssociatedQuantScaleMethod"
}, {
"name" : "Relationship_ProductRelatedComponent",
"value" : "Relationship_ProductRelatedComponent"
}, {
"name" : "RowType",
"value" : "RowType"
}, {
"name" : "QuoteLineReference",
"value" : "QuoteLineReference"
} ],
"sources" : [ "Add_Default_Fields_to_Quote_Line_Item_Rows" ]
} ],
"dataSpaceApiName" : "default",
"datasources" : [ {
"description" : "Gets all rows from the CSV file, which is used as a data source to create quote line item records.",
"fields" : [ {
"alias" : "BillingFrequency",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "BillingFrequency"
}, {
"alias" : "SubscriptionTerm",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "SubscriptionTerm"
}, {
"alias" : "StartDate",
"dataType" : "Date",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "StartDate"
}, {
"alias" : "SalesPrice",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "SalesPrice"
}, {
"alias" : "QuoteId",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "QuoteId"
}, {
"alias" : "Quantity",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "Quantity"
}, {
"alias" : "ProductSellingModelName",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "ProductSellingModelName"
}, {
"alias" : "ProductName",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "ProductName"
}, {
"alias" : "ProductDescription",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "ProductDescription"
}, {
"alias" : "ProductCode",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "ProductCode"
}, {
"alias" : "EndDate",
"dataType" : "Date",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "EndDate"
}, {
"alias" : "DiscountPercentage",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "DiscountPercentage"
}, {
"alias" : "DiscountAmount",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "DiscountAmount"
}, {
"alias" : "ServiceDate",
"dataType" : "Date",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "ServiceDate"
}, {
"alias" : "RowNumber",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : true,
"name" : "RowNumber"
}, {
"alias" : "QuoteLineGroupId",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "QuoteLineGroupId"
}, {
"alias" : "SpecialInstructions_c",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "SpecialInstructions"
} ],
"fileIdentifier" : "{!CSV_File_ID}",
"fileSource" : "ContentManagement",
"label" : "Get Quote Line Item Rows from a CSV File",
"name" : "Get_Quote_Line_Item_Rows_from_a_CSV_File",
"sourceName" : "Get_Quote_Line_Items_from_a_CSV_File_CSV",
"type" : "CSV"
}, {
"description" : "Gets all price book entries, which are used as a data source to populate pricing information.",
"fields" : [ {
"alias" : "IsActive",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "IsActive"
}, {
"alias" : "Pricebook2Id",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "Pricebook2Id"
}, {
"alias" : "Id",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "Id"
}, {
"alias" : "Product2Id",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "Product2Id"
}, {
"alias" : "ProductCode",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "ProductCode"
}, {
"alias" : "ProductSellingModelId",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "ProductSellingModelId"
} ],
"label" : "Get Price Book Entries from Salesforce Object",
"name" : "Get_Price_Book_Entries_from_Salesforce_Object",
"sourceName" : "PricebookEntry",
"type" : "StandardObject"
}, {
"description" : "Gets all product selling models, which are used as a data source to populate the method by which a product is sold.",
"fields" : [ {
"alias" : "ProductSellingModelId",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "Id"
}, {
"alias" : "ProductSellingModelName",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "Name"
}, {
"alias" : "SellingModelType",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "SellingModelType"
}, {
"alias" : "PricingTerm",
"dataType" : "Numeric",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "PricingTerm"
} ],
"label" : "Get Product Selling Models from Salesforce Object",
"name" : "Get_Product_Selling_Models_from_Salesforce_Object",
"sourceName" : "ProductSellingModel",
"type" : "StandardObject"
}, {
"description" : "Gets all quotes and their related price book IDs. Price books contain the list of products and their prices.",
"fields" : [ {
"alias" : "Pricebook2Id",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "Pricebook2Id"
}, {
"alias" : "Id",
"dataType" : "Text",
"displaySequence" : 1,
"isPrimaryKey" : false,
"name" : "Id"
} ],
"label" : "Get Quote and Related Price Books from Salesforce Object",
"name" : "Get_Quote_and_Related_Price_Books_from_Salesforce_Object",
"sourceName" : "Quote",
"type" : "StandardObject"
} ],
"definitionRunMode" : "OnDemand",
"description" : "Adds quote line items from a CSV file to a quote.",
"doesGenAllFailedRecords" : false,
"executionPlatformObjectType" : "None",
"executionPlatformType" : "CORE",
"filters" : [ {
"criteria" : [ {
"inputVariable" : "QuoteId",
"operator" : "Equals",
"sequence" : 1,
"sourceFieldName" : "QuoteId"
} ],
"description" : "Filters the quote line item rows where the QuoteId field value matches the Quote ID variable value.",
"filterCondition" : "1",
"isDynamicFilter" : false,
"label" : "Filter Quote Line Item Rows by Quote ID",
"name" : "Filter_Quote_Line_Item_Rows_by_Quote_ID",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"criteria" : [ {
"inputVariable" : "QuoteId",
"operator" : "Equals",
"sequence" : 1,
"sourceFieldName" : "Id"
} ],
"description" : "Filters the quote record where the ID matches the value in the Quote ID variable.",
"filterCondition" : "1",
"isDynamicFilter" : false,
"label" : "Filter Quote with Matching Quote ID",
"name" : "Filter_Quote_with_Matching_Quote_ID",
"sourceName" : "Get_Quote_and_Related_Price_Books_from_Salesforce_Object"
}, {
"criteria" : [ {
"inputVariable" : "Pricebook2Id",
"operator" : "Equals",
"sequence" : 1,
"sourceFieldName" : "Pricebook2Id"
} ],
"description" : "Filters the price book record where the ID matches the value in the Price Book ID input variable.",
"filterCondition" : "1",
"isDynamicFilter" : false,
"label" : "Filter Price Book Entries by Price Book ID",
"name" : "Filter_Price_Book_Entries_by_Price_Book_ID",
"sourceName" : "Get_Price_Book_Entries_from_Salesforce_Object"
}, {
"criteria" : [ {
"operator" : "Equals",
"sequence" : 1,
"sourceFieldName" : "IsProductSellingModelEmpty",
"value" : "0"
} ],
"description" : "Filters quote line item rows that have a product selling model.",
"filterCondition" : "1",
"isDynamicFilter" : false,
"label" : "Filter Quote Line Item Rows with Product Selling Models",
"name" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models",
"sourceName" : "Identify_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"criteria" : [ {
"operator" : "Equals",
"sequence" : 1,
"sourceFieldName" : "IsProductSellingModelEmpty",
"value" : "1"
} ],
"description" : "Filters quote line item rows that don’t have a product selling model.",
"filterCondition" : "1",
"isDynamicFilter" : false,
"label" : "Filter Quote Line Item Rows without Product Selling Models",
"name" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models",
"sourceName" : "Identify_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"criteria" : [ {
"operator" : "Equals",
"sequence" : 1,
"sourceFieldName" : "IsProductSellingModelBlank",
"value" : "1"
} ],
"description" : "Filters products that don't have a product selling model.",
"filterCondition" : "1",
"isDynamicFilter" : false,
"label" : "Filter Products Without Product Selling Model",
"name" : "Filter_Products_Without_Product_Selling_Model",
"sourceName" : "Identify_Products_Without_Product_Selling_Models"
}, {
"criteria" : [ {
"operator" : "Equals",
"sequence" : 1,
"sourceFieldName" : "RowType",
"value" : "QuoteLineItem"
} ],
"description" : "Filters all the quote line item records.",
"filterCondition" : "1",
"isDynamicFilter" : false,
"label" : "Filter Quote Line Item Rows",
"name" : "Filter_Quote_Line_Item_Rows",
"sourceName" : "Get_Related_Quote_Line_Items_Relationships_and_Attributes"
}, {
"criteria" : [ {
"operator" : "Equals",
"sequence" : 1,
"sourceFieldName" : "RowType",
"value" : "QuoteLineRelationship"
} ],
"description" : "Filters all the quote line item relationship records.",
"filterCondition" : "1",
"isDynamicFilter" : false,
"label" : "Filter Quote Line Item Relationship",
"name" : "Filter_Quote_Line_Item_Relationship",
"sourceName" : "Get_Related_Quote_Line_Items_Relationships_and_Attributes"
}, {
"criteria" : [ {
"operator" : "Equals",
"sequence" : 1,
"sourceFieldName" : "RowType",
"value" : "QuoteLineItemAttribute"
} ],
"description" : "Filters all the quote line item attribute records.",
"filterCondition" : "1",
"isDynamicFilter" : false,
"label" : "Filter Quote Line Attributes",
"name" : "Filter_Quote_Line_Attributes",
"sourceName" : "Get_Related_Quote_Line_Items_Relationships_and_Attributes"
} ],
"isTemplate" : false,
"joins" : [ {
"description" : "Adds price book entry fields to the products based on the product code.",
"fields" : [ {
"alias" : "ProductCode_CSV",
"sourceFieldName" : "ProductCode",
"sourceName" : "Get_Unique_Products"
}, {
"alias" : "Id",
"sourceFieldName" : "Id",
"sourceName" : "Filter_Price_Book_Entries_by_Price_Book_ID"
}, {
"alias" : "IsActive",
"sourceFieldName" : "IsActive",
"sourceName" : "Filter_Price_Book_Entries_by_Price_Book_ID"
}, {
"alias" : "Pricebook2Id",
"sourceFieldName" : "Pricebook2Id",
"sourceName" : "Filter_Price_Book_Entries_by_Price_Book_ID"
}, {
"alias" : "Product2Id",
"sourceFieldName" : "Product2Id",
"sourceName" : "Filter_Price_Book_Entries_by_Price_Book_ID"
}, {
"alias" : "ProductCode",
"sourceFieldName" : "ProductCode",
"sourceName" : "Filter_Price_Book_Entries_by_Price_Book_ID"
}, {
"alias" : "ProductSellingModelId",
"sourceFieldName" : "ProductSellingModelId",
"sourceName" : "Filter_Price_Book_Entries_by_Price_Book_ID"
} ],
"joinKeys" : [ {
"primarySourceFieldName" : "ProductCode",
"secondarySourceFieldName" : "ProductCode"
} ],
"label" : "Add Price Book Entries to Products",
"name" : "Add_Price_Book_Entries_to_Products",
"primarySourceName" : "Get_Unique_Products",
"secondarySourceName" : "Filter_Price_Book_Entries_by_Price_Book_ID",
"type" : "Inner"
}, {
"description" : "Adds the price book ID to quote line item rows based on the quote ID.",
"fields" : [ {
"alias" : "DiscountAmount",
"sourceFieldName" : "DiscountAmount",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "DiscountPercentage",
"sourceFieldName" : "DiscountPercentage",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "EndDate",
"sourceFieldName" : "EndDate",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "ProductCode",
"sourceFieldName" : "ProductCode",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "ProductDescription",
"sourceFieldName" : "ProductDescription",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "ProductName",
"sourceFieldName" : "ProductName",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "ProductSellingModelName",
"sourceFieldName" : "ProductSellingModelName",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "Quantity",
"sourceFieldName" : "Quantity",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "QuoteId",
"sourceFieldName" : "QuoteId",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "QuoteLineGroupId",
"sourceFieldName" : "QuoteLineGroupId",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "RowNumber",
"sourceFieldName" : "RowNumber",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "SalesPrice",
"sourceFieldName" : "SalesPrice",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "ServiceDate",
"sourceFieldName" : "ServiceDate",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "SpecialInstructions_c",
"sourceFieldName" : "SpecialInstructions_c",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "StartDate",
"sourceFieldName" : "StartDate",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "SubscriptionTerm",
"sourceFieldName" : "SubscriptionTerm",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "BillingFrequency",
"sourceFieldName" : "BillingFrequency",
"sourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File"
}, {
"alias" : "Pricebook2Id",
"sourceFieldName" : "Pricebook2Id",
"sourceName" : "Filter_Quote_with_Matching_Quote_ID"
} ],
"joinKeys" : [ {
"primarySourceFieldName" : "QuoteId",
"secondarySourceFieldName" : "Id"
} ],
"label" : "Add Price Book ID to Quote Line Item Rows",
"name" : "Add_Price_Book_ID_to_Quote_Line_Item_Rows",
"primarySourceName" : "Get_Quote_Line_Item_Rows_from_a_CSV_File",
"secondarySourceName" : "Filter_Quote_with_Matching_Quote_ID",
"type" : "Inner"
}, {
"description" : "Adds product selling model fields to products based on the product selling model ID.",
"fields" : [ {
"alias" : "Pricebook2Id",
"sourceFieldName" : "Pricebook2Id",
"sourceName" : "Add_Price_Book_Entries_to_Products"
}, {
"alias" : "PricebookEntryId",
"sourceFieldName" : "Id",
"sourceName" : "Add_Price_Book_Entries_to_Products"
}, {
"alias" : "Product2Id",
"sourceFieldName" : "Product2Id",
"sourceName" : "Add_Price_Book_Entries_to_Products"
}, {
"alias" : "ProductCode",
"sourceFieldName" : "ProductCode_CSV",
"sourceName" : "Add_Price_Book_Entries_to_Products"
}, {
"alias" : "PricingTerm",
"sourceFieldName" : "PricingTerm",
"sourceName" : "Get_Product_Selling_Models_from_Salesforce_Object"
}, {
"alias" : "ProductSellingModelName",
"sourceFieldName" : "ProductSellingModelName",
"sourceName" : "Get_Product_Selling_Models_from_Salesforce_Object"
}, {
"alias" : "SellingModelType",
"sourceFieldName" : "SellingModelType",
"sourceName" : "Get_Product_Selling_Models_from_Salesforce_Object"
} ],
"joinKeys" : [ {
"primarySourceFieldName" : "ProductSellingModelId",
"secondarySourceFieldName" : "ProductSellingModelId"
} ],
"label" : "Add Product Selling Models to Products",
"name" : "Add_Product_Selling_Models_to_Products",
"primarySourceName" : "Add_Price_Book_Entries_to_Products",
"secondarySourceName" : "Get_Product_Selling_Models_from_Salesforce_Object",
"type" : "LeftOuter"
}, {
"description" : "Adds price book entry and product selling model fields to quote line item rows that have a product selling model, based on product code, price book ID, and product selling model name.",
"fields" : [ {
"alias" : "DiscountAmount",
"sourceFieldName" : "DiscountAmount",
"sourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models"
}, {
"alias" : "DiscountPercentage",
"sourceFieldName" : "DiscountPercentage",
"sourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models"
}, {
"alias" : "EndDate",
"sourceFieldName" : "EndDate",
"sourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models"
}, {
"alias" : "ProductDescription",
"sourceFieldName" : "ProductDescription",
"sourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models"
}, {
"alias" : "ProductName",
"sourceFieldName" : "ProductName",
"sourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models"
}, {
"alias" : "Quantity",
"sourceFieldName" : "Quantity",
"sourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models"
}, {
"alias" : "QuoteId",
"sourceFieldName" : "QuoteId",
"sourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models"
}, {
"alias" : "QuoteLineGroupId",
"sourceFieldName" : "QuoteLineGroupId",
"sourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models"
}, {
"alias" : "SalesPrice",
"sourceFieldName" : "SalesPrice",
"sourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models"
}, {
"alias" : "ServiceDate",
"sourceFieldName" : "ServiceDate",
"sourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models"
}, {
"alias" : "SpecialInstructions_c",
"sourceFieldName" : "SpecialInstructions_c",
"sourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models"
}, {
"alias" : "StartDate",
"sourceFieldName" : "StartDate",
"sourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models"
}, {
"alias" : "SubscriptionTerm",
"sourceFieldName" : "SubscriptionTerm",
"sourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models"
}, {
"alias" : "BillingFrequency",
"sourceFieldName" : "BillingFrequency",
"sourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models"
}, {
"alias" : "PricebookEntryId",
"sourceFieldName" : "PricebookEntryId",
"sourceName" : "Add_Product_Selling_Models_to_Products"
}, {
"alias" : "PricingTerm",
"sourceFieldName" : "PricingTerm",
"sourceName" : "Add_Product_Selling_Models_to_Products"
}, {
"alias" : "Product2Id",
"sourceFieldName" : "Product2Id",
"sourceName" : "Add_Product_Selling_Models_to_Products"
}, {
"alias" : "SellingModelType",
"sourceFieldName" : "SellingModelType",
"sourceName" : "Add_Product_Selling_Models_to_Products"
} ],
"joinKeys" : [ {
"primarySourceFieldName" : "ProductCode",
"secondarySourceFieldName" : "ProductCode"
}, {
"primarySourceFieldName" : "Pricebook2Id",
"secondarySourceFieldName" : "Pricebook2Id"
}, {
"primarySourceFieldName" : "ProductSellingModelName",
"secondarySourceFieldName" : "ProductSellingModelName"
} ],
"label" : "Add Product Fields to Quote Line Item Rows with Product Selling Models",
"name" : "Add_Product_Fields_to_Quote_Line_Item_Rows_with_Product_Selling_Models",
"primarySourceName" : "Filter_Quote_Line_Item_Rows_with_Product_Selling_Models",
"secondarySourceName" : "Add_Product_Selling_Models_to_Products",
"type" : "LeftOuter"
}, {
"description" : "Adds price book entry and product selling model fields to quote line item rows that don’t have a product selling model, based on product code, price book ID, and product selling model name.",
"fields" : [ {
"alias" : "DiscountAmount",
"sourceFieldName" : "DiscountAmount",
"sourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"alias" : "DiscountPercentage",
"sourceFieldName" : "DiscountPercentage",
"sourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"alias" : "EndDate",
"sourceFieldName" : "EndDate",
"sourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"alias" : "ProductDescription",
"sourceFieldName" : "ProductDescription",
"sourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"alias" : "ProductName",
"sourceFieldName" : "ProductName",
"sourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"alias" : "Quantity",
"sourceFieldName" : "Quantity",
"sourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"alias" : "QuoteId",
"sourceFieldName" : "QuoteId",
"sourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"alias" : "QuoteLineGroupId",
"sourceFieldName" : "QuoteLineGroupId",
"sourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"alias" : "SalesPrice",
"sourceFieldName" : "SalesPrice",
"sourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"alias" : "ServiceDate",
"sourceFieldName" : "ServiceDate",
"sourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"alias" : "SpecialInstructions_c",
"sourceFieldName" : "SpecialInstructions_c",
"sourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"alias" : "StartDate",
"sourceFieldName" : "StartDate",
"sourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"alias" : "SubscriptionTerm",
"sourceFieldName" : "SubscriptionTerm",
"sourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"alias" : "BillingFrequency",
"sourceFieldName" : "BillingFrequency",
"sourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models"
}, {
"alias" : "PricebookEntryId",
"sourceFieldName" : "PricebookEntryId",
"sourceName" : "Filter_Products_Without_Product_Selling_Model"
}, {
"alias" : "PricingTerm",
"sourceFieldName" : "PricingTerm",
"sourceName" : "Filter_Products_Without_Product_Selling_Model"
}, {
"alias" : "Product2Id",
"sourceFieldName" : "Product2Id",
"sourceName" : "Filter_Products_Without_Product_Selling_Model"
}, {
"alias" : "SellingModelType",
"sourceFieldName" : "SellingModelType",
"sourceName" : "Filter_Products_Without_Product_Selling_Model"
} ],
"joinKeys" : [ {
"primarySourceFieldName" : "ProductCode",
"secondarySourceFieldName" : "ProductCode"
}, {
"primarySourceFieldName" : "Pricebook2Id",
"secondarySourceFieldName" : "Pricebook2Id"
} ],
"label" : "Add Product Fields to Quote Line Item Rows Without Product Selling Models",
"name" : "Add_Product_Fields_to_Quote_Line_Item_Rows_Without_Product_Selling_Models",
"primarySourceName" : "Filter_Quote_Line_Item_Rows_Without_Product_Selling_Models",
"secondarySourceName" : "Filter_Products_Without_Product_Selling_Model",
"type" : "LeftOuter"
} ],
"label" : "SpecialInstructions_c",
"parameters" : [ {
"dataType" : "FileIdentifier",
"description" : "The ID of the CSV file that contains the quote line item rows that must be processed to create records.",
"isMultiValue" : false,
"label" : "CSV File ID",
"name" : "CSV_File_ID"
}, {
"dataType" : "Text",
"description" : "The ID of the quote for which quote line items must be created.",
"isMultiValue" : false,
"label" : "Quote ID",
"name" : "QuoteId"
}, {
"dataType" : "Text",
"description" : "The ID of the price book associated with the quote to which the quote line items must be added.",
"isMultiValue" : false,
"label" : "Price Book ID",
"name" : "Pricebook2Id"
} ],
"processType" : "RevenueTransactionManagement",
"status" : "Active",
"transforms" : [ {
"name" : "Identify_Quote_Line_Item_Rows_Without_Product_Selling_Models",
"sourceName" : "Add_Price_Book_ID_to_Quote_Line_Item_Rows",
"label" : "Identify Quote Line Item Rows without Product Selling Models",
"transformationType" : "Expression",
"partitionBy" : [ ],
"orderBy" : [ ],
"expressionFields" : [ {
"alias" : "IsProductSellingModelEmpty",
"expression" : "IF(ISBLANK({ProductSellingModelName} ),1,0)",
"dataType" : "Numeric",
"length" : 1,
"decimalPlaces" : 0
} ],
"droppedFields" : [ ]
}, {
"name" : "Identify_Products_Without_Product_Selling_Models",
"sourceName" : "Add_Product_Selling_Models_to_Products",
"label" : "Identify Products Without Product Selling Models",
"transformationType" : "Expression",
"partitionBy" : [ ],
"orderBy" : [ ],
"expressionFields" : [ {
"alias" : "IsProductSellingModelBlank",
"expression" : "IF(ISBLANK({ProductSellingModelName} ),1,0)",
"dataType" : "Numeric",
"length" : 1,
"decimalPlaces" : 0
} ],
"droppedFields" : [ ]
}, {
"name" : "Add_Default_Fields_to_Quote_Line_Item_Rows",
"sourceName" : "Combine_Quote_Line_Item_Rows_With_and_Without_Product_Selling_Models",
"label" : "Add Default Fields to Quote Line Item Rows",
"transformationType" : "Expression",
"partitionBy" : [ ],
"orderBy" : [ ],
"expressionFields" : [ {
"alias" : "DefaultPeriodBoundary",
"expression" : "IF({SellingModelType} == \"TermDefined\" || {SellingModelType} == \"Evergreen\",\"Anniversary\",NULL)",
"dataType" : "Text",
"length" : 100
}, {
"alias" : "DefaultStartDate",
"expression" : "IF({SellingModelType} == \"OneTime\",{StartDate},IF({SellingModelType} == \"TermDefined\" && ISBLANK({StartDate}),TODAY(),IF({SellingModelType} == \"Evergreen\" && ISBLANK({StartDate}),TODAY(),{StartDate})))",
"dataType" : "Date"
}, {
"alias" : "DefaultSubscriptionTerm",
"expression" : "IF({SellingModelType} == \"OneTime\" || {SellingModelType} == \"Evergreen\",{SubscriptionTerm},IF({SellingModelType} == \"TermDefined\" && ISBLANK({SubscriptionTerm}),IF(ISBLANK({EndDate}),TEXT(FLOOR({PricingTerm})),{SubscriptionTerm}),{SubscriptionTerm}))",
"dataType" : "Text",
"length" : 100
} ],
"droppedFields" : [ ]
} ],
"writebacks" : [ {
"name" : "Create_Quote_Line_Item_Records",
"label" : "Create Quote Line Item Records",
"sourceName" : "Filter_Quote_Line_Item_Rows",
"targetObjectName" : "QuoteLineItem",
"writebackRecordMaxLimit" : 0,
"isChangedRow" : false,
"shouldCreateTargetObject" : false,
"isExistingDataset" : false,
"description" : "Creates quote line item records for all the rows in the CSV file, including their child line items.",
"canWrtbckToNonEditableFields" : false,
"storageType" : "sObject",
"operationType" : "Insert",
"writebackSequence" : 1,
"fields" : [ {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "PricebookEntryId",
"targetFieldName" : "PricebookEntryId"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "Product2Id",
"targetFieldName" : "Product2Id"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "Quantity",
"targetFieldName" : "Quantity"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "QuoteId",
"targetFieldName" : "QuoteId"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "DiscountAmount",
"targetFieldName" : "DiscountAmount"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "DiscountPercentage",
"targetFieldName" : "Discount"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "DefaultStartDate",
"targetFieldName" : "StartDate"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "DefaultPeriodBoundary",
"targetFieldName" : "PeriodBoundary"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "DefaultSubscriptionTerm",
"targetFieldName" : "SubscriptionTerm"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "EndDate",
"targetFieldName" : "EndDate"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "ProductDescription",
"targetFieldName" : "Description"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "ProductName",
"targetFieldName" : "CustomProductName"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "SalesPrice",
"targetFieldName" : "UnitPrice"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "ServiceDate",
"targetFieldName" : "ServiceDate"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "QuoteLineGroupId",
"targetFieldName" : "QuoteLineGroupId"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "BillingFrequency",
"targetFieldName" : "BillingFrequency"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "SpecialInstructions_c",
"targetFieldName" : "SpecialInstructions__c"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "QuoteLineReference",
"targetFieldName" : "QuoteLineReference"
} ]
}, {
"name" : "Create_Quote_Line_Item_Relationship",
"label" : "Create Quote Line Item Relationship",
"sourceName" : "Filter_Quote_Line_Item_Relationship",
"targetObjectName" : "QuoteLineRelationship",
"writebackRecordMaxLimit" : 0,
"isChangedRow" : false,
"shouldCreateTargetObject" : false,
"isExistingDataset" : false,
"description" : "Creates quote line item relationship records for all the quote line items.",
"canWrtbckToNonEditableFields" : false,
"storageType" : "sObject",
"operationType" : "Insert",
"writebackSequence" : 2,
"fields" : [ {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "Relationship_AssociatedQuoteLinePricing",
"targetFieldName" : "AssociatedQuoteLinePricing"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "Relationship_ProductRelationshipTypeId",
"targetFieldName" : "ProductRelationshipTypeId"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "Relationship_AssociatedQuantScaleMethod",
"targetFieldName" : "AssociatedQuantScaleMethod"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "Relationship_ProductRelatedComponent",
"targetFieldName" : "ProductRelatedComponentId"
}, {
"isAutogenerated" : false,
"parentName" : "QuoteLineItem",
"relationshipName" : "MainQuoteLine",
"runtimeParameter" : false,
"sourceFieldName" : "Relationship_MainQuoteLineId",
"targetFieldName" : "QuoteLineReference"
}, {
"isAutogenerated" : false,
"parentName" : "QuoteLineItem",
"relationshipName" : "AssociatedQuoteLine",
"runtimeParameter" : false,
"sourceFieldName" : "Relationship_AssociatedQuoteLineId",
"targetFieldName" : "QuoteLineReference"
} ]
}, {
"name" : "Create_Quote_Line_Attributes",
"label" : "Create Quote Line Attributes",
"sourceName" : "Filter_Quote_Line_Attributes",
"targetObjectName" : "QuoteLineItemAttribute",
"writebackRecordMaxLimit" : 0,
"isChangedRow" : false,
"shouldCreateTargetObject" : false,
"isExistingDataset" : false,
"description" : "Creates quote line item attribute records for all the quote line items.",
"canWrtbckToNonEditableFields" : false,
"storageType" : "sObject",
"operationType" : "Insert",
"writebackSequence" : 2,
"fields" : [ {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "Attribute_AttributeDefinitionId",
"targetFieldName" : "AttributeDefinitionId"
}, {
"isAutogenerated" : false,
"parentName" : "QuoteLineItem",
"relationshipName" : "QuoteLineItem",
"runtimeParameter" : false,
"sourceFieldName" : "QuoteLineReference",
"targetFieldName" : "QuoteLineReference"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "Attribute_AttributeName",
"targetFieldName" : "AttributeName"
}, {
"isAutogenerated" : false,
"runtimeParameter" : false,
"sourceFieldName" : "Attribute_AttributePicklistValueId",
"targetFieldName" : "AttributePicklistValueId"
} ]
} ]
}
}
此文章是否解決您的問題?
請讓我們知道,以便我們改進!

