MoCheeks
06/24/2022, 3:39 PMSandii
06/24/2022, 3:54 PMMoCheeks
06/24/2022, 4:10 PMbattk
06/24/2022, 5:13 PMMoCheeks
06/24/2022, 7:22 PMMoCheeks
06/24/2022, 7:29 PMbattk
06/24/2022, 7:30 PMMoCheeks
06/24/2022, 7:36 PMbattk
06/24/2022, 8:53 PMMoCheeks
06/24/2022, 9:29 PM//Check to see if there is a Customer Product BOM based on the Parent of the Customer on the Work Order. If so, use that BOM configuration.
if(customer){
let customerParent = search.lookupFields({type: search.Type.CUSTOMER, id: customer, columns: ['parent' ]}).parent[0].value;
let customerProductSearch = search.create({
type: "customrecord_customer_products",
filters:
[
["custrecord_customer_products_customer.internalid","anyof",customerParent],
],
columns:
[
search.createColumn({name: "internalid", join: "CUSTRECORD_CUSTOMER_PRODUCTS_CUST_ITEM", label: "Item Internal ID"}),
search.createColumn({name: "custrecord_customer_products_cust_item", label: "Customer Item"}),
search.createColumn({name: "custrecord_cust_product_bom", label: "Customer BOM"})
]
});
customerProductSearch.run().each(function(result){
let item = result.getValue({name: "internalid", join: "CUSTRECORD_CUSTOMER_PRODUCTS_CUST_ITEM", label: "Item Internal ID"})
if(item == assembly){
let customerProductBOM = result.getValue({name: "custrecord_cust_product_bom", label: "Customer BOM"});
if(customerProductBOM){
wo.setValue({fieldId: 'billofmaterials', value: customerProductBOM, ignoreFieldChange: false});
wo.setValue({fieldId: 'billofmaterialsrevision', value: 108091, ignoreFieldChange: false});
wo.setValue({fieldId: 'manufacturingrouting', value: 734, ignoreFieldChange: false});
log.debug('BoM Found', `BoM found for ${item}`);
log.debug('BOM', result.getValue({name: "custrecord_cust_product_bom", label: "Customer BOM"}));
return;
}
}
return true;
});
};
MoCheeks
06/24/2022, 9:30 PM