/// <summary>
        /// Create equal conditions
        /// </summary>
        /// <param name="oCFL">Choose from list in the form</param>
        /// <param name="bucket">Result query</param>
        public static void CreateConditionsEquals(ref ChooseFromList oCFL, Bucket bucket)
        {
            var oCons = oCFL.GetConditions();

            // Clear conditions
            oCons = new SAPbouiCOM.Conditions();


            for (int i = 0; i < bucket.CountRows; i++)
            {
                foreach (var field in bucket[i])
                {
                    var oCon = oCons.Add();

                    oCon.Alias     = field.Key;
                    oCon.Operation = BoConditionOperation.co_EQUAL;
                    oCon.CondVal   = field.Value;

                    if (bucket.CountRows > (i + 1))
                    {
                        oCon.Relationship = BoConditionRelationship.cr_OR;
                    }
                }
            }

            oCFL.SetConditions(oCons);
        }
Exemple #2
0
        private void AddConditionCFL(SAPbouiCOM.ChooseFromList pCFL, string pCFLID)
        {
            SAPbouiCOM.Condition  lObjCon  = null;
            SAPbouiCOM.Conditions lObjCons = new SAPbouiCOM.Conditions();

            if (pCFLID == "CFL_Whs")
            {
                lObjCon           = lObjCons.Add();
                lObjCon.Alias     = "location";
                lObjCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL;
                lObjCon.CondVal   = "1";
            }
            else if (pCFLID == "CFL_Item")
            {
                lDicNonLockedItems = lObjDistributionDAO.GetNonLockeditems();

                try {
                    int i = 1;
                    if (lDicNonLockedItems.Count() > 0)
                    {
                        foreach (string itemCode in lDicNonLockedItems.Keys)
                        {
                            lObjCon           = lObjCons.Add();
                            lObjCon.Alias     = "ItemCode";
                            lObjCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL;
                            lObjCon.CondVal   = itemCode;

                            if (lDicNonLockedItems.Count() > i)
                            {
                                lObjCon.Relationship = SAPbouiCOM.BoConditionRelationship.cr_OR;
                            }
                            i++;
                        }
                    }

                    pCFL.SetConditions(lObjCons);
                }
                catch (Exception ex) {
                    HandleException(ex, "AddConditionChoseFromList");
                }
            }

            pCFL.SetConditions(lObjCons);
        }
Exemple #3
0
        ///<summary>    Loads matrix data from document. </summary>
        ///<remarks>    Amartinez, 08/05/2017. </remarks>
        ///<param name="pstrAlias"> The pstr alias. </param>
        ///<param name="pstrCond">  The pstr condition. </param>
        public SAPbouiCOM.DBDataSource LoadMatrixConditions(string pstrAlias, string pstrCond, SAPbouiCOM.DBDataSource pDBDataSourceD)
        {
            SAPbouiCOM.Conditions lObjCons = null;
            SAPbouiCOM.Condition  lObjCon  = null;

            //PL001  1
            lObjCons = new SAPbouiCOM.Conditions();
            lObjCon  = lObjCons.Add();
            lObjCon.BracketOpenNum  = 1;
            lObjCon.Alias           = pstrAlias;
            lObjCon.Operation       = SAPbouiCOM.BoConditionOperation.co_EQUAL;
            lObjCon.CondVal         = pstrCond;
            lObjCon.BracketCloseNum = 1;

            ///Validacion para cargar solo las lineas abiertas
            lObjCon.Relationship = SAPbouiCOM.BoConditionRelationship.cr_AND;

            lObjCon = lObjCons.Add();
            lObjCon.BracketOpenNum  = 1;
            lObjCon.Alias           = "LineStatus";
            lObjCon.Operation       = SAPbouiCOM.BoConditionOperation.co_EQUAL;
            lObjCon.CondVal         = "O";
            lObjCon.BracketCloseNum = 1;
            pDBDataSourceD.Query(lObjCons);

            //Validacion para evitar lineas sin cantidades pendientes
            lObjCon.Relationship = SAPbouiCOM.BoConditionRelationship.cr_AND;

            lObjCon = lObjCons.Add();
            lObjCon.BracketOpenNum  = 1;
            lObjCon.Alias           = "OpenQty";
            lObjCon.Operation       = SAPbouiCOM.BoConditionOperation.co_GRATER_THAN;
            lObjCon.CondVal         = "0";
            lObjCon.BracketCloseNum = 1;
            pDBDataSourceD.Query(lObjCons);

            return(pDBDataSourceD);
        }
        private void AddConditionChoseFromListArea(ChooseFromList pCFL)
        {
            try
            {
                SAPbouiCOM.Condition  lObjCon  = null;
                SAPbouiCOM.Conditions lObjCons = null;
                lObjCons = pCFL.GetConditions();

                //DimCode
                lObjCon           = lObjCons.Add();
                lObjCon.Alias     = "DimCode";
                lObjCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL;
                lObjCon.CondVal   = "1";

                lObjCon.Relationship = BoConditionRelationship.cr_AND;

                lObjCon           = lObjCons.Add();
                lObjCon.Alias     = "Active";
                lObjCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL;
                lObjCon.CondVal   = "Y";



                //lObjCon.Relationship = BoConditionRelationship.cr_AND;

                //lObjCon = lObjCons.Add();
                //lObjCon.Alias = "GrpCode";
                //lObjCon.Operation = SAPbouiCOM.BoConditionOperation.co_NOT_NULL;


                pCFL.SetConditions(lObjCons);
            }
            catch (Exception ex)
            {
                LogService.WriteError("frmSearchRefunds (AddConditionChoseFromListArea) " + ex.Message);
                LogService.WriteError(ex);
            }
        }
