Adding multiple dashboards to the MES screen

Thank you all very much for your support. I was able to get both buttons to work. I hope this is helpful for others! I used the following code:

' **************************************************
' Custom code for MESMenu
' Created: 7/22/2014 10:06:50 AM
' **************************************************
Imports System
Imports System.ComponentModel
Imports System.Data
Imports System.Diagnostics
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Imports Epicor.Mfg.BO
Imports Epicor.Mfg.UI
Imports Epicor.Mfg.UI.Adapters
Imports Epicor.Mfg.UI.Customization
Imports Epicor.Mfg.UI.ExtendedProps
Imports Epicor.Mfg.UI.FormFunctions
Imports Epicor.Mfg.UI.FrameWork
Imports Epicor.Mfg.UI.Searches
 
Public Class Script
 
                ' ** Wizard Insert Location - Do Not Remove 'Begin/End Wizard Added Module Level Variables' Comments! **
                ' Begin Wizard Added Module Level Variables **
 
                ' End Wizard Added Module Level Variables **
 
                ' Add Custom Module Level Variables Here **
Private WithEvents btnLaunchTracker As EpiButton 
Private WithEvents btnLaunchTracker1 As EpiButton
                Public Sub InitializeCustomCode()
                                ' ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Variable Initialization' lines **
                                ' Begin Wizard Added Variable Initialization
 
                                ' End Wizard Added Variable Initialization
 
                                ' Begin Wizard Added Custom Method Calls
 
                                ' End Wizard Added Custom Method Calls
                End Sub
 
                Public Sub DestroyCustomCode()
                                ' ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Object Disposal' lines **
                                ' Begin Wizard Added Object Disposal
 
                                ' End Wizard Added Object Disposal
 
                                ' Begin Custom Code Disposal
 
                                ' End Custom Code Disposal
                End Sub
 
 
                    Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load
                        '//
                        '// Add Event Handler Code
                        '// 
                btnLaunchTracker = CType(csm.GetNativeControlReference("fe187107-b719-4a3d-96a8-5f8505ea65ae"), EpiButton)
                                btnLaunchTracker.ReadOnly= False          
                btnLaunchTracker1 = CType(csm.GetNativeControlReference("a292a336-e540-4736-93c5-aeb5d6b69089"), EpiButton)
                btnLaunchTracker1.ReadOnly= False       
                    End Sub

Private Sub btnLaunchTracker_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker.Click 
ProcessCaller.LaunchForm(MESMenu, "PntMtlUs") 
End Sub 

Private Sub btnLaunchTracker1_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker1.Click 
ProcessCaller.LaunchForm(MESMenu, "MoveReq") 
End Sub 

End Class

Hi All,


I am trying to link multiple dashboards to the MES screen. I have successfully added one dashboard, and it launches perfectly. To do this I followed the guide below; however, I want to add a second dashboard to a separate button, but I can't figure out how to do this. I can't just copy the script and change the two ID values. Any ideas how to do this? 


Summary:    CUST: Can I add a dashboard to one of the MES Blank Buttons.

Book:       Support Solutions

Page:       5290ESC

 

PAGE NO:

5290ESC

 

PROBLEM DESCRIPTION:

Can  I add a dashboard to one of the MES blank buttons?

 

PROBLEM RESOLUTION:

You certainly can.

 

This topic gets involved, but by all means, if you have permissions to do customizations, you can assign other V8 (the 8.0 application) programs to the blank buttons.

 

Launch MES in customization mode.  See section below on how to setup shortcut for MES Developer.  Log in and navigate to a tab that has a blank button. I will use the Production tab as illustration. Right-click somewhere on the form, and in the context menu, select Customization. The screen looks a little bit different. Now, click once on the target (blank) button. The Customization Tools Dialog box appears.

 

Creating MES Developer Icon

====================================

* Make a copy of your MES icon and rename it to something like MES Developer

* Then right click on it and choose Properties

* In the Target field locate where it shows -MES and change it to -MESC.

 

Understanding the button and properties. The customization window is in two columns: The list of entities (buttons and fields) on the left, and the corresponding properties on the right.

You may wish to reposition the dialog box so that the desired button to customize can still be seen.

When the blank button is clicked on the MES menu, the button name on the left is highlighted, and its corresponding traits appear on the right. In my example, V8 considers this blank button as "btn99" which is highlighted. All properties of btn99 appear on the right.

 

So what are the pertinent properties?

----------------------------------------------------------

" EpiBinding: The message that appears when the button is clicked. Right now, a message simply says "not used". Clear this property field.

" Text: The label of the button. This value is blank because the button is blank. For this example, we will open a custom dashboard that reports booking information. Type Bookings Dashboard. If you can also see the MES menu, you will notice that the label now appears on the button.

 

Saving the setting. Select File - Save Customization.

 

Script work

----------------

So far, so good. We have cosmetically applied the necessary trait to the button - we have enabled it, given it a label, and made it exist in the MES customization framework. Now, we have to get to the "nitty-gritty" of the script, which serves to assign the button with the desired program.

 

What is a GUID?

--------------------------

A GUID (pronounced GOO-id) is a unique and long combination of letters and numbers for every visible entity in Vantage. A GUID has been assigned to the button you chose, and it cannot be changed. You will note that this property was grayed out for the button.

 

What is the menu ID?

----------------------------------

The menu ID is the unique ID assigned to a menu item, in the eyes of Vantage. This can be determined in Menu Maintenance.

From System Management - Utilities, select Menu Maintenance. In this case the custom dashboard was added to the Executive Analysis > Tracker tree node and give the menu id of UDJRPTst.

Take note of the Menu ID value. You will need it later.

 

What does the script portion do?

----------------------------------------------------

The purpose of the script portion of the button programming is to assign the GUID, and hence the button, to the menu ID, and hence the the desired Vantage program. We will assign the GUID with the , aka Bookings Dashboard.

 

Using the Event Wizard to create a Load Event.

---------------------------------------------------------------------------

Here you add a form load event that will enters a unique procedure, btnLaunchTracker, that ties together both the GUID and the menu ID. The GUID comes from the properties of the button that you clicked.  You will need to replace the guid with the one associated to the button that you are modifying.  Take note that we also enabled this procedure - in effect, enabling the button.

 

In the Customization Tools Dialog box, click the Wizards tab then choose the Form Event Wizard.  Set the selected event type to "Load" and click the right arrow.  You will see the following code in the View/Edit Event handling code window.

Use the Wizard to add a form load event.  You will see the following in the wizard:

    Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load

        '//

        '// Add Event Handler Code

        '// 

    End Sub

 

Add this line to the Private WithEvents section

 

    Private WithEvents btnLaunchTracker As EpiButton

 

 

Add these two lines to the code before the End Sub line

            btnLaunchTracker =  CType(csm.GetNativeControlReference("255944ba-457e-427a-a6f2-c439ff554845"), EpiButton)                           

            btnLaunchTracker.Enabled = True

 

At the end the code will be:

    Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load

        '//

        '// Add Event Handler Code

        '//

   

            btnLaunchTracker =  CType(csm.GetNativeControlReference("255944ba-457e-427a-a6f2-c439ff554845"), EpiButton) 

            btnLaunchTracker.Enabled = True 

    End Sub

 

 

