SVN-Revision: r788
This commit is contained in:
cyf
2025-06-26 08:29:36 +00:00
parent be57f317da
commit af98b128f0
6 changed files with 6966 additions and 6606 deletions
+21 -22
View File
@@ -28,7 +28,6 @@
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.ssc_main = new DevExpress.XtraEditors.SplitContainerControl();
this.ssc_main_top = new DevExpress.XtraEditors.SplitContainerControl();
this.pl_main = new DevExpress.XtraEditors.PanelControl();
@@ -41,7 +40,7 @@
this.pl_treeview_detault_search = new DevExpress.XtraEditors.PanelControl();
this.panelControl4 = new DevExpress.XtraEditors.PanelControl();
this.textEdit1 = new DevExpress.XtraEditors.TextEdit();
this.barManager1 = new DevExpress.XtraBars.BarManager(this.components);
this.barManager1 = new DevExpress.XtraBars.BarManager();
this.barDockControl1 = new DevExpress.XtraBars.BarDockControl();
this.barDockControl2 = new DevExpress.XtraBars.BarDockControl();
this.barDockControl3 = new DevExpress.XtraBars.BarDockControl();
@@ -74,11 +73,11 @@
this.rdRed = new System.Windows.Forms.RadioButton();
this.pl_blue = new DevExpress.XtraEditors.PanelControl();
this.rdBlue = new System.Windows.Forms.RadioButton();
this.pMprint = new DevExpress.XtraBars.PopupMenu(this.components);
this.pmFP = new DevExpress.XtraBars.PopupMenu(this.components);
this.pmBillExp = new DevExpress.XtraBars.PopupMenu(this.components);
this.pmBill = new DevExpress.XtraBars.PopupMenu(this.components);
this.pMenu = new DevExpress.XtraBars.PopupMenu(this.components);
this.pMprint = new DevExpress.XtraBars.PopupMenu();
this.pmFP = new DevExpress.XtraBars.PopupMenu();
this.pmBillExp = new DevExpress.XtraBars.PopupMenu();
this.pmBill = new DevExpress.XtraBars.PopupMenu();
this.pMenu = new DevExpress.XtraBars.PopupMenu();
this.backgroundWorker1 = new System.ComponentModel.BackgroundWorker();
this.backgroundWorker2 = new System.ComponentModel.BackgroundWorker();
((System.ComponentModel.ISupportInitialize)(this.ssc_main)).BeginInit();
@@ -388,11 +387,11 @@
//
this.btnPrint.AllowFocus = false;
this.btnPrint.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnPrint.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnPrint.Appearance.Font = new System.Drawing.Font("宋体", 10F);
this.btnPrint.Appearance.Options.UseFont = true;
this.btnPrint.Location = new System.Drawing.Point(1424, 11);
this.btnPrint.Location = new System.Drawing.Point(1418, 11);
this.btnPrint.Name = "btnPrint";
this.btnPrint.Size = new System.Drawing.Size(67, 45);
this.btnPrint.Size = new System.Drawing.Size(80, 40);
this.btnPrint.TabIndex = 30;
this.btnPrint.Text = "打印单据";
this.btnPrint.Click += new System.EventHandler(this.btnPrint_Click);
@@ -491,11 +490,11 @@
//
this.btnBillAdd.AllowFocus = false;
this.btnBillAdd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnBillAdd.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnBillAdd.Appearance.Font = new System.Drawing.Font("宋体", 10F);
this.btnBillAdd.Appearance.Options.UseFont = true;
this.btnBillAdd.Location = new System.Drawing.Point(1136, 11);
this.btnBillAdd.Location = new System.Drawing.Point(1074, 11);
this.btnBillAdd.Name = "btnBillAdd";
this.btnBillAdd.Size = new System.Drawing.Size(67, 45);
this.btnBillAdd.Size = new System.Drawing.Size(80, 40);
this.btnBillAdd.TabIndex = 19;
this.btnBillAdd.Text = "新建单据";
this.btnBillAdd.Click += new System.EventHandler(this.OnBillAddClick);
@@ -504,11 +503,11 @@
//
this.btnBillApply.AllowFocus = false;
this.btnBillApply.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnBillApply.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnBillApply.Appearance.Font = new System.Drawing.Font("宋体", 10F);
this.btnBillApply.Appearance.Options.UseFont = true;
this.btnBillApply.Location = new System.Drawing.Point(1352, 11);
this.btnBillApply.Location = new System.Drawing.Point(1332, 11);
this.btnBillApply.Name = "btnBillApply";
this.btnBillApply.Size = new System.Drawing.Size(67, 45);
this.btnBillApply.Size = new System.Drawing.Size(80, 40);
this.btnBillApply.TabIndex = 25;
this.btnBillApply.Text = "提交单据";
this.btnBillApply.Click += new System.EventHandler(this.OnBillApplyClick);
@@ -517,11 +516,11 @@
//
this.btnDelete.AllowFocus = false;
this.btnDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnDelete.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnDelete.Appearance.Font = new System.Drawing.Font("宋体", 10F);
this.btnDelete.Appearance.Options.UseFont = true;
this.btnDelete.Location = new System.Drawing.Point(1208, 11);
this.btnDelete.Location = new System.Drawing.Point(1160, 11);
this.btnDelete.Name = "btnDelete";
this.btnDelete.Size = new System.Drawing.Size(67, 45);
this.btnDelete.Size = new System.Drawing.Size(80, 40);
this.btnDelete.TabIndex = 20;
this.btnDelete.Text = "删除记录";
this.btnDelete.Click += new System.EventHandler(this.OnDeleteClick);
@@ -530,11 +529,11 @@
//
this.btnBillSave.AllowFocus = false;
this.btnBillSave.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnBillSave.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnBillSave.Appearance.Font = new System.Drawing.Font("宋体", 10F);
this.btnBillSave.Appearance.Options.UseFont = true;
this.btnBillSave.Location = new System.Drawing.Point(1280, 11);
this.btnBillSave.Location = new System.Drawing.Point(1246, 11);
this.btnBillSave.Name = "btnBillSave";
this.btnBillSave.Size = new System.Drawing.Size(67, 45);
this.btnBillSave.Size = new System.Drawing.Size(80, 40);
this.btnBillSave.TabIndex = 21;
this.btnBillSave.Text = "保存单据";
this.btnBillSave.Click += new System.EventHandler(this.OnBillSaveClick);
+141 -33
View File
@@ -426,8 +426,8 @@ namespace Lskj.PubBillSpecial
#region InitializeBillInfo初始化单据控件信息
Task<DataTable> controlLocationTask = cachesDic.AddTask(this, "ControlLocation", new Task<DataTable>(() =>
{
DataTable dataTable= BaseModuleImpl.GetControlLocation(billModel.FormKey, dynamicModel.ModuleCode);
if (billModel.CenterMain) dataTable = this.SetControlMargins(dataTable);
DataTable dataTable = BaseModuleImpl.GetControlLocation(billModel.FormKey, dynamicModel.ModuleCode);
//if (billModel.CenterMain) dataTable = this.SetControlMargins(dataTable);
return dataTable;
}));
Task<MyControl> controlObjTask = cachesDic.AddTask(this, "ControlObj", new Task<MyControl>(() =>
@@ -778,10 +778,10 @@ namespace Lskj.PubBillSpecial
}
}
if ((rowItem["orderid"]+"").Equals("999"))
if ((rowItem["orderid"] + "").Equals("999"))
{
string ModuleCode = model.DllParam2;
FrmSource frmSource = new FrmSource(ModuleCode,SysModel, model.MaxWindow);
FrmSource frmSource = new FrmSource(ModuleCode, SysModel, model.MaxWindow);
frmSource.PrimaryKey = this.BillModel.PrimaryKey;
frmSource.Text = model.MenuName;
if (frmSource.ShowDialog() == DialogResult.OK)
@@ -828,7 +828,7 @@ namespace Lskj.PubBillSpecial
if (!dataCaches.GetValue(this, "ControlLocation", out DataTable controls))
{
controls = BaseModuleImpl.GetControlLocation(this.BillModel.FormKey, this.SysModel.ModuleCode);
if(this.BillModel.CenterMain) controls = this.SetControlMargins(controls);
//if (this.BillModel.CenterMain) controls = this.SetControlMargins(controls);
}
if (!dataCaches.GetValue(this, "AddGroupData", out DataTable groups))
{
@@ -6413,21 +6413,6 @@ namespace Lskj.PubBillSpecial
MessageUtil.Show("扫码长度过长,请重新扫码");
return;
}
int Quantity = 0;
FrmAdd frmAdd = new FrmAdd();
if (frmAdd.ShowDialog() == DialogResult.OK)
{
Quantity = frmAdd.Quantity;
}
else
{
textEdit.EditValue = "";
textEdit.Focus();
return;
}
//获取选中行
DataRow MainRowItem = gcMain.GridView.GetFocusedDataRow();
@@ -6435,28 +6420,139 @@ namespace Lskj.PubBillSpecial
{
MainRowItem = gcMain.GridControl.DataSourceTable().NewRow();
}
//获取红蓝单据
string DocumentColor = this.rdBlue.Checked ? "0" : this.rdRed.Checked ? "1" : "";
//数量,默认为1
int Quantity = 1;
/*
A:
B;1
C:sql结果1
this.BillModel.ScanCodeFixedPrefix为条码前缀B
*/
string Type = string.Empty;
if (!string.IsNullOrWhiteSpace(this.BillModel.ScanCodeFixedPrefix) && inputText.StartsWith(this.BillModel.ScanCodeFixedPrefix))
{
Type = "B";
}
else
{
string Sql = string.Format("select line_str from wms_ScanCodeLinetab a where modid='{0}' and hl_tig='{1}'", this.SysModel.ModuleCode, DocumentColor);
Type = SqlHelper.ExecuteScalar(Sql) + "";
if (string.IsNullOrWhiteSpace(Type))
{
MessageUtil.Show("扫码配置错误,请联系朗速服务人员");
return;
}
}
switch (Type.ToUpper())
{
case "A":
FrmAdd frmAdd = new FrmAdd();
if (frmAdd.ShowDialog() == DialogResult.OK)
{
Quantity = frmAdd.Quantity;
}
else
{
textEdit.EditValue = "";
textEdit.Focus();
return;
}
this.ExecuteWcanningSQL(MainRowItem, Quantity+"", DocumentColor, inputText);
break;
case "B":
this.ExecuteWcanningSQL(MainRowItem, Quantity + "", DocumentColor, inputText);
break;
case "C":
if (!string.IsNullOrWhiteSpace(this.BillModel.ScanCodeModuleCode))
{
//根据传入的模块号获取模块信息
DataRow modelRow = MainImpl.GetSystemdllTab(this.BillModel.ScanCodeModuleCode);//获取模块信息
if (modelRow == null)
{
MessageUtil.Show("模块编号[" + this.BillModel.ScanCodeModuleCode + "],配置错误!\r\n该模块信息未找到!");
return;
}
if (modelRow.Table.Columns.Contains("countSql") && !string.IsNullOrWhiteSpace(modelRow["countSql"] + ""))
{
string sql = modelRow["countSql"] + "";
sql = ReplaceHelper.ReplaceParamToValue(sql, "{value}", inputText);
string num = SqlHelper.ExecuteScalar(sql) + "";
num = this.IsNumberic(num) ? num : "0";
if (int.Parse(num) == 0)
{
MessageUtil.Show("未检测到扫码信息存在,请检查相应前序业务!");
}
else if (int.Parse(num) == 1)
{
this.ExecuteWcanningSQL(MainRowItem, Quantity + "", DocumentColor, inputText);
}
else if (int.Parse(num) > 1)
{
FrmScanCodeAssociation frmScanCodeAssociation = new FrmScanCodeAssociation(modelRow, inputText);
if (frmScanCodeAssociation.ShowDialog() == DialogResult.OK)
{
string Codes = frmScanCodeAssociation.StringCodes;
this.ExecuteWcanningSQL(MainRowItem, Quantity + "", DocumentColor, Codes);
}
else
{
textEdit.EditValue = "";
textEdit.Focus();
return;
}
}
}
}
break;
}
}
textEdit.EditValue = "";
textEdit.Focus();
}
}
/// <summary>
///
/// </summary>
/// <param name="MainRowItem">明细选中行</param>
///<param name="Quantity">数量</param>
///<param name="DocumentColor">红蓝单据字段</param>
///<param name="Codes">串码,多个用;隔开</param>
public void ExecuteWcanningSQL(DataRow MainRowItem, string Quantity, string DocumentColor,string Codes)
{
int j = 0;
foreach (string code in Codes.TrimEnd(';').Split(';'))
{
if (string.IsNullOrWhiteSpace(code)) continue;
List<string> Parameter = this.BillModel.CodeExecuteParameter.Split(',').ToList();
for (int i = 0; i < Parameter.Count; i++)
{
string item = Parameter[i];
if (item.Contains("{DocumentColor}"))
{
string DocumentColor = this.rdBlue.Checked ? "0" : this.rdRed.Checked ? "1" : "";
item = ReplaceHelper.ReplaceParamToValue(item, "{DocumentColor}", DocumentColor);
}
if (item.Contains("{amount}"))
{
item = Quantity+"";
item = Quantity + "";
}
//替换单据号 {wms_mouts_billdocument_id}
//替换单据号
item = ReplaceHelper.ReplaceParamToValue(item, "{" + this.BillModel.PrimaryKey + "}", this.lblOrderNo.Text);
//替换选中行(没有就传空)
item = ReplaceHelper.ReplaceRowParam(MainRowItem, item);
//替换扫码内容
item = ReplaceHelper.ReplaceParamToValue(item, "{value}", inputText);
item = ReplaceHelper.ReplaceParamToValue(item, "{value}", code);
Parameter[i] = item;
}
@@ -6465,7 +6561,6 @@ namespace Lskj.PubBillSpecial
List<SqlParameter> sqlParamList = new List<SqlParameter>();
string[] paramStr = procParams[0].Replace("{", "").Replace("}", "").Split(',');
SqlParameter pMsg = new SqlParameter("@msg", SqlDbType.VarChar, 2000);
//SqlParameter pMaount = new SqlParameter("@maount", SqlDbType.Int);
for (int i = 0; i < paramStr.Length; i++)
{
@@ -6513,8 +6608,12 @@ namespace Lskj.PubBillSpecial
if (string.IsNullOrWhiteSpace(varchar))
{
//刷新当前单据
if (j == Codes.TrimEnd(';').Split(';').Length - 1 )
{
this.SetBillStatus(BillImpl.GetDataRowResult(string.Format("select * from {0} where {1}='{2}'", BillModel.MasterTable, BillModel.PrimaryKey, this.lblOrderNo.Text)));
}
}
else
{
//刷新返回的单据号
@@ -6526,13 +6625,12 @@ namespace Lskj.PubBillSpecial
MessageUtil.Show(ResourceKeys.OperFault + "\n" + pMsg.Value);
break;
}
j++;
}
}
textEdit.EditValue = "";
textEdit.Focus();
}
}
/// <summary>
/// 设置辅助功能按钮状态
@@ -6549,10 +6647,10 @@ namespace Lskj.PubBillSpecial
if (dr != null && dr.Table.Columns.Contains("menuCond"))
{
string menuCond = dr["menuCond"] + "";
if (!string.IsNullOrWhiteSpace(menuCond)&&rowItem == null)
if (!string.IsNullOrWhiteSpace(menuCond) && rowItem == null)
{
//menuCond = "'{wms_louts_Billdocument_Id}'<>''";
menuCond =ReplaceHelper.ReplaceParamToValue(menuCond, "{" + this.BillModel.PrimaryKey + "}", this.lblOrderNo.Text);
menuCond = ReplaceHelper.ReplaceParamToValue(menuCond, "{" + this.BillModel.PrimaryKey + "}", this.lblOrderNo.Text);
}
button.Enabled = ValidateCond(menuCond, rowItem);
//button.Enabled = true;
@@ -6581,4 +6679,14 @@ namespace Lskj.PubBillSpecial
{
// 尝试解析 controlLeft 和 controlWidth
if (int.TryParse(row["controlLeft"].ToString(), out int left) &&
int.TryPars
int.TryParse(row["controlWidth"].ToString(), out int width))
{
if (left < minLeft)
{
minLeft = left;
}
int rightEdge = left + width;
if (rightEdge > maxRightEdge)
{
maxRightEdge = rightEdge;
}
@@ -0,0 +1,74 @@
namespace Lskj.PubBillSpecial
{
partial class FrmScanCodeAssociation
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.plm_bottom = new DevExpress.XtraEditors.PanelControl();
this.simpleButton1 = new DevExpress.XtraEditors.SimpleButton();
this.gcMain = new Lskj.Control.GridControlEx();
((System.ComponentModel.ISupportInitialize)(this.plm_bottom)).BeginInit();
this.plm_bottom.SuspendLayout();
this.SuspendLayout();
//
// plm_bottom
//
this.plm_bottom.Controls.Add(this.simpleButton1);
this.plm_bottom.Dock = System.Windows.Forms.DockStyle.Bottom;
this.plm_bottom.Location = new System.Drawing.Point(0, 410);
this.plm_bottom.Margin = new System.Windows.Forms.Padding(4);
this.plm_bottom.Name = "plm_bottom";
this.plm_bottom.Size = new System.Drawing.Size(800, 40);
this.plm_bottom.TabIndex = 18;
//
// simpleButton1
//
this.simpleButton1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.simpleButton1.Appearance.Font = new System.Drawing.Font("宋体", 9F);
this.simpleButton1.Appearance.Options.UseFont = true;
this.simpleButton1.Location = new System.Drawing.Point(696, 6);
this.simpleButton1.Margin = new System.Windows.Forms.Padding(4);
this.simpleButton1.Name = "simpleButton1";
this.simpleButton1.Size = new System.Drawing.Size(90, 30);
this.simpleButton1.TabIndex = 41;
this.simpleButton1.Text = "确定";
this.simpleButton1.Click += new System.EventHandler(this.simpleButton1_Click);
//
// gcMain
//
this.gcMain.AdapterObj = null;
this.gcMain.BackColor = System.Drawing.Color.Transparent;
this.gcMain.Dock = System.Windows.Forms.DockStyle.Fill;
this.gcMain.Location = new System.Drawing.Point(0, 0);
this.gcMain.Margin = new System.Windows.Forms.Padding(5);
this.gcMain.Name = "gcMain";
this.gcMain.SiftEnumObj = Lskj.Control.GridControlEx.HeaderSiftEnum.Sum;
this.gcMain.Size = new System.Drawing.Size(800, 410);
this.gcMain.TabIndex = 21;
//
// FrmScanC
@@ -0,0 +1,50 @@
using Lskj.Business.Impl;
using Lskj.Control;
using Lskj.Control.Model;
using Lskj.Model;
using Lskj.Util;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace Lskj.PubBillSpecial
{
public partial class FrmScanCodeAssociation : BaseForm
{
/// <summary>
/// 系统模块实体对象
/// </summary>
/// <value>The system model.</value>
public ModuleModel SysModel { get; private set; }
/// <summary>
///主表条件控件
/// </summary>
public MyControl SearchMainObj;
/// <summary>
///扫码内容
/// </summary>
public string ScanCodeData;
/// <summary>
//选中的串码
/// </summary>
public string StringCodes;
public FrmScanCodeAssociation()
{
InitializeComponent();
}
public FrmScanCodeAssociation(DataRow modelRow, string scanCodeData)
{
InitializeComponent();
this.ScanCodeData = scanCodeData;
//根据传入的模块号获取模块信息
this.SysModel = new ModuleModel(modelRow);
DataTable mainGridColumns = BaseModuleImpl.GetBaseGridColumns(this.SysModel.ModeCode);
this.gcMain.SetReadOnlyColu
@@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -102,6 +102,12 @@
<Compile Include="FrmBomSelect.Designer.cs">
<DependentUpon>FrmBomSelect.cs</DependentUpon>
</Compile>
<Compile Include="FrmScanCodeAssociation.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FrmScanCodeAssociation.Designer.cs">
<DependentUpon>FrmScanCodeAssociation.cs</DependentUpon>
</Compile>
<Compile Include="FrmSource.cs">
<SubType>Form</SubType>
</Compile>
@@ -135,6 +141,9 @@
<EmbeddedResource Include="FrmMain.resx">
<DependentUpon>FrmMain.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FrmScanCodeAssociation.resx">
<DependentUpon>FrmScanCodeAssociation.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="FrmSource.resx">
<DependentUpon>FrmSource.cs</DependentUpon>
</EmbeddedResource>