Exemple #5
0
        ///<summary>    Initializes the chooseFromlist.
        /// </summary>
        public SAPbouiCOM.ChooseFromList initChooseFromListBussinesPartner(string pStrTipoDoc, SAPbouiCOM.ChooseFromList pObjCFLSocio)
        {
            string lStrType = string.Empty;

            if (pStrTipoDoc == "CFL_Venta")
            {
                lStrType = "C";
            }

            if (pStrTipoDoc == "CFL_Compra")
            {
                lStrType = "S";
            }

            try
            {
                SAPbouiCOM.Conditions lObjCons = null;
                SAPbouiCOM.Condition  lObjCon  = null;
                //  Adding Conditions to CFLPO
                lObjCons = pObjCFLSocio.GetConditions();

                bool lBolNewCond = true;
                foreach (SAPbouiCOM.Condition lObjCond in lObjCons)
                {
                    if (lObjCond.Alias == "CardType")
                    {
                        lObjCond.CondVal = lStrType;
                        lBolNewCond      = false;
                        break;
                    }
                }

                if (lBolNewCond)
                {
                    lObjCon           = lObjCons.Add();
                    lObjCon.Alias     = "CardType";
                    lObjCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL;
                    lObjCon.CondVal   = lStrType;
                }

                pObjCFLSocio.SetConditions(lObjCons);
            }
            catch (Exception ex)
            {
                UIApplication.ShowMessageBox(string.Format("InitChooseFromListException: {0}", ex.Message));
            }

            return(pObjCFLSocio);
        }
Exemple #6
0
        ///<summary>    Creates the matrix. </summary>
        ///<remarks>    Amartinez, 08/05/2017. </remarks>
        public SAPbouiCOM.Matrix CreateMatrix(SAPbouiCOM.IItem pObjItem, SAPbouiCOM.ChooseFromListCollection pObjCFLs)
        {
            SAPbouiCOM.Matrix lObjMatrix;
            lObjMatrix                 = ((SAPbouiCOM.Matrix)(pObjItem.Specific));
            lObjMatrix.Layout          = SAPbouiCOM.BoMatrixLayoutType.mlt_Normal;
            lObjMatrix.SelectionMode   = SAPbouiCOM.BoMatrixSelect.ms_Auto;
            lObjMatrix.ValidateBefore += lObjMatrix_ValidateBefore;
            lObjMatrix.ValidateAfter  += lObjMatrix_ValidateAfter;

            SAPbouiCOM.ChooseFromListCreationParams lObjCFLCreationParams;
            SAPbouiCOM.Conditions oCons = null;
            SAPbouiCOM.Condition  oCon  = null;
            lObjCFLCreationParams = (SAPbouiCOM.ChooseFromListCreationParams)SAPbouiCOM.Framework.Application.SBO_Application.CreateObject(BoCreatableObjectType.cot_ChooseFromListCreationParams);

            //Adding a choosefromlist for the column
            lObjCFLCreationParams.MultiSelection = false;
            lObjCFLCreationParams.ObjectType     = "4";
            lObjCFLCreationParams.UniqueID       = "CFL1";
            SAPbouiCOM.ChooseFromList lObjCFL = pObjCFLs.Add(lObjCFLCreationParams);

            //Add Conditon Rcordova 19-10-2017
            oCons = lObjCFL.GetConditions();

            oCon           = oCons.Add();
            oCon.Alias     = "SellItem";
            oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL;
            oCon.CondVal   = "Y";

            lObjCFL.SetConditions(oCons);
            //Add Conditon Rcordova 19-10-2017

            //Adding a choosefromlist for the column
            lObjCFLCreationParams.MultiSelection = false;
            lObjCFLCreationParams.ObjectType     = "64";
            lObjCFLCreationParams.UniqueID       = "CFL_Ware";
            pObjCFLs.Add(lObjCFLCreationParams);

            //  SAPbouiCOM.UserDataSource udsCardCode = this.UIAPIRawForm.DataSources.UserDataSources.Add("UdsCardCd", BoDataType.dt_SHORT_TEXT, 10);
            return(lObjMatrix);
        }
