﻿<?xml version="1.0" encoding="utf-16"?>
<JiwaDocument xmlns:jiwa="http://www.jiwa.com.au/xml/schemas" Type="JiwaFinancials.Jiwa.JiwaApplication.Plugin.Plugin">
  <RecID>0dcf8825-7c0d-4851-ae05-bf9f0e61d596</RecID>
  <Name>Sales Order Custom Fields with UI</Name>
  <Description>This plugin demonstrates how to create custom fields for the Sales Order screen, and includes a user interface for defining the values that will appear in the combobox custom field.</Description>
  <IsEnabled>false</IsEnabled>
  <IsIsolatedToOwnAppDomain>false</IsIsolatedToOwnAppDomain>
  <ExecutionOrder>0</ExecutionOrder>
  <Author>Jiwa Financials</Author>
  <Version>7.0.175.0</Version>
  <Code>Imports JiwaFinancials.Jiwa
Imports Microsoft.VisualBasic
Imports System.Windows.Forms
Imports System.Data.SqlClient
Imports System.Drawing
Imports System.Data
Imports System.Collections.Generic

Public Class FormPlugin
    Inherits System.MarshalByRefObject
    Implements JiwaApplication.IJiwaFormPlugin

    Public Overrides Function InitializeLifetimeService() As Object
        ' returning null here will prevent the lease manager
        ' from deleting the Object.
        Return Nothing
    End Function

    Public Sub SetupBeforeHandlers(ByVal JiwaForm As JiwaApplication.IJiwaForm, ByVal Plugin As JiwaApplication.Plugin.Plugin) Implements JiwaApplication.IJiwaFormPlugin.SetupBeforeHandlers
    End Sub

    Public Sub Setup(ByVal JiwaForm As JiwaApplication.IJiwaForm, ByVal Plugin As JiwaApplication.Plugin.Plugin) Implements JiwaApplication.IJiwaFormPlugin.Setup
    End Sub
End Class

Public Class BusinessLogicPlugin
    Inherits System.MarshalByRefObject
    Implements JiwaApplication.IJiwaBusinessLogicPlugin

    Public Overrides Function InitializeLifetimeService() As Object
        ' returning null here will prevent the lease manager
        ' from deleting the Object.
        Return Nothing
    End Function

    Public Sub Setup(ByVal JiwaBusinessLogic As JiwaApplication.IJiwaBusinessLogic, ByVal Plugin As JiwaApplication.Plugin.Plugin) Implements JiwaApplication.IJiwaBusinessLogicPlugin.Setup
    End Sub

End Class

Public Class ApplicationManagerPlugin
    Inherits System.MarshalByRefObject
    Implements JiwaApplication.IJiwaApplicationManagerPlugin

    Public Overrides Function InitializeLifetimeService() As Object
        ' returning null here will prevent the lease manager
        ' from deleting the Object.
        Return Nothing
    End Function

    Public Sub Setup(ByVal Plugin As JiwaApplication.Plugin.Plugin) Implements JiwaApplication.IJiwaApplicationManagerPlugin.Setup
    End Sub

End Class

Public Class CustomFieldPlugin
    Inherits System.MarshalByRefObject
    Implements JiwaApplication.IJiwaCustomFieldPlugin

    Public Overrides Function InitializeLifetimeService() As Object
        ' returning null here will prevent the lease manager
        ' from deleting the Object.
        Return Nothing
    End Function

    Public Sub FormatCell(ByVal BusinessLogicHost As JiwaApplication.IJiwaBusinessLogic, ByVal GridObject As JiwaApplication.Controls.JiwaGrid, ByVal FormObject As JiwaApplication.IJiwaForm, ByVal Col As Integer, ByVal Row As Integer, ByVal HostObject As JiwaApplication.IJiwaCustomFieldValues, ByVal CustomField As JiwaApplication.CustomFields.CustomField, ByVal CustomFieldValue As JiwaApplication.CustomFields.CustomFieldValue) Implements JiwaApplication.IJiwaCustomFieldPlugin.FormatCell	
		Static comboBoxItemList As New List(Of String)
        Static comboBoxItemDataList As New List(Of String)
		
			If comboBoxItemList.Count = 0 Then
				Dim salesOrderComboBoxValues As New SalesOrderComboBoxValueCollection 
				salesOrderComboBoxValues.Read	
				
				For Each existingsalesOrderComboBoxValue As SalesOrderComboBoxValue In salesOrderComboBoxValues
					comboBoxItemList.Add(existingsalesOrderComboBoxValue.Item)
        			comboBoxItemDataList.Add(existingsalesOrderComboBoxValue.ItemData)
				Next
			End If

        DirectCast(GridObject.ActiveSheet.Cells(row, col).CellType, FarPoint.Win.Spread.CellType.ComboBoxCellType).Items = comboBoxItemList.ToArray
        DirectCast(GridObject.ActiveSheet.Cells(row, col).CellType, FarPoint.Win.Spread.CellType.ComboBoxCellType).ItemData = comboBoxItemDataList.ToArray
    End Sub

    Public Sub ReadData(ByVal BusinessLogicHost As JiwaApplication.IJiwaBusinessLogic, ByVal GridObject As JiwaApplication.Controls.JiwaGrid, ByVal FormObject As JiwaApplication.IJiwaForm, ByVal Row As Integer, ByVal HostObject As JiwaApplication.IJiwaCustomFieldValues, ByVal CustomField As JiwaApplication.CustomFields.CustomField, ByVal CustomFieldValue As JiwaApplication.CustomFields.CustomFieldValue) Implements JiwaApplication.IJiwaCustomFieldPlugin.ReadData
    End Sub

    Public Sub ButtonClicked(ByVal BusinessLogicHost As JiwaApplication.IJiwaBusinessLogic, ByVal GridObject As JiwaApplication.Controls.JiwaGrid, ByVal FormObject As JiwaApplication.IJiwaForm, ByVal Col As Integer, ByVal Row As Integer, ByVal HostObject As JiwaApplication.IJiwaCustomFieldValues, ByVal CustomField As JiwaApplication.CustomFields.CustomField, ByVal CustomFieldValue As JiwaApplication.CustomFields.CustomFieldValue) Implements JiwaApplication.IJiwaCustomFieldPlugin.ButtonClicked
    End Sub

