[原创]SBO销售交货转A/R发票中间处理(部分代码).....郁闷~总算忙完了....MD

总算忙完了,MD......又一个晚上没睡好.哎~~ 睡觉了.
.....................................................
写入A/R发票单据Code


 17
 18 oForm  =  globals.SBO_Application.Forms.Item(pVal.FormUID);
 19                         oMatrix  =  (SAPbouiCOM.Matrix)(oForm.Items.Item( " mtx " ).Specific);
 20
 21                          string  oCardCode  =  ((SAPbouiCOM.EditText)(oForm.Items.Item( " cc " ).Specific)).String;
 22                         DateTime oDocDate  =  DateTime.Parse(((SAPbouiCOM.EditText)(oForm.Items.Item( " td " ).Specific)).String);
 23                         DateTime oDocDueDate  =  DateTime.Parse(((SAPbouiCOM.EditText)(oForm.Items.Item( " ddd " ).Specific)).String);
 24
 25                         SAPbobsCOM.Documents oINV;
 26                         oINV  =  (SAPbobsCOM.Documents)(globals.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oInvoices));
 27                         oINV.CardCode  =  oCardCode;
 28                         oINV.DocDate  =  oDocDate;
 29                         oINV.DocDueDate  =  oDocDueDate;
 30
 31                          for  ( int  i  =   0 ; i  <  oMatrix.RowCount; i ++ )
 32                          {
 33                            if (i > 0)
 34                            {
 35                                oINV.Lines.Add();
 36                            }

 37                            oINV.Lines.BaseEntry = Convert.ToInt32(((SAPbouiCOM.EditText)(oMatrix.Columns.Item("mod").Cells.Item(i + 1).Specific)).String);
 38                            oINV.Lines.BaseLine = Convert.ToInt32(((SAPbouiCOM.EditText)(oMatrix.Columns.Item("modl").Cells.Item(i + 1).Specific)).String);
 39                            oINV.Lines.BaseType = Convert.ToInt32(SAPbobsCOM.BoObjectTypes.oDeliveryNotes);
 40
 41                            oINV.Lines.ItemCode = ((SAPbouiCOM.EditText)(oMatrix.Columns.Item("mic").Cells.Item(i + 1).Specific)).String;
 42                            oINV.Lines.Quantity = Convert.ToDouble(((SAPbouiCOM.EditText)(oMatrix.Columns.Item("mqty").Cells.Item(i + 1).Specific)).String);
 43                            oINV.Lines.PriceAfterVAT = Convert.ToDouble(((SAPbouiCOM.EditText)(oMatrix.Columns.Item("mvt").Cells.Item(i + 1).Specific)).String);
 44                            oINV.Lines.VatGroup = ((SAPbouiCOM.ComboBox)(oMatrix.Columns.Item("mvg").Cells.Item(i + 1).Specific)).Selected.Value;
 45                            oINV.Lines.Currency = ((SAPbouiCOM.EditText)(oMatrix.Columns.Item("mce").Cells.Item(i + 1).Specific)).String;
 46
 47                            oINV.Lines.UserFields.Fields.Item("U_BATCH").Value = ((SAPbouiCOM.EditText)(oMatrix.Columns.Item("m5").Cells.Item(i + 1).Specific)).String;
 48                            
 49                            oRecordset = (SAPbobsCOM.Recordset)(globals.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset));
 50                            string SQL_ORTT = "SELECT * FROM ORTT WHERE RateDate='" + ((SAPbouiCOM.EditText)(oForm.Items.Item("td").Specific)).String + "' AND Currency='" + ((SAPbouiCOM.EditText)(oMatrix.Columns.Item("mce").Cells.Item(i + 1).Specific)).String + "'";
 51                            oRecordset.DoQuery(SQL_ORTT);
 52                            oRecordset.MoveFirst(); 
 53                            oINV.Lines.Rate = Convert.ToDouble(oRecordset.Fields.Item("Rate").Value);
 54                            oINV.Lines.LineTotal = Convert.ToDouble(((SAPbouiCOM.EditText)(oMatrix.Columns.Item("mt").Cells.Item(i + 1).Specific)).String);
 55
 56                            /**/////添加行運費
 57                            for (int j = 1; j < 4; j++)
 58                            {
 59                                if (((SAPbouiCOM.ComboBox)(oMatrix.Columns.Item("f" + j.ToString() + "0").Cells.Item(i + 1).Specific)).Selected != null)
 60                                {
 61                                    int oExpenseCode = Convert.ToInt32(((SAPbouiCOM.ComboBox)(oMatrix.Columns.Item("f" + j.ToString() + "0").Cells.Item(i + 1).Specific)).Selected.Value);
 62                                    double oLineTotal = Convert.ToDouble(((SAPbouiCOM.EditText)(oMatrix.Columns.Item("f" + j.ToString() + "1").Cells.Item(i + 1).Specific)).String);
 63                                    string oVatGroup = ((SAPbouiCOM.ComboBox)(oMatrix.Columns.Item("f" + j.ToString() + "2").Cells.Item(i + 1).Specific)).Selected.Value;
 64
 65                                    if (i > 1)
 66                                    {
 67                                        oINV.Lines.Expenses.Add();
 68                                    }

 69                                    oINV.Lines.Expenses.ExpenseCode = oExpenseCode;
 70                                    oINV.Lines.Expenses.LineTotal = oLineTotal;
 71                                    oINV.Lines.Expenses.VatGroup = oVatGroup;
 72                                }

 73                            }

 74                            
 75                        }

 76
 77                          // 添加主運費
 78                          for  ( int  i  =   0 ; i  <  oForm.DataSources.DBDataSources.Item( " @INC3 " ).Size; i ++ )
 79                          {
 80                            if (i > 0)
 81                            {
 82                                oINV.Expenses.Add();
 83                            }

 84                            oINV.Expenses.ExpenseCode = Convert.ToInt32(oForm.DataSources.DBDataSources.Item("@INC3").GetValue("U_ExpnsCode", i));
 85                            oINV.Expenses.LineTotal = Convert.ToDouble(oForm.DataSources.DBDataSources.Item("@INC3").GetValue("U_LineTotal", i));
 86                            oINV.Expenses.VatGroup = oForm.DataSources.DBDataSources.Item("@INC3").GetValue("U_VatGroup", i);
 87                            oINV.Expenses.Remarks = oForm.DataSources.DBDataSources.Item("@INC3").GetValue("U_Comments", i);
 88                        }

 89
 90                         
 91                          int  val = oINV.Add();
 92                          if  (val  ==   0 )
 93                          {
 94                            globals.SBO_Application.SetStatusBarMessage("添加成功", SAPbouiCOM.BoMessageTime.bmt_Short, false);
 95                        }

 96                          else
 97                          {
 98                            //int err = globals.oCompany.GetLastErrorCode();
 99                            globals.oCompany.GetLastError(out globals.lErrCode, out globals.sErrMsg);
100                            globals.SBO_Application.SetStatusBarMessage("添加失敗" + globals.sErrMsg, SAPbouiCOM.BoMessageTime.bmt_Short, true);
101                        }

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值