Esempio n. 1
0
        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
Esempio n. 3
0
        }//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
Esempio n. 4
0
        }//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
Esempio n. 5
0
 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;
     }
 }
Esempio n. 6
0
        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);
            }
        }
Esempio n. 8
0
        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);
            }
        }
Esempio n. 9
0
        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);
        }
Esempio n. 11
0
        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);
            }
        }
Esempio n. 12
0
        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);
        }
Esempio n. 13
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);
            }
        }
Esempio n. 14
0
        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);
            }
        }
Esempio n. 15
0
        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);
            }
        }
Esempio n. 16
0
        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);
            }
        }
Esempio n. 17
0
        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);
        }
Esempio n. 18
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);
            }
        }
Esempio n. 19
0
        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);
            }
        }
Esempio n. 20
0
        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);
        }
Esempio n. 21
0
        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);
        }
Esempio n. 22
0
        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);
        }
Esempio n. 23
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;
            }
        }
Esempio n. 24
0
        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);
        }
Esempio n. 25
0
        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);
            }
        }
Esempio n. 26
0
        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();
            }
        }
Esempio n. 27
0
        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);
        }
Esempio n. 28
0
        /// <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);
        }
Esempio n. 29
0
        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);
        }
Esempio n. 30
0
        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);
            }
        }
Esempio n. 31
0
        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);
            }
        }
Esempio n. 32
0
        //고과상태변경
        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;

        }
Esempio n. 33
0
        /// <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();
      
        }
Esempio n. 34
0
        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;
        }
Esempio n. 35
0
        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;
            }
        }
Esempio n. 36
0
        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);
            }
        }
Esempio n. 37
0
        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;
            }
        }
Esempio n. 38
0
        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;
        }
Esempio n. 39
0
        /// <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;
        }
Esempio n. 40
0
        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;

            }

        }
Esempio n. 41
0
        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;
        }
Esempio n. 42
0
        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;

            }
        }
Esempio n. 43
0
        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;
            }
        }
Esempio n. 44
0
        /// <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;
        }
Esempio n. 45
0
        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;

            }
        }
Esempio n. 46
0
        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;
            }
        }
Esempio n. 47
0
        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;
        }
Esempio n. 48
0
        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;
        }
Esempio n. 49
0
        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;
        }
Esempio n. 50
0
        /// <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;
        }
Esempio n. 51
0
        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;
        }
Esempio n. 52
0
        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;
        }
Esempio n. 53
0
        /// <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      
        }
Esempio n. 54
0
        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;
        }
Esempio n. 55
0
        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;

        }
Esempio n. 56
0
        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;
            }
        }        
Esempio n. 57
0
        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;
            }
        }
Esempio n. 58
0
        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;
        }
Esempio n. 59
0
        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;
                }
            }
        }
Esempio n. 60
0
        /// <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;
        }