End Class

Public Class LineCustomFieldPlugin
    Inherits System.MarshalByRefObject
    Implements JiwaApplication.IJiwaLineCustomFieldPlugin

    Public Overrides Function InitializeLifetimeService() As Object
        ' returning null here will prevent the lease manager
        ' from deleting the Object.
        Return Nothing
    End Function

    Public Sub FormatCell(ByVal BusinessLogicHost As JiwaApplication.IJiwaBusinessLogic, ByVal GridObject As JiwaApplication.Controls.JiwaGrid, ByVal FormObject As JiwaApplication.IJiwaForm, ByVal Col As Integer, ByVal Row As Integer, ByVal HostItem As JiwaApplication.IJiwaLineCustomFieldValues, ByVal CustomField As JiwaApplication.CustomFields.CustomField, ByVal CustomFieldValue As JiwaApplication.CustomFields.CustomFieldValue) Implements JiwaApplication.IJiwaLineCustomFieldPlugin.FormatCell
    End Sub

    Public Sub ReadData(ByVal BusinessLogicHost As JiwaApplication.IJiwaBusinessLogic, ByVal GridObject As JiwaApplication.Controls.JiwaGrid, ByVal FormObject As JiwaApplication.IJiwaForm, ByVal Row As Integer, ByVal HostItem As JiwaApplication.IJiwaLineCustomFieldValues, ByVal CustomField As JiwaApplication.CustomFields.CustomField, ByVal CustomFieldValue As JiwaApplication.CustomFields.CustomFieldValue) Implements JiwaApplication.IJiwaLineCustomFieldPlugin.ReadData
    End Sub

    Public Sub ButtonClicked(ByVal BusinessLogicHost As JiwaApplication.IJiwaBusinessLogic, ByVal GridObject As JiwaApplication.Controls.JiwaGrid, ByVal FormObject As JiwaApplication.IJiwaForm, ByVal Col As Integer, ByVal Row As Integer, ByVal HostItem As JiwaApplication.IJiwaLineCustomFieldValues, ByVal CustomField As JiwaApplication.CustomFields.CustomField, ByVal CustomFieldValue As JiwaApplication.CustomFields.CustomFieldValue) Implements JiwaApplication.IJiwaLineCustomFieldPlugin.ButtonClicked
    End Sub

End Class

Public Class SystemSettingPlugin
    Inherits System.MarshalByRefObject
    Implements JiwaApplication.IJiwaSystemSettingPlugin

    Public Overrides Function InitializeLifetimeService() As Object
        ' returning null here will prevent the lease manager
        ' from deleting the Object.
        Return Nothing
    End Function

    Public Sub FormatCell(ByVal BusinessLogicHost As JiwaApplication.IJiwaBusinessLogic, ByVal GridObject As JiwaApplication.Controls.JiwaGrid, ByVal FormObject As JiwaApplication.IJiwaForm, ByVal Col As Integer, ByVal Row As Integer, ByVal SystemSetting As JiwaApplication.SystemSettings.Setting) Implements JiwaApplication.IJiwaSystemSettingPlugin.FormatCell
    End Sub

    Public Sub ReadData(ByVal BusinessLogicHost As JiwaApplication.IJiwaBusinessLogic, ByVal GridObject As JiwaApplication.Controls.JiwaGrid, ByVal FormObject As JiwaApplication.IJiwaForm, ByVal Row As Integer, ByVal SystemSetting As JiwaApplication.SystemSettings.Setting) Implements JiwaApplication.IJiwaSystemSettingPlugin.ReadData
    End Sub

    Public Sub ButtonClicked(ByVal BusinessLogicHost As JiwaApplication.IJiwaBusinessLogic, ByVal GridObject As JiwaApplication.Controls.JiwaGrid, ByVal FormObject As JiwaApplication.IJiwaForm, ByVal Col As Integer, ByVal Row As Integer, ByVal SystemSetting As JiwaApplication.SystemSettings.Setting) Implements JiwaApplication.IJiwaSystemSettingPlugin.ButtonClicked
    End Sub

End Class

