Hello,
in our iDempiere installation we use a lot of user role customization (Window Access, Process Access etc.) so while we create a new client we need to copy one "template" role for them (instead of customizing it manually each time). Since it is impossible to copy role between different clients using "Copy Role Process" we created SQL script which moves access settings between any two roles (based on org.compiere.process.CopyRole algorithm -> for tables: "AD_Window_Access", "AD_Process_Access", "AD_Form_Access", "AD_Workflow_Access", "AD_Task_Access", "AD_Document_Action_Access", "AD_InfoWindow_Access", "AD_Role_Included"; clear entries for destination role + update ad_client_id and ad_role_id values for source role entries.
Our script works perfectly fine in scope of one client. However when we move access settings to the role belonging to a different client a 99% of expected functionality also works perfectly fine besides one detail: Document Action. When user with new copied role click it (on any document type) a splash screen appears for the short while, then disappears and nothing happens (list of document statuses choice doesn't show up). It looks like the possible statuses list for the Document Action choice was empty so the window doesn't show up?
Does anybody have an idea what can be the reason of such behavior? The copied role looks exactly the same as its original template. What's more if we move the access settings back to the source role it works correctly too. Any clues will be appreciated :)