郁闷!周末都在赶工,太累了!
1.调用料号清单
if
(pVal.EventType
==
SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST)
{
SAPbouiCOM.IChooseFromListEvent oCFLEvento = null;
oCFLEvento = ((SAPbouiCOM.IChooseFromListEvent)(pVal));
string sCFL_ID = null;
sCFL_ID = oCFLEvento.ChooseFromListUID; //获取当前ChooseFromListUID
oForm = null;
oForm = SBO_Application.Forms.Item(FormUID);//获取当前窗体(FormUID)
SAPbouiCOM.ChooseFromList oCFL = null;
oCFL = oForm.ChooseFromLists.Item(sCFL_ID);//获取指定ChooseFromList
//************************************
//Items ChooseFormList ObjectType=4
//**********************************
if ((oCFLEvento.BeforeAction == false) & (oCFL.UniqueID == "its"))
{
SAPbouiCOM.DataTable oDataTable = null;
oDataTable = oCFLEvento.SelectedObjects;
if (oDataTable != null)
{
try
{
string valItemCode = null;
string valItemName = null;
valItemCode = System.Convert.ToString(oDataTable.GetValue(0, 0));
valItemName = System.Convert.ToString(oDataTable.GetValue(1, 0));
//給窗體所有控件賦值
if (pVal.ItemUID == "dsic")
{
//赋值
}
}
}
catch (Exception ex)
{
SBO_Application.MessageBox(ex.ToString(), 1, "OK", "", "");
}
}
}
}
{
SAPbouiCOM.IChooseFromListEvent oCFLEvento = null;
oCFLEvento = ((SAPbouiCOM.IChooseFromListEvent)(pVal));
string sCFL_ID = null;
sCFL_ID = oCFLEvento.ChooseFromListUID; //获取当前ChooseFromListUID
oForm = null;
oForm = SBO_Application.Forms.Item(FormUID);//获取当前窗体(FormUID)
SAPbouiCOM.ChooseFromList oCFL = null;
oCFL = oForm.ChooseFromLists.Item(sCFL_ID);//获取指定ChooseFromList
//************************************
//Items ChooseFormList ObjectType=4
//**********************************
if ((oCFLEvento.BeforeAction == false) & (oCFL.UniqueID == "its"))
{
SAPbouiCOM.DataTable oDataTable = null;
oDataTable = oCFLEvento.SelectedObjects;
if (oDataTable != null)
{
try
{
string valItemCode = null;
string valItemName = null;
valItemCode = System.Convert.ToString(oDataTable.GetValue(0, 0));
valItemName = System.Convert.ToString(oDataTable.GetValue(1, 0));
//給窗體所有控件賦值
if (pVal.ItemUID == "dsic")
{
//赋值
}
}
}
catch (Exception ex)
{
SBO_Application.MessageBox(ex.ToString(), 1, "OK", "", "");
}
}
}
}
2.发货处理,调用DI API (Document oInventoryGenExit 生产发货)处理
oForm
=
SBO_Application.Forms.Item(FormUID);
//
获取当前窗体(FormUID)
oMatrix = ((SAPbouiCOM.Matrix)(oForm.Items.Item( " mtx " ).Specific));
if (oMatrix.RowCount > 0 )
{
oInventoryGenExit = ((SAPbobsCOM.Documents)(oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInventoryGenExit)));
int j = 0;
for (int i=1; i < oMatrix.RowCount; i++)
{
if (((SAPbouiCOM.CheckBox)(oMatrix.Columns.Item("YNChkBox").Cells.Item(i).Specific)).Checked == true)
{//添加生產發貨主檔信息
oInventoryGenExit.DocDate = System.DateTime.Now.AddDays(2); //過賬日期
oInventoryGenExit.DocDueDate = System.DateTime.Now;
//基礎文件號
oInventoryGenExit.Lines.BaseEntry = ((SAPbouiCOM.EditText)(oMatrix.Columns.Item("DSDocNum").Cells.Item(i).Specific)).String;
//oInventoryGenExit.Lines.SerialNum = "22317";
oInventoryGenExit.Lines.LineNum = 1 //行號
//Production order 基礎憑證類型
oInventoryGenExit.Lines.BaseType = 202;
oInventoryGenExit.Lines.WarehouseCode = “ON02"//倉庫代碼(項目成本)
//發貨數量
oInventoryGenExit.Lines.Quantity =100.00
if (j > 0)
{
oInventoryGenExit.Lines.SetCurrentLine(j);
}
oInventoryGenExit.Lines.Add();
if (val != 0)
{
oCompany.GetLastError(out ErrCode, out ErrMsg);
}
else
{
SBO_Application.MessageBox("OK", 1, "OK", "", "");
}
j++;
}
}
}
oMatrix = ((SAPbouiCOM.Matrix)(oForm.Items.Item( " mtx " ).Specific));
if (oMatrix.RowCount > 0 )
{
oInventoryGenExit = ((SAPbobsCOM.Documents)(oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInventoryGenExit)));
int j = 0;
for (int i=1; i < oMatrix.RowCount; i++)
{
if (((SAPbouiCOM.CheckBox)(oMatrix.Columns.Item("YNChkBox").Cells.Item(i).Specific)).Checked == true)
{//添加生產發貨主檔信息
oInventoryGenExit.DocDate = System.DateTime.Now.AddDays(2); //過賬日期
oInventoryGenExit.DocDueDate = System.DateTime.Now;
//基礎文件號
oInventoryGenExit.Lines.BaseEntry = ((SAPbouiCOM.EditText)(oMatrix.Columns.Item("DSDocNum").Cells.Item(i).Specific)).String;
//oInventoryGenExit.Lines.SerialNum = "22317";
oInventoryGenExit.Lines.LineNum = 1 //行號
//Production order 基礎憑證類型
oInventoryGenExit.Lines.BaseType = 202;
oInventoryGenExit.Lines.WarehouseCode = “ON02"//倉庫代碼(項目成本)
//發貨數量
oInventoryGenExit.Lines.Quantity =100.00
if (j > 0)
{
oInventoryGenExit.Lines.SetCurrentLine(j);
}
oInventoryGenExit.Lines.Add();
if (val != 0)
{
oCompany.GetLastError(out ErrCode, out ErrMsg);
}
else
{
SBO_Application.MessageBox("OK", 1, "OK", "", "");
}
j++;
}
}
}