Public Class ScheduledExecutionPlugin
    Inherits System.MarshalByRefObject
    Implements JiwaApplication.IJiwaScheduledExecutionPlugin

    Public Sub Execute(ByVal Plugin As JiwaApplication.Plugin.Plugin, ByVal Schedule As JiwaApplication.Schedule.Schedule) Implements JiwaApplication.IJiwaScheduledExecutionPlugin.Execute

    End Sub

    Public Sub OnServiceStart(ByVal Plugin As JiwaApplication.Plugin.Plugin) Implements JiwaApplication.IJiwaScheduledExecutionPlugin.OnServiceStart

    End Sub

    Public Sub OnServiceStopping(ByVal Plugin As JiwaApplication.Plugin.Plugin) Implements JiwaApplication.IJiwaScheduledExecutionPlugin.OnServiceStopping

    End Sub
End Class

Public Class SalesOrderComboBoxValue
    Inherits JiwaApplication.JiwaCollectionItem(Of SalesOrderComboBoxValue)

#Region "Events"
    Public Event Read()
#End Region

#Region "Fields"
    Private _Item As String = ""
    Private _ItemData As String = ""
#End Region

#Region "Properties"
    Public ReadOnly Property SalesOrderComboBoxValues() As SalesOrderComboBoxValueCollection
        Get
            Return Collection
        End Get
    End Property

    Public Property Item As String
        Get
            Return _Item
        End Get
        Set(ByVal value As String)
            _Item = value
            NotifyPropertyChanged("Item")
        End Set
    End Property

    Public Property ItemData As String
        Get
            Return _ItemData
        End Get
        Set(ByVal value As String)
            _ItemData = value
            NotifyPropertyChanged("ItemData")
        End Set
    End Property
#End Region

#Region "Methods"
    Public Overrides Sub Clear()
        RecID = ""
        Item = ""
        ItemData = ""
        ItemNo = 0
    End Sub

    Public Sub ReadRecord(ByVal RecIDtoRead As String)
        Dim SQL As String = ""
        Dim SQLReader As SqlDataReader = Nothing
        Dim SQLParam As SqlParameter = Nothing

        With JiwaApplication.Manager.Instance.Database
            Try
                SQL = "SELECT TOP 1 Item, ItemData, ItemNo " &amp;
                      "FROM SO_ComboBoxValues " &amp;
                      "WHERE RecID = @RecID "

                Using SQLCmd As SqlCommand = New SqlCommand(SQL, .SQLConnection, .SQLTransaction)

                    SQLParam = New SqlParameter("@RecID", System.Data.SqlDbType.Char)
                    SQLParam.Value = RecIDtoRead
                    SQLCmd.Parameters.Add(SQLParam)

                    SQLReader = SQLCmd.ExecuteReader()

                    If SQLReader.Read = True Then
                        RecID = RecIDtoRead
                        Item = .Sanitise(SQLReader, "Item")
                        ItemData = .Sanitise(SQLReader, "ItemData")
                        ItemNo = .Sanitise(SQLReader, "ItemNo")
                    Else
                        Throw New System.Exception("SalesOrderComboBoxValue Not Found")
                    End If

                End Using

                OnRead()

            Finally
                If Not SQLReader Is Nothing Then
                    SQLReader.Close()
                End If
            End Try
        End With
    End Sub

    Public Overridable Sub OnRead()
        RaiseEvent Read()
    End Sub
#End Region

    Protected Overrides Sub iSave()
        Dim Sql As String
        Dim SQLParam As SqlParameter
        Try
            With JiwaApplication.Manager.Instance.Database
                ' Save lines
                Validate()

                If DeleteFlag = False Then
                    If InsertFlag Then
                        Sql = "INSERT INTO SO_ComboBoxValues (RecID, Item, ItemData, ItemNo) " &amp;
                            "VALUES (@RecID, @Item, @ItemData, @ItemNo)"
                    Else
                        Sql = "UPDATE SO_ComboBoxValues SET " &amp;
                            " Item = @Item" &amp;
                            ", ItemData = @ItemData " &amp;
                            ", ItemNo = @ItemNo " &amp;
                            "WHERE RecID = @RecID "
                    End If

                    Using SQLCmd As SqlCommand = New SqlCommand(Sql, .SQLConnection, .SQLTransaction)
                        SQLParam = New SqlParameter("@RecID", System.Data.SqlDbType.Char)
                        SQLParam.Value = RecID
                        SQLCmd.Parameters.Add(SQLParam)

                        SQLParam = New SqlParameter("@Item", System.Data.SqlDbType.VarChar)
                        SQLParam.Value = Item
                        SQLCmd.Parameters.Add(SQLParam)

                        SQLParam = New SqlParameter("@ItemData", System.Data.SqlDbType.VarChar)
                        SQLParam.Value = ItemData
                        SQLCmd.Parameters.Add(SQLParam)

                        SQLParam = New SqlParameter("@ItemNo", System.Data.SqlDbType.Int)
                        SQLParam.Value = ItemNo
                        SQLCmd.Parameters.Add(SQLParam)

                        If SQLCmd.ExecuteNonQuery() = 0 Then
                            Throw New JiwaApplication.Exceptions.ConcurrencyConflictException("unable to " &amp; If(InsertFlag, "insert into", "update") &amp; " SO_ComboBoxValues")
                        End If
                    End Using
                End If

                If DeleteFlag Then
                    Sql = "DELETE FROM SO_ComboBoxValues WHERE RecID = @RecID "

                    Using SQLCmd As SqlCommand = New SqlCommand(Sql, .SQLConnection, .SQLTransaction)
                        SQLParam = New SqlParameter("@RecID", System.Data.SqlDbType.Char)
                        SQLParam.Value = RecID
                        SQLCmd.Parameters.Add(SQLParam)

                        If SQLCmd.ExecuteNonQuery() = 0 Then
                            Throw New JiwaApplication.Exceptions.ConcurrencyConflictException("unable to delete from SO_ComboBoxValues")
                        End If
                    End Using

                End If
            End With
        Catch ex As SqlException
            Const SqlDuplicateKeyError As Integer = 2601

            If ex.Number = SqlDuplicateKeyError Then
                Throw New JiwaApplication.Exceptions.UniquenessException("There are two or more SO_ComboBoxValues with an item of '" &amp; _Item &amp; "'.  Items must be unique.")
            End If
            Throw
        Catch ex As System.Exception
            Throw
        End Try

    End Sub

    Private Sub Validate()
        If ChangeFlag Or InsertFlag Then
            If _Item.Trim.Length = 0 Then
                Throw New System.Exception("Item " &amp; ItemNo &amp; " is blank.  SalesOrderComboBoxValue items cannot be blank.")
            End If
        End If
    End Sub
