Recipe Variance Viewer

Sepasoft MES Module Suite

Recipe Variance Viewer | Vision

A component that is added to Ignition windows to display recipe variances in a table. The Recipe Variance Viewer is automatically updated when live recipe value variances are detected by the Recipe / Changeover Module. The Show Full Details property will cause the initial values when the recipe was first selected, to also be included. This component simplifies displaying recipe variances by handling all of the backend database queries based on the property settings of the component.

This is just one method of viewing recipe variances. For more information, see the Recipe Values Settings - Enable Variance Logging section.

Component Palette


Component Properties

Properties are provided that can be set to affect the operation and look of the component. They can be set through the Property Editor in the Designer or through scripting.

Example

Python
event.source.parent.getComponent('Recipe Variance Viewer').rowSelectionAllowed = True

Behavior

NameScriptingProperty TypeDescription
Row Selection AllowedrowSelectionAllowedbooleanThis flag is used in conjunction with the Column Selection Allowed flag to determine whether not whole-rows, whole-columns, or both (single-cells) are selectable.
Resizing AllowedresizingAllowedbooleanWhether or not the user is allowed to resize table headers or not.

Data

NameScriptingProperty TypeDescription
Display Variance TypedisplayVarianceTypeintType of recipe variances to display.
Display Variance ScopevarianceScopeTypesintTime range to show variances to display.
Start DatestartDateDateTimeStart Date.
End DateendDateDateTimeEnd Date.
Recipe Name FilterrecipeNameFilterStringOptionally, limit recipe variance results to a recipe name.
Sub Recipe Name FiltersubRecipeNameFilterStringOptionally, limit recipe variance results to a sub recipe name.
Item Path FilteritemPathFilterStringOptionally, limit recipe variance results to a production item path.
Value Name FilterrecipeValueNameFilterStringOptionally, limit recipe variance results to recipe value name.
Recipe TrackingUUIDrecipeTrackingUUIDStringOptionally, limit recipe variance results to recipe trackingUUID.
Show Full DetailsshowFullDetailsBooleanIf true, show initial recipe values and any changes, else only show deviations from the initial recipe values.
DatadataDatasetData for the table.
Column Attributes DatacolumnAttributesDataDatasetDataset describing the column attributes.
Selected RowselectedRowintIndex of the first selected row, or -1 if none.

Appearance

NameScriptingProperty TypeDescription
Background ModebackgroundColorModeintThis mode determines the color that this table's cell's backgrounds will be.
Header FontheaderFontFontFont of the table's header text.
Header Foreground ColorheaderForegroundColorForeground color of the table's header.
Header VisibleheaderVisiblebooleanWhether or not the table header is visible.
Row HeightrowHeightintHeight of each row, in pixels.
Odd Row BackgroundoddBackgroundColorColor which odd rows will be colored if background mode is 'Alternating'.
Selection BackgroundselectionBackgroundColorBackground color of a selected cell.
Selection ForegroundselectionForegroundColorForeground color of a selected cell.
Show Horizontal Grid Lines?showHorizontalLinesbooleanDisplays horizontal gridlines making it easier to read.
Show Vertical Grid Lines?showVerticalLinesbooleanDisplays vertical gridlines making it easier to read.
Grid Line ColorgridColorColorColor used to draw grid lines.

Event Handlers

Event handlers provide the ability to add custom script when a user interacts with a component such as by clicking a mouse, selecting a menu item or when a component property changes.

mouse

mouseClicked

This event signifies a mouse click on the source component. A mouse click the combination of a mouse press and a mouse release, both of which must have occurred over the source component. Note that this event fires after the pressed and released events have fired.

PropertyDescription
.sourceThe component that fired this event.
.buttonThe code for the button that caused this event to fire.
.clickCountThe number of mouse clicks associated with this event.
.xThe x-coordinate (with respect to the source component) of this mouse event.
.yThe y-coordinate (with respect to the source component) of this mouse event.
.popupTriggerReturns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.
.altDownTrue (1) if the Alt key was held down during this event, false (0) otherwise.
.controlDownTrue (1) if the Ctrl key was held down during this event, false (0) otherwise.
.shiftDownTrue (1) if the Shift key was held down during this event, false (0) otherwise.

