db 11gxe and apex 4.x
i created a master detail page , there are buttons on it by default , like (cancel,delete,apply changes) and two buttons for getting the next order and the previous one --there a master table for orders .
there are also branches created by default for the button getting the next order and the button getting the previous one (the branch is conditional ofcourse) -- the condition is when-button-clicked .
these branches are created automatically because the buttons are exist , and there are conditions which are "when-button-clicked" --just this condition .
-- what i do not understand is that there are other buttons like "delete , cancel , apply changes" , and there were no branches created for them like the other buttons which i mentioned above ,
although they also navigate like the other buttons , and the condition is when-button-clicked as well ?
why in the first situation there are branches created automatically , and in the last situation there are not ??
thanks in advance
Firstly, if there is a final "Default" branch (i.e. one with no conditions and not attached to any button), it will be used if no other branch is applicable.
Secondly, there are multiple points where branches can happen, and it depends on how much processing should be done before the branch is done.
Typical branches are in the "After Processing" section, which means all applicable validations and processing are done before the branch.
A "Cancel" button, however, typically doesn't want to do any validations or processing, so the button may have its Action set to "Redirect to URL" - so no branch is needed.
Alternatively (although rarely, in my experience), a Branch may be added to the "After Submit" section, which would skip any subsequent validations and processing. Or, it might be created in the "Processing" section, which would allow validations to be done but subsequent processing to be skipped.
Related
I'm new to Microsoft CRM and Power Automate. I'm trying to implement the Quote approval process.
As the first step, I tried to create a simple workflow to trigger when a Quote item is saved/modified using Dataverse 'When a row is added, modified or deleted'. So, I have studied many online tutorials and done workflow very simple to send an email when a Quote item is saved/modified.
Problem is, It's actually not triggered with any action on the Quote page. Already spend a couple of days to figure out the issue.
This is how I tested it.
Step 01 - Save and test manually test flow
Step 02 - insert a new item to Quote or modify the existing item.
But nothing happens.
Items you add to the Quote are in fact Quote Product records. This is a separate table named quotedetail.
Your Power Automate flow needs to target the Quote Products table to capture the intended changes.
The reason was Administrative mode.
Administrative mode disables all asynchronous processes. This includes server-side sync (email synchronization) and workflow processes including flow (Power Automate).
https://functionalthoughts.com/microsoft-dynamics-365-managing-admin-mode-from-power-platform/
in a Oracle 6i form, I have an alert defined, and a database block. Because it's a database block, when some data is entered, but not saved, when you try to exit this form, this alert pops up (asking 'Do you want to save this data?'). However, all this happens BY DEFAULT, I don't see any triggers/program units where this alert is called... Also, the text for this alert is also assigned dynamically, and I can't find any triggers/programs where it is being done... What am I missing? Thank you.
I'm not sure you can find it anywhere in Forms Builder; that behavior is built-in, Oracle Forms raises the alert when it finds out that one (or more) database items have been changed, and those changes not saved at the moment you're trying to e.g. exit the form, enter query mode, navigate to another record etc.
In order to prevent changes to be lost (end users would hate it, spending minutes to enter data which is gone without notice), Forms informs you about it and lets you choose whether you want to keep (save) those changes or not.
Therefore, just say "Thank you" every time you see it because those nice people at Oracle did it so that us, developers, wouldn't have to in each and every form we create.
I am trying to update a business process flow stage using Workflow or JavaScript.
First I tried with JavaScript using below method,
Xrm.Page.data.process.moveNext(onSetActiveStage);
But the problem with this method is if the active stage is greater than the required selected stage then moveNext logic will not work.
I know I can use movePrevious as well but it will be another overhead as sometime the active stage will be before the required stage and sometime it will be after.
The other option for me was on some field change I can use a workflow to activate or select a stage on business process flow.
For that I created a workflow and selected my BPF as my entity and selected a field on Process Change.
And inside my Set Properties, I set Active stage as the required stage which I want to mark as active.
The above logic is not working for me on change of the field.
I am new to BPF, please bear with me if I am making some basic mistake.
If you are following this blogpost, the comments below the post says - it's not working/triggering for custom BPF and you have to refresh the form to see the changes. Make sure if this is what affecting you.
Also you can un-check the "Workflow Job Retention" checkbox for troubleshooting to see if its triggering or not.
Btw, your design seems to be little confusing, required stage before/after active stage does not makes sense. You may need to add the different branch and "Data step" to make it required in different scenarios.
If this is not feasible, then try to use scripting to set the active stage or plugin/custom action to set the stage on your trigger.
In Xcode you can check when you hit a button, wether an integer is 9 (go to that page) or 7 (go to an other page). Is there a way to automatically trigger an action when the number becomes 60 for example? I know you can do this with a timer, that checks every second if the if statment is true. But is there an other way to achieve the same?
Most debuggers can watch a memory location and break the application when the content of that location changes. So if you want to find out why and where something changes, that's your way. If you want the user interface to respond to that change during normal (i.e. non-debug) operations, then you'd better add some code to the location where things change, to pass that event along.
I've found myself starting to leverage checking persistence to get my models to 'work'. It seems convenient and correct to include a persistence check. On the other hand, it feels a little shady, as if I was being overly cautious or breaking the ORM abstraction in a small way.
An example might be:
class Shipment
include DataMapper:Resource
belongs_to :address, :required => false
def shippable?
valid? && persisted? && !address.nil? && address.valid? && address.persisted?
end
end
In this case, I need to have a method telling me if a shipment is shippable. This is true when it is valid, saved to the db, and has an address saved.
Another example might be using it in callbacks to determine whether certain things (price recalculation) need to happen.
Is this code safe and correct?
Well, if it is really possible that you come to the point of performing the shipment without a confirmed persistance or a reload from the database, checking persistance seems absolutely necessary to me.
But is this really the case? How do you get to this shipping action? I would think of two workflows here:
There is an order which you want to ship. You click on "ship this shit!" and get to ShipmentsController#new, enter your data. By pressing "save" your shipment gets validated and persisted if valid. After the persisting is successful (I assume shipment.save returns false if not) you can directly move on with your shipping action (whatever needs to be done there). If shipment.save tells you it did not persist, the #new view gets rendered another time and shipping is not performed yet. So this is the idea of wizard-like workflow with a "gate" that only lets you perform the shipping if persistance has been successful.
The creation of shipments and shipment of shipments is completely decoupled. Lets say one guy plans shipments and another one performs them. The former creates a new, valid, persisted shipment. The latter begins with a list of readily planned shipments. This ShipmentsController#index loads the shipments directly from the database using Shipment.all. No need to check persisted? then in the ShipmentsController#perform action.
Ok. let's make it more complicated:
Assume now we are in scenario 2 and the first guy could delete the shipment while the second one performs it. Without regarding this case, the naive application would have saved the shipment again after #perform has finished, setting the date of shipment. This would mean that the lost "delete" database anomaly has happened. However, won't you use a state machine anyway? So lets say there are the transistions planned -> deleted and planned -> shipped. If guy #1 sets the status to deleted while guy #2 is performing the shipment, the state machine would throw an exception: "No transition from deleted to shpped, my dear!" when trying to update the status.
So I can't really make up a scenario where checking persistence explicitly is not paranoid. But if you have one where it could really occur due to a 'unsafe' workflow, you should check for persistance.