NOTE:  Now change the guid "255944ba-457e-427a-a6f2-c439ff554845" to the correct one.

 

 

Finally click the Update All Event Code button.

 

Review the existing script.

-----------------------------------------

In the Customization Tools Dialog box, click the Script Editor tab. A script appears that controls the logic for the entire customization. It includes declarations, calls to different logic, this, that, the other. Don't worry about understanding what's there. (I don't understand it all myself.)

 

However, take note of the last line: End Module. This must remain the last line. Take note of the second to the last line: End Sub. That line must stay where it is, as well. In other words, End Sub and upward must stay together, and End Module must remain the very last line.

So: We are interested in the gap between the last End Sub line and the last End Module line.

 

Adding to the script. You will be adding a click event to launch the dashboard from a menu ID.

 

What does the custom script do?

--------------------------------------------------

The script enters a unique click event, btnLaunchTracker_Click, that ties together both the GUID and the menu ID. The menu ID comes from the entry for the desired program in Menu Maintenance. It will almost certainly have to be replaced by you.

 

Copy the following lines and paste them into the script editor.

 

    Private Sub btnLaunchTracker_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker.Click

        ProcessCaller.LaunchForm(MESMenu, "UDJRPTst")                '<==== enter your menu Id here

    End Sub

 

 

When you have completed the above the Script code should look like:

 

'//**************************************************

'// Custom VB.NET code for MESMenu

'// Created: 8/19/2008 12:51:09 PM

'//**************************************************

Imports System

Imports System.Data

Imports System.Diagnostics

Imports System.Windows.Forms

Imports System.ComponentModel

Imports Microsoft.VisualBasic

Imports Epicor.Mfg.UI

Imports Epicor.Mfg.UI.FrameWork

Imports Epicor.Mfg.UI.ExtendedProps

Imports Epicor.Mfg.UI.FormFunctions

Imports Epicor.Mfg.UI.Customization

Imports Epicor.Mfg.UI.Adapters

Imports Epicor.Mfg.UI.Searches

Imports Epicor.Mfg.BO

 

 

Module Script

 

 

      '// ** Wizard Insert Location - Do Not Remove 'Begin/End Wizard Added Module Level Variables' Comments! **

      '// Begin Wizard Added Module Level Variables **

 

      '// End Wizard Added Module Level Variables **

 

 

      '// Add Custom Module Level Variables Here **

 

    Private WithEvents btnLaunchTracker As EpiButton

 

      Sub InitializeCustomCode()

 

 

            '// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Variable Intialization' lines **

            '// Begin Wizard Added Variable Intialization

 

            '// End Wizard Added Variable Intialization

            '// Begin Custom Method Calls

 

            '// End Custom Method Calls

      End Sub

 

 

 

      Sub DestroyCustomCode()

 

 

            '// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Object Disposal' lines **

            '// Begin Wizard Added Object Disposal

 

            '// End Wizard Added Object Disposal

            '// Begin Custom Code Disposal

 

            '// End Custom Code Disposal

      End Sub

    Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load

        '//

        '// Add Event Handler Code

        '//

   

            btnLaunchTracker = CType(csm.GetNativeControlReference("255944ba-457e-427a-a6f2-c439ff554845"), EpiButton)

            btnLaunchTracker.Enabled = True

   

    End Sub

 

    Private Sub btnLaunchTracker_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker.Click

        ProcessCaller.LaunchForm(MESMenu, "UDJRPTst")

    End Sub

 

 

End Module

 

 

Save and close.

-------------------------

Close the MES menu; click Yes to the Save
message. When you open it, you should have yourself a new button that launches
the desired program.


That’s exactly what you do… declare the event,
i.e.
Private WithEvents btnLaunchaDifferentTracker As EpiButton
instantiate another button, change the GUID to that button’s GUID
btnLaunchaDifferentTracker = CType(csm.GetNativeControlReference("255944ba- Not the same GUID -c439ff554845"), EpiButton)
btnLaunchaDifferentTracker = True
Create another procedure and change the name to your other dashboard,
Private Sub btnLaunchaDifferentTracker _Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchaDifferentTracker.Click
ProcessCaller.LaunchForm(MESMenu, "MyOtherDashboard")
End Sub


Rob Bucek
Production Control Manager
PH: (715) 284-5376 ext 311
Mobile: (715)896-3119
FAX: (715)284-4084
[cid:1.234354861@...]<http://www.dsmfg.com/>
(Click the logo to view our site)<http://www.dsmfg.com/>

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com]
Sent: Tuesday, November 04, 2014 2:53 PM
To: vantage@yahoogroups.com
Subject: [Vantage] Adding multiple dashboards to the MES screen



Hi All,



I am trying to link multiple dashboards to the MES screen. I have successfully added one dashboard, and it launches perfectly. To do this I followed the guide below; however, I want to add a second dashboard to a separate button, but I can't figure out how to do this. I can't just copy the script and change the two ID values. Any ideas how to do this?


Summary: CUST: Can I add a dashboard to one of the MES Blank Buttons.
Book: Support Solutions
Page: 5290ESC

PAGE NO:
5290ESC

PROBLEM DESCRIPTION:
Can I add a dashboard to one of the MES blank buttons?

PROBLEM RESOLUTION:
You certainly can.

This topic gets involved, but by all means, if you have permissions to do customizations, you can assign other V8 (the 8.0 application) programs to the blank buttons.

Launch MES in customization mode. See section below on how to setup shortcut for MES Developer. Log in and navigate to a tab that has a blank button. I will use the Production tab as illustration. Right-click somewhere on the form, and in the context menu, select Customization. The screen looks a little bit different. Now, click once on the target (blank) button. The Customization Tools Dialog box appears.



Creating MES Developer Icon


* Make a copy of your MES icon and rename it to something like MES Developer
* Then right click on it and choose Properties
* In the Target field locate where it shows -MES and change it to -MESC.

Understanding the button and properties. The customization window is in two columns: The list of entities (buttons and fields) on the left, and the corresponding properties on the right.
You may wish to reposition the dialog box so that the desired button to customize can still be seen.
When the blank button is clicked on the MES menu, the button name on the left is highlighted, and its corresponding traits appear on the right. In my example, V8 considers this blank button as "btn99" which is highlighted. All properties of btn99 appear on the right.



So what are the pertinent properties?


" EpiBinding: The message that appears when the button is clicked. Right now, a message simply says "not used". Clear this property field.
" Text: The label of the button. This value is blank because the button is blank. For this example, we will open a custom dashboard that reports booking information. Type Bookings Dashboard. If you can also see the MES menu, you will notice that the label now appears on the button.

Saving the setting. Select File - Save Customization.



Script work


So far, so good. We have cosmetically applied the necessary trait to the button - we have enabled it, given it a label, and made it exist in the MES customization framework. Now, we have to get to the "nitty-gritty" of the script, which serves to assign the button with the desired program.



What is a GUID?


A GUID (pronounced GOO-id) is a unique and long combination of letters and numbers for every visible entity in Vantage. A GUID has been assigned to the button you chose, and it cannot be changed. You will note that this property was grayed out for the button.



What is the menu ID?


The menu ID is the unique ID assigned to a menu item, in the eyes of Vantage. This can be determined in Menu Maintenance.
From System Management - Utilities, select Menu Maintenance. In this case the custom dashboard was added to the Executive Analysis > Tracker tree node and give the menu id of UDJRPTst.
Take note of the Menu ID value. You will need it later.