Exemple #7
0
        /// <summary>
        /// 분국
        /// </summary>
        /// <param name="oMatrix"></param>
        /// <param name="pVal"></param>
        private void SetConditionsBranchCenter(SAPbouiCOM.Matrix oMatrix, ItemEvent pVal)
        {
            SAPbouiCOM.ChooseFromList oCFL;
            SAPbouiCOM.IChooseFromListEvent oCFLEvento = (SAPbouiCOM.IChooseFromListEvent)pVal;
            SAPbouiCOM.ChooseFromListCreationParams oCFLCreationParams;
            SAPbouiCOM.Conditions oCons = new SAPbouiCOM.Conditions();
            SAPbouiCOM.Condition oCon;
            SAPbobsCOM.Recordset oRs = (SAPbobsCOM.Recordset)B1Connections.diCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
            try
            {

                string strPaperTp = FN.GetMatirxCellValue(ref oMatrix, "U_PAPERTP", pVal.Row);
                oCFLCreationParams = (SAPbouiCOM.ChooseFromListCreationParams)B1Connections.theAppl.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams);
                oCFL = oForm.ChooseFromLists.Item(oCFLEvento.ChooseFromListUID);


                //oCon = oCons.Add();
                //oCon.Alias = "U_PAPERTP";//지종
                //oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL;
                //oCon.CondVal = strPaperTp;

                //oCon.Relationship = BoConditionRelationship.cr_AND;

                oCon = oCons.Add();
                oCon.Alias = "U_STATUS";//상태
                oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL;
                oCon.CondVal = "O"; //활성된것만              

                oCFL.SetConditions(oCons);

            }
            catch (Exception ex)
            {

                B1Connections.theAppl.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
            }
            finally
            {
                Marshal.ReleaseComObject(oRs);
                oRs = null;

                oCFL = null;
                oCFLEvento = null;
                oCFLCreationParams = null;
                oCons = null;
                oCon = null;
            }
        }
Exemple #8
0
        private void SetFormLoadFromDBDatasource(string KeyValue)
        {
            try
            {
                oForm.Mode = BoFormMode.fm_OK_MODE;

                SAPbouiCOM.Conditions oCons = new SAPbouiCOM.Conditions();

                SAPbouiCOM.DBDataSource oKIS_SD0030T_HRD = (SAPbouiCOM.DBDataSource)oForm.DataSources.DBDataSources.Item("@KIS_SD0030T_HRD");
                SAPbouiCOM.DBDataSource oKIS_SD00301_HRD = (SAPbouiCOM.DBDataSource)oForm.DataSources.DBDataSources.Item("@KIS_SD00301_HRD");
                

                SAPbouiCOM.Condition oCon = null;

                oCon = oCons.Add();

                oCon.Alias = "DocEntry";
                oCon.Operation = BoConditionOperation.co_EQUAL;
                oCon.CondVal = KeyValue;

                oKIS_SD0030T_HRD.Query(oCons);
                oKIS_SD00301_HRD.Query(oCons);

                oCon = null;
                oCons = null;


                oKIS_SD0030T_HRD = null;
                oKIS_SD00301_HRD = null;
                

                ((SAPbouiCOM.Matrix)oForm.Items.Item("mtx1").Specific).LoadFromDataSource();

                /* 아래 코드부터는  ET_AFFormDataLoad 이벤트와 동일하게 설정해준다.*/
                SetET_AFFormDataLoad();


            }
            catch (Exception ex)
            {
                B1Connections.theAppl.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
            }

        }
Exemple #9
0
        /// <summary>
        /// 지정된 문서를 DBDatasource로 다시 로드 합니다.
        /// </summary>
        /// <param name="KeyValue">문서번호(DocEntry)</param>
        private void SetFormLoadFromDBDatasource(string KeyValue)
        {
            try
            {
                oForm.Mode = BoFormMode.fm_OK_MODE;

                SAPbouiCOM.Conditions oCons = new SAPbouiCOM.Conditions();

                SAPbouiCOM.DBDataSource oKIS_TR0041T_HRD = (SAPbouiCOM.DBDataSource)oForm.DataSources.DBDataSources.Item("@KIS_TR0041T_HRD");

                SAPbouiCOM.Condition oCon = null;

                oCon = oCons.Add();

                oCon.Alias = "DocEntry";
                oCon.Operation = BoConditionOperation.co_EQUAL;
                oCon.CondVal = KeyValue;

                oKIS_TR0041T_HRD.Query(oCons);

                oCon = null;
                oCons = null;

                oKIS_TR0041T_HRD = null;
                /* 아래 코드부터는  ET_AFFormDataLoad 이벤트와 동일하게 설정해준다.*/
                //SetcboSTATUS();

                Veiw_Grid1_DataTable_DataLoaded(oForm, KeyValue);

            }
            catch (Exception ex)
            {
                B1Connections.theAppl.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
            }
        }