End Class

Public Class SalesOrderComboBoxValueCollection
	Inherits JiwaFinancials.Jiwa.JiwaApplication.BusinessLogic.ListMaintenance(Of SalesOrderComboBoxValue)

	Public Overrides Sub Save()
		Dim weStartedTransaction As Boolean

		With JiwaApplication.Manager.Instance.Database
			Try
				If .SQLTransaction Is Nothing Then
					' flag that we created the transaction, so we know if we should be the ones to .commit or .rollback later.
					.BeginNewTransaction()
					weStartedTransaction = True
				End If

				OnSaveStart()

				MyBase.Save()

				OnSaveEnding()

				If weStartedTransaction Then
					.Commit()
				End If

				MyBase.OnSaved()

			Catch ex As System.Exception
				If weStartedTransaction AndAlso Not JiwaApplication.Manager.Instance.Database.SQLTransaction Is Nothing AndAlso Not JiwaApplication.Manager.Instance.Database.SQLTransaction.Connection Is Nothing Then
					JiwaApplication.Manager.Instance.Database.SQLTransaction.Rollback()
					JiwaApplication.Manager.Instance.Database.SQLTransaction.dispose()
					JiwaApplication.Manager.Instance.Database.SQLTransaction = Nothing
				End If
				Throw
			End Try
		End With
	End Sub

	Public Overrides Sub Read()
		Dim Sql As String
		Dim SQLReader As SqlDataReader = Nothing
		Dim SQLParam As SqlParameter = Nothing
		Dim oldReading As Boolean = Reading

		Try
			Reading = True
			Clear()

			With JiwaApplication.Manager.Instance.Database

				Sql = "SELECT RecID, Item, ItemData, ItemNo " &amp;
					  "FROM SO_ComboBoxValues " &amp;
					  "ORDER BY ItemNo "

				Using SQLCmd As SqlCommand = New SqlCommand(Sql, .SQLConnection, .SQLTransaction)

					SQLReader = SQLCmd.ExecuteReader()

					Do While SQLReader.Read = True
						Dim SalesOrderComboBoxValue As SalesOrderComboBoxValue = New SalesOrderComboBoxValue
						SalesOrderComboBoxValue.RecID = .Sanitise(SQLReader, "RecID")
						SalesOrderComboBoxValue.ItemNo = .Sanitise(SQLReader, "ItemNo")
						SalesOrderComboBoxValue.Item = .Sanitise(SQLReader, "Item")
						SalesOrderComboBoxValue.ItemData = .Sanitise(SQLReader, "ItemData")
						Add(SalesOrderComboBoxValue)
					Loop

					SQLReader.Close()
				End Using
			End With

			MyBase.OnRead()

		Finally
			Reading = oldReading

			If Not SQLReader Is Nothing Then
				SQLReader.Close()
			End If
		End Try
	End Sub

	Public Sub New()
		RecIDIsGUID = True
	End Sub
End Class