What does the script portion do?


The purpose of the script portion of the button programming is to assign the GUID, and hence the button, to the menu ID, and hence the the desired Vantage program. We will assign the GUID with the , aka Bookings Dashboard.



Using the Event Wizard to create a Load Event.


Here you add a form load event that will enters a unique procedure, btnLaunchTracker, that ties together both the GUID and the menu ID. The GUID comes from the properties of the button that you clicked. You will need to replace the guid with the one associated to the button that you are modifying. Take note that we also enabled this procedure - in effect, enabling the button.

In the Customization Tools Dialog box, click the Wizards tab then choose the Form Event Wizard. Set the selected event type to "Load" and click the right arrow. You will see the following code in the View/Edit Event handling code window.
Use the Wizard to add a form load event. You will see the following in the wizard:
Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load
'//
'// Add Event Handler Code
'//
End Sub

Add this line to the Private WithEvents section

Private WithEvents btnLaunchTracker As EpiButton


Add these two lines to the code before the End Sub line
btnLaunchTracker = CType(csm.GetNativeControlReference("255944ba-457e-427a-a6f2-c439ff554845"), EpiButton)
btnLaunchTracker.Enabled = True

At the end the code will be:
Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load
'//
'// Add Event Handler Code
'//

btnLaunchTracker = CType(csm.GetNativeControlReference("255944ba-457e-427a-a6f2-c439ff554845"), EpiButton)
btnLaunchTracker.Enabled = True
End Sub


NOTE: Now change the guid "255944ba-457e-427a-a6f2-c439ff554845" to the correct one.


Finally click the Update All Event Code button.



Review the existing script.


In the Customization Tools Dialog box, click the Script Editor tab. A script appears that controls the logic for the entire customization. It includes declarations, calls to different logic, this, that, the other. Don't worry about understanding what's there. (I don't understand it all myself.)

However, take note of the last line: End Module. This must remain the last line. Take note of the second to the last line: End Sub. That line must stay where it is, as well. In other words, End Sub and upward must stay together, and End Module must remain the very last line.
So: We are interested in the gap between the last End Sub line and the last End Module line.

Adding to the script. You will be adding a click event to launch the dashboard from a menu ID.



What does the custom script do?


The script enters a unique click event, btnLaunchTracker_Click, that ties together both the GUID and the menu ID. The menu ID comes from the entry for the desired program in Menu Maintenance. It will almost certainly have to be replaced by you.

Copy the following lines and paste them into the script editor.

Private Sub btnLaunchTracker_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker.Click
ProcessCaller.LaunchForm(MESMenu, "UDJRPTst") '<==== enter your menu Id here
End Sub


When you have completed the above the Script code should look like:

'//**************************************************
'// Custom VB.NET code for MESMenu
'// Created: 8/19/2008 12:51:09 PM
'//**************************************************
Imports System
Imports System.Data
Imports System.Diagnostics
Imports System.Windows.Forms
Imports System.ComponentModel
Imports Microsoft.VisualBasic
Imports Epicor.Mfg.UI
Imports Epicor.Mfg.UI.FrameWork
Imports Epicor.Mfg.UI.ExtendedProps
Imports Epicor.Mfg.UI.FormFunctions
Imports Epicor.Mfg.UI.Customization
Imports Epicor.Mfg.UI.Adapters
Imports Epicor.Mfg.UI.Searches
Imports Epicor.Mfg.BO


Module Script


'// ** Wizard Insert Location - Do Not Remove 'Begin/End Wizard Added Module Level Variables' Comments! **
'// Begin Wizard Added Module Level Variables **

'// End Wizard Added Module Level Variables **


'// Add Custom Module Level Variables Here **

Private WithEvents btnLaunchTracker As EpiButton

Sub InitializeCustomCode()


'// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Variable Intialization' lines **
'// Begin Wizard Added Variable Intialization

'// End Wizard Added Variable Intialization
'// Begin Custom Method Calls

'// End Custom Method Calls
End Sub



Sub DestroyCustomCode()


'// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Object Disposal' lines **
'// Begin Wizard Added Object Disposal

'// End Wizard Added Object Disposal
'// Begin Custom Code Disposal

'// End Custom Code Disposal
End Sub
Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load
'//
'// Add Event Handler Code
'//

btnLaunchTracker = CType(csm.GetNativeControlReference("255944ba-457e-427a-a6f2-c439ff554845"), EpiButton)
btnLaunchTracker.Enabled = True

End Sub

Private Sub btnLaunchTracker_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker.Click
ProcessCaller.LaunchForm(MESMenu, "UDJRPTst")
End Sub


End Module



Save and close.



Close the MES menu; click Yes to the Save message. When you open it, you should have yourself a new button that launches the desired program.





[Non-text portions of this message have been removed]

I do it slightly different.

 

I add a new EpiButton in the location I want it. If there is a blank one there already, I move it to the side and Visible = False.

 

Once I name the epiButton; i.e. epiBtnToeTag.  I then go to Wizards Tab > Event Wizard

 

Control Type Filter:  EpiButton

Custom Control:  epiBtnToeTag

Available Control Events: “CLICK”

 

Click on the  blue arrow next to Custom Control

 

Then UPDATE SELECTED EVENT CODE

 

 

When you created the dashboard and added it to the MENU, you created an ID.  For example: TOETAGLB

Go to the Script Editor tab and look for the inserted code:  There is other code inserted above, but you need to edit what is between the QUOTES.

 

              Private Sub epiBtnToeTag_Click(ByVal sender As Object, ByVal args As System.EventArgs)

                             ' ** Place Event Handling Code Here **

ProcessCaller.LaunchForm(MESMenu," TOETAGLB ")

              End Sub

Miguel A. Santillan

Compass Manufacturing Systems

 

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com]
Sent: Tuesday, November 4, 2014 1:57 PM
To: 'vantage@yahoogroups.com'
Subject: RE: [Vantage] Adding multiple dashboards to the MES screen

 

 

That’s exactly what you do… declare the event,
i.e.
Private WithEvents btnLaunchaDifferentTracker As EpiButton
instantiate another button, change the GUID to that button’s GUID
btnLaunchaDifferentTracker = CType(csm.GetNativeControlReference("255944ba- Not the same GUID -c439ff554845"), EpiButton)
btnLaunchaDifferentTracker = True
Create another procedure and change the name to your other dashboard,
Private Sub btnLaunchaDifferentTracker _Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchaDifferentTracker.Click
ProcessCaller.LaunchForm(MESMenu, "MyOtherDashboard")
End Sub


Rob Bucek
Production Control Manager
PH: (715) 284-5376 ext 311
Mobile: (715)896-3119
FAX: (715)284-4084
[cid:1.234354861@...]<http://www.dsmfg.com/>
(Click the logo to view our site)<http://www.dsmfg.com/>

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com]
Sent: Tuesday, November 04, 2014 2:53 PM
To: vantage@yahoogroups.com
Subject: [Vantage] Adding multiple dashboards to the MES screen



Hi All,



I am trying to link multiple dashboards to the MES screen. I have successfully added one dashboard, and it launches perfectly. To do this I followed the guide below; however, I want to add a second dashboard to a separate button, but I can't figure out how to do this. I can't just copy the script and change the two ID values. Any ideas how to do this?


