Making Customization Default

I added a custom field to the Order Entry screen and saved the customization. However now I want to add this as the default for all users when they open up Order Entry…how do I do so? Here’s what I see now…which works for me but not all users.

That should apply to all other users too. Note that they won’t see the changes until they logout and then back in (or use Change User).

Would any personalization over ride the customization?

First off, to ensure that people are seeing the right screen, I always set the Window Title to include the Customization ID. Like:

which yields:

image

Then you’re certain they are using the correct one.

Personalizations are tied to a customization. So when a new customization is added the users initially start with the “Default layouts” and no other personalizations. If they do personalize a customization, and then you update the customization (but not making a new one), then their personalizations (of that customization) - that existed prior to your update - will be applied to the updated customization.

Maybe a pict explains it better:

image

As you can see from the Order Entry customization selection, user dgartner had personalized customization SOE_05c, SOE_05d, and SOE_06.

If SOE_06 was the currently used custimzation (as specified in Menu Maintenance), and I made a new customization SOE_07 (which was then set for the menu item), then none of her personalizations from SOE_06 would be in SOE_07.

Edit

Also update the menu item to include the customization ID too.

2 Likes

So it looks like what I’m missing is adding the Customization ID to the Name in menu maintenance as shown in your last picture?

if it helps, here’s what I see on the Customization page:

I thinkthat should read “…to the CUSTOMIZATION in menu maintenance”
Where you should be able to click and see a dropdown list to select your customization from?

See picture, I selected the customization however users are not seeing the customization.

When I open Order Entry I see it but others do not.

You might want to have users “Clear Client Cache” - my guess is that it has gone stale.
-a menu item in E9 and E10 (manual in V8)

It may be a caching issue. Have the user that is having trouble seeing it clear client cache from the main epicor screen and then restart their epicor. Test to see if it shows up then.

And how do I clear Client Cache? I see a Clear History button

Also… are users clicking on the same itme in the menu tree?
i.e. Not using some other menu location or shortcuts that point to another module menu?
and they logged off/on to refresh thier sessions/menus?

Between your first post and the one with the Select Customization window, it looks like everything is setup properly.

You don’t have to change the Menu Name (like “Order Entry” to “Order Entry (SOE_07)” ). I just do that to make sire that the changes to the menu item actually took hold.

One thing that you might not be aware of is that there can be several Menu items (each with their own Menu ID) for the same program. For example, Part Entry is in several places:

  • Material Management > Inventory Management > Setup > Part MenuID IMMT1102)
  • Material Management > Purchase Contracts Management > Setup > Part (???)
  • Material Management > Purchase Management > Setup > Part (PMMT1002)
  • Material Management > Supplier Relationship Management > Setup > Part (RQMT1020)
  • Production Management > Engineering > Setup > Part
  • Production Management > Job Management > Setup > Part
  • Production Management > Material Requirements Planning > Setup > Part
  • Production Management > Quality Assurance > Setup > Part
  • Sales Management > Configurator Management > Setup > Part
  • Sales Management > Demand Management > Setup > Part
  • Sales Management > Order Management > Setup > Part
  • Service Management > Field Service > Setup > Part

And Order Entry has:

  • Sales Management > Customer Relationship Management > General Operations > Order Entry (???)
  • Sales Management > Order Management > General Operations > Order Entry(OMMT3001)

(???) - indicates a module we don’t have, so I don’t know the MenuID.

If you don’t update all the menus (specifying the Customization to use), then launching from those other places, will not show the customization.

I have a feeling this will solve it. Checking with the user. Thanks though.

Next question while I have you…is there a way to default a custom added field to a certain value? I tried changing “Text” to what I want, it doesn’t save. I can not adjust Value as that’s grayed out.

If the field is bound to a table, then not really.

Edit:

I mean that the value in the table will always populate that field.

You can make a customization (or BPM) that checks if the field is blank, and set it accordingly when the record is retrieved in the form.

Hmm…How do I do the BPM? Thanks again for your help. Appreciate it.

You’re on V8? It’s been almost 4 years since I used that version.

BPM (which may be called something else in V8) is short for Business Process Management. It is a way to create custom functionality within the Vantage system. You select the business object (BO) and the method (like Customer.GetNew), and then add some conditions (like Customer.Shortchar01 == ""), then define what to do (like `set Customer.Shortchar01 = “New”).

Then whenever the system does anything that creates a new Customer record that programming will happen.

Unfortunateley I don’t recall exactly what the menus and screen look like. And in E10 its much different, more graphoically based, so that won’t help.

Do you have access to EpicWeb? If so, here’s the User Guide that includes BPM’s

https://epicweb.epicor.com/doc/Docs/EpicorTools_UserGuideebook_%20803400.pdf
(You need an Epic Web acct to access that)

Jump to “Method Directives” on page 503

@mmccl267 - If BPMs are too complicated (and they very easily can be), you can also do it as a form customization, using an EpiViewNotification event. Use the wizard to make the event, then use the contents below for the body of the function

Private Sub edvPOHeader_EpiViewNotification(ByVal view As EpiDataView, ByVal args As EpiNotifyArgs)
		' ** Argument Properties and Uses **
		' view.dataView(args.Row)("FieldName")
		' args.Row, args.Column, args.Sender, args.NotifyType
		' NotifyType.Initialize, NotifyType.AddRow, NotifyType.DeleteRow, NotifyType.InitLastView, NotifyType.InitAndResetTreeNodes

		If (args.NotifyType = EpiTransaction.NotifyType.AddRow) Then
			'EpiMessageBox.Show("NotifyType.AddRow")
			If (args.Row > -1) Then
				'EpiMessageBox.Show("EpiViewNotification.AddRow: " & view.dataView(args.Row)("PONum") & " - " & view.dataView(args.Row)("PurchasedFor_c"))
				if(view.dataView(args.Row)("PurchasedFor_c") = "") Then
					'EpiMessageBox.Show("Default value set")
					view.dataView(args.Row)("PurchasedFor_c") = "VALUE REQUIRED!!!"
				end if
			End If
		End If

		If (args.NotifyType = EpiTransaction.NotifyType.Initialize) Then
			'EpiMessageBox.Show("NotifyType.Initialize")
			If (args.Row > -1) Then
				'EpiMessageBox.Show("EpiViewNotification.AddRow: " & view.dataView(args.Row)("PONum") & " - " & view.dataView(args.Row)("PurchasedFor_c"))
				if(view.dataView(args.Row)("PurchasedFor_c") = "") Then
					'EpiMessageBox.Show("Default value set")
					view.dataView(args.Row)("PurchasedFor_c") = "VALUE REQUIRED!!!"
				end if
			End If
		End If
	End Sub

That basically checks the value of POHeader.PurchasedFor_c when a new record is created or an existing one is loaded, to see if it is blank. If so, set it with a default value.

To be clear, customizations aren’t my strong suit, so test the hell out of that before deploying it. Or maybe you’ll get lucky and someone will see any glaring errors, and correct me.

EDIT 1 (there will probably be more)

E10 lets you add UD fields to tables. So PurchasedFor_c is a UD field. In V8, you’d use something like Number01, Character05, etc …