[原创]按料号调用生产订单发货(部分代码)

郁闷!周末都在赶工,太累了!
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(00));
                                valItemName 
= System.Convert.ToString(oDataTable.GetValue(10));
                                
//給窗體所有控件賦值
                                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
++;
                            }

                        }

                    }

 

 

posted @ 2008-01-13 21:11  E.L.---黑者如斯夫,不舍昼夜......  阅读(773)  评论(0编辑  收藏  举报