Summary: CUST: Can I add a dashboard to one of the MES Blank Buttons.
Book: Support Solutions
Page: 5290ESC

PAGE NO:
5290ESC

PROBLEM DESCRIPTION:
Can I add a dashboard to one of the MES blank buttons?

PROBLEM RESOLUTION:
You certainly can.

This topic gets involved, but by all means, if you have permissions to do customizations, you can assign other V8 (the 8.0 application) programs to the blank buttons.

Launch MES in customization mode. See section below on how to setup shortcut for MES Developer. Log in and navigate to a tab that has a blank button. I will use the Production tab as illustration. Right-click somewhere on the form, and in the context menu, select Customization. The screen looks a little bit different. Now, click once on the target (blank) button. The Customization Tools Dialog box appears.

Creating MES Developer Icon
====================================
* Make a copy of your MES icon and rename it to something like MES Developer
* Then right click on it and choose Properties
* In the Target field locate where it shows -MES and change it to -MESC.

Understanding the button and properties. The customization window is in two columns: The list of entities (buttons and fields) on the left, and the corresponding properties on the right.
You may wish to reposition the dialog box so that the desired button to customize can still be seen.
When the blank button is clicked on the MES menu, the button name on the left is highlighted, and its corresponding traits appear on the right. In my example, V8 considers this blank button as "btn99" which is highlighted. All properties of btn99 appear on the right.

So what are the pertinent properties?
----------------------------------------------------------
" EpiBinding: The message that appears when the button is clicked. Right now, a message simply says "not used". Clear this property field.
" Text: The label of the button. This value is blank because the button is blank. For this example, we will open a custom dashboard that reports booking information. Type Bookings Dashboard. If you can also see the MES menu, you will notice that the label now appears on the button.

Saving the setting. Select File - Save Customization.

Script work
----------------
So far, so good. We have cosmetically applied the necessary trait to the button - we have enabled it, given it a label, and made it exist in the MES customization framework. Now, we have to get to the "nitty-gritty" of the script, which serves to assign the button with the desired program.

What is a GUID?
--------------------------
A GUID (pronounced GOO-id) is a unique and long combination of letters and numbers for every visible entity in Vantage. A GUID has been assigned to the button you chose, and it cannot be changed. You will note that this property was grayed out for the button.

What is the menu ID?
----------------------------------
The menu ID is the unique ID assigned to a menu item, in the eyes of Vantage. This can be determined in Menu Maintenance.
From System Management - Utilities, select Menu Maintenance. In this case the custom dashboard was added to the Executive Analysis > Tracker tree node and give the menu id of UDJRPTst.
Take note of the Menu ID value. You will need it later.

What does the script portion do?
----------------------------------------------------
The purpose of the script portion of the button programming is to assign the GUID, and hence the button, to the menu ID, and hence the the desired Vantage program. We will assign the GUID with the , aka Bookings Dashboard.

Using the Event Wizard to create a Load Event.
----------------------------------------------------------
Here you add a form load event that will enters a unique procedure, btnLaunchTracker, that ties together both the GUID and the menu ID. The GUID comes from the properties of the button that you clicked. You will need to replace the guid with the one associated to the button that you are modifying. Take note that we also enabled this procedure - in effect, enabling the button.

In the Customization Tools Dialog box, click the Wizards tab then choose the Form Event Wizard. Set the selected event type to "Load" and click the right arrow. You will see the following code in the View/Edit Event handling code window.
Use the Wizard to add a form load event. You will see the following in the wizard:
Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load
'//
'// Add Event Handler Code
'//
End Sub

Add this line to the Private WithEvents section

Private WithEvents btnLaunchTracker As EpiButton


Add these two lines to the code before the End Sub line
btnLaunchTracker = CType(csm.GetNativeControlReference("255944ba-457e-427a-a6f2-c439ff554845"), EpiButton)
btnLaunchTracker.Enabled = True

At the end the code will be:
Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load
'//
'// Add Event Handler Code
'//

btnLaunchTracker = CType(csm.GetNativeControlReference("255944ba-457e-427a-a6f2-c439ff554845"), EpiButton)
btnLaunchTracker.Enabled = True
End Sub


NOTE: Now change the guid "255944ba-457e-427a-a6f2-c439ff554845" to the correct one.


Finally click the Update All Event Code button.

