Hello,
I'm glad that jmayer commented in this thread. Often I jump to the tactical solution without stopping to think about what the business is really looking for. I want you to keep in mind that having a QA/UAT environment with a different set of files from Production isn't really a good idea. When you perform upgrades you will need to keep that in mind as you can't simply copy your modified forms between environments.
With that said I'll list the steps required to modify the files to your specifications. If your Analyst roles share the same files then you only need to modify one set of them. Modified files located in NX_ROOT\site\mods\www\htmpl\Analyst will apply to all Analyst form groups.
Menubar Modification
- To locate the menubar file your roles are using navigate to Administration>Security and Roles>Role List. Open one of the roles you want to modify and navigate to the Resources Tab. Now in the tab list open the Service Desk tab. From here open the Menu Bar. This screen shows you the specific menubar file used by this role.
- Now that you know which menubar file to update open web screen painter on the primary/background server. Press the open dialog, then navigate to the menubar file.

- Open the file and switch to the source tab. Note when you modify a default Analyst file the new modified version will be saved in NX_ROOT\site\mods\www\htmpl\Analyst
- Within the source tab find the following code segment and add on an open and close pdm_if statement. Note <PDM_IF 0>code...</PDM_IF> is one way to comment out code.
<PDM_IF 0>
<PDM_OBJECT>
<PDM_IF "$env.NX_CMDB" != "STANDALONE">
if ( $ACCESS.FAC_in >= 2 ) {
<PDM_MACRO name=menuItem label="New_Incident..." function="ahdtop.create_new('cr',0,'','','PRESET=type:I')" hotkey=I icon_name=new_incident_16.png tooltip="create a new incident">
}
</PDM_IF>
</PDM_OBJECT>
</PDM_IF>
- Use the same method to comment out the create request, create change, create problem, etc...
- Once you finish modifying the menubar file save and then check if your other Analyst role menubars need to be updated as well.
List form modification
Updating the list pages is a little easier, you don't need to comment out code instead change a cfg variable.
Change the following variable on each list form.
from
var cfgCanCopy = true;
to
var cfgCanCopy = false;
Detail form modification
Use the following method to disable the Create Problem/Create Change buttons.
Change the Create Problem macro
from
<PDM_MACRO name=button Caption="Create Problem[!ea]" Func="create_new('cr',0,0,0,'PRESET=type:P','INITFROM=frm002', 'PRESET=from_incident:$args.persistent_id')" hotkey_name="Create Problem[!ea]" ID=ITIL_PROBLEM>
to
<PDM_MACRO name=button Caption="Create Problem[!ea]" Disabled="yes" Func="create_new('cr',0,0,0,'PRESET=type:P','INITFROM=frm002', 'PRESET=from_incident:$args.persistent_id')" hotkey_name="Create Problem[!ea]" ID=ITIL_PROBLEM>