I’m looking for some clarification on how to trigger the Rebuild Configurator Sequence action. Specifically, we want to automate this process whenever a part is approved and linked to a configurator so that it gets included in the sequence.
We already have a function in place that handles the approval and unapproval of configurator, adds new rules, and performs other necessary tasks on the approval of a parts that contains a configurator ID to ensure everything runs smoothly. My thought was to integrate the Rebuild Configurator Sequence automation right before this function re-approves the configurator.
Through some tracing, I’ve noticed that both methods require a part number and a revision number. Does anyone know which table holds this part and revision data needed for the sequence?
I considered looking in the PartMtl table for the latest parent information, but since the revision number isn’t included in the method, I’m unsure where to pull that detail from, since it should be somewhere in the configurator. I took a look at the Configuration Entry, but I couldn’t figure out how the sequence tab relates to it.
Any help or direction on this would be greatly appreciated.
I’ve managed to get to the last level by looping through the PartMtl table, but I’ve realized that certain parts require configuration, even if they exist at a lower level in the BOM.
For example, consider Part A, Part B, and Part C. Part C is a sub-component of Part B, and Part B is a sub-component of Part A. All three parts need to be configured because the options selected for Part A can affect their operation, material, and even have their own specific parameters. Typically, we will sell Part A, but if Part C were to fail, there could be a situation where we need to configure Part C separately for a customer to integrate into their product.
Given this, it seems I will need to sequence Parts A, B, and C. The PartMtl table alone won’t work here, as it only provides the latest parent information.
Regarding the method, we’re not including the revision number, as we want the system to always pick the latest available revision. However, from what I understand, the configurator has a field where the part number and revision are needed to be included in the sequence tabs of the Configurator Entry. I would like to know which table contains this information, so when I loop through the PartMtl table, I can compile a list of strings with the relevant part number. I can then loop through this list to sequence the needed parts.
That’s interesting. I didn’t realize that a manufactured part could even be added to a BOM without a revision number.
That said, if you’re having it select the latest revision each time at the time of configuration, you could probably do the same thing in the function just by passing the PartNum in. For example
Func<string,string> GetLatestRevision = PN =>
{
var LatestRev = Db.PartRev
.Where( x => x.Company == Session.CompanyID
&& x.PartNum == PN )
.OrderByDescending( o => o.ApprovedDate )
.Select( s => s.RevisionNum )
.FirstOrDefault();
return string.IsNullOrEmpty( LatestRev )? "": LatestRev;
}
var ConfigurablePartsList = new List<string> { "PartA", "PartB", "PartC" };
// I don't know what format it wants your Sequence in, using this as an example
var SequenceStr = new StringBuilder();
foreach ( string PN in ConfigurablePartsList )
{
SequenceStr.Append( $"{PN}`{GetLatestRevision( PN )}~" );
}
output = SequenceStr.ToString();
I’ve already thought about this solution, but as I mentioned, it’s possible that I’ll need to go through older revisions as well. The tools they use have a list with a drop-down menu, so it seems like there’s a way to access the entire list. That’s why I’d like to know where this information is stored.