diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index 9bbdb65df..41b19d05e 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -4442,6 +4442,7 @@ Public Class ClsContabilidad End With Try + SqlAdapter.SelectCommand.CommandTimeout = 0 SqlAdapter.Fill(DSet) Retorno = True Catch ex As Exception diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index 232f88953..19c44dfe0 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -6015,6 +6015,25 @@ Public Class ClsInventarios #End Region + Public Function GetProductoPorSerie(Serie As String, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Inv_ProductoPorSerieGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@Serie", SqlDbType.VarChar).Value = Serie + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al consultar los productos por serie.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + #Region " IDisposable Support " ' IDisposable Protected Overridable Sub Dispose(ByVal disposing As Boolean) diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx index 14f91a793..3cd458484 100644 --- a/Bancos/IE.aspx +++ b/Bancos/IE.aspx @@ -209,7 +209,7 @@
- + diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 7c11763f9..90f5c97d8 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -2784,8 +2784,6 @@ Partial Class Bancos_IE If MsgError = "" Then - - CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, TxtFechaDocumento.Text.Trim.ToDate, TxtFolio.Text.Trim, PagueseA, TxtImporte.Text.Trim.ToDouble, DdlMoneda.SelectedValue.ToEntero, TxtTipoCambio.Text.Trim.ToDouble, TxtObservaciones.Text.Trim, TxtNotificarA.Text.Trim, ChkAbonoCuenta.Checked, ChkAplicaImpuestos.Checked, -1, CvePrePoliza, Comprobante, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaDeposito:=CveCuentaDeposito, CveEstatusIE:=DdlEstatusIE.SelectedValue.ToString.ToEntero, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1), @@ -2793,8 +2791,6 @@ Partial Class Bancos_IE If CveIE > 0 Then - - If DdlCuentaDeposito.SelectedValue.ToEntero > 0 And DdlTipoTransaccion.SelectedValue = "17" Then If TxtReferenciaCIE.Text <> OriReferenciaCIE Or TxtConceptoCIE.Text <> OriConceptoCIE Then diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index e406742b0..e05a7a8e4 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -1081,7 +1081,7 @@ Partial Class Bancos_ProveedoresAbonar End If End If - If Not TieneError Then + If Not TieneError AndAlso IDPoliza > 0 Then 'actualizar la conta del IE ObjIE.UpdateIEPrePoliza(Fecha, FolioPoliza.ToString, IDPoliza, CvePrePoliza, CveIE, 0) Else diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 115ce05c3..349be1126 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -8397,12 +8397,38 @@ Partial Class Compras_Compras ObjConta = New ClsContabilidad(ObjCompra.IniciaTransacSQL) End If - Dim CveCompraNC, IdCtaContable As Integer + Dim CveCompraNC, IdCtaContable, IdCtaContableComp As Integer Dim PorcentajePago As Decimal Dim ConceptoPoliza As String = $"Amortización {NombreProveedor} - {TxtSerie.Text}-{TxtFolio.Text}" Try Dim CveIE As Integer = -1 + + Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal + Dim CompraActual As New Compra + CompraActual.CveCompra = CveCompra + CompraActual.CveTipoConceptoProveedor = CveTipoConcepto + CompraActual.CveProveedor = CveProveedor + CompraActual.CveMoneda = DdlMoneda.SelectedValue.ToEntero + CompraActual.Fecha = TxtFecha.Text.ToDate + CompraActual.SerieFolio = TxtSerie.Text.Trim & "-" & TxtFolio.Text.Trim + CompraActual.ProveedorNombre = HplProveedor.Text + CompraActual.TC = TipoCambio + CompraActual.Total = TxtTotal.Text.ToDecimal + CompraActual.IVA = TxtIVA.Text.ToDecimal + CompraActual.IVADeducible = TxtIVA.Text.ToDecimal + CompraActual.IEPS = TxtIEPS.Text.ToDecimal + CompraActual.RetIVA = TxtRetIVA.Text.ToDecimal + CompraActual.RetISR = TxtRetISR.Text.ToDecimal + CompraActual.CveConceptoRetISR = DdlRetISRConcepto.SelectedValue.ToEntero + CompraActual.CveConceptoRetIVA = DdlRetIVAConcepto.SelectedValue.ToEntero + CompraActual.PorcentajeIVA = PorcentajeIVA + CompraActual.UsuarioActual = UsuarioActual + CompraActual.CveSubProyecto = TmpDT.FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0").ToEntero + CompraActual.IdCtaContableProv = CtaProveedor + CompraActual.IdCtaContableProvComplementaria = CtaProveedorComplementaria + CompraActual.EsImportacion = chkImportacion.Checked + For Each gvr As GridViewRow In GVAnticipos.Rows If gvr.FCCheckBox("Chk") IsNot Nothing AndAlso gvr.FCCheckBox("Chk").Checked Then @@ -8410,18 +8436,38 @@ Partial Class Compras_Compras If CvePrePoliza > 0 Then Dim CveConceptoCompra As Integer = 60 + Dim CveConceptoCompraComplementaria As Integer = 266 Dim TipoMovimientoCompra As Boolean = True + Dim CveMonedaAnticipo As Integer = gvr.DataKey("CveMoneda").ToEntero + Dim TipoCambioAnt As Decimal = gvr.DataKey("TCCompra").ToDecimal + Dim ImporteAnt As Decimal = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal + Dim ImporComisionAnticipo As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal + + Dim Pago As New CompraPago + Pago.TipoPago = gvr.DataKey("TipoDocto") + Pago.ImportePago = ImporteAnt + Pago.OtroGastoIngreso = ImporComisionAnticipo + Pago.CveMonedaPago = CveMonedaAnticipo + Select Case gvr.DataKey("TipoDocto") Case "NC", "DEV" - CveConceptoCompra = 60 + CveConceptoCompra = If(CveMonedaAnticipo = 1, 60, 60) + CveConceptoCompraComplementaria = 235 + IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedor, CtaProveedorExtranjera) + IdCtaContableComp = CtaProveedorComplementaria CveIE = -1 + Pago.AplicaAcreditable = False Case "Egsc" - CveConceptoCompra = 21 + CveConceptoCompra = If(CveMonedaAnticipo = 1, 21, 21) + CveConceptoCompraComplementaria = 266 + IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedorAnticipos, CtaProveedorAnticiposExtranjera) + IdCtaContableComp = CtaProveedorAnticiposComplementaria 'vinculo la compra actual, y no la compra como si fuera nota de credito CveCompraNC = -1 CveIE = gvr.DataKey("CveIE").ToEntero Case "DD" - CveConceptoCompra = 37 + CveConceptoCompra = If(CveMonedaAnticipo = 1, 37, 37) + IdCtaContable = CtaProveedorDeudores 'vinculo la compra actual, y no la compra como si fuera nota de credito CveCompraNC = -1 CveIE = gvr.DataKey("CveIE").ToEntero @@ -8429,58 +8475,20 @@ Partial Class Compras_Compras PorcentajePago = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal / TxtTotal.Text.ToDecimal + Dim ImporteAntMNComision As Decimal = (ImporteAnt + ImporComisionAnticipo) * TipoCambioAnt + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimientoCompra, (ImporteAnt + ImporComisionAnticipo), "", CveConceptoCompra, "", TxtFechaPago.Text.ToDate, IdCtaContable, -1, CveCompra:=CveCompraNC, CveCompraAmortizacion:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=ImporteAntMNComision, ImporteME:=If(TipoCambioAnt = 1, 0, (ImporteAnt + ImporComisionAnticipo)), CveSubProyecto:=CveSubProyectoAnticipo) Then + ErrorMovtosCxP = 1 + End If - Dim ImporteAnt As Decimal = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal - Dim ImporComisionAnticipo As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal - Dim CveMonedaAnticipo As Integer = gvr.DataKey("CveMoneda").ToEntero - Dim TipoCambioAnt As Decimal = gvr.DataKey("TCCompra").ToDecimal - - If ImporComisionAnticipo = 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimientoCompra, ImporteAnt, " ", CveConceptoCompra, " ", TxtFechaPago.Text.ToDate, 0, -1, CveCompra:=CveCompraNC, CveProveedor:=CveProveedor, CveIE:=CveIE, CveCompraAmortizacion:=CveCompraNC, ImporteMX:=ImporteAnt, ImporteME:=If(TipoCambioAnt = 1, 0, ImporteAnt), CveSubProyecto:=CveSubProyectoAnticipo) Then - ErrorMovtosCxP = 1 - Exit For - End If - Else - Dim ImporteAntMNComision As Decimal = (ImporteAnt + ImporComisionAnticipo) * TipoCambioAnt - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimientoCompra, (ImporteAnt + ImporComisionAnticipo), "", CveConceptoCompra, "", TxtFechaPago.Text.ToDate, IdCtaContable, -1, CveCompra:=CveCompraNC, CveCompraAmortizacion:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=ImporteAntMNComision, ImporteME:=If(TipoCambioAnt = 1, 0, (ImporteAnt + ImporComisionAnticipo)), CveSubProyecto:=CveSubProyectoAnticipo) Then - ErrorMovtosCxP = 1 + If CveMonedaAnticipo > 1 Then + Dim ImporteAntMN As Decimal = TipoCambioAnt * ImporteAnt - ImporteAnt + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimientoCompra, ImporteAntMN, "", CveConceptoCompraComplementaria, "", TxtFechaPago.Text.ToDate, IdCtaContableComp, -1, CveCompra:=CveCompraNC, CveCompraAmortizacion:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=ImporteAntMN, ImporteME:=If(TipoCambioAnt = 1, 0, ImporteAnt), CveSubProyecto:=CveSubProyectoAnticipo) Then ErrorMovtosCxP = 1 End If End If - Dim Pago As New CompraPago - Pago.ImportePago = ImporteAnt Pago.CveIE = CveIE - Pago.CveMonedaPago = CveMonedaAnticipo Pago.CveCompraAmortizacion = CveCompraNC - Pago.CveCreditoDetalle = -1 - Pago.OtroGastoIngreso = ImporComisionAnticipo - - Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal - Dim CompraActual As New Compra - CompraActual.CveCompra = CveCompra - CompraActual.CveTipoConceptoProveedor = CveTipoConcepto - CompraActual.CveProveedor = CveProveedor - CompraActual.CveMoneda = DdlMoneda.SelectedValue.ToEntero - CompraActual.Fecha = TxtFecha.Text.ToDate - CompraActual.SerieFolio = TxtSerie.Text.Trim & "-" & TxtFolio.Text.Trim - CompraActual.ProveedorNombre = HplProveedor.Text - CompraActual.TC = TipoCambio - CompraActual.Total = TxtTotal.Text.ToDecimal - CompraActual.IVA = TxtIVA.Text.ToDecimal - CompraActual.IVADeducible = TxtIVA.Text.ToDecimal - CompraActual.IEPS = TxtIEPS.Text.ToDecimal - CompraActual.RetIVA = TxtRetIVA.Text.ToDecimal - CompraActual.RetISR = TxtRetISR.Text.ToDecimal - CompraActual.CveConceptoRetISR = DdlRetISRConcepto.SelectedValue.ToEntero - CompraActual.CveConceptoRetIVA = DdlRetIVAConcepto.SelectedValue.ToEntero - CompraActual.PorcentajeIVA = PorcentajeIVA - CompraActual.UsuarioActual = UsuarioActual - CompraActual.CveSubProyecto = TmpDT.FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0").ToEntero - CompraActual.IdCtaContableProv = CtaProveedor - CompraActual.IdCtaContableProvComplementaria = CtaProveedorComplementaria - CompraActual.EsImportacion = chkImportacion.Checked - AplicaPrePolizaPagoCompra(CompraActual, pago, CvePrePoliza, ObjConta) End If End If diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb index 2eeef22a0..edfc29a1a 100644 --- a/Contabilidad/RegPrePolizaS.aspx.vb +++ b/Contabilidad/RegPrePolizaS.aspx.vb @@ -468,11 +468,15 @@ Partial Class ContabilidadC_RegPrePolizaS DtMovimientos = ObjContabilidad.DtResultados.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa}") If dr("Modulo").ToString.Contiene("Banc/FluctuaA", "Banc/FluctuaC", "Banc/FluctuaV", "Banc/FluctuaFilial") Then - BtnEliminar.Enabled = False BtnEliminar.ToolTip = "No se puede eliminar al prepóliza, eliminarlos desde el módulo" End If + If DtMovimientos IsNot Nothing AndAlso DtMovimientos.FiltraParametros("CveConceptoContable = 30 AND Contabilizable = 1").Rows.Count > 0 Then + BtnEliminar.Enabled = False + BtnEliminar.ToolTip = "No se puede eliminar al prepóliza, eliminarla desde el módulo de Bancos" + End If + GvPrePoliza.DataSource = DtMovimientos If Not DtMovimientos.Columns.Contains("IdMov") Then Dim workColumn As DataColumn = DtMovimientos.Columns.Add("IdMov", GetType(Integer)) diff --git a/Contabilidad2/RepAnexoCatalogoCC.aspx b/Contabilidad2/RepAnexoCatalogoCC.aspx index fce33e0af..d9df7060d 100644 --- a/Contabilidad2/RepAnexoCatalogoCC.aspx +++ b/Contabilidad2/RepAnexoCatalogoCC.aspx @@ -48,16 +48,17 @@
+
    -
  • Ejercicio: - - +
  • + +
  • - +
  • @@ -80,19 +81,12 @@
  • -
  • Divisor: - - - - - - -
  • Cuenta:
  • - + @@ -105,6 +99,21 @@