&lt;Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()&gt; _
Partial Class SalesOrderComboBoxConfiguration
    Inherits JiwaApplication.ListMaintenance.UserInterface(Of SalesOrderComboBoxValue, SalesOrderComboBoxValueCollection)

    'Form overrides dispose to clean up the component list.
    &lt;System.Diagnostics.DebuggerNonUserCode()&gt; _
    Protected Overrides Sub Dispose(ByVal disposing As Boolean)
        If disposing AndAlso components IsNot Nothing Then
            components.Dispose()
        End If
        MyBase.Dispose(disposing)
    End Sub

    'Required by the Windows Form Designer
    Private components As System.ComponentModel.IContainer

    'NOTE: The following procedure is required by the Windows Form Designer
    'It can be modified using the Windows Form Designer.  
    'Do not modify it using the code editor.
    &lt;System.Diagnostics.DebuggerStepThrough()&gt; _
    Private Sub InitializeComponent()
        CType(Me.UltraToolbarsManager1, System.ComponentModel.ISupportInitialize).BeginInit()
        Me.UserInterface_Fill_Panel.SuspendLayout()
        CType(Me.UltraStatusBar1, System.ComponentModel.ISupportInitialize).BeginInit()
        Me.SuspendLayout()
        '
        'UltraToolbarsManager1
        '
        Me.UltraToolbarsManager1.MenuSettings.ForceSerialization = True
        Me.UltraToolbarsManager1.Ribbon.FileMenuStyle = Infragistics.Win.UltraWinToolbars.FileMenuStyle.None
        Me.UltraToolbarsManager1.Ribbon.QuickAccessToolbar.Visible = False
        Me.UltraToolbarsManager1.Ribbon.Visible = True
        Me.UltraToolbarsManager1.ToolbarSettings.ForceSerialization = True
        '
        'UserInterface_Fill_Panel
        '
        Me.UserInterface_Fill_Panel.Location = New System.Drawing.Point(8, 150)
        Me.UserInterface_Fill_Panel.Size = New System.Drawing.Size(524, 287)
        '
        'UltraStatusBar1
        '
        Me.UltraStatusBar1.Location = New System.Drawing.Point(0, 437)
        Me.UltraStatusBar1.Size = New System.Drawing.Size(540, 23)
        '
        'SalesOrderComboBoxConfiguration
        '
        Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
        Me.ClientSize = New System.Drawing.Size(540, 460)
        Me.Name = "SalesOrderComboBoxConfiguration"
        Me.Text = "Sales Order ComboBox Configuration"
        CType(Me.UltraToolbarsManager1, System.ComponentModel.ISupportInitialize).EndInit()
        Me.UserInterface_Fill_Panel.ResumeLayout(False)
        CType(Me.UltraStatusBar1, System.ComponentModel.ISupportInitialize).EndInit()            
        Me.ResumeLayout(False)

    End Sub


#Region "Setup"
        Public Overrides Sub SetupBeforeHandlers()
            MyBase.SetupBeforeHandlers()
            Me.MdiParent = JiwaApplication.Manager.Instance.MDIParentForm            
        End Sub

        Public Overrides Sub Setup()
            AddHandlers()
            SetupForm()
        End Sub

        Public Overrides Sub AddHandlers()
            AddHandler grdLines.ButtonClicked, AddressOf grdLines_ButtonClicked
            AddHandler grdLines.Change, AddressOf grdLines_Change            
            MyBase.AddHandlers()
        End Sub

        Public Sub SetupForm()
            SetupWindow()
            SetupControls()
        End Sub

        Private Sub SetupControls()
            With grdLines
                .AddColumn("RecID", New JiwaApplication.JiwaManageGrid.JiwaTextCellType, "RecID", 0, True, False)
                .AddColumn("ItemNo", New FarPoint.Win.Spread.CellType.NumberCellType, "Item No.", 5)
                .AddColumn("Item", New JiwaApplication.JiwaManageGrid.JiwaTextCellType, "Item", 10, False, True, True, False, 50, False, False)
                .AddColumn("ItemData", New JiwaApplication.JiwaManageGrid.JiwaTextCellType, "Item Data", 10, False, True, True, False, 50, False, False)
                .AddColumn("Bin", New JiwaApplication.JiwaManageGrid.JiwaBinButtonCellType, "")
                .SetupComplete()
            End With
        End Sub
#End Region

#Region "Control Event Handlers"
        Private Sub grdLines_ButtonClicked(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.EditorNotifyEventArgs)
            Dim column As FarPoint.Win.Spread.Column = grdLines.ActiveSheet.Columns(e.Column)

            If column.Tag = "Bin" Then
                BusinessLogic.Remove(BusinessLogic(grdLines.GridText("RecID", e.Row)))
            End If
        End Sub

        Private Sub grdLines_Change(sender As Object, e As FarPoint.Win.Spread.ChangeEventArgs)
            Dim Key As String
            Dim ColID As String = grdLines.ActiveSheet.Columns(e.Column).Tag

            With grdLines
                If ColID = "ItemNo" Then
                    If e.Row = .ActiveSheet.RowCount - 1 Then
                        Dim newSalesOrderComboBoxValue As New SalesOrderComboBoxValue
                        newSalesOrderComboBoxValue.ItemNo = .GridText("ItemNo", e.Row)
                        BusinessLogic.Add(newSalesOrderComboBoxValue)
                    Else
                        Key = .GridText("RecID", e.Row)
                        BusinessLogic(Key).ItemNo = .GridText("ItemNo", e.Row)
                    End If
                ElseIf ColID = "Item" Then
                    If e.Row = .ActiveSheet.RowCount - 1 Then
                        Dim newSalesOrderComboBoxValue As New SalesOrderComboBoxValue
                        newSalesOrderComboBoxValue.Item = .GridText("Item", e.Row)
                        BusinessLogic.Add(newSalesOrderComboBoxValue)
                    Else
                        Key = .GridText("RecID", e.Row)
                        BusinessLogic(Key).Item = .GridText("Item", e.Row)
                    End If
                ElseIf ColID = "ItemData" Then
                    If e.Row = .ActiveSheet.RowCount - 1 Then
                        Dim newSalesOrderComboBoxValue As New SalesOrderComboBoxValue
                        newSalesOrderComboBoxValue.ItemData = .GridText("ItemData", e.Row)
                        BusinessLogic.Add(newSalesOrderComboBoxValue)
                    Else
                        Key = .GridText("RecID", e.Row)
                        BusinessLogic(Key).ItemData = .GridText("ItemData", e.Row)
                    End If
                End If
            End With
        End Sub