Exemple #10
0
        /// <summary>
        /// 지정된 문서를 DBDatasource로 다시 로드 합니다.
        /// </summary>
        /// <param name="KeyValue">문서번호(DocEntry)</param>
        private void SetFormLoadFromDBDatasource()
        {
            oForm.Freeze(true);
            try
            {
                string cboPUBLICA = oForm.DataSources.UserDataSources.Item("cboPUBLICA").Value;
                string cboYEAR = oForm.DataSources.UserDataSources.Item("cboYEAR").Value;
                string cboMONTH = oForm.DataSources.UserDataSources.Item("cboMONTH").Value;

                oForm.Mode = BoFormMode.fm_OK_MODE;

                SAPbouiCOM.Conditions oCons = new SAPbouiCOM.Conditions();

                SAPbouiCOM.DBDataSource oKIS_SD0170T_HRD = (SAPbouiCOM.DBDataSource)oForm.DataSources.DBDataSources.Item("@KIS_SD0170T_HRD");


                SAPbouiCOM.Condition oCon = null;

                oCon = oCons.Add();

                oCon.Alias = "U_PUBLICA";
                oCon.Operation = BoConditionOperation.co_EQUAL;
                oCon.CondVal = cboPUBLICA;

                oCon.Relationship = BoConditionRelationship.cr_AND;

                oCon = oCons.Add();
                oCon.Alias = "U_YEAR";
                oCon.Operation = BoConditionOperation.co_EQUAL;
                oCon.CondVal = cboYEAR;

                if (string.IsNullOrEmpty(cboMONTH) == false)
                {
                    oCon.Relationship = BoConditionRelationship.cr_AND;

                    oCon = oCons.Add();
                    oCon.Alias = "U_MONTH";
                    oCon.Operation = BoConditionOperation.co_EQUAL;
                    oCon.CondVal = cboMONTH;
                }

                oKIS_SD0170T_HRD.Query(oCons);

                oMatrix = oForm.Items.Item("mtx1").Specific;
                oMatrix.LoadFromDataSource();

                //월 데이터
                if (string.IsNullOrEmpty(cboMONTH)==false)
                {
                    FN.SetItemEnable(oForm, "btnADD", true);
                }

                oCon = null;
                oCons = null;

                oKIS_SD0170T_HRD = null;
                /* 아래 코드부터는  ET_AFFormDataLoad 이벤트와 동일하게 설정해준다.*/

                if (oMatrix.VisualRowCount>0)
                {
                    oMatrix.SelectRow(1, true, false);
                }

                SetHeaderValues();

            }
            catch (Exception ex)
            {
                B1Connections.theAppl.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
            }
            finally
            {
                oForm.Freeze(false);
            }
        }
        private Boolean ValidarDatos_PE(String TipoDocElec, String Tabla, String DocSubType, String DocEntry, String ObjType, String TablaDir, String TablaDetalle)
        {
            Boolean _result = true;

            String[]   CaracteresInvalidos = { "Ñ", "°", "|", "!", @"""", "#", "$", "=", "?", "\\", "¿", "¡", "~", "´", "+", "{", "}", "[", "]", "-", ":", "%" };
            TFunctions Param;
            int        i;
            int        c;
            String     VatStatus = "Y";
            String     BPP_BPTP  = "";

            //SAPbouiCOM.DBDataSource oDBDSDir;
            //SAPbouiCOM.DBDataSource oDBDSH;

            try
            {
                if (TipoDocElec == "20")
                {
                    return(true);
                }

                var oDBDSH   = oForm.DataSources.DBDataSources.Add(Tabla);
                var oDBDSDir = oForm.DataSources.DBDataSources.Add(TablaDir);
                var oDBDSDet = oForm.DataSources.DBDataSources.Add(TablaDetalle);

                SAPbouiCOM.Conditions oConditions;
                SAPbouiCOM.Condition  oCondition;

                oConditions          = new SAPbouiCOM.Conditions();
                oCondition           = oConditions.Add();
                oCondition.Alias     = "DocEntry";
                oCondition.Operation = BoConditionOperation.co_EQUAL;
                oCondition.CondVal   = DocEntry;

                oDBDSH.Query(oConditions);
                oDBDSDet.Query(oConditions);
                oDBDSDir.Query(oConditions);


                if (GlobalSettings.RunningUnderSQLServer)
                {
                    s = @"select VatStatus, ISNULL(U_BPP_BPTP,'') BPP_BPTP from OCRD where CardCode = '{0}'";
                }
                else
                {
                    s = @"select ""VatStatus"", IFNULL(""U_BPP_BPTP"",'') ""BPP_BPTP"" from ""OCRD"" where ""CardCode"" = '{0}'";
                }
                s = String.Format(s, (System.String)(oDBDSH.GetValue("CardCode", 0)).Trim());
                oRecordSet.DoQuery(s);
                if (oRecordSet.RecordCount > 0)
                {
                    VatStatus = ((System.String)oRecordSet.Fields.Item("VatStatus").Value).Trim();
                    BPP_BPTP  = ((System.String)oRecordSet.Fields.Item("BPP_BPTP").Value).Trim();
                }


                if (ObjType == "14")
                {
                    //valida para nota credito
                    if (_result)
                    {
                        if (oDBDSH.GetValue("U_BPP_MDTN", 0) == "")
                        {
                            FSBOApp.StatusBar.SetText("Debe seleccionar Tipo de operacion", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                            _result = false;
                        }
                        else
                        {
                            if (GlobalSettings.RunningUnderSQLServer)
                            {
                                s = @"select U_TypeCode
                                            from [@FM_NOTES] 
                                           where Code = '{0}' ";
                            }
                            else
                            {
                                s = @"select ""U_TypeCode""
                                            from ""@FM_NOTES""
                                           where ""Code"" = '{0}' ";
                            }
                            s = String.Format(s, (System.String)(oDBDSH.GetValue("U_BPP_MDTN", 0)).Trim());
                            oRecordSet.DoQuery(s);
                            if (oRecordSet.RecordCount == 0)
                            {
                                FSBOApp.StatusBar.SetText("No se encuentra tipo de operacion", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                                return(false);
                            }
                            //else if (((System.String)(oRecordSet.Fields.Item("Distribuido").Value)).Trim() != "02")
                            else if (((System.String)(oDBDSH.GetValue("U_BPP_MDTN", 0)).Trim() == "11") || ((System.String)(oDBDSH.GetValue("U_BPP_MDTN", 0)).Trim() == "10") || ((System.String)(oDBDSH.GetValue("U_BPP_MDTN", 0)).Trim() == "04"))
                            {
                                FSBOApp.StatusBar.SetText("Debe seleccionar tipo de operacion valida por Factura Movil", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                                return(false);
                            }

                            if (_result)
                            {
                                c = 0;
                                var BaseEntry   = (System.String)(oDBDSDet.GetValue("BaseEntry", 0));
                                var PedirRefCab = false;

                                i = 0;
                                while (i < oDBDSDet.Size)
                                {
                                    var BaseEntry2 = (System.String)(oDBDSDet.GetValue("BaseEntry", i)); //BaseEntry
                                    var BaseType2  = (System.String)(oDBDSDet.GetValue("BaseType", i));  //basetype

                                    if (BaseEntry != BaseEntry2)
                                    {
                                        c = c + 1;
                                    }

                                    if ((BaseEntry2 == "") || (BaseType2 != "13"))
                                    {
                                        PedirRefCab = true;
                                    }
                                    i++;
                                }

                                if (PedirRefCab)
                                {
                                    if (oDBDSH.GetValue("U_BPP_MDTO", 0).Trim() == "")
                                    {
                                        FSBOApp.StatusBar.SetText("Debe seleccionar Tipo de operacion de documento origen", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                                        _result = false;
                                    }
                                    else if (oDBDSH.GetValue("U_BPP_MDSO", 0).Trim() == "")
                                    {
                                        FSBOApp.StatusBar.SetText("Debe seleccionar Serie documento origen", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                                        _result = false;
                                    }
                                    else if (oDBDSH.GetValue("U_BPP_MDCO", 0).Trim() == "")
                                    {
                                        FSBOApp.StatusBar.SetText("Debe seleccionar Correlativo documento origen", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                                        _result = false;
                                    }
                                    else
                                    {
                                        var TablaAux = "OINV";
                                        if (GlobalSettings.RunningUnderSQLServer)
                                        {
                                            s = @"SELECT COUNT(*) 'Cont'
                                                        FROM {0} T1 WITH (NOLOCK)
                                                        JOIN NNM1 T2 WITH (NOLOCK) ON T1.Series = T2.Series
                                                       WHERE ISNULL(T1.U_BPP_MDTD, '') = '{1}'
                                                         AND ISNULL(T1.U_BPP_MDSD, '') = '{2}'
                                                         AND ISNULL(T1.U_BPP_MDCD, '') = '{3}'
                                                         AND CASE 
                                                               WHEN '{1}' = '01' THEN '--'
                                                               WHEN '{1}' = '03' THEN 'IB'
                                                               WHEN '{1}' = '08' THEN 'DN'
                                                               Else '-1'
                                                             END = T1.DocSubType";
                                        }
                                        else
                                        {
                                            s = @"SELECT COUNT(*) ""Cont""
                                                    FROM ""{0}"" T1
                                                    JOIN ""NNM1"" T2 ON T1.""Series"" = T2.""Series""
                                                   WHERE IFNULL(T1.""U_BPP_MDTD"", '') = '{1}'
                                                         AND IFNULL(T1.""U_BPP_MDSD"", '') = '{2}'
                                                         AND IFNULL(T1.""U_BPP_MDCD"", '') = '{3}'
                                                         AND CASE
                                                               WHEN '{1}' = '01' THEN '--'
                                                               WHEN '{1}' = '03' THEN 'IB'
                                                               WHEN '{1}' = '08' THEN 'DN'
                                                               Else '-1'
                                                             END = T1.""DocSubType"" ";
                                        }
                                        s = String.Format(s, TablaAux, (System.String)(oDBDSH.GetValue("U_BPP_MDTO", 0)).Trim(), (System.String)(oDBDSH.GetValue("U_BPP_MDSO", 0)).Trim(), (System.String)(oDBDSH.GetValue("U_BPP_MDCO", 0)).Trim());
                                        oRecordSet.DoQuery(s);
                                        if ((System.Int32)(oRecordSet.Fields.Item("Cont").Value) > 0)
                                        {
                                            _result = true;
                                        }
                                        else
                                        {
                                            FSBOApp.StatusBar.SetText("No se ha encontrado documento de referencia,", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                                            _result = false;
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
                else if ((ObjType == "13") && (TipoDocElec == "08"))//Nota de debito
                {
                    //valida para nota debito
                    if ((_result) && ((System.String)(oDBDSH.GetValue("DocSubType", 0)).Trim() == "DN"))
                    {
                        if (oDBDSH.GetValue("U_BPP_MDTO", 0).Trim() == "")
                        {
                            FSBOApp.StatusBar.SetText("Debe seleccionar Tipo de operacion de documento origen", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                            _result = false;
                        }
                        else if (oDBDSH.GetValue("U_BPP_MDSO", 0).Trim() == "")
                        {
                            FSBOApp.StatusBar.SetText("Debe seleccionar Serie documento origen", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                            _result = false;
                        }
                        else if (oDBDSH.GetValue("U_BPP_MDCO", 0).Trim() == "")
                        {
                            FSBOApp.StatusBar.SetText("Debe seleccionar Correlativo documento origen", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                            _result = false;
                        }
                        else if ((System.String)(oDBDSH.GetValue("U_BPP_MDTN", 0)).Trim() == "")
                        {
                            FSBOApp.StatusBar.SetText("Debe ingresar tipo de operacion", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                            _result = false;
                        }
                        else if ((System.String)(oDBDSH.GetValue("U_BPP_MDTN", 0)).Trim() != "11")
                        {
                            FSBOApp.StatusBar.SetText("Debe seleccionar tipo de operacion valida por FM", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                            return(false);
                        }
                        else if ((System.String)(oDBDSH.GetValue("U_BPP_MDTD", 0)).Trim() != "08")
                        {
                            FSBOApp.StatusBar.SetText("El documento es una Nota de Debito y debe tener Tipo documento 08", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                            return(false);
                        }
                        else if (((System.String)(oDBDSH.GetValue("U_BPP_MDTO", 0)).Trim() != "01") && ((System.String)(oDBDSH.GetValue("U_BPP_MDTO", 0)).Trim() != "03"))
                        {
                            FSBOApp.StatusBar.SetText("Solo puede tener como referencia una factura o boleta", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                            return(false);
                        }
                        else
                        {
                            if (GlobalSettings.RunningUnderSQLServer)
                            {
                                s = @"select U_TypeCode
                                            from [@FM_NOTES] 
                                           where Code = '{0}' ";
                            }
                            else
                            {
                                s = @"select ""U_TypeCode""
                                            from ""@FM_NOTES""
                                           where ""Code"" = '{0}' ";
                            }
                            s = String.Format(s, (System.String)(oDBDSH.GetValue("U_BPP_MDTN", 0)).Trim());
                            oRecordSet.DoQuery(s);

                            if (oRecordSet.RecordCount == 0)
                            {
                                FSBOApp.StatusBar.SetText("No se encuentra tipo de operacion", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                                _result = false;
                            }


                            Tabla = "OINV";

                            if (GlobalSettings.RunningUnderSQLServer)
                            {
                                s = @"SELECT COUNT(*) 'Cont'
                                            FROM {0} T1 WITH (NOLOCK)
                                            JOIN NNM1 T2 WITH (NOLOCK) ON T1.Series = T2.Series
                                           WHERE ISNULL(T1.U_BPP_MDTD, '') = '{1}'
                                                         AND ISNULL(T1.U_BPP_MDSD, '') = '{2}'
                                                         AND ISNULL(T1.U_BPP_MDCD, '') = '{3}'
                                                         AND CASE 
                                                               WHEN '{1}' = '01' THEN '--'
                                                               WHEN '{1}' = '03' THEN 'IB'
                                                               WHEN '{1}' = '08' THEN 'DN'
                                                               Else '-1'
                                                             END = T1.DocSubType";
                            }
                            else
                            {
                                s = @"SELECT COUNT(*) ""Cont""
                                            FROM ""{0}"" T1
                                            JOIN ""NNM1"" T2 ON T1.""Series"" = T2.""Series""
                                           WHERE IFNULL(T1.""U_BPP_MDTD"", '') = '{1}'
                                                         AND IFNULL(T1.""U_BPP_MDSD"", '') = '{2}'
                                                         AND IFNULL(T1.""U_BPP_MDCD"", '') = '{3}'
                                                         AND CASE
                                                               WHEN '{1}' = '01' THEN '--'
                                                               WHEN '{1}' = '03' THEN 'IB'
                                                               WHEN '{1}' = '08' THEN 'DN'
                                                               Else '-1'
                                                             END = T1.""DocSubType"" ";
                            }
                            s = String.Format(s, Tabla, ((System.String)oDBDSH.GetValue("U_BPP_MDTO", 0)).Trim(), ((System.String)oDBDSH.GetValue("U_BPP_MDSO", 0)).Trim(), ((System.String)oDBDSH.GetValue("U_BPP_MDCO", 0)).Trim());//, DocSubType);
                            oRecordSet.DoQuery(s);

                            if ((System.Int32)(oRecordSet.Fields.Item("Cont").Value) > 0)
                            {
                                _result = true;
                            }
                            else
                            {
                                FSBOApp.StatusBar.SetText("No se ha encontrado documento de referencia", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                                _result = false;
                            }
                        }
                    }
                }
                else
                {
                    if ((TipoDocElec != "03") && (((VatStatus != "N") || (BPP_BPTP != "SND")) && ((TipoDocElec == "01") || (TipoDocElec == "08"))))
                    {
                        if ((System.String)(oDBDSDir.GetValue("CityB", 0)).Trim() == "")
                        {
                            FSBOApp.StatusBar.SetText("Debe ingresar ciudad en Destinatario de Factura", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                            _result = false;
                        }

                        if (((System.String)(oDBDSDir.GetValue("BlockB", 0)).Trim() == "") && (_result))
                        {
                            FSBOApp.StatusBar.SetText("Debe ingresar comuna en Destinatario de Factura", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                            _result = false;
                        }

                        if (((System.String)(oDBDSDir.GetValue("StreetB", 0)).Trim() == "") && (_result))
                        {
                            FSBOApp.StatusBar.SetText("Debe ingresar calle en Destinatario de Factura", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                            _result = false;
                        }
                    }
                }


                //Validar que ingresaron Nombre Cliente
                s = (System.String)(oDBDSH.GetValue("CardName", 0)).Trim();
                if ((s == "") && (_result))
                {
                    FSBOApp.StatusBar.SetText("Debe ingresar Nombre Cliente", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                    _result = false;
                }

                //validar caracteres invalidos en el nombre del cliente
                //se comenta segun reunion de viernes 20150320, se creo una funcion que limpia lo caracteres invalidos al momento de enviar al portal
                //if (_result)
                //{
                //    foreach (String cara in CaracteresInvalidos)
                //    {
                //        if (s.IndexOf(cara) > 0)
                //        {
                //            FSBOApp.StatusBar.SetText(@"Nombre Cliente tiene caracteres prohibidos (" + cara + ")", BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                //            _result = false;
                //            break;
                //        }
                //    }
                //}

                //se deja comentado, por problemas en la validacion de un cliente, Jimmy colocara una validacion en el TN 20151204
                //valida rut
                //if ((_result) && ((TipoDocElec != "03") && (((VatStatus != "N") || (BPP_BPTP != "SND")) && ((TipoDocElec == "01") || (TipoDocElec == "08")))))
                //{
                //    Param = new TFunctions();
                //    Param.SBO_f = FSBOf;
                //    s = Param.ValidarRuc((System.String)(oDBDSH.GetValue("LicTradNum", 0)));

                //    if (s != "OK")
                //    {
                //        FSBOApp.StatusBar.SetText(s, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                //        _result = false;
                //    }
                //}

                //valida descuentos negativos en el detalle del documento, caracteres especiales y descripcion de articulo
                if (_result)
                {
                    i = 0;
                    while (i < oDBDSDet.Size)
                    {
                        if (_result)
                        {
                            s = (System.String)(oDBDSDet.GetValue("Dscription", i));
                            if (s == "")
                            {
                                FSBOApp.StatusBar.SetText("Debe ingresar descripción en la linea " + Convert.ToString(i), BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                                _result = false;
                                i       = oDBDSDet.Size;
                            }
                        }
                        i++;
                    }
                }

                return(_result);
            }
            catch (Exception e)
            {
                FSBOApp.StatusBar.SetText(e.Message + " ** Trace: " + e.StackTrace, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
                OutLog("ValidarDatos_PE: " + e.Message + " ** Trace: " + e.StackTrace);
                return(false);
            }
        }
Exemple #12
0
        private void InitiallizeForm()
        {
            oForm.Freeze(true);

            // Program.objHrmsUI.ExecQuery("Update B1_SCHMDT set u_upd='Y' where isnull(u_upd,'N') = 'N'", "Finalizing temp");
            Program.objHrmsUI.ExecQuery("delete from [@B1_SCHMDT]  where isnull(u_upd,'N') = 'N'", "Finalizing temp");
            Program.objHrmsUI.ExecQuery("delete from [@B1_SCHMDY]  where isnull(u_upd,'N') = 'N'", "Finalizing temp");
            Program.objHrmsUI.ExecQuery("delete from [@B1_SO]  where isnull(u_upd,'N') = 'N'", "Finalizing temp");
            Program.objHrmsUI.ExecQuery("delete from [@B1_SCHOT]  where isnull(u_upd,'N') = 'N'", "Finalizing temp");


            cardCFL = (SAPbouiCOM.ChooseFromList)oForm.ChooseFromLists.Item("cflCRD");
            SAPbouiCOM.Conditions oCons = cardCFL.GetConditions();
            SAPbouiCOM.Condition  oCon  = oCons.Add();
            oCon.Alias     = "CardType";
            oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL;
            oCon.CondVal   = "C";
            cardCFL.SetConditions(oCons);

            dtHead = oForm.DataSources.DataTables.Item("dtHead");
            dtItem = oForm.DataSources.DataTables.Item("dtItem");
            dtDate = oForm.DataSources.DataTables.Item("dtDate");
            dtDays = oForm.DataSources.DataTables.Item("dtDays");
            dtOSCN = oForm.DataSources.DataTables.Item("dtOSCN");
            dtOT   = oForm.DataSources.DataTables.Item("dtOT");

            mtItem = (SAPbouiCOM.Matrix)oForm.Items.Item("mtItem").Specific;

            mtDate = (SAPbouiCOM.Matrix)oForm.Items.Item("mtDate").Specific;
            mtDay  = (SAPbouiCOM.Matrix)oForm.Items.Item("mtDays").Specific;
            mtOSCN = (SAPbouiCOM.Matrix)oForm.Items.Item("mtOSCN").Specific;
            mtOT   = (SAPbouiCOM.Matrix)oForm.Items.Item("mtOT").Specific;


            dtHead.Rows.Add(1);
            dtHead.SetValue("tsActive", 0, "Y");


            txCode = (SAPbouiCOM.EditText)oForm.Items.Item("txCode").Specific;
            txName = (SAPbouiCOM.EditText)oForm.Items.Item("txName").Specific;
            txCT   = (SAPbouiCOM.EditText)oForm.Items.Item("txCT").Specific;
            txOTDT = (SAPbouiCOM.EditText)oForm.Items.Item("txOTDT").Specific;

            txICode  = (SAPbouiCOM.EditText)oForm.Items.Item("txICode").Specific;
            txOMDT   = (SAPbouiCOM.EditText)oForm.Items.Item("txOMDT").Specific;
            txOICODE = (SAPbouiCOM.EditText)oForm.Items.Item("txOICODE").Specific;
            imgImage = (SAPbouiCOM.PictureBox)oForm.Items.Item("imgImage").Specific;
            txSL     = (SAPbouiCOM.EditText)oForm.Items.Item("txSL").Specific;



            cbSP    = (SAPbouiCOM.ComboBox)oForm.Items.Item("cbSP").Specific;
            cbDays  = (SAPbouiCOM.ComboBox)oForm.Items.Item("cbDays").Specific;
            cbWeeks = (SAPbouiCOM.ComboBox)oForm.Items.Item("cbWeeks").Specific;

            cbHH  = (SAPbouiCOM.ComboBox)oForm.Items.Item("cbHH").Specific;
            cbMM  = (SAPbouiCOM.ComboBox)oForm.Items.Item("cbMM").Specific;
            cbAP  = (SAPbouiCOM.ComboBox)oForm.Items.Item("cbAP").Specific;
            cbEWN = (SAPbouiCOM.ComboBox)oForm.Items.Item("cbEWN").Specific;

            cbOTHH = (SAPbouiCOM.ComboBox)oForm.Items.Item("cbOTHH").Specific;
            cbOTMM = (SAPbouiCOM.ComboBox)oForm.Items.Item("cbOTMM").Specific;
            cbOTAP = (SAPbouiCOM.ComboBox)oForm.Items.Item("cbOTAP").Specific;



            opOD = (SAPbouiCOM.OptionBtn)oForm.Items.Item("opOD").Specific;
            opOW = (SAPbouiCOM.OptionBtn)oForm.Items.Item("opOW").Specific;
            opOM = (SAPbouiCOM.OptionBtn)oForm.Items.Item("opOM").Specific;
            OMDY = (SAPbouiCOM.OptionBtn)oForm.Items.Item("OMDY").Specific;
            OMDT = (SAPbouiCOM.OptionBtn)oForm.Items.Item("OMDT").Specific;

            opOW.GroupWith("opOD");
            opOM.GroupWith("opOD");

            OMDY.GroupWith("OMDT");
            opOD.Selected = true;
            OMDT.Selected = true;
            tbSO          = (SAPbouiCOM.Folder)oForm.Items.Item("tbSO").Specific;
            tbTS          = (SAPbouiCOM.Folder)oForm.Items.Item("tbTS").Specific;

            tbTS.Select();
            fillCBs();
            oForm.Freeze(false);

            txCode.Active = true;
        }
Exemple #13
0
        /// <summary>
        /// 지정된 문서를 DBDatasource로 다시 로드 합니다.
        /// </summary>
        /// <param name="KeyValue">문서번호(DocEntry)</param>
        private void SetFormLoadFromDBDatasource()
        {
            try
            {
                string LineKey = FN.GetRecordsetValue(string.Format("SELECT TOP 1 U_TYPE FROM [@KIS_AD0030M_HRD] WHERE U_USERID = '{0}'", LoginId));

                oForm.Mode = BoFormMode.fm_OK_MODE;

                SAPbouiCOM.Conditions oCons = new SAPbouiCOM.Conditions();

                SAPbouiCOM.DBDataSource oKIS_AD0030M_HRD = (SAPbouiCOM.DBDataSource)oForm.DataSources.DBDataSources.Item("@KIS_AD0030M_HRD");

                SAPbouiCOM.Condition oCon = null;

                oCon = oCons.Add();

                oCon.Alias = "Code";
                oCon.Operation = BoConditionOperation.co_EQUAL;
                oCon.CondVal = LoginId + LineKey;
                
                oKIS_AD0030M_HRD.Query(oCons);

                oCon = null;
                oCons = null;

                oKIS_AD0030M_HRD = null;
                /* 아래 코드부터는  ET_AFFormDataLoad 이벤트와 동일하게 설정해준다.*/

                oDB_M.SetValue("U_TYPE", 0, LineKey);

                FindData(oForm, LineKey);

            }
            catch (Exception ex)
            {
                B1Connections.theAppl.StatusBar.SetText(ex.Message, BoMessageTime.bmt_Short, BoStatusBarMessageType.smt_Error);
            }

        }