mouseEntered

This event fires when the mouse enters the space over the source component.

PropertyDescription
.sourceThe component that fired this event.
.buttonThe code for the button that caused this event to fire.
.clickCountThe number of mouse clicks associated with this event.
.xThe x-coordinate (with respect to the source component) of this mouse event.
.yThe y-coordinate (with respect to the source component) of this mouse event.
.popupTriggerReturns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.
.altDownTrue (1) if the Alt key was held down during this event, false (0) otherwise.
.controlDownTrue (1) if the Ctrl key was held down during this event, false (0) otherwise.
.shiftDownTrue (1) if the Shift key was held down during this event, false (0) otherwise.

mouseExited

This event fires when the mouse leaves the space over the source component.

PropertyDescription
.sourceThe component that fired this event.
.buttonThe code for the button that caused this event to fire.
.clickCountThe number of mouse clicks associated with this event.
.xThe x-coordinate (with respect to the source component) of this mouse event.
.yThe y-coordinate (with respect to the source component) of this mouse event.
.popupTriggerReturns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.
.altDownTrue (1) if the Alt key was held down during this event, false (0) otherwise.
.controlDownTrue (1) if the Ctrl key was held down during this event, false (0) otherwise.
.shiftDownTrue (1) if the Shift key was held down during this event, false (0) otherwise.

mousePressed

This event fires when a mouse button is pressed down on the source component.

PropertyDescription
.sourceThe component that fired this event.
.buttonThe code for the button that caused this event to fire.
.clickCountThe number of mouse clicks associated with this event.
.xThe x-coordinate (with respect to the source component) of this mouse event.
.yThe y-coordinate (with respect to the source component) of this mouse event.
.popupTriggerReturns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.
.altDownTrue (1) if the Alt key was held down during this event, false (0) otherwise.
.controlDownTrue (1) if the Ctrl key was held down during this event, false (0) otherwise.
.shiftDownTrue (1) if the Shift key was held down during this event, false (0) otherwise.

mouseReleased

This event fires when a mouse button is released, if that mouse button's press happened over this component.

PropertyDescription
.sourceThe component that fired this event.
.buttonThe code for the button that caused this event to fire.
.clickCountThe number of mouse clicks associated with this event.
.xThe x-coordinate (with respect to the source component) of this mouse event.
.yThe y-coordinate (with respect to the source component) of this mouse event.
.popupTriggerReturns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.
.altDownTrue (1) if the Alt key was held down during this event, false (0) otherwise.
.controlDownTrue (1) if the Ctrl key was held down during this event, false (0) otherwise.
.shiftDownTrue (1) if the Shift key was held down during this event, false (0) otherwise.

mouseMotion

mouseDragged

Fires when the mouse moves over a component after a button has been pushed.

PropertyDescription
.sourceThe component that fired this event.
.buttonThe code for the button that caused this event to fire.
.clickCountThe number of mouse clicks associated with this event.
.xThe x-coordinate (with respect to the source component) of this mouse event.
.yThe y-coordinate (with respect to the source component) of this mouse event.
.popupTriggerReturns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.
.altDownTrue (1) if the Alt key was held down during this event, false (0) otherwise.
.controlDownTrue (1) if the Ctrl key was held down during this event, false (0) otherwise.
.shiftDownTrue (1) if the Shift key was held down during this event, false (0) otherwise.

mouseMoved

Fires when the mouse moves over a component, but no buttons are pushed.

PropertyDescription
.sourceThe component that fired this event.
.buttonThe code for the button that caused this event to fire.
.clickCountThe number of mouse clicks associated with this event.
.xThe x-coordinate (with respect to the source component) of this mouse event.
.yThe y-coordinate (with respect to the source component) of this mouse event.
.popupTriggerReturns True (1) if this mouse event is a popup trigger. What constitutes a popup trigger is operating system dependent, which is why this abstraction exists.
.altDownTrue (1) if the Alt key was held down during this event, false (0) otherwise.
.controlDownTrue (1) if the Ctrl key was held down during this event, false (0) otherwise.
.shiftDownTrue (1) if the Shift key was held down during this event, false (0) otherwise.

propertyChange

propertyChange

Fires whenever a bindable property of the source component changes. This works for standard and custom (dynamic) properties.