#End Region

#Region "Display"

        Public Overrides Sub DisplayLine(ByVal mySalesOrderComboBoxValue As SalesOrderComboBoxValue, Optional ByVal Row As Integer = -1)

            If Row = -1 Then
                For MyLoop As Integer = 0 To grdLines.ActiveSheet.Rows.Count - 1
                    If grdLines.GridText("RecID", MyLoop) = mySalesOrderComboBoxValue.RecID Then
                        Row = MyLoop
                        Exit For
                    End If
                Next MyLoop
            End If

            If Row &lt;&gt; -1 Then
                ' copy col header tag into each cell tag.
                For Each column As FarPoint.Win.Spread.Column In grdLines.ActiveSheet.Columns
                    grdLines.ActiveSheet.Cells(Row, column.Index).Tag = grdLines.ActiveSheet.ColumnHeader.Cells(1, column.Index).Tag
                Next

                grdLines.GridText("RecID", Row) = mySalesOrderComboBoxValue.RecID
                grdLines.GridText("ItemNo", Row) = mySalesOrderComboBoxValue.ItemNo
                grdLines.GridText("Item", Row) = mySalesOrderComboBoxValue.Item
                grdLines.GridText("ItemData", Row) = mySalesOrderComboBoxValue.ItemData

                grdLines.LockColumn(True, "RecID", Row)
                grdLines.LockColumn(False, "ItemNo", Row)
                grdLines.LockColumn(False, "Item", Row)
                grdLines.LockColumn(False, "ItemData", Row)
                grdLines.LockColumn(False, "Bin", Row)
            End If

        End Sub

