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

郁闷!周末都在赶工,太累了!
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
++;
                            }

                        }

                    }

 

 

转载于:https://www.cnblogs.com/el-net/articles/1037333.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值