+
diff --git a/Contabilidad2/RepAnexoCatalogoCC.aspx.vb b/Contabilidad2/RepAnexoCatalogoCC.aspx.vb index 50a086700..4e321c5c7 100644 --- a/Contabilidad2/RepAnexoCatalogoCC.aspx.vb +++ b/Contabilidad2/RepAnexoCatalogoCC.aspx.vb @@ -183,7 +183,7 @@ Partial Class Contabilidad2_RepAnexoCatalogoCC DTDatos = New DataTable Dim Conta As New ClsContabilidad - If Conta.GetAnexoCatalagoCC(CveCuenta, DdlEjercicio.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlDivisor.SelectedValue.ToEntero, DdlPeriodo.SelectedValue.ToEntero, UsuarioActual.CveUsuario) Then + If Conta.GetAnexoCatalagoCC(DdlCuentas.SelectedValue.ToEntero, DdlEjercicio.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, DdlDivisor.SelectedValue.ToEntero, DdlPeriodo.SelectedValue.ToEntero, UsuarioActual.CveUsuario) Then DTHeaders = Conta.DSResultados.Tables(0) DTDatos = Conta.DSResultados.Tables(1) @@ -279,7 +279,6 @@ Partial Class Contabilidad2_RepAnexoCatalogoCC Index = 4 For Each DRow As DataRow In DTHeaders.Rows - Dim Importe As Decimal = e.Row.DBCampo($"SubProyecto{DRow("SubProyecto")}").ToDecimal 'Dim Anio As Integer = DRow("SubProyecto").ToString.ToEntero @@ -292,7 +291,7 @@ Partial Class Contabilidad2_RepAnexoCatalogoCC If Importe <> 0 Then - e.Row.Cells(Index).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Importe.ToString("###,###,##0"), Importe.ToString("###,###,###.00")) }" + e.Row.Cells(Index).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Importe.ToString("###,###,##0"), Importe.ToString("###,###,###.00")) }" End If 'If e.Row.Cells(Index + 1).Text.ToDecimal = 0 Then diff --git a/Contabilidad2/RepEstadoResultadosHorizontal.aspx b/Contabilidad2/RepEstadoResultadosHorizontal.aspx index 86a562758..5f9ffb583 100644 --- a/Contabilidad2/RepEstadoResultadosHorizontal.aspx +++ b/Contabilidad2/RepEstadoResultadosHorizontal.aspx @@ -1131,62 +1131,61 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + <%-- @@ -1222,62 +1221,61 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - - + <%-- @@ -1314,61 +1312,61 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/Contabilidad2/RepEstadoResultadosHorizontal.aspx.vb b/Contabilidad2/RepEstadoResultadosHorizontal.aspx.vb index 762a25374..31d2fdcd8 100644 --- a/Contabilidad2/RepEstadoResultadosHorizontal.aspx.vb +++ b/Contabilidad2/RepEstadoResultadosHorizontal.aspx.vb @@ -389,6 +389,8 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal DVTri.Visible = True + + End If If TAB.ActiveTabIndex = 2 Then @@ -404,8 +406,8 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal LiEjercicioDdl2.Visible = True LiEjercicioLbl2.Visible = True - LiPeriodoDdl.Visible = True - LiPeriodoLbl.Visible = True + LiPeriodoDdl.Visible = False + LiPeriodoLbl.Visible = False LiDivisorDdl.Visible = True LiDivisorLbl.Visible = True @@ -413,6 +415,8 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal LblTri.Visible = False DVTri.Visible = False + DdlPeriodo.SelectedValueExist(12) + End If If TAB.ActiveTabIndex = 3 Then @@ -425,8 +429,7 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal LiEjercicioDdl2.Visible = False LiEjercicioLbl2.Visible = False - LiPeriodoDdl.Visible = True - LiPeriodoLbl.Visible = True + LiDivisorDdl.Visible = True LiDivisorLbl.Visible = True @@ -434,6 +437,10 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal LblTri.Visible = False DVTri.Visible = False + LiPeriodoDdl.Visible = False + LiPeriodoLbl.Visible = False + DdlPeriodo.SelectedValueExist(12) + End If UpFiltros.Update() @@ -1751,16 +1758,14 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal End Sub Protected Sub GvIngresosAnualH_RowDataBound(sender As Object, e As GridViewRowEventArgs) + If e.Row.RowType = DataControlRowType.DataRow Then setgraficaCCAnual(e, listaCamposanios) If e.Row.DBCampo("CtaMayor").ToString.ToEntero < 0 Then TotalActualMes += e.Row.DBCampo("ImporteActual").ToString.ToDouble TotalAnteriorMes += e.Row.DBCampo("ImporteAcumulado").ToString.ToDouble - 'e.Row.ControlStyle.BackColor = Drawing.Color.LightGray - 'e.Row.ControlStyle.ForeColor = Drawing.Color.White e.Row.ControlStyle.Font.Bold = True ElseIf e.Row.DBCampo("CtaMayor").ToString.ToEntero = 3 Then - 'e.Row.CssClass = "SubTotales3" e.Row.ControlStyle.Font.Bold = True End If @@ -1776,14 +1781,12 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal Dim IndiceInicio As Integer = 1 Dim IndiceMax As Integer = 1 + CountDinamico - For IndiceInicio = 1 To IndiceMax + For IndiceInicio = 1 To IndiceMax Step 2 Dim Anio As String = CType(GvGastosAnualH.Columns(IndiceInicio), BoundField).DataField Dim Importe As Decimal = e.Row.Cells(IndiceInicio).Text.ToDecimal e.Row.Cells(IndiceInicio).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Importe.ToString("###,###,##0"), Importe.ToString("###,###,###.00")) }" - 'e.Row.Cells(IndiceInicio).ForeColor = If(Importe < 0, Drawing.Color.Red, e.Row.Cells(IndiceInicio).ForeColor) Next IndiceInicio - 'e.Row.FCHyperLink("HLAnterior").NavigateUrl = $"./RepAnexoCatalogo.aspx?CveCuenta={CveCuenta}&FF=31/12/{DdlEjercicio2.SelectedValue}&FI=01/01/{DdlEjercicio.SelectedValue}&ER=1&CveSubProyecto={CveSubProyecto}" e.Row.FCHyperLink("HLAnterior").NavigateUrl = $"./RepAnexoCatalogoAnual.aspx?CveCuenta={e.Row.DBCampo("CveCuenta").ToString}&Ejercicio={DdlEjercicio.SelectedValue}&Divisor={DdlDivisor.SelectedValue}&CveSubProyecto={DdlSubproyecto.SelectedValue}&EjercicioFinal={DdlEjercicio2.SelectedValue}&Periodo={DdlPeriodo.SelectedValue}" @@ -1794,7 +1797,7 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal Dim IndiceInicio As Integer = 1 Dim IndiceMax As Integer = 1 + CountDinamico - For IndiceInicio = 1 To IndiceMax + For IndiceInicio = 1 To IndiceMax Step 2 Dim Importe As Decimal = e.Row.Cells(IndiceInicio).Text.ToDecimal e.Row.Cells(IndiceInicio).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Importe.ToString("###,###,##0"), Importe.ToString("###,###,###.00")) }" @@ -1836,7 +1839,7 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal Dim CountDinamico As Integer = e.Row.DataKey("CountDinamico").ToEntero Dim IndiceInicio As Integer = 1 Dim IndiceMax As Integer = 1 + CountDinamico - For IndiceInicio = 1 To IndiceMax + For IndiceInicio = 1 To IndiceMax Step 2 Dim Anio As String = CType(GvGastosAnualH.Columns(IndiceInicio), BoundField).DataField Dim Importe As Decimal = e.Row.Cells(IndiceInicio).Text.ToDecimal e.Row.Cells(IndiceInicio).Text = $"{If(DdlDivisor.SelectedValue.ToEntero > 1, Importe.ToString("###,###,##0"), Importe.ToString("###,###,###.00"))}" @@ -1853,7 +1856,7 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal Dim IndiceInicio As Integer = 1 Dim IndiceMax As Integer = 1 + CountDinamico - For IndiceInicio = 1 To IndiceMax + For IndiceInicio = 1 To IndiceMax Step 2 Dim Importe As Decimal = e.Row.Cells(IndiceInicio).Text.ToDecimal e.Row.Cells(IndiceInicio).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, Importe.ToString("###,###,##0"), Importe.ToString("###,###,###.00")) }" @@ -1862,7 +1865,7 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal End If - If e.Row.DBCampo("ImporteAcumulado").ToString.ToDouble < 0 Then + If e.Row.DBCampo("ImporteAcumulado").ToString.ToDecimal < 0 Then e.Row.FCHyperLink("HLAnterior").ForeColor = Drawing.Color.Red End If End If @@ -1877,6 +1880,10 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal If e.Row.RowType = DataControlRowType.DataRow Then setgraficaCCAnual(e, listaCamposaniosTotal) e.Row.Attributes.Add("style", "Font-weight: bold") + + + + End If End Sub @@ -1893,6 +1900,7 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal Next e.Row.FCHyperLink("Hypgrafica").Attributes.Add("data-values", Newtonsoft.Json.JsonConvert.SerializeObject(lista)) End Sub + #End Region @@ -2258,6 +2266,17 @@ Partial Class Contabilidad_RepEstadoResultadosHorizontal If e.Row.RowType = DataControlRowType.DataRow Then setgraficaCC(e) e.Row.Attributes.Add("style", "Font-weight: bold") + + Dim CountDinamico As Integer = e.Row.DataKey("CountDinamico").ToEntero + Dim IndiceInicio As Integer = 1 + Dim IndiceMax As Integer = 1 + CountDinamico + + For IndiceInicio = 1 To IndiceMax Step 2 + Dim Anio As String = CType(GvGastosAnualH.Columns(IndiceInicio), BoundField).DataField + Dim Importe As Decimal = e.Row.Cells(IndiceInicio).Text.ToDecimal + e.Row.Cells(IndiceInicio).Text = $"" + Next IndiceInicio + End If End Sub diff --git a/General/SaldosIniciales.aspx b/General/SaldosIniciales.aspx index 0d3f9fbba..031168917 100644 --- a/General/SaldosIniciales.aspx +++ b/General/SaldosIniciales.aspx @@ -38,9 +38,11 @@
- + + + <%----%> @@ -50,6 +52,8 @@ + +
diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index 08da0e376..6a39c6780 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -516,6 +516,119 @@ Partial Class General_SaldosIniciales Alert("El nombre de la cuarta columna debe ser 'Valor'. Favor de corregirlo", TipoMensaje.MsgError) Exit Sub End If + + ElseIf RblFormato.SelectedValue = "13" Then 'ANTICIPO PROVEEDORES + + If Not dt.Columns(0).ColumnName = "RFC" Then + Alert("El nombre de la primera columna debe ser 'RFC'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(1).ColumnName = "Descripcion" Then + Alert("El nombre de la segunda columna debe ser 'Descripcion'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(2).ColumnName = "Fecha" Then + Alert("El nombre de la tercera columna debe ser 'Fecha'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(3).ColumnName = "Importe" Then + Alert("El nombre de la cuarta columna debe ser 'Importe'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(4).ColumnName = "Moneda" Then + Alert("El nombre de la cuarta columna debe ser 'Moneda'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(5).ColumnName = "TipoCambio" Then + Alert("El nombre de la cuarta columna debe ser 'TipoCambio'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(6).ColumnName = "CuentaContable" Then + Alert("El nombre de la cuarta columna debe ser 'CuentaContable'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + ElseIf RblFormato.SelectedValue = "14" Then 'ANTICIPO CLIENTES + + If Not dt.Columns(0).ColumnName = "RFC" Then + Alert("El nombre de la primera columna debe ser 'RFC'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(1).ColumnName = "Descripcion" Then + Alert("El nombre de la segunda columna debe ser 'Descripcion'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(2).ColumnName = "Fecha" Then + Alert("El nombre de la tercera columna debe ser 'Fecha'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(3).ColumnName = "Importe" Then + Alert("El nombre de la cuarta columna debe ser 'Importe'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(4).ColumnName = "Moneda" Then + Alert("El nombre de la cuarta columna debe ser 'Moneda'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(5).ColumnName = "TipoCambio" Then + Alert("El nombre de la cuarta columna debe ser 'TipoCambio'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(6).ColumnName = "CuentaContable" Then + Alert("El nombre de la cuarta columna debe ser 'CuentaContable'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + ElseIf RblFormato.SelectedValue = "15" Then 'BANCOS + + If Not dt.Columns(0).ColumnName = "CuentaBancaria" Then + Alert("El nombre de la primera columna debe ser 'CuentaBancaria'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(1).ColumnName = "Importe" Then + Alert("El nombre de la segunda columna debe ser 'Importe'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(2).ColumnName = "Moneda" Then + Alert("El nombre de la segunda columna debe ser 'Moneda'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(3).ColumnName = "TipoCambio" Then + Alert("El nombre de la segunda columna debe ser 'TipoCambio'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(4).ColumnName = "Fecha" Then + Alert("El nombre de la cuarta columna debe ser 'Fecha'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(5).ColumnName = "Descripcion" Then + Alert("El nombre de la cuarta columna debe ser 'Descripcion'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + If Not dt.Columns(6).ColumnName = "CuentaContable" Then + Alert("El nombre de la tercera columna debe ser 'CuentaContable'. Favor de corregirlo", TipoMensaje.MsgError) + Exit Sub + End If + + End If @@ -2094,12 +2207,439 @@ Partial Class General_SaldosIniciales ObjMovimientos.Dispose() ProductosServiciosRef.Dispose() AlmacenRef.Dispose() + + ElseIf RblFormato.SelectedValue = "13" Then + ProcesaAnticipoProveedor(dt, DTCuentasContables) + ElseIf RblFormato.SelectedValue = "14" Then + ProcesaAnticipoCliente(dt, DTCuentasContables) + ElseIf RblFormato.SelectedValue = "15" Then + ProcesaBancos(dt, DTCuentasContables) End If End If End Sub + + + Private Sub ProcesaBancos(DTBancos As DataTable, DTCuentasContables As DataTable) + + Dim ErrorProceso As Boolean = False + + Dim ObjConta As New ClsContabilidad() + Dim ObjBancos As New ClsBancos(ObjConta.IniciaTransacSQL) + + If Not DTBancos.Columns.Contains("CveCuentaContable") Then + DTBancos.Columns.Add("CveCuentaContable", GetType(Integer)) + End If + + + Dim Contador As Integer = 0 + For Each dRow As DataRow In DTBancos.Rows + + + Dim Fecha As Date = dRow("Fecha").ToString.ToDate + Dim Importe As Decimal = dRow("Importe").ToString.ToDecimal + Dim Descripcion As String = dRow("Descripcion").ToString + Dim NumCuenta As String = dRow("CuentaBancaria").ToString + Dim ImporteMX As Decimal = 0 + Dim ImporteME As Decimal = 0 + + Dim Moneda As String = dRow("Moneda").ToString + Dim CveMoneda As Integer + Dim TipoCambio As Decimal = dRow("TipoCambio").ToString.ToDecimal + + + + If Moneda.ToUpper.Contiene("PESOS", "PESO", "MXN") Then + CveMoneda = 1 + TipoCambio = 1 + ElseIf Moneda.ToUpper.Contiene("DÓLARES", "DOLARES", "USD") Then + CveMoneda = 2 + End If + + If CveMoneda.Contiene(1, 2) Then + If CveMoneda = 2 Then + If TipoCambio = 0 Then + Alert($"Registro {Contador + 1} moneda en dólares sin tipo de cambio especificado.") + ErrorProceso = True + Exit For + Else + ImporteMX = Importe * TipoCambio + ImporteME = Importe + End If + Else + ImporteMX = Importe + ImporteME = 0 + End If + Else + Alert($"Registro {Contador + 1} moneda ({Moneda}) no valida.") + ErrorProceso = True + Exit For + End If + + + + Dim CveCuentaBancaria As Integer = GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa, Estatus:=1).FiltroPrimeroValor("CveCuenta", $" NumCuenta = '{NumCuenta}'").ToEntero + If Not CveCuentaBancaria > 0 Then + Alert($"No se detecto cuenta Bancaria {NumCuenta}", TipoMensaje.MsgAdvertencia) + ErrorProceso = True + Exit For + End If + + Dim FolioStr As String = "" + FolioStr = CStr(ObjBancos.GetNextFolio(CveCuentaBancaria, 3) + Contador) + + Dim CveCuentaContable As Integer = 0 + Dim CuentaContable As String = dRow("CuentaContable").ToString.Trim.Replace("-", "").Replace(" ", "") + + If CuentaContable.Length > 0 Then + + CveCuentaContable = DTCuentasContables.FiltroPrimeroValor("CveCuenta", $"Codigo ='{CuentaContable}'").ToEntero + + If CveCuentaContable > 0 Then + dRow("CveCuentaContable") = CveCuentaContable + Else + Alert($"Cuenta Bancaria {NumCuenta} cuenta contable {CuentaContable} no encontrada.", TipoMensaje.MsgAdvertencia) + ErrorProceso = True + Exit For + End If + + If Not ErrorProceso Then + DTBancos.AcceptChanges() + End If + + End If + + + If Not AsignacionCuenta(ObjConta, 30, CveCuentaContable, CveCuentaBancaria, -1, -1, -1, UsuarioActual.CveEmpresa) Then + ErrorProceso = True + Alert("Se presento un error al guardar en asignaciones", TipoMensaje.MsgAdvertencia) + Exit For + End If + + Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Bancos/SaldoInicial", 66, Importe, Importe, CveMoneda, Fecha, FolioStr, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If Not CvePrePoliza > 0 Then + ErrorProceso = True + Exit For + End If + + + Dim CveIE As Integer = ObjBancos.AddBancos_IE(CveCuentaBancaria, 3, Fecha, FolioStr.ToString, "", Importe, CveMoneda, + TipoCambio, Descripcion, "", False, False, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, FolioStr.ToString, 30, FolioStr, Fecha, -1, -1, CveIE:=CveIE, Contabilizable:=False, ImporteMX:=ImporteMX, ImporteME:=ImporteME, TipoCambio:=TipoCambio) Then ErrorProceso = True : Exit For + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Importe, FolioStr.ToString, 95, FolioStr, Fecha, -1, -1, CveIE:=CveIE, Contabilizable:=False, ImporteMX:=ImporteMX, ImporteME:=ImporteME, TipoCambio:=TipoCambio) Then ErrorProceso = True : Exit For + + Contador = Contador + 1 + Next + + + + If Not ErrorProceso Then + Alert($"Se agregaron {Contador} Movimientos.") + ObjBancos.Commit() + Else + ObjBancos.RollBack() + End If + + ObjBancos.Dispose() + + + End Sub + Private Sub ProcesaAnticipoProveedor(DtAnticipoProveedor As DataTable, DTCuentasContables As DataTable) + + Dim ErrorProceso As Boolean = False + Dim CveCuentaBancaria As Integer = GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa, Estatus:=1).FiltroPrimeroValor("CveCuenta", "").ToEntero + + If Not CveCuentaBancaria > 0 Then + Alert("No se detecto una cuenta Bancaria", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + Dim ObjConta As New ClsContabilidad() + Dim ObjBancos As New ClsBancos(ObjConta.IniciaTransacSQL) + + If Not DtAnticipoProveedor.Columns.Contains("CveCuentaContable") Then + DtAnticipoProveedor.Columns.Add("CveCuentaContable", GetType(Integer)) + End If + + + Dim Contador As Integer = 0 + For Each dRow As DataRow In DtAnticipoProveedor.Rows + + + Dim Fecha As Date = dRow("Fecha").ToString.ToDate + Dim Importe As Decimal = dRow("Importe").ToString.ToDecimal + Dim ImporteMX As Decimal = 0 + Dim ImporteME As Decimal = 0 + Dim Descripcion As String = dRow("Descripcion").ToString + Dim RFC As String = dRow("RFC").ToString + Dim Moneda As String = dRow("Moneda").ToString + Dim CveMoneda As Integer + Dim TipoCambio As Decimal = dRow("TipoCambio").ToString.ToDecimal + + + + If Moneda.ToUpper.Contiene("PESOS", "PESO", "MXN") Then + CveMoneda = 1 + TipoCambio = 1 + ElseIf Moneda.ToUpper.Contiene("DÓLARES", "DOLARES", "USD") Then + CveMoneda = 2 + End If + + If CveMoneda.Contiene(1, 2) Then + + If CveMoneda = 2 Then + If TipoCambio = 0 Then + Alert($"Registro {Contador + 1} moneda en dólares sin tipo de cambio especificado.") + ErrorProceso = True + Exit For + Else + ImporteMX = Importe * TipoCambio + ImporteME = Importe + End If + Else + ImporteMX = Importe + ImporteME = 0 + End If + + Else + Alert($"Registro {Contador + 1} moneda ({Moneda}) no valida.") + ErrorProceso = True + Exit For + End If + + + Dim FolioStr As String = "" + FolioStr = CStr(ObjBancos.GetNextFolio(CveCuentaBancaria, 1) + Contador) + Dim CveProveedor As Integer = GlobalDTCompProveedores(CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveProveedor", $" RFC = '{RFC}' ").ToEntero + + + If Not CveProveedor > 0 Then + Alert($"No se encontro Proveedor con RFC: {RFC}.", TipoMensaje.MsgAdvertencia) + ErrorProceso = True + Exit For + End If + + Dim CveCuentaContable As Integer = 0 + Dim CuentaContable As String = dRow("CuentaContable").ToString.Trim.Replace("-", "").Replace(" ", "") + + If CuentaContable.Length > 0 Then + CveCuentaContable = DTCuentasContables.FiltroPrimeroValor("CveCuenta", $"Codigo ='{CuentaContable}'").ToEntero + + + If CveCuentaContable > 0 Then + dRow("CveCuentaContable") = CveCuentaContable + Else + Alert($"RFC {RFC} cuenta {CuentaContable} no encontrada.", TipoMensaje.MsgAdvertencia) + ErrorProceso = True + Exit For + End If + + If Not ErrorProceso Then + DtAnticipoProveedor.AcceptChanges() + End If + + End If + + + If Not AsignacionCuenta(ObjConta, 10, CveCuentaContable, -1, CveProveedor, -1, -1, UsuarioActual.CveEmpresa) Then + ErrorProceso = True + Alert("Se presento un error al guardar en asignaciones", TipoMensaje.MsgAdvertencia) + Exit For + End If + + Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Anticipo/Proveedor/SaldoInicial", 12, Importe, Importe, CveMoneda, Fecha, FolioStr, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If Not CvePrePoliza > 0 Then + ErrorProceso = True + Exit For + End If + + + Dim CveIE As Integer = ObjBancos.AddBancos_IE(CveCuentaBancaria, 1, Fecha, FolioStr.ToString, "", Importe, CveMoneda, + TipoCambio, Descripcion, "", False, False, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Importe, FolioStr.ToString, 30, FolioStr, Fecha, -1, -1, CveIE:=CveIE, CveProveedor:=CveProveedor, Contabilizable:=False, ImporteMX:=ImporteMX, ImporteME:=ImporteME, TipoCambio:=TipoCambio) Then ErrorProceso = True : Exit For + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, FolioStr.ToString, 10, FolioStr, Fecha, -1, -1, CveIE:=CveIE, CveProveedor:=CveProveedor, Contabilizable:=False, ImporteMX:=ImporteMX, ImporteME:=ImporteME, TipoCambio:=TipoCambio) Then ErrorProceso = True : Exit For + + Contador = Contador + 1 + Next + + + + If Not ErrorProceso Then + Alert($"Se agregaron {Contador} Anticipos.") + ObjBancos.Commit() + Else + ObjBancos.RollBack() + End If + + ObjBancos.Dispose() + + End Sub + Private Sub ProcesaAnticipoCliente(DTAnticipoCliente As DataTable, DTCuentasContables As DataTable) + + Dim ErrorProceso As Boolean = False + Dim CveCuentaBancaria As Integer = GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa, Estatus:=1).FiltroPrimeroValor("CveCuenta", "").ToEntero + + If Not CveCuentaBancaria > 0 Then + Alert("No se detecto una cuenta Bancaria", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + Dim ObjConta As New ClsContabilidad() + Dim ObjBancos As New ClsBancos(ObjConta.IniciaTransacSQL) + + If Not DTAnticipoCliente.Columns.Contains("CveCuentaContable") Then + DTAnticipoCliente.Columns.Add("CveCuentaContable", GetType(Integer)) + End If + + + Dim Contador As Integer = 0 + For Each dRow As DataRow In DTAnticipoCliente.Rows + + + Dim Fecha As Date = dRow("Fecha").ToString.ToDate + Dim Importe As Decimal = dRow("Importe").ToString.ToDecimal + Dim ImporteMX As Decimal = 0 + Dim ImporteME As Decimal = 0 + Dim Descripcion As String = dRow("Descripcion").ToString + Dim RFC As String = dRow("RFC").ToString + Dim Moneda As String = dRow("Moneda").ToString + Dim CveMoneda As Integer + Dim TipoCambio As Decimal = dRow("TipoCambio").ToString.ToDecimal + + If Moneda.ToUpper.Contiene("PESOS", "PESO", "MXN") Then + CveMoneda = 1 + TipoCambio = 1 + ElseIf Moneda.ToUpper.Contiene("DÓLARES", "DOLARES", "USD") Then + CveMoneda = 2 + End If + + If CveMoneda.Contiene(1, 2) Then + + If CveMoneda = 2 Then + If TipoCambio = 0 Then + Alert($"Registro {Contador + 1} moneda en dólares sin tipo de cambio especificado.") + ErrorProceso = True + Exit For + Else + ImporteMX = Importe * TipoCambio + ImporteME = Importe + End If + Else + ImporteMX = Importe + ImporteME = 0 + End If + + Else + Alert($"Registro {Contador + 1} moneda ({Moneda}) no valida.") + ErrorProceso = True + Exit For + End If + + Dim FolioStr As String = "" + FolioStr = CStr(ObjBancos.GetNextFolio(CveCuentaBancaria, 3) + Contador) + Dim CveCliente As Integer = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=1).FiltroPrimeroValor("CveCliente", $" RFC = '{RFC}' ").ToEntero + + + If Not CveCliente > 0 Then + Alert($"No se encontro cliente con RFC: {RFC}.", TipoMensaje.MsgAdvertencia) + ErrorProceso = True + Exit For + End If + + + 'Dim RazonSocial As String = Row("RazonSocial").ToString + Dim CveCuentaContable As Integer = 0 + Dim CuentaContable As String = dRow("CuentaContable").ToString.Trim.Replace("-", "").Replace(" ", "") + + If CuentaContable.Length > 0 Then + CveCuentaContable = DTCuentasContables.FiltroPrimeroValor("CveCuenta", $"Codigo ='{CuentaContable}'").ToEntero + + + If CveCuentaContable > 0 Then + dRow("CveCuentaContable") = CveCuentaContable + Else + Alert($"RFC {RFC} cuenta {CuentaContable} no encontrada.", TipoMensaje.MsgAdvertencia) + ErrorProceso = True + Exit For + End If + + If Not ErrorProceso Then + DTAnticipoCliente.AcceptChanges() + End If + + End If + + + If Not AsignacionCuenta(ObjConta, 66, CveCuentaContable, -1, -1, CveCliente, -1, UsuarioActual.CveEmpresa) Then + ErrorProceso = True + Alert("Se presento un error al guardar en asignaciones", TipoMensaje.MsgAdvertencia) + Exit For + End If + + Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Anticipo/Cliente/SaldoInicial", 24, Importe, Importe, CveMoneda, Fecha, FolioStr, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If Not CvePrePoliza > 0 Then + ErrorProceso = True + Exit For + End If + + + Dim CveIE As Integer = ObjBancos.AddBancos_IE(CveCuentaBancaria, 3, Fecha, FolioStr.ToString, "", Importe, CveMoneda, + TipoCambio, Descripcion, "", False, False, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, FolioStr.ToString, 30, FolioStr, Fecha, -1, -1, CveIE:=CveIE, CveCliente:=CveCliente, Contabilizable:=False, ImporteMX:=ImporteMX, ImporteME:=ImporteME, TipoCambio:=TipoCambio) Then ErrorProceso = True : Exit For + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Importe, FolioStr.ToString, 66, FolioStr, Fecha, -1, -1, CveIE:=CveIE, CveCliente:=CveCliente, Contabilizable:=False, ImporteMX:=ImporteMX, ImporteME:=ImporteME, TipoCambio:=TipoCambio) Then ErrorProceso = True : Exit For + + Contador = Contador + 1 + Next + + + + If Not ErrorProceso Then + Alert($"Se agregaron {Contador} Anticipos.") + ObjBancos.Commit() + Else + ObjBancos.RollBack() + End If + + ObjBancos.Dispose() + + + + + + + End Sub + + + Private Function AsignacionCuenta(ObjContabilidad As ClsContabilidad, CveConceptoContable As Integer, CveCuentaContable As Integer, CveBancoCuenta As Integer, CveProveedor As Integer, CveCliente As Integer, + CvePersonal As Integer, CveEmpresa As Integer) As Boolean + + Dim Respuesta As Boolean = False + + 'If Not ObjConta.AddCuentasAsignaciones(28, UsuarioActual.CveEmpresa, CveCuentaContable, -1, + ' -1, -1, ObjRH.CvePersonal, -1, -1, 0, CveBancoCuenta:=-1, CveConceptoNomina:=-1, CveSubProyecto:=-1, CveActivoFijo:=-1, + ' CveTipoGasto:=-1, RegeneraCuenta:=False) Then + ' ErrorRH = True + ' Exit For + 'End If + + If ObjContabilidad.AddCuentasAsignaciones(CveConceptoContable, CveEmpresa, CveCuentaContable, -1, + CveProveedor, CveCliente, CvePersonal, -1, -1, 0, CveBancoCuenta:=CveBancoCuenta, CveConceptoNomina:=-1, CveSubProyecto:=-1, CveActivoFijo:=-1, + CveTipoGasto:=-1, RegeneraCuenta:=False) Then + Respuesta = True + End If + + Return Respuesta + + End Function + Protected Sub BtnDescargar_Click(sender As Object, e As EventArgs) Handles BtnDescargar.Click Dim Directorio As String = "" @@ -2127,7 +2667,14 @@ Partial Class General_SaldosIniciales Directorio = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\SaldosIniciales\FormatoPrePoliza.xlsx" ElseIf RblFormato.SelectedValue = "12" Then Directorio = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\SaldosIniciales\FormatoAlmacen.xlsx" + ElseIf RblFormato.SelectedValue = "13" Then + Directorio = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\SaldosIniciales\FormatoAnticipoProveedor.xlsx" + ElseIf RblFormato.SelectedValue = "14" Then + Directorio = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\SaldosIniciales\FormatoAnticipoCliente.xlsx" + ElseIf RblFormato.SelectedValue = "15" Then + Directorio = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\SaldosIniciales\FormatoBancos.xlsx" End If + If Not (Directorio = "") Then Dim Archivo As New IO.FileInfo(Directorio) @@ -2462,6 +3009,7 @@ Partial Class General_SaldosIniciales Dim MetodoPago As String = Row("Metodo Pago").ToString Dim Nominista As String = Row("Nominista").ToString Dim CveCuentaContable As Integer = Row("CveCuentaContable").ToString.ToEntero + Dim Saldo As Decimal = Row("Saldo").ToString.ToDecimal Dim NombreCompleto As String = $"{Nombre} {ApellidoPaterno} {ApellidoMaterno}" @@ -2723,7 +3271,6 @@ Partial Class General_SaldosIniciales If CveCuentaContable > 0 Then Dim ObjConta As New ClsContabilidad(ObjRH.IniciaTransacSQL) - If Not ObjConta.AddCuentasAsignaciones(28, UsuarioActual.CveEmpresa, CveCuentaContable, -1, -1, -1, ObjRH.CvePersonal, -1, -1, 0, CveBancoCuenta:=-1, CveConceptoNomina:=-1, CveSubProyecto:=-1, CveActivoFijo:=-1, CveTipoGasto:=-1, RegeneraCuenta:=False) Then @@ -2733,6 +3280,47 @@ Partial Class General_SaldosIniciales End If + If Saldo > 0 Then + + If Not CveCuentaContable > 0 Then + Alert($"Personal {NombreCompleto} tiene saldo pero no se especifico cuenta contable.") + ErrorRH = True + Exit For + End If + + Dim CveCuentaBancaria As Integer = GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa, Estatus:=1).FiltroPrimeroValor("CveCuenta", "").ToEntero + + If Not CveCuentaBancaria > 0 Then + Alert("No se detecto una cuenta Bancaria", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + Dim ObjConta As New ClsContabilidad(ObjRH.IniciaTransacSQL) + Dim ObjBancos As New ClsBancos(ObjRH.IniciaTransacSQL) + + + Dim Fecha As Date = TxtFecha.Text.ToDate + + + Dim FolioStr As String = "" + + FolioStr = CStr(ObjBancos.GetNextFolio(CveCuentaBancaria, 3) + Contador) + + Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Saldo/Personal/SaldoInicial", 23, Saldo, Saldo, 1, Fecha, FolioStr, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If Not CvePrePoliza > 0 Then + ErrorRH = True + Exit For + End If + + Dim CveIE As Integer = ObjBancos.AddBancos_IE(CveCuentaBancaria, 3, Fecha, FolioStr.ToString, "", Saldo, 1, + 1, "Saldo Inicial", "", False, False, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Saldo, FolioStr.ToString, 30, FolioStr, Fecha, -1, -1, CveIE:=CveIE, CvePersonal:=CvePersonal, Contabilizable:=False, ImporteMX:=Saldo) Then ErrorRH = True : Exit For + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Saldo, FolioStr.ToString, 28, FolioStr, Fecha, -1, -1, CveIE:=CveIE, CvePersonal:=CvePersonal, Contabilizable:=False, ImporteMX:=Saldo) Then ErrorRH = True : Exit For + + + End If End If @@ -3055,6 +3643,7 @@ Partial Class General_SaldosIniciales libro.Cell(crow, ccol).Value = "Nominista" : ccol = ccol + 1 libro.Cell(crow, ccol).Value = "Registro Patronal" : ccol = ccol + 1 libro.Cell(crow, ccol).Value = "CuentaContable" : ccol = ccol + 1 + libro.Cell(crow, ccol).Value = "Saldo" : ccol = ccol + 1 libro.Range(crow, 1, crow, ccol - 1).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189)) diff --git a/Inventarios/PopUpExistenciasAlmacen.aspx b/Inventarios/PopUpExistenciasAlmacen.aspx index c4ddc02d5..e091a6eb0 100644 --- a/Inventarios/PopUpExistenciasAlmacen.aspx +++ b/Inventarios/PopUpExistenciasAlmacen.aspx @@ -36,7 +36,7 @@ - + @@ -201,6 +201,83 @@ + + + + + + + + +