#End Region
		
		
End Class	</Code>
  <ExceptionPolicy>Report</ExceptionPolicy>
  <Language>VisualBasic</Language>
  <ReferenceCollection>
    <Reference>
      <RecID>f8401516-1204-4872-9083-d8f9d3a39b6c</RecID>
      <AssemblyFullName>JiwaApplication, Version=7.0.175.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaApplication.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\JiwaApplication.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>37d3ef08-b176-4487-a96f-5703cc43b1ce</RecID>
      <AssemblyFullName>mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>mscorlib.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscorlib.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>258f8f8f-ac79-4508-83fe-23e68ef9b794</RecID>
      <AssemblyFullName>System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>System.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>251b206b-5dc7-4b4e-bf96-ce3fecfc5163</RecID>
      <AssemblyFullName>System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>System.Data.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\Microsoft.Net\assembly\GAC_32\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>ddceb0b4-8905-464c-908c-5a2fec35b4ad</RecID>
      <AssemblyFullName>JiwaODBC, Version=7.0.175.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaODBC.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\JiwaODBC.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>c46d59ec-ef98-4b5c-b72e-c69a7f8b1e97</RecID>
      <AssemblyFullName>System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>System.Xml.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>995ff320-433c-4320-90e2-5a7db8a5a9b4</RecID>
      <AssemblyFullName>System.Runtime.Serialization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>System.Runtime.Serialization.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Runtime.Serialization\v4.0_4.0.0.0__b77a5c561934e089\System.Runtime.Serialization.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>59051e58-cd6e-4665-8c9e-271035eab0ce</RecID>
      <AssemblyFullName>System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</AssemblyFullName>
      <AssemblyName>System.Drawing.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>ab8e1832-aa24-4a86-ac75-6e8262cff519</RecID>
      <AssemblyFullName>Microsoft.SqlServer.Smo, Version=13.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91</AssemblyFullName>
      <AssemblyName>Microsoft.SqlServer.Smo.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Microsoft.SqlServer.Smo.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>f1884835-a730-4968-b91d-6f5bc60d3b8d</RecID>
      <AssemblyFullName>Microsoft.SqlServer.ConnectionInfo, Version=13.100.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91</AssemblyFullName>
      <AssemblyName>Microsoft.SqlServer.ConnectionInfo.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Microsoft.SqlServer.ConnectionInfo.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>b8cb5f7a-e512-42e5-a323-02198cbd451d</RecID>
      <AssemblyFullName>System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>System.Windows.Forms.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>f6f0ab5a-ca6b-454a-8ff2-0fbb1191692d</RecID>
      <AssemblyFullName>Infragistics4.Win.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Infragistics4.Win.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>87a16aaa-92e0-46f1-b9f0-72d1c820922b</RecID>
      <AssemblyFullName>Microsoft.VisualBasic, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</AssemblyFullName>
      <AssemblyName>Microsoft.VisualBasic.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.VisualBasic\v4.0_10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>266d27cc-648b-4126-8a83-9c22c0f97b9e</RecID>
      <AssemblyFullName>Infragistics4.Win.Misc.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.Misc.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Infragistics4.Win.Misc.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>67090bd0-23cd-45be-b5ce-e4cb663684ec</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinEditors.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinEditors.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Infragistics4.Win.UltraWinEditors.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>747dcd04-7121-42b4-8c5f-ca32f459557b</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinExplorerBar.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinExplorerBar.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Infragistics4.Win.UltraWinExplorerBar.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>2cd9062e-fc88-4007-ba62-bca4fcde79d7</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinTree.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinTree.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Infragistics4.Win.UltraWinTree.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>deedf1c0-6cc6-4bec-8df9-387fb8ee1d60</RecID>
      <AssemblyFullName>FarPoint.Win.Spread, Version=8.35.20151.0, Culture=neutral, PublicKeyToken=327c3516b1b18457</AssemblyFullName>
      <AssemblyName>FarPoint.Win.Spread.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\FarPoint.Win.Spread.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>f86a60b7-c82c-4855-927f-aa871109d8f8</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinTabControl.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinTabControl.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Infragistics4.Win.UltraWinTabControl.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>15dc2424-036a-4847-b371-125dc22646ab</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinToolbars.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinToolbars.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Infragistics4.Win.UltraWinToolbars.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>5a468a17-865e-4ff8-9ef9-0dd5a6ee4cfc</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinStatusBar.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinStatusBar.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Infragistics4.Win.UltraWinStatusBar.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>fbd25246-6c2b-4e58-b763-5edfb0b94fc1</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinListView.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinListView.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Infragistics4.Win.UltraWinListView.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>50c1d62d-9226-4b43-87d8-dda63291f1d8</RecID>
      <AssemblyFullName>ActiproSoftware.SyntaxEditor.WinForms, Version=12.1.304.0, Culture=neutral, PublicKeyToken=c27e062d3c1a4763</AssemblyFullName>
      <AssemblyName>ActiproSoftware.SyntaxEditor.WinForms.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\ActiproSoftware.SyntaxEditor.WinForms.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>369bcf7f-080f-4032-99cc-a34053ab7c27</RecID>
      <AssemblyFullName>ZetaHtmlEditControl, Version=1.1.0.3, Culture=neutral, PublicKeyToken=2e2e5ba5da72b6c0</AssemblyFullName>
      <AssemblyName>ZetaHtmlEditControl.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\ZetaHtmlEditControl.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>4c0a71ff-0ee8-4796-acc3-1117a15ac929</RecID>
      <AssemblyFullName>ActiproSoftware.SyntaxEditor.Addons.DotNet.WinForms, Version=12.1.304.0, Culture=neutral, PublicKeyToken=c27e062d3c1a4763</AssemblyFullName>
      <AssemblyName>ActiproSoftware.SyntaxEditor.Addons.DotNet.WinForms.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\ActiproSoftware.SyntaxEditor.Addons.DotNet.WinForms.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>cf0e0512-5b4c-4a44-b45a-1986bd4e2a4c</RecID>
      <AssemblyFullName>JiwaEncryption, Version=7.0.175.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaEncryption.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\JiwaEncryption.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>3e47228d-a164-4ddf-8e84-d964253e7b18</RecID>
      <AssemblyFullName>Microsoft.Office.Interop.Outlook, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c</AssemblyFullName>
      <AssemblyName>Microsoft.Office.Interop.Outlook.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\assembly\GAC_MSIL\Microsoft.Office.Interop.Outlook\14.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Outlook.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>0442d602-ce96-481c-b1ac-7de6ff5e77de</RecID>
      <AssemblyFullName>Microsoft.SqlServer.Dac, Version=13.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</AssemblyFullName>
      <AssemblyName>Microsoft.SqlServer.Dac.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Microsoft.SqlServer.Dac.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>1c54fdb1-d802-47a6-af10-b84efea1fa41</RecID>
      <AssemblyFullName>CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304</AssemblyFullName>
      <AssemblyName>CrystalDecisions.CrystalReports.Engine.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\assembly\GAC_MSIL\CrystalDecisions.CrystalReports.Engine\13.0.2000.0__692fbea5521e1304\CrystalDecisions.CrystalReports.Engine.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>eeeb8416-eb83-4bec-b37f-643bad61fc0a</RecID>
      <AssemblyFullName>CrystalDecisions.Shared, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304</AssemblyFullName>
      <AssemblyName>CrystalDecisions.Shared.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\assembly\GAC_MSIL\CrystalDecisions.Shared\13.0.2000.0__692fbea5521e1304\CrystalDecisions.Shared.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>51e42b82-99b4-444b-84e9-2ed8392c6380</RecID>
      <AssemblyFullName>CrystalDecisions.ReportAppServer.Controllers, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304</AssemblyFullName>
      <AssemblyName>CrystalDecisions.ReportAppServer.Controllers.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.Controllers\13.0.2000.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.Controllers.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>fd4080c5-bec5-41e3-b3f6-8ddb919cdd50</RecID>
      <AssemblyFullName>System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>System.Core.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>802cd04a-cf3b-4680-aa68-8597db29798a</RecID>
      <AssemblyFullName>Infragistics4.Win.AppStylistSupport.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.AppStylistSupport.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Infragistics4.Win.AppStylistSupport.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>aaa3fe90-d0a5-476c-bc01-21b4a6fffbb9</RecID>
      <AssemblyFullName>JiwaLib, Version=7.0.175.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaLib.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\JiwaLib.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>660708bd-73ae-47b3-b93d-976791e4f175</RecID>
      <AssemblyFullName>CrystalDecisions.Windows.Forms, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304</AssemblyFullName>
      <AssemblyName>CrystalDecisions.Windows.Forms.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\assembly\GAC_MSIL\CrystalDecisions.Windows.Forms\13.0.2000.0__692fbea5521e1304\CrystalDecisions.Windows.Forms.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>d027379c-e92c-4a77-b861-f7985ecdef76</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinSchedule.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinSchedule.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Infragistics4.Win.UltraWinSchedule.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>0934e8bb-938c-40a7-94f2-54317c2f34fd</RecID>
      <AssemblyFullName>Infragistics4.Win.UltraWinGrid.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Win.UltraWinGrid.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Infragistics4.Win.UltraWinGrid.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>777def36-2cc5-4c54-854b-3c2277d3a61e</RecID>
      <AssemblyFullName>Infragistics4.Shared.v13.1, Version=13.1.20131.2060, Culture=neutral, PublicKeyToken=7dd5c3163f2cd0cb</AssemblyFullName>
      <AssemblyName>Infragistics4.Shared.v13.1.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\Infragistics4.Shared.v13.1.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>a3391771-c183-4083-bf8b-143318cd4419</RecID>
      <AssemblyFullName>ActiproSoftware.Shared.WinForms, Version=12.1.304.0, Culture=neutral, PublicKeyToken=c27e062d3c1a4763</AssemblyFullName>
      <AssemblyName>ActiproSoftware.Shared.WinForms.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\ActiproSoftware.Shared.WinForms.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>13424438-50aa-4d43-bde6-6a342b5d986b</RecID>
      <AssemblyFullName>FarPoint.Win, Version=8.35.20151.0, Culture=neutral, PublicKeyToken=327c3516b1b18457</AssemblyFullName>
      <AssemblyName>FarPoint.Win.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\FarPoint.Win.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>25a31de2-89d6-44b7-aabb-3410033122ff</RecID>
      <AssemblyFullName>System.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</AssemblyFullName>
      <AssemblyName>System.Security.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Security\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Security.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>7d5be2a3-97a6-4359-8257-59bb316f6d14</RecID>
      <AssemblyFullName>CrystalDecisions.ReportAppServer.ClientDoc, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304</AssemblyFullName>
      <AssemblyName>CrystalDecisions.ReportAppServer.ClientDoc.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.ClientDoc\13.0.2000.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.ClientDoc.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>8f9d4bbd-055b-4c23-8420-cf006efb4921</RecID>
      <AssemblyFullName>CrystalDecisions.ReportAppServer.ReportDefModel, Version=13.0.2000.0, Culture=neutral, PublicKeyToken=692fbea5521e1304</AssemblyFullName>
      <AssemblyName>CrystalDecisions.ReportAppServer.ReportDefModel.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\assembly\GAC_MSIL\CrystalDecisions.ReportAppServer.ReportDefModel\13.0.2000.0__692fbea5521e1304\CrystalDecisions.ReportAppServer.ReportDefModel.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>de7d268a-fa06-45e4-b3af-161f07c2b506</RecID>
      <AssemblyFullName>JiwaSalesUI, Version=7.0.175.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaSalesUI.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\JiwaSalesUI.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>286ce60d-0510-4eec-8a27-c92a9d7222a3</RecID>
      <AssemblyFullName>System.Xml.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</AssemblyFullName>
      <AssemblyName>System.Xml.Linq.dll</AssemblyName>
      <AssemblyLocation>C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>55874df8-3a35-4647-b449-fa598b967a6b</RecID>
      <AssemblyFullName>JiwaSales, Version=7.0.175.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaSales.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\JiwaSales.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>b26a6bbf-45d6-45e3-84f8-af4ee90c3f36</RecID>
      <AssemblyFullName>JiwaJobCosting, Version=7.0.175.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaJobCosting.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\JiwaJobCosting.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>7776df0c-3340-4ce4-83f4-4f1d2dd202a8</RecID>
      <AssemblyFullName>JiwaPriceSchemes, Version=7.0.175.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaPriceSchemes.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\JiwaPriceSchemes.dll</AssemblyLocation>
    </Reference>
    <Reference>
      <RecID>3513bfa4-7e95-4c81-a4da-b3477cff3bb9</RecID>
      <AssemblyFullName>JiwaSerialNumbersUI, Version=7.0.175.0, Culture=neutral, PublicKeyToken=e30ce81e37f29c8c</AssemblyFullName>
      <AssemblyName>JiwaSerialNumbersUI.dll</AssemblyName>
      <AssemblyLocation>C:\Program Files (x86)\Jiwa Financials\Jiwa 7\JiwaSerialNumbersUI.dll</AssemblyLocation>
    </Reference>
  </ReferenceCollection>
  <CustomFieldCollection>
    <CustomField>
      <RecID>4d42eb0d-e377-42fb-9d28-a7f0bd0c2863</RecID>
      <Name>Combobox sample</Name>
      <Description />
      <DisplayOrder>1</DisplayOrder>
      <CellType>Combo</CellType>
      <CustomFieldModule>Sales Order</CustomFieldModule>
    </CustomField>
  </CustomFieldCollection>
</JiwaDocument>