public void addFms(string frmId, string itmId, string colID, string query) { int queryId = 0; int fmsId = 0; SAPbobsCOM.Recordset oRecSet = (SAPbobsCOM.Recordset)oCompany.GetBusinessObject(BoObjectTypes.BoRecordset); try { oRecSet.DoQuery("select QueryId,IndexID from CSHS where formId='" + frmId + "' and ItemId='" + itmId + "' and colID='" + colID + "'"); if (!oRecSet.EoF) { queryId = Convert.ToInt32(oRecSet.Fields.Item("QueryId").Value); fmsId = Convert.ToInt32(oRecSet.Fields.Item("IndexID").Value); oRecSet.DoQuery("update OUQR set qString='" + query + "' where intrnalKey='" + queryId.ToString() + "'"); } else { oRecSet.DoQuery("select isnull(max(IndexID),0) +1 as fmsId from CSHS"); fmsId = Convert.ToInt32(oRecSet.Fields.Item("fmsId").Value); queryId = addQuery(query, "Fms_" + frmId + "_" + itmId + "_" + colID); string strS = "INSERT into [CSHS] ([FormID] ,[ItemID] ,[ColID] ,[ActionT] ,[QueryId] ,[IndexID] ,[Refresh] ,[FrceRfrsh] ,[ByField]) "; strS += " Values ('" + frmId + "','" + itmId + "','" + colID + "','2','" + queryId.ToString() + "','" + fmsId.ToString() + "','N','N','N')"; oRecSet.DoQuery(strS); } oRecSet = null; } catch (Exception ex) { oApplication.SetStatusBarMessage("Error in creating formatted search" + "Fms_" + frmId + "_" + itmId + "_" + colID + ex.Message); } }
}//fin InitForm public new void FormEvent(String FormUID, ref SAPbouiCOM.ItemEvent pVal, ref Boolean BubbleEvent) { Int32 nErr; String sErr; SAPbouiCOM.ComboBox oComboBox; base.FormEvent(FormUID, ref pVal, ref BubbleEvent); try { if ((pVal.EventType == BoEventTypes.et_ITEM_PRESSED) && (pVal.BeforeAction)) { if ((pVal.ItemUID == "1") && (oForm.Mode == BoFormMode.fm_ADD_MODE)) { BubbleEvent = false; GuardarRegistros(); } } if ((pVal.EventType == BoEventTypes.et_COMBO_SELECT) && (!pVal.BeforeAction)) { if ((pVal.ItemUID == "TipoDoc") && (oForm.Mode == BoFormMode.fm_ADD_MODE)) { //carga Rango de Folios if (GlobalSettings.RunningUnderSQLServer) { s = @"select Code 'Code', CAST(U_Desde as varchar(20)) + '-' + CAST(U_Hasta as varchar(20)) 'Name' from [@VID_FECAF] where U_TipoDoc = '{0}'"; } else { s = @"select ""Code"" ""Code"", CAST(""U_Desde"" as varchar(20)) + '-' + CAST(""U_Hasta"" as varchar(20)) ""Name"" from ""@VID_FECAF"" where ""U_TipoDoc"" = '{0}' "; } oComboBox = (ComboBox)(oForm.Items.Item("TipoDoc").Specific); s = String.Format(s, (System.String)(oComboBox.Value).Trim()); oRecordSet.DoQuery(s); FSBOf.FillCombo((ComboBox)(oForm.Items.Item("RangoF").Specific), ref oRecordSet, true); } } if ((pVal.EventType == BoEventTypes.et_ITEM_PRESSED) && (!pVal.BeforeAction) && (pVal.ItemUID == "btnDist") && (oForm.Mode == BoFormMode.fm_ADD_MODE)) { if (Validar()) { Distribuir(); } } } catch (Exception e) { FCmpny.GetLastError(out nErr, out sErr); FSBOApp.StatusBar.SetText("FormEvent: " + e.Message + " ** Trace: " + e.StackTrace, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error); OutLog("FormEvent: " + e.Message + " ** Trace: " + e.StackTrace); } }//fin FormEvent
}//fin InitForm public new void FormEvent(String FormUID, ref SAPbouiCOM.ItemEvent pVal, ref Boolean BubbleEvent) { SAPbouiCOM.DataTable oDataTable; SAPbouiCOM.IChooseFromListEvent oCFLEvento = null; base.FormEvent(FormUID, ref pVal, ref BubbleEvent); try { if ((pVal.ItemUID == "87") && (pVal.EventType == BoEventTypes.et_COMBO_SELECT) && (pVal.BeforeAction)) { oComboBox = (ComboBox)(oForm.Items.Item("87").Specific); SerieAnterior = (System.String)(oComboBox.Value); } if ((pVal.ItemUID == "87") && (pVal.EventType == BoEventTypes.et_COMBO_SELECT) && (!pVal.BeforeAction)) { oComboBox = (ComboBox)(oForm.Items.Item("87").Specific); var sSeries = (System.String)(oComboBox.Value); if (GlobalSettings.RunningUnderSQLServer) { s = @"select LEFT(ISNULL(UPPER(BeginStr),''),1) 'Valor', DocSubType, SUBSTRING(ISNULL(UPPER(BeginStr),''),2,LEN(ISNULL(UPPER(BeginStr),''))) 'Doc', ObjectCode, SeriesName from NNM1 where Series = {0} --AND ObjectCode = '{1}' "; } else { s = @"select LEFT(IFNULL(UPPER(""BeginStr""),''),1) ""Valor"", ""DocSubType"", SUBSTRING(IFNULL(UPPER(""BeginStr""),''),2,LENGTH(IFNULL(UPPER(""BeginStr""),''))) ""Doc"", ""ObjectCode"", ""SeriesName"" from ""NNM1"" where ""Series"" = {0} --AND ""ObjectCode"" = '{1}' "; } s = String.Format(s, sSeries, oForm.BusinessObject.Type); oRecordSet.DoQuery(s); if (oRecordSet.RecordCount > 0) { if ((System.String)(oRecordSet.Fields.Item("Valor").Value) == "E") { oForm.Items.Item("VID_Estado").Visible = true; oForm.Items.Item("lblEstado").Visible = true; oForm.Items.Item("VID_FEDCTO").Visible = true; } else { oForm.Items.Item("VID_Estado").Visible = false; oForm.Items.Item("lblEstado").Visible = false; } } } } catch (Exception e) { if (FCmpny.InTransaction) { FCmpny.EndTransaction(BoWfTransOpt.wf_RollBack); } FSBOApp.StatusBar.SetText(e.Message + " ** Trace: " + e.StackTrace, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error); OutLog("FormEvent: " + e.Message + " ** Trace: " + e.StackTrace); } }//fin FormEvent
}//fin InitForm public new void FormEvent(String FormUID, ref SAPbouiCOM.ItemEvent pVal, ref Boolean BubbleEvent) { Int32 nErr; String sErr; base.FormEvent(FormUID, ref pVal, ref BubbleEvent); //IvkFormInterface oFormB; String oUid; String AbsDesde; String FDesde, FHasta; String TipoLibro; try { if ((pVal.EventType == BoEventTypes.et_ITEM_PRESSED) && (!pVal.BeforeAction)) { if (pVal.ItemUID == "btn1") { //enviar libro al portal oComboBox = ((ComboBox)oForm.Items.Item("Periodo").Specific); AbsDesde = oComboBox.Selected.Value; if (GlobalSettings.RunningUnderSQLServer) { s = @"select F_RefDate, T_RefDate,* from OFPR where AbsEntry = {0}"; } else { s = @"select ""F_RefDate"", ""T_RefDate"" from ""OFPR"" where ""AbsEntry"" = {0}"; } s = String.Format(s, AbsDesde); oRecordSet.DoQuery(s); FDesde = ((System.DateTime)oRecordSet.Fields.Item("F_RefDate").Value).ToString("yyyyMMdd"); FHasta = ((System.DateTime)oRecordSet.Fields.Item("T_RefDate").Value).ToString("yyyyMMdd"); oComboBox = ((ComboBox)oForm.Items.Item("TipoLibro").Specific); TipoLibro = oComboBox.Selected.Value; if (FSBOApp.MessageBox("¿ Desea enviar libro electronico al portal ?", 1, "Si", "No", "") == 1) { EnviarLibros(TipoLibro, FDesde, FHasta); } } } } catch (Exception e) { FCmpny.GetLastError(out nErr, out sErr); FSBOApp.StatusBar.SetText("FormEvent: " + e.Message + " ** Trace: " + e.StackTrace, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error); OutLog("FormEvent: " + e.Message + " ** Trace: " + e.StackTrace); } }//fin FormEvent
private void addDefaultSettings() { try { ors = eCommon.oCompany.GetBusinessObject(BoObjectTypes.BoRecordset) as SAPbobsCOM.Recordset; ors.DoQuery(String.Format("INSERT INTO [@TWM_SETTINGS] ([Code],[Name],[U_TWM_Settings_Type],[U_TWM_Settings_Value],[U_TWM_Settings_AddOn]) VALUES ('1','1','Export_XML_Path','{0}','TWM_KDS_AddOn')", "C:\\")); ors.DoQuery(String.Format("INSERT INTO [@TWM_SETTINGS] ([Code],[Name],[U_TWM_Settings_Type],[U_TWM_Settings_Value],[U_TWM_Settings_AddOn]) VALUES ('2','2','Save_PO_As_Draft','{0}','TWM_KDS_AddOn')", "1")); ors.DoQuery(String.Format("INSERT INTO [@TWM_SETTINGS] ([Code],[Name],[U_TWM_Settings_Type],[U_TWM_Settings_Value],[U_TWM_Settings_AddOn]) VALUES ('3','3','Save_SO_As_Draft','{0}','TWM_KDS_AddOn')", "1")); } catch { throw; } }
public IList <AccountDTO> GetBankAccounts(string pStrBankCode) { SAPbobsCOM.Recordset lObjResults = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); IList <AccountDTO> lLstObjBanks = new List <AccountDTO>(); try { string lStrQuery = this.GetSQL("GetBankAccounts").InjectSingleValue("BankCode", pStrBankCode); lObjResults.DoQuery(lStrQuery); if (lObjResults.RecordCount > 0) { for (int i = 0; i < lObjResults.RecordCount; i++) { AccountDTO lObjAccount = new AccountDTO(); lObjAccount.BankCode = lObjResults.GetColumnValue <string>("BankCode"); lObjAccount.Account = lObjResults.GetColumnValue <string>("Account"); lObjAccount.Branch = lObjResults.GetColumnValue <string>("Branch"); lObjAccount.GLAccount = lObjResults.GetColumnValue <string>("GLAccount"); lLstObjBanks.Add(lObjAccount); lObjResults.MoveNext(); } } return(lLstObjBanks); } catch (Exception e) { LogService.WriteError("GetBankAccounts (GetFilterssVouchers): " + e.Message); LogService.WriteError(e); return(lLstObjBanks); } finally { MemoryUtility.ReleaseComObject(lObjResults); } }
private Boolean ValidarDatos() { try { for (Int32 i = 0; i < odt.Rows.Count; i++) { if (((System.String)odt.GetValue("U_CtaSAP", i)) != "") { if (GlobalSettings.RunningUnderSQLServer) { s = @"SELECT COUNT(*) Cant FROM [@VID_FEPLANCTAD] WHERE U_CtaSAP = '{0}' AND DocEntry <> {1}"; } else { s = @"SELECT COUNT(*) ""Cant"" FROM ""@VID_FEPLANCTAD"" WHERE ""U_CtaSAP"" = '{0}' AND ""DocEntry"" <> {1}"; } s = String.Format(s, ((System.String)odt.GetValue("U_CtaSAP", i)).Trim(), DocEntry); oRecordSet.DoQuery(s); if (((System.Int32)oRecordSet.Fields.Item("Cant").Value) >= 1) { FSBOApp.StatusBar.SetText("Cuenta " + ((System.String)odt.GetValue("U_CtaSAP", i)).Trim() + " ya se encuentra ingresada en una Cuenta SII", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Warning); return(false); } } } return(true); } catch (Exception t) { FSBOApp.StatusBar.SetText("ValidarDatos: " + t.Message + " ** Trace: " + t.StackTrace, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error); OutLog("ValidarDatos: " + t.Message + " ** Trace: " + t.StackTrace); return(false); } }
public List <string> GetALLRequest() { SAPbobsCOM.Recordset lObjRecordSet = null; string lStrQuery = ""; List <string> lLstRequest = new List <string>(); try { lObjRecordSet = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lStrQuery = "select U_RequestId from [dbo].[@UG_PE_WS_PERE] "; lObjRecordSet.DoQuery(lStrQuery); if (lObjRecordSet.RecordCount > 0) { for (int i = 0; i < lObjRecordSet.RecordCount; i++) { lLstRequest.Add(lObjRecordSet.Fields.Item("U_RequestId").Value.ToString()); lObjRecordSet.MoveNext(); } } return(lLstRequest); } catch (Exception lObjException) { throw new QueryException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } }
public int getSeries(string pStrUserID, string pStrObjectCode) { SAPbobsCOM.Recordset lObjRecordset = null; int lStrSeries = 0; try { //ReceptionTransferDAO mObjTicketDAO = new ReceptionTransferDAO(); Dictionary <string, string> lLstStrParameters = new Dictionary <string, string>(); lLstStrParameters.Add("UserID", pStrUserID); lLstStrParameters.Add("ObjCode", pStrObjectCode); string lStrQuery = this.GetSQL("GetSeries").Inject(lLstStrParameters); //this.UIAPIRawForm.DataSources.DataTables.Item("RESULT").ExecuteQuery(lStrQuery); lObjRecordset = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lObjRecordset.DoQuery(lStrQuery); if (lObjRecordset.RecordCount > 0) { lStrSeries = Convert.ToInt32(lObjRecordset.Fields.Item(0).Value.ToString()); } } catch { // UIApplication.ShowMessageBox(string.Format("InitDataSourcesException: {0}", ex.Message)); } finally { MemoryUtility.ReleaseComObject(lObjRecordset); } return(lStrSeries); }
public int GetSysCatID() { int functionReturnValue = 0; functionReturnValue = -3; SAPbobsCOM.Recordset oRS = (Recordset)SBOApp.Company.GetBusinessObject(BoObjectTypes.BoRecordset); try { SBOApp.TranslateToHana("SELECT TOP 1 CATEGORYID FROM OQCN WHERE CATNAME = 'Geral'"); oRS.DoQuery("SELECT TOP 1 CATEGORYID FROM OQCN WHERE CATNAME = 'Geral'"); if (oRS.RecordCount > 0) { functionReturnValue = Convert.ToInt32(oRS.Fields.Item(0).Value); } } catch { throw new Exception(String.Format("Erro: {0}", SBOApp.Company.GetLastErrorDescription())); } finally { System.Runtime.InteropServices.Marshal.ReleaseComObject(oRS); oRS = null; GC.Collect(); } return(functionReturnValue); }
public double GetThreePercentPrice(string pStrItemCode, string pStrLocation) { SAPbobsCOM.Recordset lObjRecordSet = null; string lStrQuery = ""; try { lObjRecordSet = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lStrQuery = string.Format(@" select T0.Price from ITM1 T0 inner join OPLN T1 on T1.ListNum = T0.PriceList where U_GLO_Location = '{0}' and t0.ItemCode = '{1}' ", pStrLocation, pStrItemCode); lObjRecordSet.DoQuery(lStrQuery); return(Convert.ToDouble(lObjRecordSet.Fields.Item("Price").Value)); } catch (Exception lObjException) { throw new QueryException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } }
public double GetDocTotal(string pStrCardCode, string pStrNumAtCard) { SAPbobsCOM.Recordset lObjRecordset = null; try { string lStrQuery = string.Format(@" SELECT DocTotal FROM OINV WHERE NumAtCard = '{0}' AND CardCode = '{1}'", pStrNumAtCard, pStrCardCode); lObjRecordset = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lObjRecordset.DoQuery(lStrQuery); if (lObjRecordset.RecordCount > 0) { return(Convert.ToDouble(lObjRecordset.Fields.Item(0).Value)); } } catch { //Ignore } finally { MemoryUtility.ReleaseComObject(lObjRecordset); } return(0); }
public long GetAuctionId(string pStrAuctionFolio) { SAPbobsCOM.Recordset lObjRecordSet = null; string lStrQuery = ""; try { lObjRecordSet = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lStrQuery = string.Format(@" SELECT U_Id FROM [@UG_SU_AUTN] WHERE U_Folio = '{0}' ", pStrAuctionFolio); lObjRecordSet.DoQuery(lStrQuery); return(Convert.ToInt64(lObjRecordSet.Fields.Item("U_Id").Value)); } catch (Exception lObjException) { throw new QueryException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } }
public DateTime GetLastBatchDateByLocation(string pStrFieldName, string pStrTableName, string pStrlocation) { SAPbobsCOM.Recordset lObjRecordSet = null; string lStrQuery = ""; try { lObjRecordSet = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lStrQuery = string.Format(@" SELECT MAX({0}) AS Max FROM {1} INNER JOIN [@UG_SU_AUTN] T1 on t0.U_AuctionId = t1.U_Id where T1.U_Location = '{2}'" , pStrFieldName, pStrTableName, pStrlocation); lObjRecordSet.DoQuery(lStrQuery); return(lObjRecordSet.Fields.Item("Max").Value != null?Convert.ToDateTime(lObjRecordSet.Fields.Item("Max").Value) : DateTime.MinValue); } catch (Exception lObjException) { throw new QueryException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } }
public long GetBatchId(int pIntBatchNumber, string pStrAuctionFolio) { SAPbobsCOM.Recordset lObjRecordSet = null; string lStrQuery = ""; try { lObjRecordSet = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lStrQuery = string.Format(@" SELECT T0.U_Id FROM [@UG_SU_BAHS] T0 INNER JOIN [@UG_SU_AUTN] T1 on t0.U_AuctionId = t1.U_Id where t1.U_Folio = '{0}' and t0.U_Number = {1} ", pStrAuctionFolio, pIntBatchNumber.ToString()); lObjRecordSet.DoQuery(lStrQuery); return(Convert.ToInt64(lObjRecordSet.Fields.Item("U_Id").Value)); } catch (Exception lObjException) { return(0); throw new QueryException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } }
public bool BatchExists(string pStrAuctFolio, int pIntNumber) { SAPbobsCOM.Recordset lObjRecordSet = null; string lStrQuery = ""; try { lObjRecordSet = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lStrQuery = string.Format(@" SELECT T0.U_Id FROM [@UG_SU_BAHS] T0 INNER JOIN [@UG_SU_AUTN] T1 on t0.U_AuctionId = t1.U_Id where t1.U_Folio = '{0}' and t0.U_Number = {1}" , pStrAuctFolio, pIntNumber.ToString()); lObjRecordSet.DoQuery(lStrQuery); return(lObjRecordSet.RecordCount > 0 ? true : false); } catch (Exception lObjException) { throw new QueryException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } }
public int GetExportFormat() { SAPbobsCOM.Recordset lObjRecordset = null; try { string lStrQuery = string.Format(@"select ParamValue from ECM1 where ParamName in ('MappingDOC')"); lObjRecordset = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lObjRecordset.DoQuery(lStrQuery); if (lObjRecordset.RecordCount > 0) { return(Convert.ToInt32(lObjRecordset.Fields.Item(0).Value)); } } catch { //Ignore } finally { MemoryUtility.ReleaseComObject(lObjRecordset); } return(0); }
public string GetValue(string pStrSelectFieldName, string pStrWhereFieldName, string pStrWhereFieldValue, string pStrTableName) { SAPbobsCOM.Recordset lObjRecordSet = null; Dictionary <string, string> lLstStrParameters = null; string lStrQuery = ""; try { lObjRecordSet = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lLstStrParameters = new Dictionary <string, string>(); lLstStrParameters.Add("SelectFieldName", pStrSelectFieldName); lLstStrParameters.Add("WhereFieldName", pStrWhereFieldName); lLstStrParameters.Add("WhereFieldValue", pStrWhereFieldValue); lLstStrParameters.Add("TableName", pStrTableName); lStrQuery = this.GetSQL("GetValueTemplate").Inject(lLstStrParameters); lObjRecordSet.DoQuery(lStrQuery); if (lObjRecordSet.RecordCount > 0) { return(lObjRecordSet.Fields.Item(pStrSelectFieldName).Value.ToString()); } return(string.Empty); } catch (Exception lObjException) { throw new QueryException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } }
public int GetTransId(string pStrAuctionFolio) { SAPbobsCOM.Recordset lObjRecordSet = null; string lStrQuery = ""; try { lObjRecordSet = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lStrQuery = string.Format(@"select TransId from ojdt where ref1 = '{0}' and Memo like '%Cierre de subasta%'", pStrAuctionFolio); lObjRecordSet.DoQuery(lStrQuery); return((int)lObjRecordSet.Fields.Item("TransId").Value); } catch (Exception lObjException) { throw new QueryException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } }
public string GetWareHouse(string pStrUserID) { SAPbobsCOM.Recordset lObjRecordset = null; string lStrWareHouse = ""; try { TicketDAO mObjTicketDAO = new TicketDAO(); Dictionary <string, string> lLstStrParameters = new Dictionary <string, string>(); lLstStrParameters.Add("UserID", pStrUserID); string lStrQuery = this.GetSQL("GetWarehouse").Inject(lLstStrParameters); //this.UIAPIRawForm.DataSources.DataTables.Item("RESULT").ExecuteQuery(lStrQuery); lObjRecordset = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lObjRecordset.DoQuery(lStrQuery); if (lObjRecordset.RecordCount > 0) { lStrWareHouse = lObjRecordset.Fields.Item(0).Value.ToString(); } } catch (Exception ex) { LogService.WriteError(string.Format("[GetWareHouse]: {0} ", ex.Message)); LogService.WriteError(ex); UIApplication.ShowError(string.Format("[GetWareHouse]: {0}", ex.Message)); // UIApplication.ShowMessageBox(string.Format("InitDataSourcesException: {0}", ex.Message)); } finally { MemoryUtility.ReleaseComObject(lObjRecordset); } return(lStrWareHouse); }
public bool ExistsSaleOrder(string pStrRequestId) { SAPbobsCOM.Recordset lObjRecordSet = null; Dictionary <string, string> lLstStrParameters = null; bool lBolResult = false; string lStrQuery = ""; try { lObjRecordSet = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lLstStrParameters = new Dictionary <string, string>(); lLstStrParameters.Add("RequestId", pStrRequestId); lStrQuery = this.GetSQL("CountSaleOrderByRequestId").Inject(lLstStrParameters); lObjRecordSet.DoQuery(lStrQuery); if (lObjRecordSet.RecordCount > 0) { lBolResult = int.Parse(lObjRecordSet.Fields.Item(0).Value.ToString()) > 0; } } catch (Exception lObjException) { throw new QueryException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } return(lBolResult); }
public double GetDocTotal(string pStrCardCode, string pStrNumAtCard) { SAPbobsCOM.Recordset lObjRecordset = null; try { Dictionary <string, string> lLstStrParameters = new Dictionary <string, string>(); lLstStrParameters.Add("CardCode", pStrCardCode); lLstStrParameters.Add("NumAtCard", pStrNumAtCard); string lStrQuery = this.GetSQL("GetDocTotalByFilters").Inject(lLstStrParameters); lObjRecordset = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lObjRecordset.DoQuery(lStrQuery); if (lObjRecordset.RecordCount > 0) { return(Convert.ToDouble(lObjRecordset.Fields.Item(1).Value)); } } catch { //Ignore } finally { MemoryUtility.ReleaseComObject(lObjRecordset); } return(0); }
public bool DoQuery(string sql, params dynamic[] values) { try { LastCommand = Factory.Scripts.FormatQuery(sql, values); Track = k.Diagnostic.TrackMessages(sql, "Values:", values, "\nSQL Server: Query formated", LastCommand); RS = k.sap.DI.Conn.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset) as SAPbobsCOM.Recordset; RS.DoQuery(LastCommand); HasLine = !RS.EoF; if (HasLine) { FieldCount = RS.Fields.Count; Position = 0; IsFirstLine = true; } else { Position = -1; IsFirstLine = false; } return(HasLine); } catch (Exception ex) { k.Diagnostic.Error(LOG, Track, "Error to execute the query."); k.Diagnostic.Error(LOG, ex); throw ex; } }
public string GetRowCodeByPort(string pStrRequestId, int pIntPortId, int pIntPortType) { SAPbobsCOM.Recordset lObjRecordSet = null; string lStrResult = ""; string lStrQuery; try { lObjRecordSet = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); Dictionary <string, string> lLstStrParameters = new Dictionary <string, string>(); lLstStrParameters.Add("RequestId", pStrRequestId); lLstStrParameters.Add("PortId", pIntPortId.ToString()); lLstStrParameters.Add("PortType", pIntPortType.ToString()); lStrQuery = this.GetSQL("GetRowCodeByPort").Inject(lLstStrParameters); lObjRecordSet.DoQuery(lStrQuery); lStrResult = lObjRecordSet.Fields.Item(0).Value.ToString(); } catch { MemoryUtility.ReleaseComObject(lObjRecordSet); } finally { } return(lStrResult); }
public int GetNextUgrsFolio(string pStrPrefix) { SAPbobsCOM.Recordset lObjRecordSet = null; Dictionary <string, string> lLstStrParameters = null; string lStrQuery = ""; try { lObjRecordSet = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lLstStrParameters = new Dictionary <string, string>(); lLstStrParameters.Add("Prefix", pStrPrefix); lStrQuery = this.GetSQL("GetNextUgrsFolio").Inject(lLstStrParameters); lObjRecordSet.DoQuery(lStrQuery); return(lObjRecordSet.RecordCount > 0 ? (int)lObjRecordSet.Fields.Item("UgrsFolio").Value : 0); } catch (Exception lObjException) { throw new QueryException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } }
public static void updateSettings(Dictionary <String, String> dict_Settings) { try { ors = eCommon.oCompany.GetBusinessObject(BoObjectTypes.BoRecordset) as SAPbobsCOM.Recordset; foreach (KeyValuePair <string, string> entry in dict_Settings) { ors.DoQuery(String.Format("UPDATE [@TWM_SETTINGS] SET U_TWM_Settings_Value='{0}' WHERE U_TWM_Settings_Type='{1}';", entry.Value, entry.Key)); if (entry.Key == "Export_XML_Path") { _settings_xml_Path = entry.Value; } else if (entry.Key == "Save_PO_As_Draft") { _settings_Save_PO_Draft = (entry.Value == "1"); } else if (entry.Key == "Save_SO_As_Draft") { _settings_Save_SO_Draft = (entry.Value == "1"); } } eCommon.SBO_Application.StatusBar.SetText("Settings Updated !", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); } catch { } finally { System.Runtime.InteropServices.Marshal.ReleaseComObject(ors); ors = null; GC.Collect(); } }
public string GetPrice(string pStrWhsCode, string pStrItemCode) { SAPbobsCOM.Recordset lObjRecordset = null; string lStrPrice = ""; try { string lStrQuery = GetItemPrice(pStrWhsCode, pStrItemCode); lObjRecordset = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lObjRecordset.DoQuery(lStrQuery); if (lObjRecordset.RecordCount > 0) { lStrPrice = lObjRecordset.Fields.Item(1).Value.ToString(); } } catch { //Ignore } finally { MemoryUtility.ReleaseComObject(lObjRecordset); } return(lStrPrice); }
/// <summary> /// Get Data Source From Configration Table [TableName = @OCFL] /// If eventType is not provided, this function will assume as "Tab" event. /// </summary> /// <param name="formId"></param> /// <param name="itemId"></param> /// <param name="colId"></param> /// <param name="eventType"></param> /// <returns></returns> public static Recordset GetConfiguration(string formId, string itemId, string colId, int eventType) { SAPbobsCOM.Recordset oRecordSet = null; string documentType = String.Empty; try { colId = (colId == "" ? "0" : colId); //If colUID is "0", the event return as "". if (itemId == "38") // Item { documentType = "1"; } else if (itemId == "39") // Service { documentType = "2"; } else { documentType = "3"; } if (formId.Contains("UDO")) { formId = System.Text.RegularExpressions.Regex.Replace(formId.Substring(formId.LastIndexOf('_') + 1), @"[\d-]", string.Empty); } oRecordSet = ((SAPbobsCOM.Recordset)(AddOnUtilities.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset))); string strQuery = "SELECT * FROM \"@OCFL\" WHERE \"U_FormId\" = '" + formId + "' AND \"U_ItemId\" = '" + itemId + "' AND \"U_ColumnId\" = '" + colId + "' AND \"U_EventType\" = " + eventType + " AND \"U_DocType\" = " + documentType; oRecordSet.DoQuery(strQuery); } catch (Exception ex) { AddOnUtilities.MsgBoxWrapper(ex.Message + " " + ex.StackTrace); } return(oRecordSet); }
public bool ColumnExists(string TableName, string FieldID) { bool oFlag = true; try { SAPbobsCOM.Recordset rsetField = (SAPbobsCOM.Recordset)oDiCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); string s = "Select 1 from [CUFD] Where TableID='" + TableName.Trim() + "' and AliasID='" + FieldID.Trim() + "'"; rsetField.DoQuery("Select 1 from [CUFD] Where TableID='" + TableName.Trim() + "' and AliasID='" + FieldID.Trim() + "'"); if (rsetField.EoF) { oFlag = false; } System.Runtime.InteropServices.Marshal.ReleaseComObject(rsetField); rsetField = null; GC.Collect(); return(oFlag); } catch (Exception ex) { throw new Exception("hello"); throw new Exception("Failed to Column Exists : " + ex.Message); } finally { } return(oFlag); }
public bool Exists(string pStrWhereFieldName, string pStrWhereFieldValue, string pStrTableName) { SAPbobsCOM.Recordset lObjRecordSet = null; Dictionary <string, string> lLstStrParameters = null; string lStrQuery = ""; try { lObjRecordSet = (SAPbobsCOM.Recordset)DIApplication.Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); lLstStrParameters = new Dictionary <string, string>(); lLstStrParameters.Add("WhereFieldName", pStrWhereFieldName); lLstStrParameters.Add("WhereFieldValue", pStrWhereFieldValue); lLstStrParameters.Add("TableName", pStrTableName); lStrQuery = this.GetSQL("ExistsTemplate").Inject(lLstStrParameters); lObjRecordSet.DoQuery(lStrQuery); return(lObjRecordSet.RecordCount > 0 ? true : false); } catch (Exception lObjException) { throw new QueryException(lObjException.Message, lObjException); } finally { MemoryUtility.ReleaseComObject(lObjRecordSet); } }
public virtual void ET_btnSAVE_AFItemPressed(ItemEvent pVal) { oForm = B1Connections.theAppl.Forms.Item(pVal.FormUID); oButton = ((SAPbouiCOM.Button)(oForm.Items.Item("btnSAVE").Specific)); // ADD YOUR ACTION CODE HERE ... oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); string EMPSTATUS = oForm.DataSources.UserDataSources.Item("cboSTATUS").Value; if (GRIDCODE != "") { oRS.DoQuery(string.Format("UPDATE [@KIS_HR0020M_HRD] SET U_STATUS = '{0}' WHERE Code = '{1}'", EMPSTATUS, GRIDCODE)); B1Connections.theAppl.StatusBar.SetText("사용여부 상태 변경완료", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); } else { B1Connections.theAppl.StatusBar.SetText("선택된 사원이 없습니다.", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } }
//고과상태변경 public virtual bool StatusChange(string Status) { oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); StringBuilder pQuery = new StringBuilder(); string sQry = string.Empty; EXAMCD = oForm.Items.Item("cboYEAR").Specific.Value; try { oComboBox = ((SAPbouiCOM.ComboBox)(oForm.Items.Item("cboSTATUS").Specific)); if (B1Connections.theAppl.MessageBox(oComboBox.Selected.Description + "로 저장하시겠습니까?", 1, "OK", "NO") == 2) { return false; } if (Status == "U01") { #region 고과상태변경 pQuery.Clear(); pQuery.AppendLine(" UPDATE [@KIS_AD00201] SET U_RMK2 = 'U01' "); pQuery.AppendLine(" WHERE CODE = 'HR01' AND U_USEYN = 'Y' "); pQuery.AppendLine(" AND U_SMLCD = '{0}' "); sQry = string.Format(pQuery.ToString(), EXAMCD); oRS.DoQuery(sQry); #endregion } else if (Status == "U02") { string Cnt = FN.GetRecordsetValue(string.Format("SELECT * FROM [@KIS_HR0020M_HRD] WHERE U_EXAMCD = '{0}'", EXAMCD)); if (Cnt != "") { if (B1Connections.theAppl.MessageBox("고과마스터가 이미 생성되었습니다로 새로 저장하시겠습니까?", 1, "OK", "NO") == 2) { #region 고과상태변경 pQuery.Clear(); pQuery.AppendLine(" UPDATE [@KIS_AD00201] SET U_RMK2 = 'U02' "); pQuery.AppendLine(" WHERE CODE = 'HR01' AND U_USEYN = 'Y' "); pQuery.AppendLine(" AND U_SMLCD = '{0}' "); sQry = string.Format(pQuery.ToString(), EXAMCD); oRS.DoQuery(sQry); #endregion return false; } } pQuery.Clear(); pQuery.AppendLine(" DELETE FROM [@KIS_HR0020M_HRD] WHERE U_EXAMCD = '{0}' "); pQuery.AppendLine(" DELETE FROM [@KIS_HR00201_HRD] WHERE U_EXAMCD = '{0}' "); pQuery.AppendLine(" DELETE FROM [@KIS_HR00202_HRD] WHERE U_EXAMCD = '{0}' "); pQuery.AppendLine(" DELETE FROM [@KIS_HR00203_HRD] WHERE U_EXAMCD = '{0}' "); pQuery.AppendLine(" DELETE FROM [@KIS_HR00204_HRD] WHERE U_EXAMCD = '{0}' "); sQry = string.Format(pQuery.ToString(), EXAMCD); oRS.DoQuery(sQry); // 고과 마스터 생성 UDO_Add_Data(); #region 고과상태변경 pQuery.Clear(); pQuery.AppendLine(" UPDATE [@KIS_AD00201] SET U_RMK2 = 'U02' "); pQuery.AppendLine(" WHERE CODE = 'HR01' AND U_USEYN = 'Y' "); pQuery.AppendLine(" AND U_SMLCD = '{0}' "); sQry = string.Format(pQuery.ToString(), EXAMCD); oRS.DoQuery(sQry); #endregion if (B1Connections.theAppl.MessageBox("고과마스터생성완료", 1, "확인", "", "") == 1) { oForm.Items.Item("btnFIND").Click(BoCellClickType.ct_Regular); } } else if (Status == "U03") { #region 고과상태변경 pQuery.Clear(); pQuery.AppendLine(" UPDATE [@KIS_AD00201] SET U_RMK2 = 'U03' "); pQuery.AppendLine(" WHERE CODE = 'HR01' AND U_USEYN = 'Y' "); pQuery.AppendLine(" AND U_SMLCD = '{0}' "); sQry = string.Format(pQuery.ToString(), EXAMCD); oRS.DoQuery(sQry); #endregion B1Connections.theAppl.MessageBox("고과상태 고과시작으로 변경", 1, "확인", "", ""); } else if (Status == "U08") { //점수,등급 계산및 업데이트 oRS.DoQuery("EXEC KIS_SP_HR0010B1_HRD '1',0,0"); #region 고과상태변경 pQuery.Clear(); pQuery.AppendLine(" UPDATE [@KIS_AD00201] SET U_RMK2 = 'U08' "); pQuery.AppendLine(" WHERE CODE = 'HR01' AND U_USEYN = 'Y' "); pQuery.AppendLine(" AND U_SMLCD = '{0}' "); sQry = string.Format(pQuery.ToString(), EXAMCD); oRS.DoQuery(sQry); #endregion B1Connections.theAppl.MessageBox("고과상태 고과마감으로 변경", 1, "확인", "", ""); } else if (Status == "U09") { if (STATE == false) { B1Connections.theAppl.StatusBar.SetText("조회후 저장해주세요", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); return false; } else { //인사 KIS_HR00220 업데이트 UDO_Add_Data_HR00220(); #region 고과상태변경 pQuery.Clear(); pQuery.AppendLine(" UPDATE [@KIS_AD00201] SET U_RMK2 = 'U09' "); pQuery.AppendLine(" WHERE CODE = 'HR01' AND U_USEYN = 'Y' "); pQuery.AppendLine(" AND U_SMLCD = '{0}' "); sQry = string.Format(pQuery.ToString(), EXAMCD); oRS.DoQuery(sQry); #endregion } } } catch (Exception ex) { B1Connections.theAppl.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error); } finally { oRS = null; oGrid = null; } return true; }
/// <summary> /// 폼(Form)의 아이템들(Items)에 연결이 필요한 데이타소스(DataSource) 형식을 정의합니다. /// </summary> private void Act2_DataSourcesBinding() { // '// ADD YOUR ACTION CODE HERE ... #region ComboBox string sql = string.Empty; //string sql = FN.GetSQL("KIS_SF0360A_001"); oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); oRS1 = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); // 기수 oComboBox = (SAPbouiCOM.ComboBox)oForm.Items.Item("cboYEAR").Specific; sql = string.Format(" SELECT U_SMLCD, U_SMLNM FROM [@KIS_AD00201] WHERE CODE = 'HR01' AND U_USEYN = 'Y'"); FN.QComboBind(ref oComboBox, sql, FN.Enum_WholeTp.m_Nothing, null); sql = string.Format(" SELECT LEFT(U_SMLNM,4) AS YEAR FROM [@KIS_AD00201] WHERE CODE = 'HR01' AND U_USEYN = 'Y' AND LEFT(U_SMLNM,4) = '{0}'",DateTime.Now.Year.ToString()); oRS.DoQuery(sql); oComboBox.Select(oRS.Fields.Item("YEAR").Value.ToString(), BoSearchKey.psk_ByValue); // 상태 oComboBox = (SAPbouiCOM.ComboBox)oForm.Items.Item("cboSTATUS").Specific; sql = string.Format(" SELECT U_SMLCD, U_SMLNM FROM [@KIS_AD00201] WHERE CODE = 'HR10' AND U_USEYN = 'Y'"); FN.QComboBind(ref oComboBox, sql, FN.Enum_WholeTp.m_Nothing, null); sql = string.Format(" SELECT U_RMK2 FROM [@KIS_AD00201] WHERE CODE = 'HR01' AND U_USEYN = 'Y' AND U_SMLCD = '{0}'",oForm.Items.Item("cboYEAR").Specific.Value); oRS.DoQuery(sql); oComboBox.Select(oRS.Fields.Item("U_RMK2").Value.ToString(), BoSearchKey.psk_ByValue); #endregion // 고과대상자 sql = string.Format(" select COUNT(*) from [@KIS_HR0120M]"); oRS.DoQuery(sql); oForm.Items.Item("edtPERSON").Specific.Value = oRS.Fields.Item(0).Value.ToString(); }
private bool UDO_Add_Data() { SAPbobsCOM.GeneralService oGeneralService = null; SAPbobsCOM.GeneralData oGeneralData = null; SAPbobsCOM.GeneralDataCollection oChildren = null; SAPbobsCOM.GeneralData oChild = null; SAPbobsCOM.CompanyService oCompanyService = (SAPbobsCOM.CompanyService)B1Connections.diCompany.GetCompanyService(); oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); oRS1 = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); StringBuilder pQuery = new StringBuilder(); string sQry = string.Empty; #region DataSetting_쿼리문 pQuery.Clear(); pQuery.AppendLine(" SELECT "); pQuery.AppendLine(" '' AS EXAMCD "); pQuery.AppendLine(" ,T0.U_EMPNO AS EMPNO "); pQuery.AppendLine(" ,T0.U_EMPNM AS EMPNM "); pQuery.AppendLine(" ,'' AS DTCD "); pQuery.AppendLine(" ,'' AS TEAMCD "); pQuery.AppendLine(" ,T1.U_DEPTCD AS DEPTCD "); pQuery.AppendLine(" ,T0.U_JIKGBCD AS JIKGBCD "); pQuery.AppendLine(" ,T0.U_JIKCHCD AS JIKCHKCD "); pQuery.AppendLine(" ,0 AS PASSYN "); pQuery.AppendLine(" ,0 AS CARDPSYN "); pQuery.AppendLine(" ,0 AS USEYN "); pQuery.AppendLine(" ,NULL AS LASTSBF "); pQuery.AppendLine(" ,0 AS LASTGBF "); pQuery.AppendLine(" ,NULL AS LASTSAF "); pQuery.AppendLine(" ,0 AS LASTGAF "); pQuery.AppendLine(" FROM [@KIS_HR0120M] T0 "); pQuery.AppendLine(" INNER JOIN ( "); pQuery.AppendLine(" SELECT "); pQuery.AppendLine(" A.Code "); pQuery.AppendLine(" , CASE WHEN B.CNT = 1 THEN "); pQuery.AppendLine(" CASE WHEN A.U_IDEPTYN = 'Y' THEN MAX(A.U_DEPTCD) ELSE NULL END "); pQuery.AppendLine(" ELSE "); pQuery.AppendLine(" MAX(A.U_DEPTCD) "); pQuery.AppendLine(" END AS U_DEPTCD "); pQuery.AppendLine(" FROM [@KIS_HR01202] A "); pQuery.AppendLine(" INNER JOIN ( "); pQuery.AppendLine(" SELECT "); pQuery.AppendLine(" COUNT(Code) AS CNT "); pQuery.AppendLine(" ,Code "); pQuery.AppendLine(" ,U_IDEPTYN "); pQuery.AppendLine(" FROM [@KIS_HR01202] "); pQuery.AppendLine(" GROUP BY Code,U_IDEPTYN "); pQuery.AppendLine(" ) B ON A.Code = B.Code "); pQuery.AppendLine(" WHERE "); pQuery.AppendLine(" NOT EXISTS( "); pQuery.AppendLine(" SELECT "); pQuery.AppendLine(" COUNT(Code) AS CNT "); pQuery.AppendLine(" ,Code "); pQuery.AppendLine(" ,U_IDEPTYN "); pQuery.AppendLine(" FROM [@KIS_HR01202] "); pQuery.AppendLine(" WHERE (B.CNT = 1 AND B.U_IDEPTYN = 'N') "); pQuery.AppendLine(" GROUP BY Code,U_IDEPTYN "); pQuery.AppendLine(" ) "); pQuery.AppendLine(" GROUP BY A.Code , B.CNT , A.U_IDEPTYN "); pQuery.AppendLine(" ) T1 ON T0.Code = T1.Code "); pQuery.AppendLine(" WHERE T1.U_DEPTCD IS NOT NULL "); #endregion oRS.DoQuery(pQuery.ToString()); SAPbouiCOM.ProgressBar ProgressBar01 = B1Connections.theAppl.StatusBar.CreateProgressBar(String.Format("고과마스터 생성중...(0/{0})", oRS.RecordCount), oRS.RecordCount, false); KIS_COMMON.GLOBAL.PrograssBarExcute = true; try { for (int j = 0; j < oRS.RecordCount; j++) { oGeneralService = oCompanyService.GetGeneralService("KIS_HR0020_HRD"); oGeneralData = (SAPbobsCOM.GeneralData)oGeneralService.GetDataInterface(SAPbobsCOM.GeneralServiceDataInterfaces.gsGeneralData); if (KIS_COMMON.GLOBAL.PrograssBarExcute == true) { ProgressBar01.Value++; ProgressBar01.Text = String.Format("고과마스터 생성중 ... ({0}/{1})", ProgressBar01.Value, oRS.RecordCount); System.Windows.Forms.Application.DoEvents(); } #region DataSetting_헤더 string H_Code = FN.GetMaxCode("@KIS_HR0020M_HRD"); ; string H_Name = H_Code; string H_EMPNO = oRS.Fields.Item("EMPNO").Value.ToString();//사번 string H_EMPNM = oRS.Fields.Item("EMPNM").Value.ToString();//사원명 string H_DTCD = oRS.Fields.Item("DTCD").Value.ToString();//구분코드 string H_TEAMCD = oRS.Fields.Item("TEAMCD").Value.ToString();//팀코드 string H_DEPTCD = oRS.Fields.Item("DEPTCD").Value.ToString();//부서코드 string H_JIKGBCD = oRS.Fields.Item("JIKGBCD").Value.ToString();//직급코드 string H_JIKCHKCD = oRS.Fields.Item("JIKCHKCD").Value.ToString();//직책코드 string H_PASSYN = oRS.Fields.Item("PASSYN").Value.ToString();//본인작성사용여부 string H_CARDPSYN = oRS.Fields.Item("CARDPSYN").Value.ToString();//인재육성카드적성여부 string H_USEYN = oRS.Fields.Item("USEYN").Value.ToString();//사용여부 string H_LASTSBF = oRS.Fields.Item("LASTSBF").Value.ToString();//항목최종점수_수정전 string H_LASTGBF = oRS.Fields.Item("LASTGBF").Value.ToString();//항목최종등급_수정전 string H_LASTSAF = oRS.Fields.Item("LASTSAF").Value.ToString();//항목최종점수_수정후 string H_LASTGAF = oRS.Fields.Item("LASTGAF").Value.ToString();//항목최종등금_수정후 #endregion oGeneralData.SetProperty("Code", H_Code); oGeneralData.SetProperty("Name", H_Name); oGeneralData.SetProperty("U_EXAMCD", EXAMCD); oGeneralData.SetProperty("U_EMPNO", H_EMPNO); oGeneralData.SetProperty("U_EMPNM", H_EMPNM); oGeneralData.SetProperty("U_DTCD", H_DTCD); oGeneralData.SetProperty("U_DEPTCD", H_DEPTCD); oGeneralData.SetProperty("U_TEAMCD", H_TEAMCD); oGeneralData.SetProperty("U_JIKGBCD", H_JIKGBCD); oGeneralData.SetProperty("U_JIKCHKCD", H_JIKCHKCD); oGeneralData.SetProperty("U_PASSYN", H_PASSYN); oGeneralData.SetProperty("U_CARDPSYN", H_CARDPSYN); oGeneralData.SetProperty("U_USEYN", H_USEYN); oGeneralData.SetProperty("U_LASTSBF", H_LASTSBF); oGeneralData.SetProperty("U_LASTGBF", H_LASTGBF); oGeneralData.SetProperty("U_LASTSAF", H_LASTSAF); oGeneralData.SetProperty("U_LASTGAF", H_LASTGAF); oGeneralData.SetProperty("U_STATUS", "Y"); oChildren = oGeneralData.Child("KIS_HR00202_HRD"); #region DataSetting_라인쿼리문 pQuery.Clear(); pQuery.AppendLine(" SELECT "); pQuery.AppendLine(" A.U_RMK2 AS DTCD /*객관식 주관식 구분 코드*/ "); pQuery.AppendLine(" ,A.U_RMK3 AS DTNM /*객관식 주관식 구분 내용*/ "); pQuery.AppendLine(" ,A.U_SMLCD AS ABILCD /*항목*/ "); pQuery.AppendLine(" ,A.U_SMLNM AS ABILNM /*항목내용*/ "); pQuery.AppendLine(" ,B.U_SMLCD AS COMPOCD /*세부항목*/ "); pQuery.AppendLine(" ,B.U_SMLNM AS COMPONM /*세부항목내용*/ "); pQuery.AppendLine(" ,NULL AS SELVAL /*결과값*/ "); pQuery.AppendLine(" ,NULL AS SELVALNM /*결과값내용*/ "); pQuery.AppendLine(" ,NULL AS CONTENT1 /*피고과자의견*/ "); pQuery.AppendLine(" ,NULL AS CONTENT2 /*고과자의견*/ "); pQuery.AppendLine(" FROM [@KIS_AD00201] A "); pQuery.AppendLine(" LEFT OUTER JOIN [@KIS_AD00201] B ON A.U_RMK1 = B.Code "); pQuery.AppendLine(" WHERE A.CODE = 'HR07' "); #endregion oRS1.DoQuery(pQuery.ToString()); for (int jLooper = 0; jLooper < oRS1.RecordCount; jLooper++) { #region DataSetting_라인 string L_DTCD = oRS1.Fields.Item("DTCD").Value.ToString();//객관식 주관식 구분 코드 string L_DTNM = oRS1.Fields.Item("DTNM").Value.ToString();//객관식 주관식 구분 내용 string L_ABILCD = oRS1.Fields.Item("ABILCD").Value.ToString();//항목 string L_ABILNM = oRS1.Fields.Item("ABILNM").Value.ToString();//항목내용 string L_COMPOCD = oRS1.Fields.Item("COMPOCD").Value.ToString();//세부항목 string L_COMPONM = oRS1.Fields.Item("COMPONM").Value.ToString();//세부항목내용 string L_SELVAL = oRS1.Fields.Item("SELVAL").Value.ToString();//결과값 string L_SELVALNM = oRS1.Fields.Item("SELVALNM").Value.ToString();//결과값내용 string L_CONTENT1 = oRS1.Fields.Item("CONTENT1").Value.ToString();//피고과자의견 string L_CONTENT2 = oRS1.Fields.Item("CONTENT2").Value.ToString();//고과자의견 #endregion oChild = oChildren.Add(); oChild.SetProperty("U_LINENUM", jLooper + 1); oChild.SetProperty("U_DTCD", L_DTCD); oChild.SetProperty("U_DTNM", L_DTNM); oChild.SetProperty("U_ABILCD", L_ABILCD); oChild.SetProperty("U_ABILNM", L_ABILNM); oChild.SetProperty("U_COMPOCD", L_COMPOCD); oChild.SetProperty("U_COMPONM", L_COMPONM); oChild.SetProperty("U_SELVAL", L_SELVAL); oChild.SetProperty("U_SELVALNM", L_SELVALNM); oChild.SetProperty("U_CONTENT1", L_CONTENT1); oChild.SetProperty("U_CONTENT2", L_CONTENT2); oChild.SetProperty("U_EXAMCD", EXAMCD); oRS1.MoveNext(); } oRS.MoveNext(); oGeneralService.Add(oGeneralData); } } catch (Exception ex) { B1Connections.theAppl.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error); return false; } finally { if (KIS_COMMON.GLOBAL.PrograssBarExcute == true) { ProgressBar01.Stop(); KIS_COMMON.GLOBAL.PrograssBarExcute = false; } releaseObject(ProgressBar01); oCompanyService = null; } return true; }
public virtual void ET_btnCANCLE_AFItemPressed(ItemEvent pVal) { oForm = B1Connections.theAppl.Forms.Item(pVal.FormUID); oButton = ((SAPbouiCOM.Button)(oForm.Items.Item("btnCANCLE").Specific)); // ADD YOUR ACTION CODE HERE ... string strValue = string.Empty; string strBillNo = string.Empty; string xSQL = string.Empty; StringBuilder sb = new StringBuilder(); try { oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); oGrid = (SAPbouiCOM.Grid)(oForm.Items.Item("grd3").Specific); for (int i = 0; i <= oGrid.DataTable.Rows.Count - 1; i++) { if (oGrid.DataTable.Columns.Item("CHK").Cells.Item(i).Value == CFL.YES_MARK) { strBillNo = FN.GetGridCellValue(ref oGrid, "BILLNO", i).Trim(); if (FN.GetGridCellValue(ref oGrid, "DTINO", i) != "") { //SY: 전송, CY:고객수락 인건은 발행취소하지 못한다. if (FN.GetGridCellValue(ref oGrid, "DTSTAT", i) == "CY" || FN.GetGridCellValue(ref oGrid, "DTSTAT", i) == "SY") { B1Connections.theAppl.StatusBar.SetText(string.Format("계산서번호[{0}] 는 전자계산서가 발행되어 취소 할 수 없습니다.", strBillNo), BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Warning); continue; } } sb.AppendFormat(",'{0}'", strBillNo); } } strValue = sb.ToString(); if (strValue.Length > 0) { strValue = strValue.Remove(0, 1); xSQL = string.Format(" DELETE [@KIS_SO0230T_HRD] WHERE U_BILLNO IN ({0}) DELETE [@KIS_SO02301_HRD] WHERE U_BILLNO IN ({0})", strValue); oRS.DoQuery(xSQL); B1Connections.theAppl.StatusBar.SetText("발행 취소가 완료 되었습니다.", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Success); FindData(oForm); } } catch (Exception) { throw; } finally { oGrid = null; if (oRS != null) { Marshal.ReleaseComObject(oRS); } oRS = null; } }
private static void PrintView() { SAPbouiCOM.Form oForm = B1Connections.theAppl.Forms.ActiveForm; StringBuilder sb = new StringBuilder(); string edtFRDT = string.Empty; string edtTODT = string.Empty; string cboPAPERTP = string.Empty; SAPbobsCOM.Recordset oRS; string strReportFiles = string.Empty; try { oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); string edtDOCDTF = oForm.DataSources.UserDataSources.Item("edtDOCDTF").Value; string edtDOCDTT = oForm.DataSources.UserDataSources.Item("edtDOCDTT").Value; string cboPUBLICA = oForm.DataSources.UserDataSources.Item("cboPUBLICA").Value; string cboITMGRP = oForm.DataSources.UserDataSources.Item("cboITMGRP").Value; string cboPRCCD = oForm.DataSources.UserDataSources.Item("cboPRCCD").Value; string edtCARDCDF = oForm.DataSources.UserDataSources.Item("edtCARDCDF").Value; string edtSALDTF = oForm.DataSources.UserDataSources.Item("edtSALDTF").Value; string edtSALDTT = oForm.DataSources.UserDataSources.Item("edtSALDTT").Value; string edtBPCD = oForm.DataSources.UserDataSources.Item("edtBPCD").Value; sb.Append(" EXEC [KIS_SP_SD0120F_HRD] "); sb.Append(" @edtDOCDTF = '{0}' "); sb.Append(" ,@edtDOCDTT = '{1}' "); sb.Append(" ,@cboPUBLICA = '{2}' "); sb.Append(" ,@cboITMGRP = '{3}' "); sb.Append(" ,@cboPRCCD = '{4}' "); sb.Append(" ,@edtCARDCDF = '{5}' "); sb.Append(" ,@edtSALDTF = '{6}' "); sb.Append(" ,@edtSALDTT = '{7}' "); sb.Append(" ,@edtBPCD = '{8}' "); oRS.DoQuery(string.Format(sb.ToString(), edtDOCDTF, edtDOCDTT, cboPUBLICA, cboITMGRP, cboPRCCD, edtCARDCDF, edtSALDTF, edtSALDTT, edtBPCD)); strReportFiles = "\\RPT\\KOR\\KIS_SD0120F_HRD.RPT"; if (!oRS.EoF) { //리포트경로설정 string pStartPath = System.Reflection.Assembly.GetExecutingAssembly().Location; pStartPath = pStartPath.Substring(0, pStartPath.LastIndexOf("\\")); //데이터테이블가져옴. System.Data.DataTable dt = FN.GetRecordsetToDataTable(string.Format(sb.ToString(), edtDOCDTF, edtDOCDTT, cboPUBLICA, cboITMGRP, cboPRCCD, edtCARDCDF, edtSALDTF, edtSALDTT, edtBPCD)); //dt = FN.SapRecordSetToDataTable(oRS); using (CystalReportViewer rpt = new AddOnBase.CystalReportViewer()) { try { rpt.crxReport.Load(pStartPath + strReportFiles); rpt.crxReport.SetDataSource(dt); //리포트파라미터설정 for (int i = 0; i <= rpt.crxReport.DataDefinition.FormulaFields.Count - 1; i++) { switch (rpt.crxReport.DataDefinition.FormulaFields[i].Name) { case "DOCDT": rpt.crxReport.DataDefinition.FormulaFields[i].Text = "'" + edtSALDTF + " ~ " + edtSALDTT + "'"; break; //case "CLTNAM": // rpt.crxReport.DataDefinition.FormulaFields[i].Text = "'" + B1Connections.diCompany.CompanyName + "'"; // break; //case "PRTLMT": // rpt.crxReport.DataDefinition.FormulaFields[i].Text = "'" + strFrDate + " ~ " + strToDate + "'"; // break; } } rpt.ShowDialog(CFL.GetSBOWindow()); } catch (Exception ex) { B1Connections.theAppl.StatusBar.SetText("PrintView " + ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } } } else B1Connections.theAppl.StatusBar.SetText("출력 데이터가 존재 하지 않습니다. ", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Warning); } catch (Exception ex) { B1Connections.theAppl.StatusBar.SetText("ET_btnPrt_AFItemPressed " + ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } finally { //oForm.Freeze(false); } }
public void UpDateDate(SAPbouiCOM.Form oForm) { try { oDB_M = oForm.DataSources.DBDataSources.Item("@KIS_SO0400T_HRD"); oGrid = (SAPbouiCOM.Grid)oForm.Items.Item("grd").Specific; oGrid.DataTable = oForm.DataSources.DataTables.Item("grd"); oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); string LineId = ""; //지종라인(@KIS_SO04001_HRD) string strDocEntry = oDB_M.GetValue("DocEntry", 0).Trim(); decimal U_PAYADJT = 0; decimal U_ETCADJT = 0; decimal U_TRANQTY = 0; decimal U_PAPEAMT = 0; decimal U_SAVEAMT = 0; decimal U_SPOTPAY = 0; decimal U_SPOTETC = 0; StringBuilder pQuery = new StringBuilder(); string sQry = ""; string sXML = oGrid.DataTable.SerializeAsXML(BoDataTableXmlSelect.dxs_DataOnly); XDocument root = XDocument.Parse(sXML); //필터링 : 선택된 행의 컬랙션을 조회합니다. var query = from c in root.Descendants("Row") where c.Elements("Cells").Elements("Cell").Any(o => o.Element("ColumnUid").Value == "STATUS" && o.Element("Value").Value == "M") select c; foreach (XElement r in query) { foreach (XElement c in r.Descendants("Cell")) { switch (c.Element("ColumnUid").Value) { case "LineId": LineId = c.Element("Value").Value; break; case "U_PAYADJT": U_PAYADJT = Convert.ToDecimal(c.Element("Value").Value); break; case "U_ETCADJT": U_ETCADJT = Convert.ToDecimal(c.Element("Value").Value); break; case "U_SPOTPAY": U_SPOTPAY = Convert.ToDecimal(c.Element("Value").Value); break; case "U_SPOTETC": U_SPOTETC = Convert.ToDecimal(c.Element("Value").Value); break; case "U_PAPEAMT": U_PAPEAMT = Convert.ToDecimal(c.Element("Value").Value); break; case "U_SAVEAMT": U_SAVEAMT = Convert.ToDecimal(c.Element("Value").Value); break; default: break; } } pQuery.AppendLine(" UPDATE [@KIS_SO04001_HRD] SET "); pQuery.AppendLine(" U_PAYADJT = {0} "); pQuery.AppendLine(" ,U_ETCADJT = {1} "); pQuery.AppendLine(" ,U_SPOTPAY = {2} "); pQuery.AppendLine(" ,U_SPOTETC = {3} "); pQuery.AppendLine(" ,U_PAPEAMT = {4} "); pQuery.AppendLine(" ,U_SAVEAMT = {5} "); pQuery.AppendLine(" WHERE DocEntry = {6} AND LineId = {7} "); sQry = string.Format(pQuery.ToString(), U_PAYADJT, U_ETCADJT, U_SPOTPAY, U_SPOTETC, U_PAPEAMT, U_SAVEAMT, strDocEntry, LineId); oRS.DoQuery(sQry); } // 헤더 없데이트 string U_DESC = oForm.Items.Item("extDESC").Specific.value; pQuery.Clear(); pQuery.AppendLine(" UPDATE [@KIS_SO0400T_HRD] "); pQuery.AppendLine(" SET U_DESC = '{0}' "); pQuery.AppendLine(" WHERE DocEntry = {1} "); sQry = string.Format(pQuery.ToString(), U_DESC, strDocEntry); oRS.DoQuery(sQry); } catch (Exception) { throw; } }
private bool UDO_Add_Data(string Keys) { SAPbobsCOM.GeneralService oGeneralService = null; SAPbobsCOM.GeneralData oGeneralData = null; SAPbobsCOM.GeneralDataCollection oChildren = null; SAPbobsCOM.GeneralData oChild = null; SAPbobsCOM.CompanyService oCompanyService = (SAPbobsCOM.CompanyService)B1Connections.diCompany.GetCompanyService(); oGrid1 = (SAPbouiCOM.Grid)oForm.Items.Item("grd1").Specific; oGrid3 = (SAPbouiCOM.Grid)oForm.Items.Item("grd3").Specific; oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); StringBuilder pQuery = new StringBuilder(); string sQry = string.Empty; CHECK = false; int CNT = 0; string EXAMCD = oForm.Items.Item("cboYEAR").Specific.Value; string[] strData; string Key = string.Empty; strData = Keys.Split(','); SAPbouiCOM.ProgressBar ProgressBar01 = B1Connections.theAppl.StatusBar.CreateProgressBar(String.Format("면담자생성중...(0/{0})", strData.Length), strData.Length, false); KIS_COMMON.GLOBAL.PrograssBarExcute = true; try { EXAMCD = oForm.Items.Item("cboYEAR").Specific.Value; if (GRIDCODE != "") { oGeneralService = oCompanyService.GetGeneralService("KIS_HR0090_HRD"); oGeneralData = (SAPbobsCOM.GeneralData)oGeneralService.GetDataInterface(SAPbobsCOM.GeneralServiceDataInterfaces.gsGeneralData); #region DataSetting_헤더 string Code = FN.GetMaxCode("@KIS_HR0090M_HRD"); string Name = Code; string EMPNO = oGrid1.DataTable.GetValue("U_EMPNO", iROW);//사원 string EMPNM = oGrid1.DataTable.GetValue("U_EMPNM", iROW);//사원명 string DEPTCD = oGrid1.DataTable.GetValue("U_DEPTCD", iROW);//부서코드 string DEPTNM = oGrid1.DataTable.GetValue("U_DEPTNM", iROW);//부서명 #endregion oGeneralData.SetProperty("Code", Code); oGeneralData.SetProperty("Name", Name); oGeneralData.SetProperty("U_EXAMCD", EXAMCD); oGeneralData.SetProperty("U_EMPNO", EMPNO); oGeneralData.SetProperty("U_EMPNM", EMPNM); oGeneralData.SetProperty("U_DEPTCD", DEPTCD); oGeneralData.SetProperty("U_DEPTNM", DEPTNM); oChildren = oGeneralData.Child("KIS_HR00901_HRD"); for (int i = 0; i < strData.Length; i++) { if (KIS_COMMON.GLOBAL.PrograssBarExcute == true) { ProgressBar01.Value++; ProgressBar01.Text = String.Format("면담자생성중 ... ({0}/{1})", ProgressBar01.Value, strData.Length); System.Windows.Forms.Application.DoEvents(); } string KeyValue = strData[i].Trim(); string L_EMPNO = FN.GetRecordsetValue(string.Format("SELECT U_EMPNO FROM [@KIS_HR0120M] WHERE Code = '{0}'", KeyValue));//사원코드 string L_EMPNM = FN.GetRecordsetValue(string.Format("SELECT U_EMPNM FROM [@KIS_HR0120M] WHERE Code = '{0}'", KeyValue));//사원명 string L_DEPTCD = FN.GetRecordsetValue(string.Format("SELECT B.U_DEPTCD FROM [@KIS_HR0120M] A INNER JOIN [@KIS_HR01202] B ON A.Code = B.Code WHERE U_IDEPTYN = 'Y' AND A.Code = '{0}'", KeyValue));//부서 string L_DEPTNM = FN.GetRecordsetValue(string.Format("SELECT B.U_DEPTNM FROM [@KIS_HR0120M] A INNER JOIN [@KIS_HR01202] B ON A.Code = B.Code WHERE U_IDEPTYN = 'Y' AND A.Code = '{0}'", KeyValue));//부서 CHECK = true; CNT = CNT + 1; pQuery.Clear(); pQuery.AppendLine(" DELETE FROM [@KIS_HR0090M_HRD] WHERE U_EXAMCD = '{0}' AND U_EMPNO = '{1}' "); pQuery.AppendLine(" DELETE FROM [@KIS_HR00901_HRD] WHERE U_EXAMCD = '{0}' AND U_MEMPNO = '{1}' "); sQry = string.Format(pQuery.ToString(), EXAMCD, EMPNO); oRS.DoQuery(sQry); oChild = oChildren.Add(); oChild.SetProperty("U_EXAMCD", EXAMCD); oChild.SetProperty("U_MEMPNO", EMPNO); oChild.SetProperty("U_EMPNO", L_EMPNO); oChild.SetProperty("U_EMPNM", L_EMPNM); oChild.SetProperty("U_DEPTCD", L_DEPTCD); oChild.SetProperty("U_DEPTNM", L_DEPTNM); } if (CHECK == true) { oGeneralService.Add(oGeneralData); } } else { CHECK = false; } } catch (Exception ex) { B1Connections.theAppl.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error); oCompanyService = null; return false; } finally { if (KIS_COMMON.GLOBAL.PrograssBarExcute == true) { ProgressBar01.Stop(); KIS_COMMON.GLOBAL.PrograssBarExcute = false; } releaseObject(ProgressBar01); oRS = null; oGrid2 = null; oGeneralData = null; oCompanyService = null; if (CHECK == true) { B1Connections.theAppl.StatusBar.SetText(CNT + " 개의 면담자생성완료", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); } else { B1Connections.theAppl.StatusBar.SetText("저장할 데이터가 없습니다", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } } return true; }
/// <summary> /// 분개 저장 TR_COMMON.JournalType 에 따라 분개, 분개취소 전표를 발행한다. /// </summary> private bool DI_JournalEntries(SAPbouiCOM.Form oForm, SO.SO_COMMON_HRD.JournalType pJournalType) { bool boolReturn = true; int? retValue = null; int nError; string strError = string.Empty; string strJournalEntry = string.Empty; //string xSQL = string.Empty; StringBuilder sb; //DateTime dateDoc = DateTime.Today; string strDate = string.Empty; string strMEMO = string.Empty; string strDocEntry = string.Empty; string strPaperType = string.Empty; string strYyyyMm = string.Empty; string strAccount_Sale = string.Empty; // 매출계정 string strAccount_CreditSale = string.Empty; // 외상매출계정 string strAccount_Advance = string.Empty; // 선수금계정 string strAccount_ShortName = string.Empty; string strSaleCancelAmt = string.Empty; // 매출취소 string strAdjustAmt = string.Empty; // 조정금액 string strAdvanceSub = string.Empty; //선수금차감(대체) string strAdvanceAmt = string.Empty; //선수금(과입금처리) SAPbobsCOM.JournalEntries oJournalEntries = null; try { oDB_M = oForm.DataSources.DBDataSources.Item("@KIS_SO0150T_HRD"); oDB_1 = oForm.DataSources.DBDataSources.Item("@KIS_SO01501_HRD"); strDocEntry = oDB_M.GetValue("DocEntry", 0).Trim(); strPaperType = oDB_M.GetValue("U_PAPERTP", 0).Trim(); strYyyyMm = oDB_M.GetValue("U_YYYYMM", 0).Trim(); string strDocDate = DateTimeLibrary.LastDayOfCurrentMonth(strYyyyMm + "01"); oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); oJournalEntries = (SAPbobsCOM.JournalEntries)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oJournalEntries); B1Connections.diCompany.StartTransaction(); if (pJournalType == SO.SO_COMMON_HRD.JournalType.A01) { // 분개처리전에 선수금 데이서 생성 sb = new StringBuilder(); sb.AppendLine(" DECLARE @pERRORCODE INT "); sb.AppendLine(" DECLARE @pERROR_MESSAGE NVARCHAR (200) "); sb.AppendLine(" EXEC [KIS_SP_SO0150A4_HRD] @pDocEntry = {0}, @pERRORCODE = @pERRORCODE OUTPUT, @pERROR_MESSAGE = @pERROR_MESSAGE OUTPUT "); sb.AppendLine(" SELECT @pERRORCODE, @pERROR_MESSAGE "); oRS.DoQuery(string.Format(sb.ToString(), strDocEntry)); if (!oRS.EoF) { int strReturn = oRS.Fields.Item(0).Value; if (strReturn != 0) { throw new Exception(string.Format("선수금처리중 오류가 발생했습니다. {0}", oRS.Fields.Item(1).ToString())); } } // 분개데이터 조회 oRS.DoQuery(string.Format(" EXEC [KIS_SP_SO0150F2_HRD] @pDocEntry = {0} ", strDocEntry)); if (!oRS.EoF) { strMEMO = oRS.Fields.Item("U_YYYYMM").Value.ToString() + " " + oRS.Fields.Item("PAPERNM").Value.ToString(); //+ " 매출"; strSaleCancelAmt = oRS.Fields.Item("CANCEL_AMT").Value.ToString(); strAdjustAmt = oRS.Fields.Item("ADJUST_AMT").Value.ToString(); strAdvanceSub = oRS.Fields.Item("ADVANCE_SUB").Value.ToString(); strAdvanceAmt = oRS.Fields.Item("ADVANCE_AMT").Value.ToString(); strAccount_Sale = oRS.Fields.Item("ACCT_SALES").Value.ToString(); strAccount_CreditSale = oRS.Fields.Item("ACCT_CREDITSALE").Value.ToString(); strAccount_Advance = oRS.Fields.Item("ACCT_ADVANCE").Value.ToString(); strAccount_ShortName = oRS.Fields.Item("ACCT_SHORTNAME").Value.ToString(); } // 헤더셋팅 oJournalEntries.ReferenceDate = Convert.ToDateTime(strDocDate); //전기일 oJournalEntries.DueDate = Convert.ToDateTime(strDocDate); //만기일 oJournalEntries.TaxDate = Convert.ToDateTime(strDocDate); //증빙일 oJournalEntries.Memo = strMEMO + " 매출"; oJournalEntries.UserFields.Fields.Item("U_ADDOCTP").Value = "KIS_SO0150_HRD"; oJournalEntries.UserFields.Fields.Item("U_BPLID").Value = "1"; // 라인 1-1. 매출액 oJournalEntries.Lines.AccountCode = strAccount_Sale; oJournalEntries.Lines.LineMemo = strMEMO + " 매출"; oJournalEntries.Lines.Credit = double.Parse(strAdjustAmt); // 1-2. 매출취소 if (double.Parse(strSaleCancelAmt) != 0.0) { oJournalEntries.Lines.Add(); oJournalEntries.Lines.AccountCode = strAccount_Sale; oJournalEntries.Lines.LineMemo = strMEMO + " 이전매출 취소"; oJournalEntries.Lines.Credit = double.Parse(strSaleCancelAmt); } // 라인 2-1. 외상매출액 oJournalEntries.Lines.Add(); oJournalEntries.Lines.AccountCode = strAccount_CreditSale; oJournalEntries.Lines.ShortName = strAccount_ShortName; oJournalEntries.Lines.LineMemo = strMEMO + " 외상매출"; if (double.Parse(strAdvanceSub) > 0.0)//선수금대체금액이 있으면(선수금을 뺀 금액이 외상매출금) oJournalEntries.Lines.Debit = double.Parse(strAdjustAmt) - double.Parse(strAdvanceSub); else // 없으면 oJournalEntries.Lines.Debit = double.Parse(strAdjustAmt); // 2-2. 외상매출취소 if (double.Parse(strSaleCancelAmt) != 0.0) { oJournalEntries.Lines.Add(); oJournalEntries.Lines.AccountCode = strAccount_CreditSale; oJournalEntries.Lines.ShortName = strAccount_ShortName; oJournalEntries.Lines.LineMemo = strMEMO + " 이전매출취소로 인한 외상매출금차감"; oJournalEntries.Lines.Debit = double.Parse(strSaleCancelAmt); } // 2-3. 선수금대체 (선수금 대체 입금 처리) if (double.Parse(strAdvanceSub) > 0.0) { oJournalEntries.Lines.Add(); oJournalEntries.Lines.AccountCode = strAccount_Advance; oJournalEntries.Lines.ShortName = strAccount_ShortName; oJournalEntries.Lines.LineMemo = strMEMO + " 선수금차감"; oJournalEntries.Lines.Debit = double.Parse(strAdvanceSub); } // 3-1. 선수금(과입금 선수금 처리) if (double.Parse(strAdvanceAmt) > 0.0) { // 선수금처리 oJournalEntries.Lines.Add(); oJournalEntries.Lines.AccountCode = strAccount_Advance; oJournalEntries.Lines.ShortName = strAccount_ShortName; oJournalEntries.Lines.LineMemo = strMEMO + " 선수금입금"; oJournalEntries.Lines.Credit = double.Parse(strAdvanceAmt); // 선수금처리된 금액만큼 외상매출금에(-) 한다. oJournalEntries.Lines.Add(); oJournalEntries.Lines.AccountCode = strAccount_CreditSale; oJournalEntries.Lines.ShortName = strAccount_ShortName; oJournalEntries.Lines.LineMemo = strMEMO + " 선수금을 외상매출금으로대체"; oJournalEntries.Lines.Credit = -double.Parse(strAdvanceAmt); } // 분개라인이 생성되지 않을을경우 분개를 추가 하지 않는다.기본적으로 Count는 1개이다. if (oJournalEntries.Lines.Count > 1) retValue = oJournalEntries.Add(); } else if (pJournalType == SO.SO_COMMON_HRD.JournalType.A02) { // 분개 취소시 분개번호는 존재하고 , 분개 취소번호는 없는경우만 분개취소를 실행한다. if (!string.IsNullOrEmpty(oDB_M.GetValue("U_JDTNO", 0).Trim()) && string.IsNullOrEmpty(oDB_M.GetValue("U_REJDTNO", 0).Trim())) { oJournalEntries.GetByKey(int.Parse(oDB_M.GetValue("U_JDTNO", 0).Trim())); retValue = oJournalEntries.Cancel(); } } if (retValue != 0) { B1Connections.diCompany.GetLastError(out nError, out strError); B1Connections.theAppl.StatusBar.SetText("분개 저장이 실패했습니다. " + strError, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); boolReturn = false; if (B1Connections.diCompany.InTransaction == true) { B1Connections.diCompany.EndTransaction(BoWfTransOpt.wf_RollBack); } } else { // 분개라인이 존재할경우 키값을 가져온다. if (oJournalEntries.Lines.Count > 1) strJournalEntry = B1Connections.diCompany.GetNewObjectKey(); else strJournalEntry = ""; if (!string.IsNullOrEmpty(strJournalEntry)) { if (pJournalType == SO.SO_COMMON_HRD.JournalType.A01) { sb = new StringBuilder(); sb.AppendFormat(" UPDATE [@KIS_SO0150T_HRD] SET U_JDTNO ='{0}' WHERE DocEntry = {1} ", strJournalEntry, strDocEntry); //xSQL = string.Format(" UPDATE [@KIS_SO0150T_HRD] SET U_JDTNO ='{0}' WHERE DocEntry = {1} ", strJournalEntry, strDocEntry); } else { sb = new StringBuilder(); sb.AppendLine(" UPDATE T1 "); sb.AppendLine(" SET T1.U_STATUS = 'O' "); sb.AppendLine(" FROM [@KIS_SO0140T_HRD] AS T0 "); sb.AppendLine(" INNER JOIN [@KIS_SO01401_HRD] AS T1 ON T0.DocEntry = T1.DocEntry "); sb.AppendLine(" INNER JOIN [@KIS_SO01501_HRD] AS T2 ON T0.U_YYYYMM = T2.U_SALYM AND T1.U_READCD = T2.U_READCD "); sb.AppendFormat(" WHERE T2.DocEntry = {0} AND T1.U_STATUS = 'C' ", strDocEntry); sb.AppendLine(" "); sb.AppendLine(" -- 2. 삭제시 청구라인_TRAN(매출) 삭제 ----------------------------------------------------- "); sb.AppendLine(" DELETE [@KIS_SO01402_HRD] "); sb.AppendFormat(" WHERE U_BENTRY = {0} AND U_BTYPE = N'KIS_SO0150_HRD' ", strDocEntry); sb.AppendLine(" "); sb.AppendLine(" -- 3. 삭제시 청구라인_TRAN(청구수납) 삭제 ----------------------------------------------------- "); sb.AppendLine(" DELETE [@KIS_SO01403_HRD] "); sb.AppendFormat(" WHERE U_BENTRY = {0} AND U_BTYPE = N'KIS_SO0150_HRD' ", strDocEntry); sb.AppendLine(" "); sb.AppendLine(" -- 4. 삭제시 청구라인_TRAN(매출) 삭제 ----------------------------------------------------- "); sb.AppendFormat(" UPDATE [@KIS_SO0150T_HRD] SET U_REJDTNO ='{0}',Status = 'C' WHERE DocEntry = {1} ", strJournalEntry, strDocEntry); } oRS.DoQuery(sb.ToString()); if (B1Connections.diCompany.InTransaction == true) { B1Connections.diCompany.EndTransaction(BoWfTransOpt.wf_Commit); } } GetDataLoad(oForm, strDocEntry); if (pJournalType == SO.SO_COMMON_HRD.JournalType.A01) B1Connections.theAppl.StatusBar.SetText("매출전기 완료 되었습니다. " + strError, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); else B1Connections.theAppl.StatusBar.SetText("매출전기 취소 완료 되었습니다. " + strError, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); } oJournalEntries = null; } catch (Exception ex) { B1Connections.theAppl.StatusBar.SetText("DI_JournalEntries " + ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } finally { if (oRS != null) { Marshal.ReleaseComObject(oRS); } oRS = null; if (oJournalEntries != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(oJournalEntries); oJournalEntries = null; } if (B1Connections.diCompany.InTransaction == true) { B1Connections.diCompany.EndTransaction(BoWfTransOpt.wf_RollBack); } } return boolReturn; }
public void SetTextApply(SAPbouiCOM.Form oForm) { oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); try { oForm.Freeze(true); string cboYEAR = oForm.DataSources.UserDataSources.Item("cboYEAR").Value; string cboDTCD = oForm.DataSources.UserDataSources.Item("cboDTCD").Value; StringBuilder pQuery = new StringBuilder(); string query = string.Empty; pQuery.AppendLine(" EXEC KIS_SP_HR0140F_HRD "); pQuery.AppendLine(" @cboYEAR = '{0}' "); pQuery.AppendLine(" ,@cboDTCD = '{1}' "); string sQry = string.Format(pQuery.ToString(), cboYEAR, cboDTCD); oRS.DoQuery(sQry); //직무만족도 #region sttHR05 //업무의양 #region sttHR0501 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0501").Specific; oStatic.Caption = oRS.Fields.Item("HR0501").Value.ToString(); //oForm.Items.Item("sttHR0501").TextStyle = (int)BoTextStyle.ts_UNDERLINE; //대단히많다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0511").Specific; oStatic.Caption = oRS.Fields.Item("HR0511").Value.ToString(); //많다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0521").Specific; oStatic.Caption = oRS.Fields.Item("HR0521").Value.ToString(); //보통이다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0531").Specific; oStatic.Caption = oRS.Fields.Item("HR0531").Value.ToString(); //적다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0541").Specific; oStatic.Caption = oRS.Fields.Item("HR0541").Value.ToString(); //대단히적다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0551").Specific; oStatic.Caption = oRS.Fields.Item("HR0551").Value.ToString(); #endregion //업무의양 비율 #region sttHR05011 //대단히많다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05111").Specific; oStatic.Caption = oRS.Fields.Item("HR05111").Value.ToString(); //많다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05211").Specific; oStatic.Caption = oRS.Fields.Item("HR05211").Value.ToString(); //보통이다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05311").Specific; oStatic.Caption = oRS.Fields.Item("HR05311").Value.ToString(); //적다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05411").Specific; oStatic.Caption = oRS.Fields.Item("HR05411").Value.ToString(); //대단히적다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05511").Specific; oStatic.Caption = oRS.Fields.Item("HR05511").Value.ToString(); #endregion //업무난이도 #region sttHR0502 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0502").Specific; oStatic.Caption = oRS.Fields.Item("HR0502").Value.ToString(); //대단히많다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0512").Specific; oStatic.Caption = oRS.Fields.Item("HR0512").Value.ToString(); //많다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0522").Specific; oStatic.Caption = oRS.Fields.Item("HR0522").Value.ToString(); //보통이다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0532").Specific; oStatic.Caption = oRS.Fields.Item("HR0532").Value.ToString(); //적다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0542").Specific; oStatic.Caption = oRS.Fields.Item("HR0542").Value.ToString(); //대단히적다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0552").Specific; oStatic.Caption = oRS.Fields.Item("HR0552").Value.ToString(); #endregion //업무난이도 비율 #region sttHR05021 //대단히많다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05121").Specific; oStatic.Caption = oRS.Fields.Item("HR05121").Value.ToString(); //많다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05221").Specific; oStatic.Caption = oRS.Fields.Item("HR05221").Value.ToString(); //보통이다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05321").Specific; oStatic.Caption = oRS.Fields.Item("HR05321").Value.ToString(); //적다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05421").Specific; oStatic.Caption = oRS.Fields.Item("HR05421").Value.ToString(); //대단히적다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05521").Specific; oStatic.Caption = oRS.Fields.Item("HR05521").Value.ToString(); #endregion //적성적합도 #region sttHR0503 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0503").Specific; oStatic.Caption = oRS.Fields.Item("HR0503").Value.ToString(); //대단히많다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0513").Specific; oStatic.Caption = oRS.Fields.Item("HR0513").Value.ToString(); //많다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0523").Specific; oStatic.Caption = oRS.Fields.Item("HR0523").Value.ToString(); //보통이다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0533").Specific; oStatic.Caption = oRS.Fields.Item("HR0533").Value.ToString(); //적다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0543").Specific; oStatic.Caption = oRS.Fields.Item("HR0543").Value.ToString(); //대단히적다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0553").Specific; oStatic.Caption = oRS.Fields.Item("HR0553").Value.ToString(); #endregion //적성적합도 비율 #region sttHR05031 //대단히많다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05131").Specific; oStatic.Caption = oRS.Fields.Item("HR05131").Value.ToString(); //많다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05231").Specific; oStatic.Caption = oRS.Fields.Item("HR05231").Value.ToString(); //보통이다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05331").Specific; oStatic.Caption = oRS.Fields.Item("HR05331").Value.ToString(); //적다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05431").Specific; oStatic.Caption = oRS.Fields.Item("HR05431").Value.ToString(); //대단히적다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR05531").Specific; oStatic.Caption = oRS.Fields.Item("HR05531").Value.ToString(); #endregion #endregion //조직만족도 #region sttHR06 //상하간의 의사소통 #region sttHR0601 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0601").Specific; oStatic.Caption = oRS.Fields.Item("HR0601").Value.ToString(); //대단히많다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0611").Specific; oStatic.Caption = oRS.Fields.Item("HR0611").Value.ToString(); //많다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0621").Specific; oStatic.Caption = oRS.Fields.Item("HR0621").Value.ToString(); //보통이다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0631").Specific; oStatic.Caption = oRS.Fields.Item("HR0631").Value.ToString(); //적다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0641").Specific; oStatic.Caption = oRS.Fields.Item("HR0641").Value.ToString(); //대단히적다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0651").Specific; oStatic.Caption = oRS.Fields.Item("HR0651").Value.ToString(); #endregion //상하간의 의사소통 비율 #region sttHR06011 //대단히많다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06111").Specific; oStatic.Caption = oRS.Fields.Item("HR06111").Value.ToString(); //많다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06211").Specific; oStatic.Caption = oRS.Fields.Item("HR06211").Value.ToString(); //보통이다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06311").Specific; oStatic.Caption = oRS.Fields.Item("HR06311").Value.ToString(); //적다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06411").Specific; oStatic.Caption = oRS.Fields.Item("HR06411").Value.ToString(); //대단히적다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06511").Specific; oStatic.Caption = oRS.Fields.Item("HR06511").Value.ToString(); #endregion //복리후생제도 #region sttHR0602 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0602").Specific; oStatic.Caption = oRS.Fields.Item("HR0602").Value.ToString(); //대단히많다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0612").Specific; oStatic.Caption = oRS.Fields.Item("HR0612").Value.ToString(); //많다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0622").Specific; oStatic.Caption = oRS.Fields.Item("HR0622").Value.ToString(); //보통이다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0632").Specific; oStatic.Caption = oRS.Fields.Item("HR0632").Value.ToString(); //적다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0642").Specific; oStatic.Caption = oRS.Fields.Item("HR0642").Value.ToString(); //대단히적다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0652").Specific; oStatic.Caption = oRS.Fields.Item("HR0652").Value.ToString(); #endregion //복리후생제도 비율 #region sttHR06021 //대단히많다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06121").Specific; oStatic.Caption = oRS.Fields.Item("HR06121").Value.ToString(); //많다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06221").Specific; oStatic.Caption = oRS.Fields.Item("HR06221").Value.ToString(); //보통이다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06321").Specific; oStatic.Caption = oRS.Fields.Item("HR06321").Value.ToString(); //적다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06421").Specific; oStatic.Caption = oRS.Fields.Item("HR06421").Value.ToString(); //대단히적다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06521").Specific; oStatic.Caption = oRS.Fields.Item("HR06521").Value.ToString(); #endregion //미래비전 #region sttHR0603 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0603").Specific; oStatic.Caption = oRS.Fields.Item("HR0603").Value.ToString(); //대단히많다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0613").Specific; oStatic.Caption = oRS.Fields.Item("HR0613").Value.ToString(); //많다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0623").Specific; oStatic.Caption = oRS.Fields.Item("HR0623").Value.ToString(); //보통이다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0633").Specific; oStatic.Caption = oRS.Fields.Item("HR0633").Value.ToString(); //적다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0643").Specific; oStatic.Caption = oRS.Fields.Item("HR0643").Value.ToString(); //대단히적다 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR0653").Specific; oStatic.Caption = oRS.Fields.Item("HR0653").Value.ToString(); #endregion //미래비전 비율 #region sttHR06031 //대단히많다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06131").Specific; oStatic.Caption = oRS.Fields.Item("HR06131").Value.ToString(); //많다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06231").Specific; oStatic.Caption = oRS.Fields.Item("HR06231").Value.ToString(); //보통이다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06331").Specific; oStatic.Caption = oRS.Fields.Item("HR06331").Value.ToString(); //적다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06431").Specific; oStatic.Caption = oRS.Fields.Item("HR06431").Value.ToString(); //대단히적다 비율 oStatic = (SAPbouiCOM.StaticText)oForm.Items.Item("sttHR06531").Specific; oStatic.Caption = oRS.Fields.Item("HR06531").Value.ToString(); #endregion #endregion } catch (Exception ex) { oForm.Freeze(false); B1Connections.theAppl.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error); } finally { oForm.Freeze(false); oRS = null; oStatic = null; } }
public virtual bool ET_btnSAVE_BFItemPressed(ItemEvent pVal) { oForm = B1Connections.theAppl.Forms.Item(pVal.FormUID); oButton = ((SAPbouiCOM.Button)(oForm.Items.Item("btnSAVE").Specific)); // ADD YOUR ACTION CODE HERE ...' oMatrix = ((SAPbouiCOM.Matrix)(oForm.Items.Item("mtx1").Specific)); SAPbouiCOM.DBDataSource oKIS_HR00203_HRD = oForm.DataSources.DBDataSources.Item("@KIS_HR00203_HRD"); oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); string TMP = ""; oMatrix.FlushToDataSource(); for (int i = 0 ; i < oKIS_HR00203_HRD.Size; i++) { TMP = TMP + oKIS_HR00203_HRD.GetValue("U_CHEKER", i).Trim() + ","; } string sQry = " EXEC KIS_SP_HR0010B0_HRD '" + TMP + "'"; oRS.DoQuery(sQry); if (oRS.RecordCount != 0) { B1Connections.theAppl.StatusBar.SetText("중복된 고과구분이 있습니다", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error); oKIS_HR00203_HRD = null; oRS = null; oMatrix = null; return false; } string Keys = SelectCode(oForm, "grd1", "Code"); UDO_Add_Data(Keys); oKIS_HR00203_HRD = null; oRS = null; oMatrix = null; return true; }
private void FindData2(SAPbouiCOM.Form oForm) { oGrid = (SAPbouiCOM.Grid)oForm.Items.Item("grd1").Specific; oMatrix = ((SAPbouiCOM.Matrix)(oForm.Items.Item("mtx1").Specific)); SAPbouiCOM.DBDataSource oKIS_HR00203_HRD = oForm.DataSources.DBDataSources.Item("@KIS_HR00203_HRD"); StringBuilder pQuery = new StringBuilder(); string sQry = string.Empty; oForm.Freeze(true); oMatrix.Clear(); oKIS_HR00203_HRD.Clear(); oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); try { #region 조회Query pQuery.Clear(); pQuery.AppendLine(" SELECT "); pQuery.AppendLine(" U_CHEKER AS U_CHEKER "); pQuery.AppendLine(" ,U_EMPNO AS U_EMPNO "); pQuery.AppendLine(" ,U_EMPNM AS U_EMPNM "); pQuery.AppendLine(" ,U_JIKGBCD AS U_JIKGBCD "); pQuery.AppendLine(" ,U_JIKCHKCD AS U_JIKCHKCD "); pQuery.AppendLine(" ,U_DEPTCD AS U_DEPTCD "); pQuery.AppendLine(" ,U_CHKRATE AS U_CHKRATE "); pQuery.AppendLine(" FROM [@KIS_HR00203_HRD] "); pQuery.AppendLine(" WHERE Code = '{0}' AND U_EMPCD <> 'L' "); pQuery.AppendLine(" ORDER BY U_CHEKER "); sQry = string.Format(pQuery.ToString(), GRIDCODE); #endregion oRS.DoQuery(sQry); B1Connections.theAppl.StatusBar.SetText("데이터 조회중입니다.", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Warning); //데이터 조회중입니다 if (oRS.RecordCount > 0) { for (int i = 0; i < oRS.RecordCount; i++) { if (i < oRS.RecordCount) { oKIS_HR00203_HRD.InsertRecord(i); } oKIS_HR00203_HRD.SetValue("U_CHEKER", i, oRS.Fields.Item("U_CHEKER").Value); oKIS_HR00203_HRD.SetValue("U_EMPNO", i, oRS.Fields.Item("U_EMPNO").Value); oKIS_HR00203_HRD.SetValue("U_EMPNM", i, oRS.Fields.Item("U_EMPNM").Value); oKIS_HR00203_HRD.SetValue("U_JIKGBCD", i, oRS.Fields.Item("U_JIKGBCD").Value); oKIS_HR00203_HRD.SetValue("U_JIKCHKCD", i, oRS.Fields.Item("U_JIKCHKCD").Value); oKIS_HR00203_HRD.SetValue("U_DEPTCD", i, oRS.Fields.Item("U_DEPTCD").Value); oKIS_HR00203_HRD.SetValue("U_CHKRATE", i, oRS.Fields.Item("U_CHKRATE").Value); oRS.MoveNext(); } oMatrix.LoadFromDataSource(); B1Connections.theAppl.StatusBar.SetText("조회완료", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); //조회완료 } else { FN.SetMatrixAddRow(ref oForm, ref oMatrix, ref oKIS_HR00203_HRD, FN.RowSelectMode.None, "U_CHEKER"); B1Connections.theAppl.StatusBar.SetText("데이터가 없습니다.", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Warning); //데이터가 없습니다. } } catch (Exception ex) { oForm.Freeze(false); B1Connections.theAppl.StatusBar.SetText("btnFIND_OnAfterItemPressed " + ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } finally { oForm.Freeze(false); oGrid = null; oMatrix = null; oRS = null; oKIS_HR00203_HRD = null; } }
public virtual void ET_btnISSUE_AFItemPressed(ItemEvent pVal) { oForm = B1Connections.theAppl.Forms.Item(pVal.FormUID); oButton = ((SAPbouiCOM.Button)(oForm.Items.Item("btnISSUE").Specific)); // ADD YOUR ACTION CODE HERE ... StringBuilder sb = new StringBuilder(); string strType = string.Empty; string strYyyyMm = string.Empty; string strCode = string.Empty; string strValue = string.Empty; string xSQL = string.Empty; string strBillType = string.Empty; string strIssueDate = string.Empty; try { if (oForm.PaneLevel == 1) oGrid = (SAPbouiCOM.Grid)(oForm.Items.Item("grd1").Specific); else if (oForm.PaneLevel == 2) oGrid = (SAPbouiCOM.Grid)(oForm.Items.Item("grd2").Specific); oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); int rowidx = -1; for (int i = 0; i <= oGrid.DataTable.Rows.Count - 1; i++) { rowidx = oGrid.GetDataTableRowIndex(i); if (oGrid.DataTable.Columns.Item("CHK").Cells.Item(rowidx).Value == CFL.YES_MARK) { //strType = FN.GetGridCellValue(ref oGrid, "DOCTP", rowidx).Trim(); //strDocEntry = FN.GetGridCellValue(ref oGrid, "DOCENTRY", rowidx).Trim(); //strLineID = FN.GetGridCellValue(ref oGrid, "LINEID", rowidx).Trim(); strType = oGrid.DataTable.GetValue("DOCTP", rowidx).ToString().Trim(); strYyyyMm = oGrid.DataTable.GetValue("YYYYMM", rowidx).ToString().Trim(); strCode = oGrid.DataTable.GetValue("CODE", rowidx).ToString().Trim(); sb.AppendFormat(",{0}:{1}:{2}", strType, strYyyyMm, strCode); } } if (oForm.PaneLevel == 1) strBillType = "A"; // 미발행에서 발행 else if (oForm.PaneLevel == 2) strBillType = "M"; //수기발행에서 발행 strIssueDate = oForm.DataSources.UserDataSources.Item("edtISSUEDT").ValueEx; strValue = sb.ToString(); if (strValue.Length > 0) strValue = strValue.Remove(0, 1); xSQL = string.Format("EXEC KIS_SP_SO0230B1_HRD @pBILL_TYPE = '{0}', @pISSUE_DATE = '{1}', @pBILL_LIST = '{2}', @pUserSign = {3} ", strBillType, strIssueDate, strValue, B1Connections.diCompany.UserSignature.ToString()); oRS.DoQuery(xSQL); B1Connections.theAppl.StatusBar.SetText("계산서 발행이 완료 되었습니다.", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Success); FindData(oForm); } catch (Exception) { throw; } finally { oGrid = null; if (oRS != null) { Marshal.ReleaseComObject(oRS); } oRS = null; } }
/// <summary> /// 분개 저장 TR_COMMON.JournalType 에 따라 분개, 분개취소 전표를 발행한다. /// </summary> private bool DI_JournalEntries(SAPbouiCOM.Form oForm, SO.SO_COMMON_HRD.JournalType pJournalType) { bool boolReturn = true; int? retValue = null; int nError; string strError = string.Empty; string strJournalEntry = string.Empty; //string xSQL = string.Empty; StringBuilder sb; string xSQL = string.Empty; //DateTime dateDoc = DateTime.Today; //string strDate = string.Empty; string strHEAD_MEMO = string.Empty; string strLINE_MEMO = string.Empty; string strDocEntry = string.Empty; string strPaperType = string.Empty; string strCENTNM = string.Empty; string strDESC = string.Empty; string strDOCDT = string.Empty; string strAccount = string.Empty; string strDebit = string.Empty; string strCredit = string.Empty; string strShortName = string.Empty; string strCostCd = string.Empty; SAPbobsCOM.JournalEntries oJournalEntries = null; try { oDB_M = oForm.DataSources.DBDataSources.Item("@KIS_SO0320T_HRD"); oDB_1 = oForm.DataSources.DBDataSources.Item("@KIS_SO03201_HRD"); strDocEntry = oDB_M.GetValue("DocEntry", 0).Trim(); strDOCDT = oDB_M.GetValue("U_DOCDT", 0).Trim(); strCENTNM = oDB_M.GetValue("U_CENTNM", 0).Trim(); strDESC = oDB_M.GetValue("U_DESC", 0).Trim(); oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); oJournalEntries = (SAPbobsCOM.JournalEntries)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oJournalEntries); /*##### 트랙젝션 시작 #####*/ B1Connections.diCompany.StartTransaction(); if (pJournalType == SO.SO_COMMON_HRD.JournalType.A01) { xSQL = string.Format(" EXEC KIS_SP_SO0320F1_HRD @pDocEntry = {0} ", strDocEntry); oRS.DoQuery(xSQL); if (!oRS.EoF) { // 헤더셋팅 strHEAD_MEMO = "[" + strCENTNM + "] " + strDESC; oJournalEntries.ReferenceDate = Convert.ToDateTime(FN.SetDateFormatToDB(strDOCDT)); //전기일 oJournalEntries.DueDate = Convert.ToDateTime(FN.SetDateFormatToDB(strDOCDT)); //만기일 oJournalEntries.TaxDate = Convert.ToDateTime(FN.SetDateFormatToDB(strDOCDT)); //증빙일 oJournalEntries.Memo = strHEAD_MEMO; oJournalEntries.UserFields.Fields.Item("U_ADDOCTP").Value = "KIS_SO0320_HRD"; oJournalEntries.UserFields.Fields.Item("U_BPLID").Value = "1"; for (int i = 0; i < oRS.RecordCount; i++) { strAccount = oRS.Fields.Item("ACCOUNT").Value.ToString(); strDebit = oRS.Fields.Item("DEBIT").Value.ToString(); //차변 strCredit = oRS.Fields.Item("CREDIT").Value.ToString(); //대변 strShortName = oRS.Fields.Item("SHORTNM").Value.ToString(); strLINE_MEMO = oRS.Fields.Item("MEMO").Value.ToString(); //헤더,라인 메모 strCostCd = oRS.Fields.Item("COSTCD").Value.ToString(); // 코스트센터 (운반비 적용시 코스트센터 적용) //기본적으로 Count는 1개이다. if (i > 0) oJournalEntries.Lines.Add(); oJournalEntries.Lines.AccountCode = strAccount; oJournalEntries.Lines.LineMemo = strLINE_MEMO; // 거래처코드(관리계정일경우 거래처코드 입력) if (!string.IsNullOrEmpty(strShortName)) oJournalEntries.Lines.ShortName = strShortName; // 코스트센터 (운반비 적용시 코스트센터 적용) if (!string.IsNullOrEmpty(strCostCd)) oJournalEntries.Lines.CostingCode = strCostCd; if (double.Parse(strDebit) != 0.0) { oJournalEntries.Lines.Debit = double.Parse(strDebit); } else { oJournalEntries.Lines.Credit = double.Parse(strCredit); } oRS.MoveNext(); } } // 분개라인이 생성되지 않을을경우 분개를 추가 하지 않는다.기본적으로 Count는 1개이다. if (oJournalEntries.Lines.Count > 1) retValue = oJournalEntries.Add(); } else if (pJournalType == SO.SO_COMMON_HRD.JournalType.A02) { // 분개 취소시 분개번호는 존재하고 , 분개 취소번호는 없는경우만 분개취소를 실행한다. if (!string.IsNullOrEmpty(oDB_M.GetValue("U_JDTDOC", 0).Trim()) && string.IsNullOrEmpty(oDB_M.GetValue("U_RJDTDOC", 0).Trim())) { oJournalEntries.GetByKey(int.Parse(oDB_M.GetValue("U_JDTDOC", 0).Trim())); retValue = oJournalEntries.Cancel(); } } if (retValue != 0) { /*##### 트랙젝션 롤백 #####*/ if (B1Connections.diCompany.InTransaction == true) { B1Connections.diCompany.EndTransaction(BoWfTransOpt.wf_RollBack); } B1Connections.diCompany.GetLastError(out nError, out strError); B1Connections.theAppl.StatusBar.SetText("분개 저장이 실패했습니다. " + strError, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); boolReturn = false; } else { // 분개라인이 존재할경우 키값을 가져온다. if (oJournalEntries.Lines.Count > 1) strJournalEntry = B1Connections.diCompany.GetNewObjectKey(); else strJournalEntry = ""; if (!string.IsNullOrEmpty(strJournalEntry)) { if (pJournalType == SO.SO_COMMON_HRD.JournalType.A01) { sb = new StringBuilder(); sb.AppendLine(" UPDATE [@KIS_SO0320T_HRD] SET U_JDTDOC ='{0}' WHERE DocEntry = {1} "); } else { sb = new StringBuilder(); sb.AppendLine(" --1.지대수금_헤더 상태값 UPDATE "); sb.AppendLine(" UPDATE [@KIS_SO0320T_HRD] "); sb.AppendLine(" SET U_RJDTDOC = {0}, Status = 'C' "); sb.AppendLine(" WHERE DocEntry = {1} "); sb.AppendLine(" "); sb.AppendLine(" --2.지대청구_라인(청구입금TRAN) 데이터 삭제 "); sb.AppendLine(" DELETE [@KIS_SO03103_HRD] "); sb.AppendLine(" WHERE U_BTYPE = 'KIS_SO0320_HRD' AND U_BENTRY = {1} "); sb.AppendLine(" "); sb.AppendLine(" --3.지대청구_라인(보증금TRAN) 데이터 삭제 "); sb.AppendLine(" DELETE [@KIS_SO03102_HRD] "); sb.AppendLine(" WHERE U_BTYPE = 'KIS_SO0320_HRD' AND U_BENTRY = {1} "); sb.AppendLine(" -- 선수금입금_라인 "); sb.AppendLine(" DELETE A "); sb.AppendLine(" FROM [@KIS_SO04201_HRD] A INNER JOIN [@KIS_SO0420T_HRD] B ON A.DocEntry = B.DocEntry "); sb.AppendLine(" WHERE B.U_BENTRY = {1} AND B.U_BTYPE = 'KIS_SO0320_HRD' "); sb.AppendLine(" "); sb.AppendLine(" -- 선수금입금_헤더 "); sb.AppendLine(" DELETE [@KIS_SO0420T_HRD] "); sb.AppendLine(" WHERE U_BENTRY = {1} AND U_BTYPE = 'KIS_SO0320_HRD' "); } oRS.DoQuery(string.Format(sb.ToString(), strJournalEntry, strDocEntry)); /*##### 트랙젝션 커밋 #####*/ if (B1Connections.diCompany.InTransaction == true) { B1Connections.diCompany.EndTransaction(BoWfTransOpt.wf_Commit); } GetDataLoad(oForm, strDocEntry); } if (pJournalType == SO.SO_COMMON_HRD.JournalType.A01) B1Connections.theAppl.StatusBar.SetText("분개전기 완료 되었습니다. " + strError, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); else B1Connections.theAppl.StatusBar.SetText("분개전기 취소 되었습니다. " + strError, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); } oJournalEntries = null; } catch (Exception ex) { B1Connections.theAppl.StatusBar.SetText("DI_JournalEntries " + ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } finally { /*##### 트랙젝션 롤백 #####*/ if (B1Connections.diCompany.InTransaction == true) { B1Connections.diCompany.EndTransaction(BoWfTransOpt.wf_RollBack); } if (oRS != null) { Marshal.ReleaseComObject(oRS); } oRS = null; if (oJournalEntries != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(oJournalEntries); oJournalEntries = null; } } return boolReturn; }
private void FindData(SAPbouiCOM.Form oForm) { string cv_ColumnsUID_s; string cv_NoEditable_s; string cv_ColumnsNAM_s; string cv_Right_Just_s; string cv_No_Visible_s; oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); EXAMCD = oForm.Items.Item("cboYEAR").Specific.Value; try { oGrid = (SAPbouiCOM.Grid)oForm.Items.Item("grd1").Specific; oGrid.SelectionMode = BoMatrixSelect.ms_Single; cv_ColumnsUID_s = "U_LINENUM, U_EMPNO, U_EMPNM, U_DEPTCD, U_DEPTNM, U_PASSYNL, U_PASSYNT, U_HEADER, U_LINE,RANK,LASTG"; cv_NoEditable_s = "U_LINENUM, U_EMPNO, U_EMPNM, U_DEPTCD, U_DEPTNM, U_PASSYNL, U_PASSYNT, U_HEADER, U_LINE,RANK,LASTG"; cv_ColumnsNAM_s = "#,사번,사원명,부서코드,부서명,본인고과,고과자,헤더정보,라인정보,순위,최종등급"; cv_Right_Just_s = " "; cv_No_Visible_s = "U_HEADER, U_LINE,RANK,LASTG"; string sQry = ""; sQry = string.Format(" EXEC [KIS_SP_HR0010B2_HRD] '1','{0}'",EXAMCD); B1Connections.theAppl.StatusBar.SetText("데이터 조회중입니다.", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Warning); //데이터 조회중입니다 oForm.Freeze(true); oForm.DataSources.DataTables.Item("grd1").ExecuteQuery(sQry); oGrid.DataTable = oForm.DataSources.DataTables.Item("grd1"); //데이터 그리드에 Display //조회된 내역이 없어도 1줄이 추가되므로 키값을 체크하여 조회안된 경우 1줄 삭제 if (oGrid.DataTable.Rows.Count == 1 && oGrid.DataTable.GetValue("U_EMPNO", 0).ToString() == "") { FN.SetGridTitle(oGrid, cv_ColumnsUID_s, cv_ColumnsNAM_s, cv_No_Visible_s); oForm.Items.Item("edtCREATE").Specific.Value = oGrid.DataTable.Rows.Count; oForm.Items.Item("edtCOMPL").Specific.Value = 0; oForm.Items.Item("edtINCOMPL").Specific.value = oForm.Items.Item("edtPERSON").Specific.Value; B1Connections.theAppl.StatusBar.SetText("데이터가 없습니다.", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Warning); //데이터가 없습니다. } else { FN.BindGrid(oGrid, cv_ColumnsUID_s, cv_ColumnsNAM_s, cv_NoEditable_s, cv_No_Visible_s, "", cv_Right_Just_s); FN.SetGridCombo(ref oGrid, "U_PASSYNL", "", " SELECT U_SMLCD,U_SMLNM FROM [@KIS_AD00201] WHERE CODE = 'HR11' AND U_USEYN = 'Y'", ""); FN.SetGridCombo(ref oGrid, "U_PASSYNT", "", " SELECT U_SMLCD,U_SMLNM FROM [@KIS_AD00201] WHERE CODE = 'HR11' AND U_USEYN = 'Y'", ""); B1Connections.theAppl.StatusBar.SetText("조회완료", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); //조회완료 oGrid.RowHeaders.Width = 0; oGrid.AutoResizeColumns(); sQry = string.Format(" EXEC [KIS_SP_HR0010B2_HRD] '2','{0}'",EXAMCD); oRS.DoQuery(sQry); oForm.Items.Item("edtCREATE").Specific.Value = oGrid.DataTable.Rows.Count; oForm.Items.Item("edtCOMPL").Specific.Value = oRS.Fields.Item(0).Value; oForm.Items.Item("edtINCOMPL").Specific.value = Convert.ToInt16(oForm.Items.Item("edtCREATE").Specific.Value) - Convert.ToInt16(oForm.Items.Item("edtCOMPL").Specific.Value); } } catch (Exception ex) { B1Connections.theAppl.StatusBar.SetText("btnFIND_OnAfterItemPressed " + ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } finally { oForm.Freeze(false); oForm.Items.Item("btnSAVE").Enabled = true; STATE = true; oGrid = null; } }
private void SetMatrixValidate(SAPbouiCOM.Form oForm, SAPbouiCOM.Matrix oMatrix, ItemEvent pVal) { StringBuilder sb = new StringBuilder(); string strCode = string.Empty; string strCardCode = string.Empty; string strCardName = string.Empty; string strVatRegNo = string.Empty; string strVatGroup = string.Empty; string strPerson = string.Empty; string strEmail = string.Empty; try { oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(BoObjectTypes.BoRecordset); if (pVal.ColUID == "U_READCD" || pVal.ColUID == "U_CENTCD") { strCode = FN.GetMatirxCellValue(ref oMatrix, pVal.ColUID, pVal.Row); if (string.IsNullOrEmpty(strCode)) { if (pVal.ColUID == "U_READCD") oMatrix.SetCellWithoutValidation(pVal.Row, "U_READNM", ""); else oMatrix.SetCellWithoutValidation(pVal.Row, "U_CENTNM", ""); oMatrix.SetCellWithoutValidation(pVal.Row, "U_CARDCD", ""); oMatrix.SetCellWithoutValidation(pVal.Row, "U_CARDNM", ""); oMatrix.SetCellWithoutValidation(pVal.Row, "U_SAUPNO", ""); oMatrix.SetCellWithoutValidation(pVal.Row, "U_VATGRP", ""); oMatrix.SetCellWithoutValidation(pVal.Row, "U_PERSON", ""); oMatrix.SetCellWithoutValidation(pVal.Row, "U_EMAIL", ""); } else { sb.AppendLine(" SELECT T1.CardCode "); sb.AppendLine(" , T1.CardName "); sb.AppendLine(" , T1.VATRegNum "); sb.AppendLine(" , T1.ECVatGroup "); sb.AppendLine(" , T1.CntctPrsn "); sb.AppendLine(" , T1.E_Mail "); if (pVal.ItemUID == "mtx1") sb.AppendLine(" FROM [@KIS_SO0030M_HRD] T0 INNER JOIN OCRD T1 ON T0.U_CARDCD = T1.CardCode "); else sb.AppendLine(" FROM [@KIS_SO0040M_HRD] T0 INNER JOIN OCRD T1 ON T0.U_CARDCD = T1.CardCode "); sb.AppendFormat(" WHERE T0.Code = '{0}' ", strCode); oRS.DoQuery(sb.ToString()); if (!oRS.EoF) { //string strNowDate = B1Connections.theAppl.Company.ServerDate; string strNowDate = B1Connections.diCompany.GetCompanyDate().ToShortDateString(); strNowDate = FN.SetDateFormatToDB(strNowDate, FN.eDateType.n_YYYYMMDD); oMatrix.SetCellWithoutValidation(pVal.Row, "U_WRITEDT", FN.SetDateFormatToDB(strNowDate, FN.eDateType.n_YYYYMMDD)); strCardCode = oRS.Fields.Item("CardCode").Value.ToString(); strCardName = oRS.Fields.Item("CardName").Value.ToString(); strVatRegNo = oRS.Fields.Item("VATRegNum").Value.ToString(); strVatGroup = "A0"; //strPerson = oRS.Fields.Item("CntctPrsn").Value.ToString(); //strEmail = oRS.Fields.Item("E_Mail").Value.ToString(); oMatrix.SetCellWithoutValidation(pVal.Row, "U_CARDCD", strCardCode); oMatrix.SetCellWithoutValidation(pVal.Row, "U_CARDNM", strCardName); oMatrix.SetCellWithoutValidation(pVal.Row, "U_SAUPNO", strVatRegNo); oMatrix.SetCellWithoutValidation(pVal.Row, "U_VATGRP", strVatGroup); //oMatrix.SetCellWithoutValidation(pVal.Row, "U_PERSON", strPerson); //oMatrix.SetCellWithoutValidation(pVal.Row, "U_EMAIL", strEmail); } } } else if (pVal.ColUID == "U_FRDATE") { string strDate = FN.GetMatirxCellValue(ref oMatrix, pVal.ColUID, pVal.Row); strDate = DateTimeLibrary.FirstDayOfCurrentMonth(strDate); oMatrix.SetCellWithoutValidation(pVal.Row, "U_FRDATE", FN.SetDateFormatToDB(strDate, FN.eDateType.n_YYYYMMDD)); SetMonthCountToMatrix(oForm, oMatrix, pVal.Row); } else if (pVal.ColUID == "U_TODATE") { string strDate = FN.GetMatirxCellValue(ref oMatrix, pVal.ColUID, pVal.Row); strDate = DateTimeLibrary.LastDayOfCurrentMonth(strDate); oMatrix.SetCellWithoutValidation(pVal.Row, "U_TODATE", FN.SetDateFormatToDB(strDate, FN.eDateType.n_YYYYMMDD)); SetMonthCountToMatrix(oForm, oMatrix, pVal.Row); } else if (pVal.ColUID == "U_MONCNT") { SetSupplyAmtToMatrix(oForm, oMatrix, pVal.Row); } } catch (Exception) { throw; } }
private bool UDO_Add_Data_HR00220() { SAPbobsCOM.GeneralService oGeneralService = null; SAPbobsCOM.GeneralData oGeneralData = null; SAPbobsCOM.GeneralDataParams oGeneralParams = null; SAPbobsCOM.GeneralDataCollection oChildren = null; SAPbobsCOM.GeneralData oChild = null; SAPbobsCOM.CompanyService oCompanyService = (SAPbobsCOM.CompanyService)B1Connections.diCompany.GetCompanyService(); oGrid = (SAPbouiCOM.Grid)oForm.Items.Item("grd1").Specific; oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); StringBuilder pQuery = new StringBuilder(); string sQry = string.Empty; Boolean Status = false; string EXAMCD = oForm.Items.Item("cboYEAR").Specific.Value; int Cnt = 0; SAPbouiCOM.ProgressBar ProgressBar01 = B1Connections.theAppl.StatusBar.CreateProgressBar(String.Format("인사고과반영중...(0/{0})", oGrid.DataTable.Rows.Count), oGrid.DataTable.Rows.Count, false); KIS_COMMON.GLOBAL.PrograssBarExcute = true; try { EXAMCD = oForm.Items.Item("cboYEAR").Specific.Value; if (oGrid.DataTable.Rows.Count > 0) { for (int i = 0; i < oGrid.DataTable.Rows.Count; i++) { if (KIS_COMMON.GLOBAL.PrograssBarExcute == true) { ProgressBar01.Value++; ProgressBar01.Text = String.Format("인사고과반영중 ... ({0}/{1})", ProgressBar01.Value, oGrid.DataTable.Rows.Count); System.Windows.Forms.Application.DoEvents(); } Cnt++; //추가 if (oGrid.DataTable.GetValue("U_HEADER", i) == "") { oGeneralService = oCompanyService.GetGeneralService("KIS_HR0220"); oGeneralData = (SAPbobsCOM.GeneralData)oGeneralService.GetDataInterface(SAPbobsCOM.GeneralServiceDataInterfaces.gsGeneralData); #region DataSetting_헤더 string Code = FN.GetMaxCode("@KIS_HR0220M"); ; string Name = Code; string EMPNO = oGrid.DataTable.GetValue("U_EMPNO", i);//사원 string EMPNM = oGrid.DataTable.GetValue("U_EMPNM", i);//사원명 string DEPTCD = oGrid.DataTable.GetValue("U_DEPTCD", i);//부서코드 string DEPTNM = oGrid.DataTable.GetValue("U_DEPTNM", i);//부서명 #endregion oGeneralData.SetProperty("Code", Code); oGeneralData.SetProperty("Name", Code); oGeneralData.SetProperty("U_EMPNO", EMPNO); oGeneralData.SetProperty("U_EMPNM", EMPNM); oGeneralData.SetProperty("U_RMK", ""); oChildren = oGeneralData.Child("KIS_HR02201"); #region DataSetting_라인쿼리문 pQuery.Clear(); pQuery.AppendLine(" SELECT "); pQuery.AppendLine(" B.U_SMLNM AS U_SMLNM "); pQuery.AppendLine(" ,D.U_SMLNM AS U_SMLCD "); pQuery.AppendLine(" ,A.U_EMPNO AS U_EMPNO "); pQuery.AppendLine(" ,A.U_EMPNM AS U_EMPNM "); pQuery.AppendLine(" ,C.U_DEPTNM AS U_DEPTNM "); pQuery.AppendLine(" ,A.U_LASTSAF AS U_LASTSAF "); pQuery.AppendLine(" ,A.U_LASTGAF AS U_LASTGAF "); pQuery.AppendLine(" ,B.U_RMK1 AS U_RMK1 "); pQuery.AppendLine(" ,E.U_EMPNM AS U_CHKER "); pQuery.AppendLine(" FROM [@KIS_HR0020M_HRD] A "); pQuery.AppendLine(" INNER JOIN [@KIS_AD00201] B ON A.U_EXAMCD = B.U_SMLCD AND B.Code = 'HR01' AND B.U_USEYN = 'Y' "); pQuery.AppendLine(" INNER JOIN [@KIS_HR00401] C ON A.U_DEPTCD = C.U_DEPTCD "); pQuery.AppendLine(" INNER JOIN [@KIS_AD00201] D ON A.U_DTCD = D.U_SMLCD AND D.Code = 'HR02' AND B.U_USEYN = 'Y' "); pQuery.AppendLine(" LEFT JOIN [@KIS_HR00901_HRD] E ON E.U_MEMPNO = A.U_EMPNO "); pQuery.AppendLine(" WHERE A.U_EMPNO = '{0}' "); sQry = string.Format(pQuery.ToString(), EMPNO); #endregion oRS.DoQuery(sQry); oChild = oChildren.Add(); oChild.SetProperty("U_YYYY", oRS.Fields.Item("U_SMLNM").Value); oChild.SetProperty("U_GUBUN", oRS.Fields.Item("U_SMLCD").Value); oChild.SetProperty("U_DEPTNM", oRS.Fields.Item("U_DEPTNM").Value); oChild.SetProperty("U_GRADE", oRS.Fields.Item("U_LASTGAF").Value); oChild.SetProperty("U_SCORE", oRS.Fields.Item("U_LASTSAF").Value); oChild.SetProperty("U_CHKER", oRS.Fields.Item("U_CHKER").Value); oChild.SetProperty("U_VALUATN", oGrid.DataTable.GetValue("LASTG", i)); oChild.SetProperty("U_RMK", oRS.Fields.Item("U_RMK1").Value); oGeneralService.Add(oGeneralData); } else { //갱신 string KeyAlias = "Code"; string KeyValue = oGrid.DataTable.GetValue("U_HEADER", i); oGeneralService = oCompanyService.GetGeneralService("KIS_HR0220"); oGeneralParams = (SAPbobsCOM.GeneralDataParams)oGeneralService.GetDataInterface(SAPbobsCOM.GeneralServiceDataInterfaces.gsGeneralDataParams); oGeneralParams.SetProperty(KeyAlias, KeyValue); oGeneralData = oGeneralService.GetByParams(oGeneralParams); oChildren = oGeneralData.Child("KIS_HR02201"); string EMPNO = oGrid.DataTable.GetValue("U_EMPNO", i);//사원 #region DataSetting_라인쿼리문 pQuery.Clear(); pQuery.AppendLine(" SELECT "); pQuery.AppendLine(" B.U_SMLNM AS U_SMLNM "); pQuery.AppendLine(" ,D.U_SMLNM AS U_SMLCD "); pQuery.AppendLine(" ,A.U_EMPNO AS U_EMPNO "); pQuery.AppendLine(" ,A.U_EMPNM AS U_EMPNM "); pQuery.AppendLine(" ,C.U_DEPTNM AS U_DEPTNM "); pQuery.AppendLine(" ,A.U_LASTSAF AS U_LASTSAF "); pQuery.AppendLine(" ,A.U_LASTGAF AS U_LASTGAF "); pQuery.AppendLine(" ,B.U_RMK1 AS U_RMK1 "); pQuery.AppendLine(" ,E.U_EMPNM AS U_CHKER "); pQuery.AppendLine(" FROM [@KIS_HR0020M_HRD] A "); pQuery.AppendLine(" INNER JOIN [@KIS_AD00201] B ON A.U_EXAMCD = B.U_SMLCD AND B.Code = 'HR01' AND B.U_USEYN = 'Y' "); pQuery.AppendLine(" INNER JOIN [@KIS_HR00401] C ON A.U_DEPTCD = C.U_DEPTCD "); pQuery.AppendLine(" INNER JOIN [@KIS_AD00201] D ON A.U_DTCD = D.U_SMLCD AND D.Code = 'HR02' AND B.U_USEYN = 'Y' "); pQuery.AppendLine(" LEFT JOIN [@KIS_HR00901_HRD] E ON E.U_MEMPNO = A.U_EMPNO "); pQuery.AppendLine(" WHERE A.U_EMPNO = '{0}' "); pQuery.AppendLine(" AND(A.U_EXAMCD = '{1}') "); sQry = string.Format(pQuery.ToString(), EMPNO, EXAMCD); #endregion oRS.DoQuery(sQry); if (oGrid.DataTable.GetValue("U_LINE", i) == 0) { oChild = oChildren.Add(); }else { oChild = oChildren.Item(oGrid.DataTable.GetValue("U_LINE", i)-1); ; } oChild.SetProperty("U_YYYY", oRS.Fields.Item("U_SMLNM").Value); oChild.SetProperty("U_GUBUN", oRS.Fields.Item("U_SMLCD").Value); oChild.SetProperty("U_DEPTNM", oRS.Fields.Item("U_DEPTNM").Value); oChild.SetProperty("U_GRADE", oRS.Fields.Item("U_LASTGAF").Value); oChild.SetProperty("U_SCORE", oRS.Fields.Item("U_LASTSAF").Value); oChild.SetProperty("U_CHKER", oRS.Fields.Item("U_CHKER").Value); oChild.SetProperty("U_VALUATN", oGrid.DataTable.GetValue("LASTG", i)); oChild.SetProperty("U_RMK", oRS.Fields.Item("U_RMK1").Value); oGeneralService.Update(oGeneralData); } //고과 결과 테이블에 업데이트 #region 고과결과 업데이트 pQuery.Clear(); pQuery.AppendLine(" Update [@KIS_HR0020M_HRD] Set U_EGRADE = '{0}' "); pQuery.AppendLine(" Where U_EXAMCD = '{1}' "); pQuery.AppendLine(" AND U_EMPNO = '{2}' "); string LastG = oGrid.DataTable.GetValue("LASTG", i).Trim(); string EmpNo = oGrid.DataTable.GetValue("U_EMPNO", i).Trim(); sQry = string.Format(pQuery.ToString(), LastG, EXAMCD, EmpNo); oRS.DoQuery(sQry); #endregion Status = true; } } else { Status = false; } } catch (Exception ex) { B1Connections.theAppl.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error); oCompanyService = null; return false; } finally { if (KIS_COMMON.GLOBAL.PrograssBarExcute == true) { ProgressBar01.Stop(); KIS_COMMON.GLOBAL.PrograssBarExcute = false; } releaseObject(ProgressBar01); oGeneralData = null; oCompanyService = null; if (Status == true) B1Connections.theAppl.MessageBox(Cnt + "개의 고과상태 조정완료로 변경", 1, "확인", "", ""); else B1Connections.theAppl.StatusBar.SetText("저장할 데이터가 없습니다", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } return true; }
private bool UDO_Add_Data() { SAPbobsCOM.GeneralService oGeneralService = null; SAPbobsCOM.GeneralData oGeneralData = null; SAPbobsCOM.GeneralDataParams oGeneralParams = null; SAPbobsCOM.GeneralDataCollection oChildren = null; SAPbobsCOM.GeneralData oChild = null; SAPbobsCOM.CompanyService oCompanyService = (SAPbobsCOM.CompanyService)B1Connections.diCompany.GetCompanyService(); oGrid2 = (SAPbouiCOM.Grid)oForm.Items.Item("grd2").Specific; oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); double GAP = 0; try { EXAMCD = oForm.Items.Item("cboYEAR").Specific.Value; if (GRIDCODE != "") { B1Connections.theAppl.StatusBar.SetText("고과결과조정중..", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); string KeyAlias = "Code"; string KeyValue = GRIDCODE; oGeneralService = oCompanyService.GetGeneralService("KIS_HR0020_HRD"); oGeneralParams = (SAPbobsCOM.GeneralDataParams)oGeneralService.GetDataInterface(SAPbobsCOM.GeneralServiceDataInterfaces.gsGeneralDataParams); oGeneralParams.SetProperty(KeyAlias, KeyValue); oGeneralData = oGeneralService.GetByParams(oGeneralParams); string SCORE = oForm.Items.Item("edtLASTSAF").Specific.value; //수정점수 string BASESC = "100"; //기본배점 oRS.DoQuery("EXEC KIS_SP_HR0010B1_HRD '2','" + SCORE + "','" + BASESC + "'"); GAP = Convert.ToDouble(oForm.Items.Item("edtLASTSAF").Specific.value) - Convert.ToDouble(oForm.Items.Item("edtLASTSBF").Specific.value); GAP = GAP / Convert.ToDouble(oRS.Fields.Item("CHEKERCNT").Value); oGeneralData.SetProperty("U_LASTSAF", SCORE); oGeneralData.SetProperty("U_LASTGAF", oRS.Fields.Item("U_SMLNM").Value); oGeneralData.SetProperty("U_SCOREAD", oForm.Items.Item("edtSCOREAD").Specific.value); oChildren = oGeneralData.Child("KIS_HR00201_HRD"); for (int i = 0; i < oChildren.Count; i++) { oChild = oChildren.Item(i); oRS.DoQuery("EXEC KIS_SP_HR0010B1_HRD '2','" + Math.Round(oChild.GetProperty("U_LASTSAF") + GAP, 2) + "','" + oChild.GetProperty("U_BASESC") + "'"); oChild.SetProperty("U_LASTSAF", Math.Round(oChild.GetProperty("U_LASTSBF") + GAP, 2)); oChild.SetProperty("U_LASTGAF", oRS.Fields.Item("U_SMLNM").Value); } oGeneralService.Update(oGeneralData); B1Connections.theAppl.StatusBar.SetText("고과결과조정완료", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); } else { B1Connections.theAppl.StatusBar.SetText("저장할 데이터가 없습니다", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } } catch (Exception ex) { B1Connections.theAppl.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error); oCompanyService = null; return false; } oRS = null; oGrid2 = null; oGeneralData = null; oCompanyService = null; oGeneralParams = null; return true; }
public virtual bool ET_cboSTATUS_BFClick(ItemEvent pVal) { oForm = B1Connections.theAppl.Forms.Item(pVal.FormUID); oComboBox = ((SAPbouiCOM.ComboBox)(oForm.Items.Item("cboSTATUS").Specific)); // ADD YOUR ACTION CODE HERE ... oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); try { string sql = string.Format(" SELECT U_RMK2 FROM [@KIS_AD00201] WHERE CODE = 'HR01' AND U_USEYN = 'Y' AND U_SMLCD = '{0}'",oForm.Items.Item("cboYEAR").Specific.Value); oRS.DoQuery(sql); if (!string.IsNullOrEmpty(oRS.Fields.Item("U_RMK2").Value.ToString())) SetComboValue_STATUS(ref oComboBox, FN.Enum_WholeTp.m_Nothing, oRS.Fields.Item("U_RMK2").Value.ToString()); } catch (Exception ex) { B1Connections.theAppl.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error); return false; } finally { oForm.Items.Item("btnSAVE").Enabled = false; STATE = false; oRS = null; } return true; }
/// <summary> /// 사원코드로 사원 정보를 조회한다. /// </summary> /// <param name="pQueryType"></param> /// <param name="pEmpNo"></param> /// <returns></returns> private string GetEmployeeInfo(SO.SO_COMMON_HRD.QueryType_Employee pQueryType, string pEmpNo) { string rtnValue = string.Empty; StringBuilder sb = new StringBuilder(); try { if (!string.IsNullOrEmpty(pEmpNo)) { oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(BoObjectTypes.BoRecordset); sb.AppendLine(" SELECT TOP 1 "); sb.AppendLine(" T0.empID "); sb.AppendLine(" , T0.lastName "); sb.AppendLine(" , ISNULL (T1.Name, '') AS deptName "); sb.AppendLine(" , ISNULL (T2.name, '') AS PositionName "); sb.AppendLine(" FROM OHEM T0 "); sb.AppendLine(" LEFT JOIN OUDP T1 ON T0.dept = T1.Code "); sb.AppendLine(" LEFT JOIN OHPS T2 ON T0.position = T2.posID "); sb.AppendFormat(" WHERE T0.U_EMPNO = '{0}' ", pEmpNo); oRS.DoQuery(sb.ToString()); if (!oRS.EoF) { if (pQueryType == SO.SO_COMMON_HRD.QueryType_Employee.OHEM_Id) rtnValue = oRS.Fields.Item("empID").Value.ToString(); else if (pQueryType == SO.SO_COMMON_HRD.QueryType_Employee.Emp_Name) rtnValue = oRS.Fields.Item("lastName").Value.ToString(); else if (pQueryType == SO.SO_COMMON_HRD.QueryType_Employee.Dept_Name) rtnValue = oRS.Fields.Item("deptName").Value.ToString(); else if (pQueryType == SO.SO_COMMON_HRD.QueryType_Employee.Postion_Name) rtnValue = oRS.Fields.Item("PositionName").Value.ToString(); else rtnValue = ""; } } } catch (Exception) { throw; } return rtnValue; }
public void UpDateData(SAPbouiCOM.Form oForm) { SAPbouiCOM.Grid oGrid = (SAPbouiCOM.Grid)oForm.Items.Item("grd").Specific; oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); int Tmp = 0; for (int i = 0; i < oGrid.DataTable.Rows.Count; i++) { if (oGrid.DataTable.Columns.Item("CHK").Cells.Item(i).Value.ToString() == "Y") { Tmp = Tmp + 1; string SDELVCD = oGrid.DataTable.GetValue("U_DELVCD", i); string SLINEID = Convert.ToString(oGrid.DataTable.GetValue("LINEID", i)); string SPROCOMM = oGrid.DataTable.GetValue("U_PROCOMM", i); string SPROCNM = oGrid.DataTable.GetValue("U_PROCNM", i); //string SPROCDT = oGrid.DataTable.GetValue("U_PROCDT", i).toString("yyyyMMdd"); string SPROCDT = FN.SetDateFormatToDB(oGrid.DataTable.GetValue("U_PROCDT", i).ToString(), FN.eDateType.n_YYYYMMDD); StringBuilder pQuery = new StringBuilder(); string query = string.Empty; pQuery.AppendLine(" EXEC [KIS_SP_SO0080A_HRD] "); pQuery.AppendLine(" @TYPE='ADD' "); pQuery.AppendLine(" , @FRRDCD='' "); pQuery.AppendLine(" , @TORDCD='' "); pQuery.AppendLine(" , @FRRECVDT='' "); pQuery.AppendLine(" , @TORECVDT='' "); pQuery.AppendLine(" , @FRDELVCD='' "); pQuery.AppendLine(" , @TODELVCD='' "); pQuery.AppendLine(" , @CALLTP='' "); pQuery.AppendLine(" , @RECVID='' "); pQuery.AppendLine(" , @PROSTAT='' "); pQuery.AppendLine(" , @SDELVCD='{0}' "); pQuery.AppendLine(" , @SLINEID='{1}' "); pQuery.AppendLine(" , @SPROCOMM='{2}' "); pQuery.AppendLine(" , @SPROCNM='{3}' "); pQuery.AppendLine(" , @SPROCDT='{4}' "); string sQry = string.Format(pQuery.ToString(), SDELVCD, SLINEID, SPROCOMM, SPROCNM, SPROCDT); oRS.DoQuery(sQry); } } if (Tmp != 0) { FindData(oForm); B1Connections.theAppl.StatusBar.SetText("갱신되었습니다.", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); } else { B1Connections.theAppl.StatusBar.SetText("저장할데이터를 체크해주세요.", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } oGrid = null; oRS = null; }
private bool UDO_Add_Data(string Keys) { oGrid = (SAPbouiCOM.Grid)oForm.Items.Item("grd1").Specific; oMatrix = ((SAPbouiCOM.Matrix)(oForm.Items.Item("mtx1").Specific)); SAPbouiCOM.DBDataSource oKIS_HR00203_HRD = oForm.DataSources.DBDataSources.Item("@KIS_HR00203_HRD"); oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); int CNT = 0; decimal CHKRATECHK = 0; Boolean Status = false; string[] strData; string Key = string.Empty; EXAMCD = oForm.Items.Item("cboYEAR").Specific.Value; strData = Keys.Split(','); SAPbouiCOM.ProgressBar ProgressBar01 = B1Connections.theAppl.StatusBar.CreateProgressBar(String.Format("고과항목생성중...(0/{0})", strData.Length), strData.Length, false); KIS_COMMON.GLOBAL.PrograssBarExcute = true; try { for (int i = 0; i < strData.Length; i++) { if (KIS_COMMON.GLOBAL.PrograssBarExcute == true) { ProgressBar01.Value++; ProgressBar01.Text = String.Format("고과자생성중 ... ({0}/{1})", ProgressBar01.Value, strData.Length); System.Windows.Forms.Application.DoEvents(); } Status = true; CNT = CNT + 1; string sQry = string.Empty; string KeyValue = strData[i].Trim(); //string KeyValue = oGrid.DataTable.GetValue("Code", i); string TmpStatus = FN.GetRecordsetValue(string.Format("SELECT U_RMK2 FROM [@KIS_AD00201] WHERE Code = 'HR01' AND U_SMLCD = '{0}'", EXAMCD)); decimal CHKRATE = 0;//평가비율 /*고과상태가 설정이면 DELETE INSERT*/ if (TmpStatus == "U02") { sQry = " DELETE FROM [@KIS_HR00203_HRD] WHERE Code = '" + KeyValue + "'"; oRS.DoQuery(sQry); } sQry = " SELECT * FROM [@KIS_HR00201_HRD] WHERE Code = '" + KeyValue + "'"; oRS.DoQuery(sQry); if (oRS.RecordCount > 0) { CHECK = true; } else { CHECK = false; } oMatrix.FlushToDataSource(); /* 평가비율합 100 Check*/ CHKRATECHK = 0; for (int j = 0; j < oMatrix.RowCount; j++) { CHKRATE = Convert.ToDecimal(oKIS_HR00203_HRD.GetValue("U_CHKRATE", j)); CHKRATECHK = CHKRATECHK + CHKRATE; } if (CHKRATECHK != 100) { CHKRATECHK = -1; return false; } /*고과상태 시작이면 변경상태확인하여 UPDATE 및 INSERT*/ if (TmpStatus == "U03") { string NewCHEKER = FN.GetRecordsetValue(string.Format("SELECT U_EMPNO FROM [@KIS_HR00203_HRD] WHERE Code = '{0}'", KeyValue)); if (NewCHEKER == "") { //신규 추가 UDO_Add_Data_NEW(KeyValue); } else { //UPDATE 문 UDO_Add_Data_UPDATE(KeyValue); } } else { //신규 추가 UDO_Add_Data_NEW(KeyValue); } //고과자 평가항목 등록 if (CHECK == true) { UDO_Add_Data_2(KeyValue); } } } catch (Exception ex) { B1Connections.theAppl.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error); return false; } finally { if (KIS_COMMON.GLOBAL.PrograssBarExcute == true) { ProgressBar01.Stop(); KIS_COMMON.GLOBAL.PrograssBarExcute = false; } releaseObject(ProgressBar01); oRS = null; oKIS_HR00203_HRD = null; oMatrix = null; oGrid = null; if (CHKRATECHK != -1) { if (Status != true) { B1Connections.theAppl.StatusBar.SetText("선택된 데이터가 없습니다", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } else B1Connections.theAppl.StatusBar.SetText(CNT + "개의 고과자생성완료", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success); } else { B1Connections.theAppl.StatusBar.SetText("선택한 평가비율합이 100이 아닙니다", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } } return true; }
/// <summary> /// 폼(Form)의 아이템들(Items)에 연결이 필요한 데이타소스(DataSource) 형식을 정의합니다. /// </summary> private void Act2_DataSourcesBinding() { // '// ADD YOUR ACTION CODE HERE ... #region EditText string ItemUID = ""; ItemUID = "edtEMPNO"; oForm.DataSources.UserDataSources.Add(ItemUID, BoDataType.dt_SHORT_TEXT, 30); FN.SetUserDataBind(oForm, ItemUID);//사원코드 ItemUID = "edtEMPNM"; oForm.DataSources.UserDataSources.Add(ItemUID, BoDataType.dt_SHORT_TEXT, 30); FN.SetUserDataBind(oForm, ItemUID);//사원코드 #endregion #region ComboBox string sql = string.Empty; //string sql = FN.GetSQL("KIS_SF0360A_001"); oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); // 기수 oComboBox = (SAPbouiCOM.ComboBox)oForm.Items.Item("cboYEAR").Specific; sql = string.Format(" SELECT U_SMLCD, U_SMLNM FROM [@KIS_AD00201] WHERE CODE = 'HR01' AND U_USEYN = 'Y'"); FN.QComboBind(ref oComboBox, sql, FN.Enum_WholeTp.m_Nothing, null); sql = string.Format(" SELECT LEFT(U_SMLNM,4) AS YEAR FROM [@KIS_AD00201] WHERE CODE = 'HR01' AND U_USEYN = 'Y' AND LEFT(U_SMLNM,4) = '" + DateTime.Now.Year.ToString() + "'"); oRS.DoQuery(sql); oComboBox.Select(oRS.Fields.Item("YEAR").Value.ToString(), BoSearchKey.psk_ByValue); // 부서 oComboBox = (SAPbouiCOM.ComboBox)oForm.Items.Item("cboDEPT").Specific; sql = string.Format(" SELECT U_DEPTCD,U_DEPTNM FROM [@KIS_HR00401] WHERE U_USEYN = 'Y'"); oComboBox.ValidValues.Add("", ""); FN.QComboBind(ref oComboBox, sql, FN.Enum_WholeTp.m_Nothing, null); #endregion #region ChooseFromList SAPbouiCOM.Conditions oCons = new SAPbouiCOM.Conditions(); //oCons = FN.GetConditionsWithQuery("CARDTYPE == S"); oCons = null; FN.SetChooseFromListAdd(oForm, "KIS_HR0120", "edtEMPNO", "U_EMPNO", BoFormItemTypes.it_EXTEDIT, oCons); #endregion }
public virtual bool ET_1_BFClick(ItemEvent pVal) { oForm = B1Connections.theAppl.Forms.Item(pVal.FormUID); oButton = ((SAPbouiCOM.Button)(oForm.Items.Item("1").Specific)); // ADD YOUR ACTION CODE HERE ... if (oForm.Mode == BoFormMode.fm_ADD_MODE) { SAPbobsCOM.Recordset oRS = null; oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); string Code = oForm.Items.Item("Code").Specific.value.Trim(); string sQry = ""; sQry = "Select * From [@KIS_FI0020M_HRD] Where Code = '" + Code + "'"; oRS.DoQuery(sQry); if (oRS.RecordCount > 0) { B1Connections.theAppl.StatusBar.SetText("해당 기준년도가 존재합니다", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); //데이터 조회중입니다 return false; } if (!GetMonth()) return false; } return true; }
public virtual void ET_mtx1_OnLostFocus(ItemEvent pVal) { oForm = B1Connections.theAppl.Forms.Item(pVal.FormUID); oMatrix = ((SAPbouiCOM.Matrix)(oForm.Items.Item("mtx1").Specific)); // ADD YOUR ACTION CODE HERE ...' SAPbouiCOM.DBDataSource oKIS_HR00203_HRD = oForm.DataSources.DBDataSources.Item("@KIS_HR00203_HRD"); oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); if ((pVal.ColUID == "U_CHEKER") && (oKIS_HR00203_HRD.GetValue("U_CHEKER", pVal.Row - 1) != "")) { oForm.Freeze(true); string sQry = " SELECT U_SMLCD, U_SMLNM FROM [@KIS_AD00201] WHERE CODE = 'HR12' AND U_USEYN = 'Y' AND U_RMK2 = 'T'"; oRS.DoQuery(sQry); if ((pVal.Row < oRS.RecordCount) && (oMatrix.RowCount < oRS.RecordCount)) { FN.SetMatrixAddRow(ref oForm, ref oMatrix, ref oKIS_HR00203_HRD, FN.RowSelectMode.None, "U_CHEKER"); } oForm.Freeze(false); } oKIS_HR00203_HRD = null; oRS = null; }
private void GetSum(SAPbouiCOM.Form oForm) { try { oDB_M = oForm.DataSources.DBDataSources.Item("@KIS_SO0150T_HRD"); string strDocEntry = oDB_M.GetValue("DocEntry", 0).Trim(); string sNORMAL = string.Empty; string sLOCAL = string.Empty; string sSUMAMT = string.Empty; string sWITHOUT = string.Empty; string sSUMREQ = string.Empty; string sADNAT1 = string.Empty; string sADNAT2 = string.Empty; string sPRESS1= string.Empty; string sPRESS2 = string.Empty; string sKHREAD1 = string.Empty; string sKHREAD2 = string.Empty; string sPAYLOC = string.Empty; string sUNPAID = string.Empty; string sDIVAMT = string.Empty; string sCANAMT = string.Empty; oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); //StringBuilder sb = new StringBuilder(); //string strSQL = " EXEC KIS_SP_SO0150F3_HRD @pDocEntry = {0}"; oRS.DoQuery(string.Format(" EXEC KIS_SP_SO0150F3_HRD @pDocEntry = {0}" , strDocEntry)); if (!oRS.EoF) { sNORMAL = oRS.Fields.Item("NORMAL_AMT").Value.ToString(); sLOCAL = oRS.Fields.Item("LOCAL_AMT").Value.ToString(); sSUMAMT = oRS.Fields.Item("SUM_SALE").Value.ToString(); sSUMREQ = oRS.Fields.Item("REQ_AMT").Value.ToString(); sWITHOUT = oRS.Fields.Item("SUM_WITHOUT").Value.ToString(); sADNAT1 = oRS.Fields.Item("ADNET_AMT").Value.ToString(); sADNAT2 = oRS.Fields.Item("ADNET_AMT").Value.ToString(); sPRESS1 = oRS.Fields.Item("PRESS_AMT").Value.ToString(); sPRESS2 = oRS.Fields.Item("PRESS_AMT").Value.ToString(); sKHREAD1 = oRS.Fields.Item("KHRD_AMT").Value.ToString(); sKHREAD2 = oRS.Fields.Item("KHRD_AMT").Value.ToString(); sPAYLOC = oRS.Fields.Item("PAY_AMT").Value.ToString(); sUNPAID = oRS.Fields.Item("ARREAMT").Value.ToString(); sUNPAID = oRS.Fields.Item("ARREAMT").Value.ToString(); sDIVAMT = oRS.Fields.Item("DIV_AMT").Value.ToString(); sCANAMT = oRS.Fields.Item("CANCEL_AMT").Value.ToString(); oForm.DataSources.UserDataSources.Item("edtDIRECT").Value = sNORMAL; oForm.DataSources.UserDataSources.Item("edtLOCAL").Value = sLOCAL; oForm.DataSources.UserDataSources.Item("edtSUMSALE").Value = sSUMAMT; oForm.DataSources.UserDataSources.Item("edtWITHOUT").Value = sWITHOUT; oForm.DataSources.UserDataSources.Item("edtSUMREQ").Value = sSUMREQ; oForm.DataSources.UserDataSources.Item("edtADNAT1").Value = sADNAT1; oForm.DataSources.UserDataSources.Item("edtADNAT2").Value = sADNAT2; oForm.DataSources.UserDataSources.Item("edtPRESS1").Value = sPRESS1; oForm.DataSources.UserDataSources.Item("edtPRESS2").Value = sPRESS2; oForm.DataSources.UserDataSources.Item("edtKHREAD1").Value = sKHREAD1; oForm.DataSources.UserDataSources.Item("edtKHREAD2").Value = sKHREAD2; oForm.DataSources.UserDataSources.Item("edtPAYLOC").Value = sPAYLOC; oForm.DataSources.UserDataSources.Item("edtUNPAID").Value = sUNPAID; oForm.DataSources.UserDataSources.Item("edtDIVAMT").Value = sDIVAMT; oForm.DataSources.UserDataSources.Item("edtCANCEL").Value = sCANAMT; // 매출취소금액 } } catch (Exception) { throw; } }
private void SetTR(string TYPE) { bool bModify = false; SAPbobsCOM.Recordset oRS = null; oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); try { oForm.Freeze(true); oDB_M = oForm.DataSources.DBDataSources.Item("@KIS_FI0020M_HRD"); oDB_1 = oForm.DataSources.DBDataSources.Item("@KIS_FI00201_HRD"); oMatrix = (SAPbouiCOM.Matrix)oForm.Items.Item("mtx").Specific; //oMatrix.LoadFromDataSource(); oMatrix.FlushToDataSource(); string strNowDate = B1Connections.diCompany.GetCompanyDate().ToShortDateString(); strNowDate = FN.SetDateFormatToDB(strNowDate, FN.eDateType.p_YYYYMMDD); string Code = string.Empty; string YYYYMM = string.Empty; string sQry = string.Empty; if (SelectRow != -1) { if (TYPE == "TR") { Code = oForm.Items.Item("Code").Specific.value.Trim(); YYYYMM = oDB_1.GetValue("U_YYYYMM", SelectRow).ToString().Trim(); sQry = " EXEC KIS_SP_FI0020B1_HRD '" + YYYYMM + "'"; oRS.DoQuery(sQry); if (oRS.RecordCount == 0) { oDB_1.SetValue("U_UPDATEDT", SelectRow, strNowDate.Replace(".", "")); oDB_1.SetValue("U_STATUS", SelectRow, "Y"); } sQry = "UPDATE [@KIS_FI00201_HRD] SET U_UPDATEDT = '" + strNowDate.Replace(".", "") + "' ,U_STATUS = 'Y' WHERE Code = '" + Code + "' AND U_YYYYMM = '" + YYYYMM + "'"; oRS.DoQuery(sQry); } else { Code = oForm.Items.Item("Code").Specific.value.Trim(); YYYYMM = oDB_1.GetValue("U_YYYYMM", SelectRow).ToString().Trim(); sQry = " DELETE FROM [@KIS_FI0020B1_HRD] WHERE U_YYYYMM = '" + YYYYMM + "'"; sQry = sQry + " DELETE FROM [@KIS_FI0020B2_HRD] WHERE U_YYYYMM = '" + YYYYMM + "'"; oRS.DoQuery(sQry); if (oRS.RecordCount == 0) { oDB_1.SetValue("U_UPDATEDT", SelectRow, ""); oDB_1.SetValue("U_STATUS", SelectRow, "N"); } sQry = "UPDATE [@KIS_FI00201_HRD] SET U_UPDATEDT = NULL ,U_STATUS = 'N' WHERE Code = '" + Code + "' AND U_YYYYMM = '" + YYYYMM + "'"; oRS.DoQuery(sQry); } bModify = true; } if (bModify) { oMatrix.LoadFromDataSource(); SelectRow = -1; } B1Connections.theAppl.StatusBar.SetText("배치가 적용되었습니다.", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Warning); //데이터 조회중입니다 } catch (Exception ex) { oForm.Freeze(false); B1Connections.theAppl.StatusBar.SetText(ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } finally { oForm.Freeze(false); oRS = null; } }
public bool UpDateData(SAPbouiCOM.Form oForm) { bool rtnValue = true; try { oGrid = (SAPbouiCOM.Grid)oForm.Items.Item("grd").Specific; oGrid.DataTable = oForm.DataSources.DataTables.Item("grd"); oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); oDB_M = oForm.DataSources.DBDataSources.Item("@KIS_SO0150T_HRD"); string strDocEntry = oDB_M.GetValue("DocEntry", 0).Trim(); string strJDTNO = oDB_M.GetValue("U_JDTNO", 0).Trim(); string strReadCode = string.Empty; string strLineId = string.Empty; decimal saleCancle = 0; decimal adjustAmt = 0; decimal requstAmt = 0; string reason = string.Empty; string payMethod = string.Empty; string rowState = string.Empty; string strRowDocEntry = string.Empty; string strRowLineId = string.Empty; StringBuilder sb = null; string sXML = oGrid.DataTable.SerializeAsXML(BoDataTableXmlSelect.dxs_DataOnly); XDocument root = XDocument.Parse(sXML); if (!string.IsNullOrEmpty(strJDTNO)) { rtnValue = false; throw new Exception("전기된 문서는 수정할 수 없습니다."); } //1. 재실행, 추가 항목에대해서 처리한다. var queryInsert = from c in root.Descendants("Row") where c.Elements("Cells").Elements("Cell").Any(o => o.Element("ColumnUid").Value == "ROWSTAT" && (o.Element("Value").Value == "I" || o.Element("Value").Value == "C")) select c; sb = new StringBuilder(); foreach (XElement r in queryInsert) { foreach (XElement c in r.Descendants("Cell")) { switch (c.Element("ColumnUid").Value) { case "DocEntry": strRowDocEntry = c.Element("Value").Value.ToString(); break; case "LineId": strRowLineId = c.Element("Value").Value.ToString(); break; case "U_READCD": strReadCode = c.Element("Value").Value.ToString(); break; case "ROWSTAT": rowState = c.Element("Value").Value.ToString(); break; } } sb.AppendFormat(",{0}:{1}:{2}:{3}", strRowDocEntry, strRowLineId, strReadCode, rowState); } string strValue = sb.ToString(); if (strValue.Length > 0) { strValue = strValue.Remove(0, 1); oRS.DoQuery(string.Format("EXEC KIS_SP_SO0150A5_HRD @pDocEntry = {0}, @pLIST = '{1}' ", strDocEntry, strValue)); } //2. 청구조정, 매출취소(수정) 항목에대해서 처리한다. var query = from c in root.Descendants("Row") where c.Elements("Cells").Elements("Cell").Any(o => o.Element("ColumnUid").Value == "ROWSTAT" && o.Element("Value").Value == "U") select c; foreach (XElement r in query) { foreach (XElement c in r.Descendants("Cell")) { switch (c.Element("ColumnUid").Value) { case "LineId": strLineId = c.Element("Value").Value; break; case "U_CANCAMT": saleCancle = Convert.ToDecimal(c.Element("Value").Value); break; case "U_ADJUAMT": adjustAmt = Convert.ToDecimal(c.Element("Value").Value); break; case "U_REQAMT": requstAmt = Convert.ToDecimal(c.Element("Value").Value); break; case "U_REASON": reason = c.Element("Value").Value.ToString(); break; case "U_PMETHOD": payMethod = c.Element("Value").Value.ToString(); break; default: break; } } sb = new StringBuilder(); sb.AppendLine(" UPDATE [@KIS_SO01501_HRD] "); sb.AppendFormat(" SET U_CANCAMT = {0} \r ", saleCancle); sb.AppendFormat(" , U_ADJUAMT = {0} \r ", adjustAmt); sb.AppendFormat(" , U_REQAMT = {0} \r ", requstAmt); sb.AppendFormat(" , U_REASON = '{0}' \r ", reason); sb.AppendFormat(" , U_PMETHOD = '{0}' \r ", payMethod); sb.AppendLine(" , U_ROWSTAT = 'U' "); sb.AppendFormat(" WHERE DocEntry = {0} AND LineId = {1} \r ", strDocEntry, strLineId); oRS.DoQuery(sb.ToString()); } if (query.LongCount() > 0) { // 청구데이터 조정 저장하고 청구 TRAN 데이터 적용 sb = new StringBuilder(); sb.AppendLine(" DECLARE @pERROR_CODE INT "); sb.AppendLine(" DECLARE @pERROR_MESSAGE NVARCHAR (200) "); sb.AppendLine(" EXEC KIS_SP_SO0150A3_HRD @pDocEntry = {0}, @pERROR_CODE = @pERROR_CODE OUTPUT, @pERROR_MESSAGE = @pERROR_MESSAGE OUTPUT "); sb.AppendLine(" SELECT @pERROR_CODE, @pERROR_MESSAGE "); oRS.DoQuery(string.Format(sb.ToString(), strDocEntry)); if (!oRS.EoF) { int strReturn = oRS.Fields.Item(0).Value; if (strReturn != 0) { rtnValue = false; throw new Exception(string.Format("저장중 오류가 발생했습니다. {0}", oRS.Fields.Item(1).ToString())); } } } } catch (Exception) { throw; } return rtnValue; }
private void GetCostCenterList() { StringBuilder sb = new StringBuilder(); SAPbobsCOM.Recordset oRS = null; string expression = string.Empty; System.Data.DataRow[] foundRows; int iRow; bool bModify = false; try { oForm.Freeze(true); oDB_M = oForm.DataSources.DBDataSources.Item("@KIS_FI0010M_HRD"); oDB_1 = oForm.DataSources.DBDataSources.Item("@KIS_FI00101_HRD"); oMatrix = (SAPbouiCOM.Matrix)oForm.Items.Item("mtx").Specific; //oMatrix.LoadFromDataSource(); oMatrix.Clear(); FN.SetMatrixIsNullOrEmptDeleteRow(ref oForm, ref oMatrix, "U_PRCCD"); sDataTable = FN.SapDBDataSourceToSystemDataTable(oDB_1); oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); sb.Append(" SELECT Code,Name FROM [@KIS_CO0110M] \r"); if (FN.GetItemValue(ref oForm, "edtCOSTFR") != "" && FN.GetItemValue(ref oForm, "edtCOSTTO") != "") sb.Append(" WHERE Code BETWEEN '" + FN.GetItemValue(ref oForm, "edtCOSTFR") + "' AND '" + FN.GetItemValue(ref oForm, "edtCOSTTO") + "' \r"); B1Connections.theAppl.StatusBar.SetText("불러오기를 시작합니다.", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Warning); oRS.DoQuery(sb.ToString()); iRow = oMatrix.VisualRowCount; if (!oRS.EoF) { for (int i = 0; i < oRS.RecordCount; i++) { expression = "U_PRCCD = '" + oRS.Fields.Item("Code").Value.ToString() + "'"; foundRows = sDataTable.Select(expression); if (foundRows.Length < 1) { if (iRow != 0) oDB_1.InsertRecord(iRow-1); //oDB_1.SetValue("U_LINENUM", iRow, (iRow+1).ToString()); oDB_1.SetValue("U_PRCCD", iRow, oRS.Fields.Item("Code").Value.ToString()); oDB_1.SetValue("U_PRCNM", iRow, oRS.Fields.Item("Name").Value.ToString()); iRow += 1; bModify = true; } oRS.MoveNext(); } if (bModify) { oMatrix.LoadFromDataSource(); if (oForm.Mode == BoFormMode.fm_OK_MODE) oForm.Mode = BoFormMode.fm_UPDATE_MODE; } } B1Connections.theAppl.StatusBar.SetText("불러오기가 완료 되었습니다.", SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Warning); //데이터 조회중입니다 } catch (Exception ex) { oForm.Freeze(false); B1Connections.theAppl.StatusBar.SetText("GetCostCenterList " + ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } finally { if (oRS != null) { oForm.Freeze(false); System.Runtime.InteropServices.Marshal.ReleaseComObject(oRS); oRS = null; } } }
/// <summary> /// 메트릭스 추가될때 System.DataTable 도 함께 추가 /// </summary> /// <param name="oForm"></param> /// <param name="oMatrix"></param> /// <param name="oDB"></param> /// <param name="pIndex"></param> /// <param name="pDelivCd"></param> /// <param name="KeyAlias"></param> /* private void SetMatrixAddRow(ref SAPbouiCOM.Form oForm, ref SAPbouiCOM.Matrix oMatrix, ref SAPbouiCOM.DBDataSource oDB, string KeyAlias = "LineId") { System.Data.DataRow dr = null; ; try { string bindAlias = ""; string value = string.Empty; oMatrix.FlushToDataSource(); if (oDB.Size > 0) { if (oDB.GetValue(KeyAlias, oDB.Size - 1).Trim() != "") { oDB.InsertRecord(oDB.Size); } dr = dt_LINE.NewRow(); // Row 상태값 "I" 로 입력 if (dt_LINE.Columns.Contains("ROWSTATE")) { dr["ROWSTATE"] = "I"; } } else { oDB.InsertRecord(oDB.Size); } oDB.Offset = oDB.Size - 1; for (int iLooper = 0; iLooper < oMatrix.Columns.Count; iLooper++) { if (oMatrix.Columns.Item(iLooper).UniqueID.StartsWith("U_")) { if (oMatrix.Columns.Item(iLooper).DataBind.DataBound == true && !string.IsNullOrEmpty(oMatrix.Columns.Item(iLooper).DataBind.TableName)) { bindAlias = oMatrix.Columns.Item(iLooper).DataBind.Alias.ToString(); switch (oDB.Fields.Item(bindAlias).Type) { case BoFieldsType.ft_AlphaNumeric: case BoFieldsType.ft_Date: case BoFieldsType.ft_NotDefined: case BoFieldsType.ft_Text: value = ""; break; case BoFieldsType.ft_Float: case BoFieldsType.ft_Integer: case BoFieldsType.ft_Measure: case BoFieldsType.ft_Percent: case BoFieldsType.ft_Price: case BoFieldsType.ft_Quantity: case BoFieldsType.ft_Rate: case BoFieldsType.ft_ShortNumber: case BoFieldsType.ft_Sum: value = "0"; break; default: value = ""; break; } if (bindAlias == "U_PIDX") { oDB.SetValue(bindAlias, oDB.Offset, oDB.Offset.ToString()); if (dt_LINE.Columns.Contains(bindAlias)) { dr[bindAlias] = oDB.Offset; } } else { oDB.SetValue(bindAlias, oDB.Offset, value); if (dt_LINE.Columns.Contains(bindAlias)) { dr[bindAlias] = value; } } } } } dt_LINE.Rows.Add(dr); oMatrix.LoadFromDataSource(); } catch (Exception ex) { B1Connections.theAppl.StatusBar.SetText("SetMatrixAddRow " + ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error); } } */ public bool UpDateDate(SAPbouiCOM.Form oForm) { bool rtnValue = true; try { oGrid = (SAPbouiCOM.Grid)oForm.Items.Item("grd").Specific; oGrid.DataTable = oForm.DataSources.DataTables.Item("grd"); oRS = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset); string LineId = ""; //지종라인(@KIS_SO03101_HRD) decimal U_PAYADJT = 0; decimal U_ETCADJT = 0; decimal U_TRANQTY = 0; decimal U_PAPEAMT = 0; decimal U_SAVEAMT = 0; decimal U_ADVRECV = 0; decimal U_ADVSUBT = 0; decimal U_UNPAID = 0; decimal U_DELVAMT = 0; decimal U_REQAMT = 0; decimal U_SUMAMT = 0; decimal U_PRICE = 0; StringBuilder pQuery = new StringBuilder(); string sQry = ""; string sXML = oGrid.DataTable.SerializeAsXML(BoDataTableXmlSelect.dxs_DataOnly); XDocument root = XDocument.Parse(sXML); //필터링 : 선택된 행의 컬랙션을 조회합니다. var query = from c in root.Descendants("Row") where c.Elements("Cells").Elements("Cell").Any(o => o.Element("ColumnUid").Value == "STATUS" && o.Element("Value").Value == "M") select c; //if (query.LongCount() <= 0) // return; foreach (XElement r in query) { foreach (XElement c in r.Descendants("Cell")) { switch (c.Element("ColumnUid").Value) { case "LineId": LineId = c.Element("Value").Value; break; case "U_PAYADJT": U_PAYADJT = Convert.ToDecimal(c.Element("Value").Value); break; case "U_ETCADJT": U_ETCADJT = Convert.ToDecimal(c.Element("Value").Value); break; case "U_TRANQTY": U_TRANQTY = Convert.ToDecimal(c.Element("Value").Value); break; case "U_PAPEAMT": U_PAPEAMT = Convert.ToDecimal(c.Element("Value").Value); break; case "U_SAVEAMT": U_SAVEAMT = Convert.ToDecimal(c.Element("Value").Value); break; case "U_ADVRECV": U_ADVRECV = Convert.ToDecimal(c.Element("Value").Value); break; case "U_ADVSUBT": U_ADVSUBT = Convert.ToDecimal(c.Element("Value").Value); break; case "U_UNPAID": U_UNPAID = Convert.ToDecimal(c.Element("Value").Value); break; case "U_DELVAMT": U_DELVAMT = Convert.ToDecimal(c.Element("Value").Value); break; case "U_REQAMT": U_REQAMT = Convert.ToDecimal(c.Element("Value").Value); break; case "U_SUMAMT": U_SUMAMT = Convert.ToDecimal(c.Element("Value").Value); break; case "U_PRICE": U_PRICE = Convert.ToDecimal(c.Element("Value").Value); break; default: break; } } pQuery.AppendFormat(" UPDATE [@KIS_SO03101_HRD] \r "); pQuery.AppendFormat(" SET U_PAPEAMT = {0} \r ", U_PAPEAMT); pQuery.AppendFormat(" , U_SAVEAMT = {0} \r ", U_SAVEAMT); pQuery.AppendFormat(" , U_ADVRECV = {0} \r ", U_ADVRECV); pQuery.AppendFormat(" , U_ADVSUBT = {0} \r ", U_ADVSUBT); pQuery.AppendFormat(" , U_UNPAID = {0} \r ", U_UNPAID); pQuery.AppendFormat(" , U_DELVAMT = {0} \r ", U_DELVAMT); pQuery.AppendFormat(" , U_REQAMT = {0} \r ", U_REQAMT); pQuery.AppendFormat(" , U_SUMAMT = {0} \r ", U_SUMAMT); pQuery.AppendFormat(" WHERE DocEntry = {0} AND LineId = {1} \r ", gDocEntry, LineId); oRS.DoQuery(pQuery.ToString()); } string U_STATUS = oForm.Items.Item("cboSTATUS").Specific.value; string U_DESC = oForm.Items.Item("extDESC").Specific.value; pQuery.Clear(); pQuery.AppendLine(" UPDATE [@KIS_SO0310T_HRD] SET "); pQuery.AppendLine(" U_STATUS = '{1}' "); pQuery.AppendLine(" ,U_DESC = '{2}' "); pQuery.AppendLine(" WHERE DocEntry = {0} "); sQry = string.Format(pQuery.ToString(), gDocEntry, U_STATUS, U_DESC); oRS.DoQuery(sQry); } catch (Exception) { rtnValue = false; } return rtnValue; }