Often, when creating a large customization, the “Preferences” screen can get very complex. It may take more definition than a single XYZSetup DAC to hold all the configuration required. Perhaps you need both a FormView editing a YourCstSetup DAC as well as a grid editing a collection of YourCstDetailSetup DAC rows. Or perhaps you would like to have two unrelated FormViews UsrCSTSetup1 and YourCstSetup2. For brevity’s sake, it would be better to include both these on the same “Preferences” screen. I will show you why this is difficult, as well as how to do it.
The reason something like this is difficult is due to the way that Acumatica handles PXActions. I am sure that you have seen action definitions as
public PXAction<TheMainDACOfTheGraph> SomeAction;
// or
public PXSave<TheMainDACOfTheGraph> Save;
What happens is when that save button is pushed, the changes held in the cache are persisted to the database of course. The problem occurs when you have two DACs that do not have any relationship to one another (usually defined by .Current<> included in the detail data view definition and a PXParent on the detail row.). What you will find happens is, if you make a change to the Detail DAC, you will not be able to save your changes until you make some change to the primary DAC.