Review the existing script.
-----------------------------------------
In the Customization Tools Dialog box, click the Script Editor tab. A script appears that controls the logic for the entire customization. It includes declarations, calls to different logic, this, that, the other. Don't worry about understanding what's there. (I don't understand it all myself.)

However, take note of the last line: End Module. This must remain the last line. Take note of the second to the last line: End Sub. That line must stay where it is, as well. In other words, End Sub and upward must stay together, and End Module must remain the very last line.
So: We are interested in the gap between the last End Sub line and the last End Module line.

Adding to the script. You will be adding a click event to launch the dashboard from a menu ID.

What does the custom script do?
--------------------------------------------------
The script enters a unique click event, btnLaunchTracker_Click, that ties together both the GUID and the menu ID. The menu ID comes from the entry for the desired program in Menu Maintenance. It will almost certainly have to be replaced by you.

Copy the following lines and paste them into the script editor.

Private Sub btnLaunchTracker_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker.Click
ProcessCaller.LaunchForm(MESMenu, "UDJRPTst") '<==== enter your menu Id here
End Sub


When you have completed the above the Script code should look like:

'//**************************************************
'// Custom VB.NET code for MESMenu
'// Created: 8/19/2008 12:51:09 PM
'//**************************************************
Imports System
Imports System.Data
Imports System.Diagnostics
Imports System.Windows.Forms
Imports System.ComponentModel
Imports Microsoft.VisualBasic
Imports Epicor.Mfg.UI
Imports Epicor.Mfg.UI.FrameWork
Imports Epicor.Mfg.UI.ExtendedProps
Imports Epicor.Mfg.UI.FormFunctions
Imports Epicor.Mfg.UI.Customization
Imports Epicor.Mfg.UI.Adapters
Imports Epicor.Mfg.UI.Searches
Imports Epicor.Mfg.BO


Module Script


'// ** Wizard Insert Location - Do Not Remove 'Begin/End Wizard Added Module Level Variables' Comments! **
'// Begin Wizard Added Module Level Variables **

'// End Wizard Added Module Level Variables **


'// Add Custom Module Level Variables Here **

Private WithEvents btnLaunchTracker As EpiButton

Sub InitializeCustomCode()


'// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Variable Intialization' lines **
'// Begin Wizard Added Variable Intialization

'// End Wizard Added Variable Intialization
'// Begin Custom Method Calls

'// End Custom Method Calls
End Sub



Sub DestroyCustomCode()


'// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Object Disposal' lines **
'// Begin Wizard Added Object Disposal

'// End Wizard Added Object Disposal
'// Begin Custom Code Disposal

'// End Custom Code Disposal
End Sub
Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load
'//
'// Add Event Handler Code
'//

btnLaunchTracker = CType(csm.GetNativeControlReference("255944ba-457e-427a-a6f2-c439ff554845"), EpiButton)
btnLaunchTracker.Enabled = True

End Sub

Private Sub btnLaunchTracker_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker.Click
ProcessCaller.LaunchForm(MESMenu, "UDJRPTst")
End Sub


End Module


Save and close.
-------------------------

Close the MES menu; click Yes to the Save message. When you open it, you should have yourself a new button that launches the desired program.




[Non-text portions of this message have been removed]

So here is what I have. It compiles successfully, but it doesn't launch the dashboard:

' **************************************************
' Custom code for MESMenu
' Created: 9/12/2014 1:54:47 PM
' **************************************************
Imports System
Imports System.ComponentModel
Imports System.Data
Imports System.Diagnostics
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Imports Epicor.Mfg.BO
Imports Epicor.Mfg.UI
Imports Epicor.Mfg.UI.Adapters
Imports Epicor.Mfg.UI.Customization
Imports Epicor.Mfg.UI.ExtendedProps
Imports Epicor.Mfg.UI.FormFunctions
Imports Epicor.Mfg.UI.FrameWork
Imports Epicor.Mfg.UI.Searches

Public Class Script

' ** Wizard Insert Location - Do Not Remove 'Begin/End Wizard Added Module Level Variables' Comments! **
' Begin Wizard Added Module Level Variables **

' End Wizard Added Module Level Variables **

' Add Custom Module Level Variables Here **

Public Sub InitializeCustomCode()
' ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Variable Initialization' lines **
' Begin Wizard Added Variable Initialization

' End Wizard Added Variable Initialization

' Begin Wizard Added Custom Method Calls

' End Wizard Added Custom Method Calls
End Sub

Public Sub DestroyCustomCode()
' ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Object Disposal' lines **
' Begin Wizard Added Object Disposal

' End Wizard Added Object Disposal

' Begin Custom Code Disposal

' End Custom Code Disposal
End Sub
Private WithEvents btnLaunchTracker As EpiButton 
Private WithEvents btnLaunchTracker1 As EpiButton 

Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load 

btnLaunchTracker = CType(csm.GetNativeControlReference("fe187107-b719-4a3d-96a8-5f8505ea65ae"), EpiButton) 
btnLaunchTracker.ReadOnly= False 

btnLaunchTracker1 = CType(csm.GetNativeControlReference("1b5a2eea-98a7-4d46-b90f-98ad744cb907"), EpiButton) 
btnLaunchTracker1.ReadOnly= False 

End Sub 

Private Sub btnLaunchTracker_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker.Click 
ProcessCaller.LaunchForm(MESMenu, "PntMtlUs") 
End Sub 

Private Sub btnLaunchTracker1_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker1.Click 
ProcessCaller.LaunchForm(MESMenu, "MoveReq") 
End Sub 



End Class


That was the assumed part, adding another button.  though once you've done it the first time the wizard isn't needed, the code is there.  Those wizards are handy but they don't help you learn about what's going on.


Sent from my Verizon Wireless 4G LTE smartphone


-------- Original message --------
From: "Miguel Santillan msantillan@... [vantage]"
Date:11/04/2014 4:25 PM (GMT-06:00)
To: vantage@yahoogroups.com
Subject: RE: [Vantage] Adding multiple dashboards to the MES screen

 

I do it slightly different.

 

I add a new EpiButton in the location I want it. If there is a blank one there already, I move it to the side and Visible = False.

 

Once I name the epiButton; i.e. epiBtnToeTag.  I then go to Wizards Tab > Event Wizard

 

Control Type Filter:  EpiButton

Custom Control:  epiBtnToeTag

Available Control Events: “CLICK”

 

Click on the  blue arrow next to Custom Control

 

Then UPDATE SELECTED EVENT CODE

 

 

When you created the dashboard and added it to the MENU, you created an ID.  For example: TOETAGLB

Go to the Script Editor tab and look for the inserted code:  There is other code inserted above, but you need to edit what is between the QUOTES.

 

              Private Sub epiBtnToeTag_Click(ByVal sender As Object, ByVal args As System.EventArgs)

                             ' ** Place Event Handling Code Here **

ProcessCaller.LaunchForm(MESMenu," TOETAGLB ")

              End Sub

Miguel A. Santillan

Compass Manufacturing Systems

 

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com]
Sent: Tuesday, November 4, 2014 1:57 PM
To: 'vantage@yahoogroups.com'
Subject: RE: [Vantage] Adding multiple dashboards to the MES screen

 

 

That’s exactly what you do… declare the event,
i.e.
Private WithEvents btnLaunchaDifferentTracker As EpiButton
instantiate another button, change the GUID to that button’s GUID
btnLaunchaDifferentTracker = CType(csm.GetNativeControlReference("255944ba- Not the same GUID -c439ff554845"), EpiButton)
btnLaunchaDifferentTracker = True
Create another procedure and change the name to your other dashboard,
Private Sub btnLaunchaDifferentTracker _Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchaDifferentTracker.Click
ProcessCaller.LaunchForm(MESMenu, "MyOtherDashboard")
End Sub


Rob Bucek
Production Control Manager
PH: (715) 284-5376 ext 311
Mobile: (715)896-3119
FAX: (715)284-4084
[cid:1.234354861@...]<http://www.dsmfg.com/>
(Click the logo to view our site)<http://www.dsmfg.com/>

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com]
Sent: Tuesday, November 04, 2014 2:53 PM
To: vantage@yahoogroups.com
Subject: [Vantage] Adding multiple dashboards to the MES screen



Hi All,



I am trying to link multiple dashboards to the MES screen. I have successfully added one dashboard, and it launches perfectly. To do this I followed the guide below; however, I want to add a second dashboard to a separate button, but I can't figure out how to do this. I can't just copy the script and change the two ID values. Any ideas how to do this?


Summary: CUST: Can I add a dashboard to one of the MES Blank Buttons.
Book: Support Solutions
Page: 5290ESC

PAGE NO:
5290ESC

PROBLEM DESCRIPTION:
Can I add a dashboard to one of the MES blank buttons?

PROBLEM RESOLUTION:
You certainly can.

This topic gets involved, but by all means, if you have permissions to do customizations, you can assign other V8 (the 8.0 application) programs to the blank buttons.

Launch MES in customization mode. See section below on how to setup shortcut for MES Developer. Log in and navigate to a tab that has a blank button. I will use the Production tab as illustration. Right-click somewhere on the form, and in the context menu, select Customization. The screen looks a little bit different. Now, click once on the target (blank) button. The Customization Tools Dialog box appears.

Creating MES Developer Icon
====================================
* Make a copy of your MES icon and rename it to something like MES Developer
* Then right click on it and choose Properties
* In the Target field locate where it shows -MES and change it to -MESC.

Understanding the button and properties. The customization window is in two columns: The list of entities (buttons and fields) on the left, and the corresponding properties on the right.
You may wish to reposition the dialog box so that the desired button to customize can still be seen.
When the blank button is clicked on the MES menu, the button name on the left is highlighted, and its corresponding traits appear on the right. In my example, V8 considers this blank button as "btn99" which is highlighted. All properties of btn99 appear on the right.

So what are the pertinent properties?
----------------------------------------------------------
" EpiBinding: The message that appears when the button is clicked. Right now, a message simply says "not used". Clear this property field.
" Text: The label of the button. This value is blank because the button is blank. For this example, we will open a custom dashboard that reports booking information. Type Bookings Dashboard. If you can also see the MES menu, you will notice that the label now appears on the button.

