[原创]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
else97
{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
}


浙公网安备 33010602011771号