The GenericObject class in QBO offers a SelectByTemplate method to enforce repeatability. Two recent changes were introduced that can have unexpected consequences for existing installations:
Background QBO has always supported the concept of templated repeatability as:
For example, one can defined a DecisionTemplate called "Invoice Client" as one active per parent where calling Decision/Save?Object=Organization&ObjectID=1&Template=Invoice Client will result in:
However, the following method signatures did not abide by repeatability rules: Decision/Save?Object=Organization&ObjectID=1&DecisionTemplate=Invoice Client Decision/Sa ve?Object=Organization&ObjectID=1&DecisionTemplateID=X This exposed a bug in the ITemplate.CreateInstance pattern, where the {Table}TemplateID property was being set, instead of TemplateID , causing repeatability to be ignored when creating generic objects from workflows.The fix for this now supports methods signature using {Table}Template or {Table}TemplateID , but in turn exposed another bug:SetProperties?Object=Organization&ObjectID=1&DecisionTemplateID=X triggers a Save call. Normally, this save call has no effective impact, because SelectByTemplate is almost always called from Save anyway. However, when adding a Message from the UI, Message/Merge is called, which in turn calls Message/SelectByTemplate , which triggered a Save on the Merge , even if a user never clicks Save .Given the broad impact of removing the SelectByTemplate Save call, this change has been feature-switched:qbo.Application.Properties.Settings.SelectByTemplateAutoSave = false If this change results in undesirable behavior of a given installation, take the following steps:
|
Quandis Business Objects 3 > Release Notes >