private string Copy_Project(int pProjectNo) { string New_ProjectNo = "-1"; //Get Project Info through DI API Recordset oR_Project_Info = (Recordset)oCompany.GetBusinessObject(BoObjectTypes.BoRecordset); string str_sql = string.Format("Select * from OPMG where AbsEntry={0}", pProjectNo.ToString()); oR_Project_Info.DoQuery(str_sql); if (oR_Project_Info.RecordCount == 1) { //Use UI API to create Project oApp.ActivateMenuItem("48897"); var oform1 = oApp.Forms.ActiveForm; //Project Type string ptype = oR_Project_Info.Fields.Item("TYP").Value.ToString(); if (ptype == "E") { var orad_extype = oform1.Items.Item("234000010").Specific; ((SAPbouiCOM.OptionBtn)orad_extype).Selected = true; } else { var orad_intype = oform1.Items.Item("234000011").Specific; ((SAPbouiCOM.OptionBtn)orad_intype).Selected = true; } //BPCode string bpcode = oR_Project_Info.Fields.Item("CARDCODE").Value.ToString(); if (!String.IsNullOrEmpty(bpcode)) { var txt_bpcode = oform1.Items.Item("234000013").Specific; ((SAPbouiCOM.EditText)txt_bpcode).Value = bpcode; } //BPName string bpname = oR_Project_Info.Fields.Item("CARDNAME").Value.ToString(); if (!String.IsNullOrEmpty(bpname)) { var txt_bpname = oform1.Items.Item("234000016").Specific; ((SAPbouiCOM.EditText)txt_bpname).Value = bpname; } //Contact Person string contact = oR_Project_Info.Fields.Item("CONTACT").Value.ToString(); if (!String.IsNullOrEmpty(contact)) { var cbo_contactperson = oform1.Items.Item("234000018").Specific; ((SAPbouiCOM.ComboBox)cbo_contactperson).Select(contact); } //Territory string territory = oR_Project_Info.Fields.Item("TERRITORY").Value.ToString(); if (!String.IsNullOrEmpty(territory) && territory != "0") { var txt_territory = oform1.Items.Item("234000020").Specific; ((SAPbouiCOM.EditText)txt_territory).Value = territory; } //Sale Employee string employee = oR_Project_Info.Fields.Item("EMPLOYEE").Value.ToString(); if (!String.IsNullOrEmpty(employee) && employee != "-1") { var cbo_employee = oform1.Items.Item("234000023").Specific; ((SAPbouiCOM.ComboBox)cbo_employee).Select(employee); } //Owner string owner = oR_Project_Info.Fields.Item("OWNER").Value.ToString(); if (!String.IsNullOrEmpty(owner) && owner != "0") { var txt_owner = oform1.Items.Item("234000025").Specific; ((SAPbouiCOM.EditText)txt_owner).Value = owner; } //Bo phan thuc hien string u_bpth = oR_Project_Info.Fields.Item("U_BPTH").Value.ToString(); if (!String.IsNullOrEmpty(u_bpth)) { var cbo_u_bpth = oform1.Items.Item("U_BPTH").Specific; ((SAPbouiCOM.ComboBox)cbo_u_bpth).Select(u_bpth); } //Project with Subproject string withpahse = oR_Project_Info.Fields.Item("WithPhases").Value.ToString(); if (withpahse == "Y") { var chb_withpahse = oform1.Items.Item("234000027").Specific; ((SAPbouiCOM.CheckBox)chb_withpahse).Checked = true; } //Project Name string pname = oR_Project_Info.Fields.Item("NAME").Value.ToString(); if (!String.IsNullOrEmpty(pname)) { var txt_pname = oform1.Items.Item("234000029").Specific; ((SAPbouiCOM.EditText)txt_pname).Value = pname + "_Clone_" + DateTime.Now.ToString("ddMMyyyy HHmmss"); } //Series string series = oR_Project_Info.Fields.Item("Series").Value.ToString(); if (!String.IsNullOrEmpty(series)) { var cbo_series = oform1.Items.Item("234000031").Specific; ((SAPbouiCOM.ComboBox)cbo_series).Select(series); } //Status string status = oR_Project_Info.Fields.Item("STATUS").Value.ToString(); if (!String.IsNullOrEmpty(status)) { var cbo_status = oform1.Items.Item("234000034").Specific; ((SAPbouiCOM.ComboBox)cbo_status).Select(status); } //Start Date string strdate = oR_Project_Info.Fields.Item("START").Value.ToString(); if (!String.IsNullOrEmpty(strdate)) { if (DateTime.Parse(strdate).Year > 1900) { var txt_strdate = oform1.Items.Item("234000036").Specific; ((SAPbouiCOM.EditText)txt_strdate).Value = DateTime.Parse(strdate).ToString("yyyyMMdd"); } } //Due Date string duedate = oR_Project_Info.Fields.Item("DUEDATE").Value.ToString(); if (!String.IsNullOrEmpty(duedate)) { if (DateTime.Parse(duedate).Year > 1900) { var txt_duedate = oform1.Items.Item("234000038").Specific; ((SAPbouiCOM.EditText)txt_duedate).Value = DateTime.Parse(duedate).ToString("yyyyMMdd"); } } //Closing Date string closedate = oR_Project_Info.Fields.Item("CLOSING").Value.ToString(); if (!String.IsNullOrEmpty(closedate)) { if (DateTime.Parse(closedate).Year > 1900) { var txt_closedate = oform1.Items.Item("234000040").Specific; ((SAPbouiCOM.EditText)txt_closedate).Value = DateTime.Parse(closedate).ToString("yyyyMMdd"); } } //Financial Project string finan_project = oR_Project_Info.Fields.Item("FIPROJECT").Value.ToString(); if (!String.IsNullOrEmpty(finan_project)) { //var txt_finan_project = oform1.Items.Item("234000049").Specific; //((SAPbouiCOM.EditText)txt_finan_project).Value = finan_project; } //Overview Panel - Risk Level //string risk = oR_Project_Info.Fields.Item("RISK").Value.ToString(); //if (!String.IsNullOrEmpty(risk)) //{ // oform1.Freeze(true); // oform1.PaneLevel = oform1.Items.Item("234000056").FromPane;//oForm.Items.Item("148").FromPane // var cbo_risk = oform1.Items.Item("234000056").Specific; // ((SAPbouiCOM.ComboBox)cbo_risk).Select(risk); // oform1.Freeze(false); //} //Overview Panel - Industry //string industry = oR_Project_Info.Fields.Item("INDUSTRY").Value.ToString(); //if (!String.IsNullOrEmpty(industry)) //{ // oform1.Freeze(true); // oform1.PaneLevel = oform1.Items.Item("234000058").FromPane;//oForm.Items.Item("148").FromPane // var cbo_industry = oform1.Items.Item("234000058").Specific; // ((SAPbouiCOM.ComboBox)cbo_industry).Select(industry); // oform1.Freeze(false); //} //Overview Panel - Comments //string comments = oR_Project_Info.Fields.Item("REASON").Value.ToString(); //if (!String.IsNullOrEmpty(comments)) //{ // var txt_comments = oform1.Items.Item("234000060").Specific; // ((SAPbouiCOM.EditText)txt_comments).Value = comments; //} //Remark Panel - Free Text string freetext = oR_Project_Info.Fields.Item("Free_Text").Value.ToString(); if (!String.IsNullOrEmpty(freetext)) { oform1.Freeze(true); oform1.PaneLevel = oform1.Items.Item("234000167").FromPane;//oForm.Items.Item("148").FromPane var txt_freetext = oform1.Items.Item("234000167").Specific; ((SAPbouiCOM.EditText)txt_freetext).Value = freetext; oform1.Freeze(false); } //U Project Type string u_ptype = oR_Project_Info.Fields.Item("U_PRJTYPE").Value.ToString(); if (!String.IsNullOrEmpty(u_ptype)) { var cbo_u_ptype = oform1.Items.Item("U_PRJTYPE").Specific; ((SAPbouiCOM.ComboBox)cbo_u_ptype).Select(u_ptype); } //U Project Group string u_pgrp = oR_Project_Info.Fields.Item("U_PRJGROUP").Value.ToString(); if (!String.IsNullOrEmpty(u_pgrp)) { var cbo_u_ptype = oform1.Items.Item("U_PRJGROUP").Specific; ((SAPbouiCOM.ComboBox)cbo_u_ptype).Select(u_pgrp); } //Overview Panel - U_CPHT1 string u_cpht1 = oR_Project_Info.Fields.Item("U_CPHT1").Value.ToString(); if (!String.IsNullOrEmpty(u_cpht1)) { oform1.Freeze(true); oform1.PaneLevel = oform1.Items.Item("U_CPHT1").FromPane; var txt_u_cpht1 = oform1.Items.Item("U_CPHT1").Specific; ((SAPbouiCOM.EditText)txt_u_cpht1).Value = u_cpht1; oform1.Freeze(false); } //Overview Panel - U_CPHT2 string u_cpht2 = oR_Project_Info.Fields.Item("U_CPHT2").Value.ToString(); if (!String.IsNullOrEmpty(u_cpht2)) { oform1.Freeze(true); oform1.PaneLevel = oform1.Items.Item("U_CPHT2").FromPane; var txt_u_cpht2 = oform1.Items.Item("U_CPHT2").Specific; ((SAPbouiCOM.EditText)txt_u_cpht2).Value = u_cpht2; oform1.Freeze(false); } //Overview Panel - U_DPBH string u_dpbh = oR_Project_Info.Fields.Item("U_DPBH").Value.ToString(); if (!String.IsNullOrEmpty(u_dpbh)) { oform1.Freeze(true); oform1.PaneLevel = oform1.Items.Item("U_DPBH").FromPane; var txt_u_dpbh = oform1.Items.Item("U_DPBH").Specific; ((SAPbouiCOM.EditText)txt_u_dpbh).Value = u_dpbh; oform1.Freeze(false); } //Overview Panel - U_DPCP string u_dpcp = oR_Project_Info.Fields.Item("U_DPCP").Value.ToString(); if (!String.IsNullOrEmpty(u_dpcp)) { oform1.Freeze(true); oform1.PaneLevel = oform1.Items.Item("U_DPCP").FromPane; var txt_u_dpcp = oform1.Items.Item("U_DPCP").Specific; ((SAPbouiCOM.EditText)txt_u_dpcp).Value = u_dpcp; oform1.Freeze(false); } //Get New Project No var txt_projectno_new = oform1.Items.Item("234000032").Specific; New_ProjectNo = ((SAPbouiCOM.EditText)txt_projectno_new).Value; //Click Add Button oform1.Items.Item("1").Click(); //Check Add Project Complete ? if (((SAPbouiCOM.EditText)oform1.Items.Item("234000032").Specific).Value != New_ProjectNo) { oform1.Close(); } else { New_ProjectNo = "-1"; oApp.MessageBox("Can't copy project !"); } } else { oApp.MessageBox("Không tìm thấy ProjectNo hoặc Trùng ProjectNo"); } return(New_ProjectNo); }