PropertyDescription
.sourceThe component that fired this event.
.newValueThe new value that this property changed to.
.oldValueThe value that this property was before it changed. Note that not all components include an accurate oldValue in their events.
.propertyNameThe name of the property that changed. NOTE: Remember to always filter out these events for the property that you are looking for! Components often have many properties that change.


Extension Functions

.configureChart()

Included in Sepasoft Versions:

Warning

Stable Release Versions:

MES 3.81.1 SP9 and later
MES 3.79.0 SP9 and later

configureChart()

    • Description

Provides an opportunity to perform further chart configuration via scripting. Doesn't return anything.

    • Parameters

Component chart-A JFreeChart object. Refer to the JFreeChart documentation for API details.

    • Return

Nothing

    • Scope

Client

.getBackgroundAt()

Included in Sepasoft Versions:

Warning

Stable Release Versions:

MES 3.81.1 SP9 and later
MES 3.79.0 SP9 and later

getBackgroundAt()

Description

Called for each cell, returns the appropriate background color. Do not block, sleep, or execute any I/O; called on painting thread.

Parameters

      • Component self - A reference to the component that is invoking this function.

      • int row -The row index of the cell.

      • int col -The column index of the cell.

      • boolean isSelected - A boolean representing if the cell is currently selected.

      • Object value -The value in the table's dataset at index [row, col].

      • Color defaultColor -The color the table would have chosen if this function was not implemented.

Return

Color

Scope

Client

.getDisplayTextAt()

Included in Sepasoft Versions:

Warning

Stable Release Versions:

MES 3.81.1 SP9 and later
MES 3.79.0 SP9 and later

getDisplayTextAt()

Description

Called for each cell, returns a String which will be used as the text of the cell. Do not block, sleep or execute any I/O; called on the painting thread.

Parameters

      • Component self - A reference to the component that is invoking this function.

      • int row -The row index of the cell.

      • int col -The column index of the cell.

      • boolean isSelected - A boolean representing if the cell is currently selected.

      • Object value -The value in the table's dataset at index [row, col].

      • String defaultText -The string the table would have chosen if this function was not implemented.

Return

String

Scope

Client

.getForegroundAt()

Included in Sepasoft Versions:

Warning

Stable Release Versions:

MES 3.81.1 SP9 and later
MES 3.79.0 SP9 and later

getForegroundAt()

Description

Called for each cell, returns the appropriate foreground (text) color. Do not block, sleep, or execute any I/O; called on painting thread.

Parameters

      • Component self - A reference to the component that is invoking this function.

      • int row -The row index of the cell.

      • int col -The column index of the cell.

      • boolean isSelected - A boolean representing if the cell is currently selected.

      • Object value -The value in the table's dataset at index [row, col].

      • Color defaultColor -The color the table would have chosen if this function was not implemented.

Return

Color

Scope

Client



 




Custom Methods

Custom methods allow you to add your own component functions to a component that can be called through scripting. This is a useful and clean method of re-using script that is specific to the component (say you want to update a visual aspect of the component in the same way whether a user clicks on the component or a window property value changes). See Component Custom Methods in the Ignition Help Manual for more information.




Customizers

Table Customizer 

Table Customizer manages the data entered into the Recipe Variance Viewer. It will allow you to modify the data which is stored inside the Recipe Variance Viewer. Thus the formatting and alignments are made easy.

Column Configuration

Header - Provide a custom name to the column header.

Hide? - Hides the column.

Editable - Allows the editing of the cell pertaining to the column.

Sortable - To make a column filter the data on user's demand.

Sortable - Allows the user to sort the table according to the selected column.

Horiz Align - Aligns the contents of the column.

Vert Align - Aligns the contents of the column.

Wrap Text? - Data in the cell wraps to fit the column width. When you change the column width, data wrapping adjusts automatically.

Prefix - A custom text that proceeds the contents of each cell.

Suffix - A custom text that follows the contents of each cell.

Number Format - A format of the cell is the contents of the cell are number types.

Date Format -  Used if the contents of the cell are date types.

Boolean? - Changes the contents of the cell to reflect a 'check box' look and feel.



Component Functions

This component does not have functions associated with it.

Sepasoft MES Module Suite