Saving the setting. Select File - Save Customization.

Script work
----------------
So far, so good. We have cosmetically applied the necessary trait to the button - we have enabled it, given it a label, and made it exist in the MES customization framework. Now, we have to get to the "nitty-gritty" of the script, which serves to assign the button with the desired program.

What is a GUID?
--------------------------
A GUID (pronounced GOO-id) is a unique and long combination of letters and numbers for every visible entity in Vantage. A GUID has been assigned to the button you chose, and it cannot be changed. You will note that this property was grayed out for the button.

What is the menu ID?
----------------------------------
The menu ID is the unique ID assigned to a menu item, in the eyes of Vantage. This can be determined in Menu Maintenance.
From System Management - Utilities, select Menu Maintenance. In this case the custom dashboard was added to the Executive Analysis > Tracker tree node and give the menu id of UDJRPTst.
Take note of the Menu ID value. You will need it later.

What does the script portion do?
----------------------------------------------------
The purpose of the script portion of the button programming is to assign the GUID, and hence the button, to the menu ID, and hence the the desired Vantage program. We will assign the GUID with the , aka Bookings Dashboard.

Using the Event Wizard to create a Load Event.
----------------------------------------------------------
Here you add a form load event that will enters a unique procedure, btnLaunchTracker, that ties together both the GUID and the menu ID. The GUID comes from the properties of the button that you clicked. You will need to replace the guid with the one associated to the button that you are modifying. Take note that we also enabled this procedure - in effect, enabling the button.

In the Customization Tools Dialog box, click the Wizards tab then choose the Form Event Wizard. Set the selected event type to "Load" and click the right arrow. You will see the following code in the View/Edit Event handling code window.
Use the Wizard to add a form load event. You will see the following in the wizard:
Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load
'//
'// Add Event Handler Code
'//
End Sub

Add this line to the Private WithEvents section

Private WithEvents btnLaunchTracker As EpiButton


Add these two lines to the code before the End Sub line
btnLaunchTracker = CType(csm.GetNativeControlReference("255944ba-457e-427a-a6f2-c439ff554845"), EpiButton)
btnLaunchTracker.Enabled = True

At the end the code will be:
Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load
'//
'// Add Event Handler Code
'//

btnLaunchTracker = CType(csm.GetNativeControlReference("255944ba-457e-427a-a6f2-c439ff554845"), EpiButton)
btnLaunchTracker.Enabled = True
End Sub


NOTE: Now change the guid "255944ba-457e-427a-a6f2-c439ff554845" to the correct one.


Finally click the Update All Event Code button.

