07-12-20 03:30 AM
07-12-20 02:27 PM
07-12-20 03:12 PM
SELECT TOP (1000) [queueitemident]
,[tagid], b.tag
FROM [BP_Test].[dbo].[BPAWorkQueueItemTag]
left join [BP_Test].[dbo].[BPATag] as b on tagid=b.id
13-12-20 07:14 AM
14-12-20 02:44 PM
15-12-20 08:53 AM
17-12-20 09:04 AM
@AmiBarrett - Any inputs on above?
17-12-20 03:07 PM
There is very intentionally not a way to skip the exception adding process, as we're specifically clicking "Mark as Exception."
There is no VBO for cleaning tags tied to queue items. The closest you'll likely get, is the SQL VBO where you can bash your own queries.
17-12-20 04:29 PM
While there's not an action in the Work Queue object to remove all tags, since tags can be modified without locking an item, you can create your own action to handle it. Here's an example of one such action. Split Text points to the action in Utility - Strings and splits on a semi-colon. Get Item Data and Untag Item are both Work Queue actions.
One thing I would point out is if you needed to tag the work queue items with something aside from the "StepX" stuff, then this would potentially cause a problem with that. I'd personally recommend adding some kind of filter that lets you clear specific tags, for example maybe only clear the tag if it starts with "Step".
As far as the sequence issue goes, I don't think there's a good way to store that kind of information in the work queue. You could have an additional collection in the item data that contains the steps completed, but depending on how you are reporting on it, that could be problematic to pull it later. If you want to stick with the work queue tags, I'd add some sort of logic in your reporting piece so it can understand how to order the tags properly.
What I personally do as far as reporting goes, I tag items with a "Type" tag (like Type: Imported, or Type: Failed to Get Data). On each process, whenever a work queue item is completed or exceptioned, it tags it with a type based on which branch of the process it went down (it has to remove the old Type tag first). That way on more complicated processes where a simple success/failure doesn't exactly indicate what the result was, it can tag the item with a type. Using that type, I can know what branch the process went down. Rather than reporting on the specific actions taking place in the process, it reports on the endpoint, which gives me enough information to know what logic the process branched into to get to that point. The advantage of this is I can reconstruct the steps that were executed during the process by merit of which endpoint it reached, and it's much simpler to implement since I only need to think about it whenever I have a Mark Completed / Mark Exception stage (I created a wrapper around the Work Queues object to further reduce the number of actions that processes have to call).