/// <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); }
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); }
///<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); } }
///<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); }
///<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); }
/// <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; } }
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); } }
/// <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); } }
/// <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); } }
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; }
/// <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); } }