Review the existing script.
-----------------------------------------
In the Customization Tools Dialog box, click the Script Editor tab. A script appears that controls the logic for the entire customization. It includes declarations, calls to different logic, this, that, the other. Don't worry about understanding what's there. (I don't understand it all myself.)

However, take note of the last line: End Module. This must remain the last line. Take note of the second to the last line: End Sub. That line must stay where it is, as well. In other words, End Sub and upward must stay together, and End Module must remain the very last line.
So: We are interested in the gap between the last End Sub line and the last End Module line.

Adding to the script. You will be adding a click event to launch the dashboard from a menu ID.

What does the custom script do?
--------------------------------------------------
The script enters a unique click event, btnLaunchTracker_Click, that ties together both the GUID and the menu ID. The menu ID comes from the entry for the desired program in Menu Maintenance. It will almost certainly have to be replaced by you.

Copy the following lines and paste them into the script editor.

Private Sub btnLaunchTracker_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker.Click
ProcessCaller.LaunchForm(MESMenu, "UDJRPTst") '<==== enter your menu Id here
End Sub


When you have completed the above the Script code should look like:

'//**************************************************
'// Custom VB.NET code for MESMenu
'// Created: 8/19/2008 12:51:09 PM
'//**************************************************
Imports System
Imports System.Data
Imports System.Diagnostics
Imports System.Windows.Forms
Imports System.ComponentModel
Imports Microsoft.VisualBasic
Imports Epicor.Mfg.UI
Imports Epicor.Mfg.UI.FrameWork
Imports Epicor.Mfg.UI.ExtendedProps
Imports Epicor.Mfg.UI.FormFunctions
Imports Epicor.Mfg.UI.Customization
Imports Epicor.Mfg.UI.Adapters
Imports Epicor.Mfg.UI.Searches
Imports Epicor.Mfg.BO


Module Script


'// ** Wizard Insert Location - Do Not Remove 'Begin/End Wizard Added Module Level Variables' Comments! **
'// Begin Wizard Added Module Level Variables **

'// End Wizard Added Module Level Variables **


'// Add Custom Module Level Variables Here **

Private WithEvents btnLaunchTracker As EpiButton

Sub InitializeCustomCode()


'// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Variable Intialization' lines **
'// Begin Wizard Added Variable Intialization

'// End Wizard Added Variable Intialization
'// Begin Custom Method Calls

'// End Custom Method Calls
End Sub



Sub DestroyCustomCode()


'// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Object Disposal' lines **
'// Begin Wizard Added Object Disposal

'// End Wizard Added Object Disposal
'// Begin Custom Code Disposal

'// End Custom Code Disposal
End Sub
Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load
'//
'// Add Event Handler Code
'//

btnLaunchTracker = CType(csm.GetNativeControlReference("255944ba-457e-427a-a6f2-c439ff554845"), EpiButton)
btnLaunchTracker.Enabled = True

End Sub

Private Sub btnLaunchTracker_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker.Click
ProcessCaller.LaunchForm(MESMenu, "UDJRPTst")
End Sub


End Module


Save and close.
-------------------------

Close the MES menu; click Yes to the Save message. When you open it, you should have yourself a new button that launches the desired program.




[Non-text portions of this message have been removed]

Have you added the movreq process through menu maintenance? 


Sent from my Verizon Wireless 4G LTE smartphone


-------- Original message --------
From: "marcus@... [vantage]"
Date:11/04/2014 4:42 PM (GMT-06:00)
To: vantage@yahoogroups.com
Subject: RE: [Vantage] Adding multiple dashboards to the MES screen

 

So here is what I have. It compiles successfully, but it doesn't launch the dashboard:


' **************************************************
' Custom code for MESMenu
' Created: 9/12/2014 1:54:47 PM
' **************************************************
Imports System
Imports System.ComponentModel
Imports System.Data
Imports System.Diagnostics
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Imports Epicor.Mfg.BO
Imports Epicor.Mfg.UI
Imports Epicor.Mfg.UI.Adapters
Imports Epicor.Mfg.UI.Customization
Imports Epicor.Mfg.UI.ExtendedProps
Imports Epicor.Mfg.UI.FormFunctions
Imports Epicor.Mfg.UI.FrameWork
Imports Epicor.Mfg.UI.Searches

Public Class Script

' ** Wizard Insert Location - Do Not Remove 'Begin/End Wizard Added Module Level Variables' Comments! **
' Begin Wizard Added Module Level Variables **

' End Wizard Added Module Level Variables **

' Add Custom Module Level Variables Here **

Public Sub InitializeCustomCode()
' ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Variable Initialization' lines **
' Begin Wizard Added Variable Initialization

' End Wizard Added Variable Initialization

' Begin Wizard Added Custom Method Calls

' End Wizard Added Custom Method Calls
End Sub

Public Sub DestroyCustomCode()
' ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Object Disposal' lines **
' Begin Wizard Added Object Disposal

' End Wizard Added Object Disposal

' Begin Custom Code Disposal

' End Custom Code Disposal
End Sub
Private WithEvents btnLaunchTracker As EpiButton 
Private WithEvents btnLaunchTracker1 As EpiButton 

Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load 

btnLaunchTracker = CType(csm.GetNativeControlReference("fe187107-b719-4a3d-96a8-5f8505ea65ae"), EpiButton) 
btnLaunchTracker.ReadOnly= False 

btnLaunchTracker1 = CType(csm.GetNativeControlReference("1b5a2eea-98a7-4d46-b90f-98ad744cb907"), EpiButton) 
btnLaunchTracker1.ReadOnly= False 

End Sub 

Private Sub btnLaunchTracker_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker.Click 
ProcessCaller.LaunchForm(MESMenu, "PntMtlUs") 
End Sub 

Private Sub btnLaunchTracker1_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker1.Click 
ProcessCaller.LaunchForm(MESMenu, "MoveReq") 
End Sub 



End Class


<!-- #ygrps-yiv-1304992515 _filtered #ygrps-yiv-1304992515 {font-family:Wingdings; panose-1:5 0 0 0 0 0 0 0 0 0;} _filtered #ygrps-yiv-1304992515 {font-family:Wingdings; panose-1:5 0 0 0 0 0 0 0 0 0;} _filtered #ygrps-yiv-1304992515 {font-family:Calibri; panose-1:2 15 5 2 2 2 4 3 2 4;} _filtered #ygrps-yiv-1304992515 {font-family:Verdana; panose-1:2 11 6 4 3 5 4 4 2 4;} _filtered #ygrps-yiv-1304992515 {font-family:Consolas; panose-1:2 11 6 9 2 2 4 3 2 4;} #ygrps-yiv-1304992515 #ygrps-yiv-1304992515 p.ygrps-yiv-1304992515MsoNormal, #ygrps-yiv-1304992515 li.ygrps-yiv-1304992515MsoNormal, #ygrps-yiv-1304992515 div.ygrps-yiv-1304992515MsoNormal {margin:0in; margin-bottom:.0001pt; font-size:12.0pt; font-family:"Times New Roman", "serif";} #ygrps-yiv-1304992515 a:link, #ygrps-yiv-1304992515 span.ygrps-yiv-1304992515MsoHyperlink { color:blue; text-decoration:underline;} #ygrps-yiv-1304992515 a:visited, #ygrps-yiv-1304992515 span.ygrps-yiv-1304992515MsoHyperlinkFollowed { color:purple; text-decoration:underline;} #ygrps-yiv-1304992515 p {

margin-right:0in;

margin-left:0in;
font-size:12.0pt;
font-family:“Times New Roman”, “serif”;}
#ygrps-yiv-1304992515 code
{
font-family:“Courier New”;}
#ygrps-yiv-1304992515 pre
{

margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:“Courier New”;}
#ygrps-yiv-1304992515 tt
{
font-family:“Courier New”;}
#ygrps-yiv-1304992515 p.ygrps-yiv-1304992515mso, #ygrps-yiv-1304992515 li.ygrps-yiv-1304992515mso, #ygrps-yiv-1304992515 div.ygrps-yiv-1304992515mso
{

margin-right:0in;

margin-left:0in;
font-size:12.0pt;
font-family:“Times New Roman”, “serif”;}
#ygrps-yiv-1304992515 span.ygrps-yiv-1304992515cat
{}
#ygrps-yiv-1304992515 span.ygrps-yiv-1304992515ct
{}
#ygrps-yiv-1304992515 span.ygrps-yiv-1304992515HTMLPreformattedChar
{

font-family:Consolas;}
#ygrps-yiv-1304992515 p.ygrps-yiv-1304992515attach, #ygrps-yiv-1304992515 li.ygrps-yiv-1304992515attach, #ygrps-yiv-1304992515 div.ygrps-yiv-1304992515attach
{

margin-right:0in;

margin-left:0in;
font-size:9.0pt;
font-family:“Arial”, “sans-serif”;}
#ygrps-yiv-1304992515 p.ygrps-yiv-1304992515bold, #ygrps-yiv-1304992515 li.ygrps-yiv-1304992515bold, #ygrps-yiv-1304992515 div.ygrps-yiv-1304992515bold
{

margin-right:0in;

margin-left:0in;
font-size:10.0pt;
font-family:“Arial”, “sans-serif”;
font-weight:bold;}
#ygrps-yiv-1304992515 p.ygrps-yiv-1304992515green, #ygrps-yiv-1304992515 li.ygrps-yiv-1304992515green, #ygrps-yiv-1304992515 div.ygrps-yiv-1304992515green
{

margin-right:0in;

margin-left:0in;
font-size:12.0pt;
font-family:“Times New Roman”, “serif”;
color:#628C2A;}
#ygrps-yiv-1304992515 p.ygrps-yiv-1304992515replbq, #ygrps-yiv-1304992515 li.ygrps-yiv-1304992515replbq, #ygrps-yiv-1304992515 div.ygrps-yiv-1304992515replbq
{
margin:3.0pt;
font-size:12.0pt;
font-family:“Times New Roman”, “serif”;}
#ygrps-yiv-1304992515 p.ygrps-yiv-1304992515ad, #ygrps-yiv-1304992515 li.ygrps-yiv-1304992515ad, #ygrps-yiv-1304992515 div.ygrps-yiv-1304992515ad
{

margin-right:0in;

margin-left:0in;
font-size:12.0pt;
font-family:“Times New Roman”, “serif”;}
#ygrps-yiv-1304992515 p.ygrps-yiv-1304992515underline, #ygrps-yiv-1304992515 li.ygrps-yiv-1304992515underline, #ygrps-yiv-1304992515 div.ygrps-yiv-1304992515underline
{

margin-right:0in;

margin-left:0in;
font-size:12.0pt;
font-family:“Times New Roman”, “serif”;}
#ygrps-yiv-1304992515 span.ygrps-yiv-1304992515yshortcuts
{}
#ygrps-yiv-1304992515 p.ygrps-yiv-1304992515ad1, #ygrps-yiv-1304992515 li.ygrps-yiv-1304992515ad1, #ygrps-yiv-1304992515 div.ygrps-yiv-1304992515ad1
{

margin-right:0in;

margin-left:0in;
font-size:12.0pt;
font-family:“Times New Roman”, “serif”;}
#ygrps-yiv-1304992515 p.ygrps-yiv-1304992515ad2, #ygrps-yiv-1304992515 li.ygrps-yiv-1304992515ad2, #ygrps-yiv-1304992515 div.ygrps-yiv-1304992515ad2
{

margin-right:0in;
margin-bottom:7.5pt;
margin-left:0in;
font-size:12.0pt;
font-family:“Times New Roman”, “serif”;}
#ygrps-yiv-1304992515 p.ygrps-yiv-1304992515underline1, #ygrps-yiv-1304992515 li.ygrps-yiv-1304992515underline1, #ygrps-yiv-1304992515 div.ygrps-yiv-1304992515underline1
{

margin-right:0in;

margin-left:0in;
font-size:12.0pt;
font-family:“Times New Roman”, “serif”;
text-decoration:underline;}
#ygrps-yiv-1304992515 span.ygrps-yiv-1304992515yshortcuts1
{
font-family:“Verdana”, “sans-serif”;
font-weight:bold;}
#ygrps-yiv-1304992515 span.ygrps-yiv-1304992515yshortcuts2
{
font-family:“Verdana”, “sans-serif”;
font-weight:normal;}
#ygrps-yiv-1304992515 span.ygrps-yiv-1304992515EmailStyle37
{
font-family:“Calibri”, “sans-serif”;
color:#1F497D;}
#ygrps-yiv-1304992515 .ygrps-yiv-1304992515MsoChpDefault
{
font-size:10.0pt;}
_filtered #ygrps-yiv-1304992515 {
margin:1.0in 1.0in 1.0in 1.0in;}
#ygrps-yiv-1304992515 div.ygrps-yiv-1304992515WordSection1
{}
#ygrps-yiv-1304992515
_filtered #ygrps-yiv-1304992515 {
}
_filtered #ygrps-yiv-1304992515 {

font-family:Symbol;}
_filtered #ygrps-yiv-1304992515 {

font-family:“Courier New”;
}
_filtered #ygrps-yiv-1304992515 {

font-family:Wingdings;}
_filtered #ygrps-yiv-1304992515 {

font-family:Wingdings;}
_filtered #ygrps-yiv-1304992515 {

font-family:Wingdings;}
_filtered #ygrps-yiv-1304992515 {

font-family:Wingdings;}
_filtered #ygrps-yiv-1304992515 {

font-family:Wingdings;}
_filtered #ygrps-yiv-1304992515 {

font-family:Wingdings;}
_filtered #ygrps-yiv-1304992515 {

font-family:Wingdings;}
#ygrps-yiv-1304992515 ol
{margin-bottom:0in;}
#ygrps-yiv-1304992515 ul
{margin-bottom:0in;}
–>

Yes, I have several added to my MES screen. You have to create each dashboard on a separate unused button. And grab the GUI ID for the new button. And give each button a unique name (I was very original with btnLaunchTracker, btnLaunchTracker1, btnLaunchTracker2). Then basically you do just copy the code and replace the GUI ID, button name, dashboard menu item info, etc. Below is what my finished code looks like with 4 buttons being used (one launches a report and 3 launch dashboards). Â

 

’ **************************************************

’ Custom code for MESMenu

’ Created: 7/22/2014 10:06:50 AM

’ **************************************************

Imports System

Imports System.ComponentModel

Imports System.Data

Imports System.Diagnostics

Imports System.Windows.Forms

Imports Microsoft.VisualBasic

Imports Epicor.Mfg.BO

Imports Epicor.Mfg.UI

Imports Epicor.Mfg.UI.Adapters

Imports Epicor.Mfg.UI.Customization

Imports Epicor.Mfg.UI.ExtendedProps

Imports Epicor.Mfg.UI.FormFunctions

Imports Epicor.Mfg.UI.FrameWork

Imports Epicor.Mfg.UI.Searches

 

Public Class Script

 

               ’ ** Wizard Insert Location - Do Not Remove ‘Begin/End Wizard Added Module Level Variables’ Comments! **

               ’ Begin Wizard Added Module Level Variables **

 

               ’ End Wizard Added Module Level Variables **

 

               ’ Add Custom Module Level Variables Here **

Private WithEvents btnLaunchTracker As EpiButtonÂ

Private WithEvents btnLaunchTracker1 As EpiButton

Private WithEvents btnLaunchTracker2 As EpiButton

Private WithEvents btnLaunchTracker3 As EpiButton

               Public Sub InitializeCustomCode()

                               ’ ** Wizard Insert Location - Do not delete ‘Begin/End Wizard Added Variable Initialization’ lines **

                               ’ Begin Wizard Added Variable Initialization

 

                               ’ End Wizard Added Variable Initialization

 

                               ’ Begin Wizard Added Custom Method Calls

 

                               ’ End Wizard Added Custom Method Calls

               End Sub

 

               Public Sub DestroyCustomCode()

                               ’ ** Wizard Insert Location - Do not delete ‘Begin/End Wizard Added Object Disposal’ lines **

                               ’ Begin Wizard Added Object Disposal

 

                               ’ End Wizard Added Object Disposal

 

                               ’ Begin Custom Code Disposal

 

                               ’ End Custom Code Disposal

               End Sub

 

 

                  Private Sub MESMenu_Load(ByVal sender As object, ByVal args As EventArgs) Handles MESMenu.Load

                      '//

                      '// Add Event Handler Code

                      '//Â

               btnLaunchTracker = CType(csm.GetNativeControlReference(“46bdfa50-e31b-4541-bec7-01e5e03eecbb-1”), EpiButton)

                               btnLaunchTracker.ReadOnly= False         Â

               btnLaunchTracker1 = CType(csm.GetNativeControlReference(“fd01206b-d8c6-461d-97ab-d1321ef73ffa-1”), EpiButton)

                btnLaunchTracker1.ReadOnly= False     Â

btnLaunchTracker2 = CType(csm.GetNativeControlReference(“0a763b0b-723a-4738-9f89-ef4695253f2f-1”), EpiButton)

                btnLaunchTracker2.ReadOnly= False    Â

btnLaunchTracker3 = CType(csm.GetNativeControlReference(“f5d67ba8-aadf-4a82-8bdb-480366838ea5-1”), EpiButton)

                btnLaunchTracker3.ReadOnly= False   Â

                   End Sub

 

   Private Sub btnLaunchTracker_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker.Click

       dim opts As LaunchFormOptions = new LaunchFormOptions()

       opts.ValueIn = "HRMNT"          ’ <=== enter the BAQ report Id here.

     Â

        ProcessCaller.LaunchForm(MESMenu, “CUS1”, opts)    ’ <=== enter your menu Id here.

   End Sub

Private Sub btnLaunchTracker1_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker1.Click

       dim opts As LaunchFormOptions = new LaunchFormOptions()

       opts.ValueIn = "Moldmaker Job List"          ’ <=== enter the BAQ report Id here.

     Â

        ProcessCaller.LaunchForm(MESMenu, “UDDB0260”, opts)    ’ <=== enter your menu Id here.

   End Sub

Private Sub btnLaunchTracker2_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker2.Click

       dim opts As LaunchFormOptions = new LaunchFormOptions()

       opts.ValueIn = "Dev Backlogs"          ’ <=== enter the BAQ report Id here.

     Â

        ProcessCaller.LaunchForm(MESMenu, “UDDB0395”, opts)    ’ <=== enter your menu Id here.

   End Sub

Private Sub btnLaunchTracker3_Click(ByVal Sender As Object, ByVal args As EventArgs ) Handles btnLaunchTracker3.Click

       dim opts As LaunchFormOptions = new LaunchFormOptions()

       opts.ValueIn = "Backlogs-Clinton"          ’ <=== enter the BAQ report Id here.

     Â

        ProcessCaller.LaunchForm(MESMenu, “UDDB0275”, opts)    ’ <=== enter your menu Id here.

   End Sub

End Class