From e55ee74443f60c7af0e3d24de9fc1311a006e908 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Sat, 15 Feb 2025 09:20:54 -0700 Subject: [PATCH 1/2] Compras % IVA prorateo, formato numerico al exportar a excel --- App_Code/ClsContabilidad.vb | 3 +- App_Code/modExtensiones.vb | 22 ++++ Compras/Compras.aspx.vb | 2 +- Compras/eFacturas.aspx.vb | 140 ++++++++++++++++++++++++ Contabilidad/RepAnexoCatalogoCC.aspx.vb | 8 +- 5 files changed, 172 insertions(+), 3 deletions(-) diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index 61f19afbb..d6f77b7f8 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -4313,7 +4313,7 @@ Public Class ClsContabilidad Return Retorno End Function - Public Function GetAnexoCatalagoCC(CveCuenta As Integer, FechaI As Date, FechaF As Date, CveSubProyecto As Integer, CveEmpresa As Integer, Divisor As Integer, CveUsuario As Integer) As Boolean + Public Function GetAnexoCatalagoCC(CveCuenta As Integer, FechaI As Date, FechaF As Date, CveSubProyecto As Integer, CveEmpresa As Integer, Divisor As Integer, CveUsuario As Integer, Optional OpcionCuentas As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Conta_AnexoCatalogoCCGet") @@ -4326,6 +4326,7 @@ Public Class ClsContabilidad .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@Divisor", SqlDbType.Int).Value = Divisor .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@OpcionCuentas", SqlDbType.Int).Value = OpcionCuentas End With Try diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb index 9343ffa93..4b42c5616 100644 --- a/App_Code/modExtensiones.vb +++ b/App_Code/modExtensiones.vb @@ -2393,6 +2393,28 @@ Namespace Extensiones Dim worksheet As ExcelWorksheet = excel.Worksheets(0) worksheet.Rows.InsertEmpty(0, TotalRowHeader) + + + '2025-02-15 OIC Este for es para que las celdas tomen formato numerico y se puedan sumar + For Each row In worksheet.Rows + For Each cell In row.AllocatedCells + If cell.Value IsNot Nothing Then + Dim valorTexto As String = cell.Value.ToString().Trim() + Dim numero As Decimal + ' Intentar convertir a número + If Decimal.TryParse(valorTexto, System.Globalization.NumberStyles.Any, + System.Globalization.CultureInfo.InvariantCulture, + numero) Then + + ' Si se pudo convertir exitosamente, reasignar como Double + cell.Value = numero + End If + End If + Next + Next + + + Dim celdasConTexto As CellRange = worksheet.GetUsedCellRange(True) If celdasConTexto Is Nothing Then Exit Sub 'No se recuperaron datos, salir de sin guardar porque soltará error celdasConTexto.Style.Font.Name = "Calibri Light" diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 908a8771d..5f2da99d3 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -22619,7 +22619,7 @@ Partial Class Compras_Compras nRow("SubTotal") = subtotalParcial.RoundSQL(4) nRow("Total") = totalParcialDeseado.RoundSQL(4) - nRow("PorcentajeIVA") = (ivaParcial / subtotalParcial).RoundSQL(4) + nRow("PorcentajeIVA") = (ivaParcial / subtotalParcial).RoundSQL(2) nRow("Porcentaje") = ((totalParcialDeseado.RoundSQL(4) * 100) / TotalOriginal).RoundSQL(2) nRow("RetIVAPorcentaje") = (retIvaParcial / subtotalParcial).RoundSQL(4) diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index d1eb38b6a..ef4ea68b0 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -26,6 +26,7 @@ Imports SharpCompress.Common Imports SharpCompress.Reader Imports Telerik.Web.UI Imports System.Data.SqlClient +Imports Stimulsoft.Base.Serializing 'Imports Telerik.Web.UI @@ -6073,6 +6074,145 @@ Partial Class Compras_eFacturas End Function + + Private Sub VinculacionAutomaticaRNC() + Dim ErrorProceso As Boolean = False + Dim ErrorProcesoStr As String = "" + Dim Contador As Integer = 0 + Dim Objcompras As New ClsCompras + Objcompras.IniciaTransacSQL() + + 'DataKeyNames="CveFactura,CveCompra,CveProveedor,SerieFolio,NombreProveedor,UUID,RFCDe,RFCPara,TipoFactura,FueValidado,TipoComprobante,Version,RFCde,XML,PDF,BloquePorComplemento,Total,CveTipoProveedor,FechaFactura" + + + For Each GvRow As GridViewRow In GvD.Rows + + If GvRow.FCCheckBox("chkRegistraFactura").Checked Then + + Dim TotalFactura As Decimal = GvRow.DataKey("Total").ToDecimal + Dim SaldoFactura As Decimal = TotalFactura + + Dim CFDIXmlPath As String = $"{UsuarioActual.Empresa.Ruta}Compras\{GvRow.DataKey("RFCDe")}\{GvRow.DataKey("XML")}" + If Not File.Exists(CFDIXmlPath) Then + ErrorProceso = True + Exit For + End If + + Dim CompraActual As New ClsCompraManager(CFDIXmlPath, ClsCompraManager.EnumCargaCompra.DesdeArchivo, GlobalDTTiposGastos(UsuarioActual.CveEmpresa), UsuarioActual) + + CompraActual.CveFactura = GvRow.DataKey("CveFactura").ToEntero + CompraActual.CveProveedor = GvRow.DataKey("CveProveedor").ToEntero + CompraActual.CveTipoProveedor = GvRow.DataKey("CveTipoProveedor").ToEntero + CompraActual.CveTipoConceptoProveedor = GvRow.DataKey("CveTipoProveedor").ToEntero + CompraActual.TipoCompra = ClsCompraManager.EnumTipoCompra.Sin_definir + CompraActual.IEPSGasto = True + CompraActual.Descripcion = TxtDescripcionCompra.Text.Trim + CompraActual.NombreProveedor = GvRow.DataKey("NombreProveedor") + + Dim CvePersonal As Integer = -1 'DdlPersonalReembolso.SelectedValue.ToEntero + Dim CveCajachica As Integer = -1 'DdlCuentaCajaChicaReembolso.SelectedValue.ToEntero + + If RBLContado.SelectedValue.ToEntero = 6 Then 'Caja Chica + CveCajachica = DdlCuentaCajaChicaReembolso.SelectedValue.ToEntero + ElseIf RBLContado.SelectedValue.ToEntero = 2 Then ' viaticos + CvePersonal = DdlPersonalReembolso.SelectedValue.ToEntero + ElseIf RBLContado.SelectedValue.ToEntero = 4 Then ' deudores + + End If + + + + + If CompraActual.ConfiguraRegistroCompra(DdlPS.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, CveCajachica, CvePersonal, + DdlRetIVAConcepto.SelectedValue.ToEntero, DdlRetISRConcepto.SelectedValue.ToEntero, NumeroReembolso:=TxtNumeroReembolso.Text, + DTProrrateo:=DTProrrateo, DTPagosDeudores:=New DataTable) Then + + 'FIX ME OIC Recuerda cambiar el tipo de documento al registrar, actualmente tiene FAC y NC uno u otro, ajustar para que registre *** Egs *** cuado TipoComprobante = 'E' + If CompraActual.AddCompra(Objcompras.IniciaTransacSQL()) Then + Contador = Contador + 1 + Else + ErrorProceso = True + ErrorProcesoStr = CompraActual.MensajeError + Exit For + End If + Else + ErrorProceso = True + ErrorProcesoStr = CompraActual.MensajeError + Exit For + End If + + If RBLContado.SelectedValue.ToEntero = 4 Then 'Deudores + Dim CompraActualPagar = New Compra + If Objcompras.GetCompras(CompraActual.CveCompra, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa) Then + If Objcompras.DtResultados IsNot Nothing AndAlso Objcompras.DtResultados.Rows.Count > 0 Then + Dim dr As DataRow = Objcompras.DtResultados.Rows(0) + + + CompraActualPagar.CveCompra = CompraActual.CveCompra + CompraActualPagar.CveTipoConceptoProveedor = dr("CveTipoConcepto").ToString.ToEntero + CompraActualPagar.CveProveedor = dr("CveProveedor").ToString.ToEntero + CompraActualPagar.CveMoneda = dr("CveMoneda").ToString.ToEntero + CompraActualPagar.Fecha = dr("Fecha").ToString.ToDate + CompraActualPagar.SerieFolio = dr("SerieFolio").ToString + 'CompraActualPagar.ProveedorNombre = TxtPagueseA.Text + CompraActualPagar.TC = dr("TipoCambio").ToString.ToDecimal + CompraActualPagar.Total = dr("Total").ToString.ToDecimal + CompraActualPagar.IVA = dr("IVA").ToString.ToDecimal + CompraActualPagar.IVADeducible = dr("IVADeducible").ToString.ToDecimal.RoundSQL + CompraActualPagar.IVANoDeducible = dr("IVANoDeducible").ToString.ToDecimal.RoundSQL + CompraActualPagar.IEPS = dr("IEPS").ToString.ToDecimal + CompraActualPagar.RetIVA = dr("RetIVA").ToString.ToDecimal + CompraActualPagar.RetISR = dr("RetISR").ToString.ToDecimal + CompraActualPagar.CveConceptoRetIVA = dr("CveRetIVAConcepto").ToString.ToEntero + CompraActualPagar.CveConceptoRetISR = dr("CveRetISRConcepto").ToString.ToEntero + CompraActualPagar.PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal + CompraActualPagar.UsuarioActual = UsuarioActual + CompraActualPagar.CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero + CompraActualPagar.EsImportacion = CBool(dr("EsImportacion")) + CompraActualPagar.CompraNoDeducible = dr("NoDeducible").ToString.ToEntero + + + + Else + ErrorProceso = True + End If + Else + ErrorProceso = True + End If + + + + + + End If + + End If + If ErrorProceso Then + Exit For + End If + Next + + If ErrorProceso Then + Objcompras.RollBack() + Alert($"Se registraron {Contador} Compras. error {ErrorProcesoStr}", TipoMensaje.MsgAdvertencia) + Else + Objcompras.Commit() + CargaDatos(NowADS()) + CambieDeudor() + CargaDatos(NowADS()) + If Contador > 0 Then + Alert($"Se registraron {Contador} Compras") + End If + End If + + Objcompras.Dispose() + + + + + End Sub + + End Class diff --git a/Contabilidad/RepAnexoCatalogoCC.aspx.vb b/Contabilidad/RepAnexoCatalogoCC.aspx.vb index ae99858cd..154ae0b6e 100644 --- a/Contabilidad/RepAnexoCatalogoCC.aspx.vb +++ b/Contabilidad/RepAnexoCatalogoCC.aspx.vb @@ -236,9 +236,15 @@ Partial Class Contabilidad2_RepAnexoCatalogoCC Next Dim CveCunetaRow As Integer = e.Row.DataKey("CveCuenta").ToEntero + If e.Row.Cells(2).Text.ToDecimal <> 0 Then + e.Row.Cells(2).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, e.Row.Cells(2).Text.ToDecimal.ToString("###,###,##0"), e.Row.Cells(2).Text.ToDecimal.ToString("###,###,###.00")) }" + Else + e.Row.Cells(2).Text = $"-" + End If + + Dim inicial As Boolean = True Index = 4 - For Each DRow As DataRow In DTHeaders.Rows Dim Importe As Decimal = e.Row.DBCampo($"SubProyecto{DRow("SubProyecto")}").ToDecimal From 46706f268782c3c8a215c3b4235857898052c80e Mon Sep 17 00:00:00 2001 From: rakcsle Date: Sat, 15 Feb 2025 10:09:46 -0700 Subject: [PATCH 2/2] =?UTF-8?q?Anexo=20de=20Cat=C3=A1logo=20=20Centro=20Co?= =?UTF-8?q?sto=20ordenar=20grafica=20por=20valor,=20=20Movimientos=20Auxil?= =?UTF-8?q?iares=20del=20Cat=C3=A1logo=20=20enviar=20tipo=20movimiento?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Contabilidad/RepAnexoCatalogoCC.aspx | 16 +++++++++++++++- Contabilidad/RepAnexoCatalogoCC.aspx.vb | 4 ++-- .../RepMovimientosAuxiliaresCatalogo.aspx | 10 +++++----- .../RepMovimientosAuxiliaresCatalogo.aspx.vb | 2 +- 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/Contabilidad/RepAnexoCatalogoCC.aspx b/Contabilidad/RepAnexoCatalogoCC.aspx index 548cdf295..507990549 100644 --- a/Contabilidad/RepAnexoCatalogoCC.aspx +++ b/Contabilidad/RepAnexoCatalogoCC.aspx @@ -359,7 +359,13 @@ let currentid = 1; function HandlerGraf(obj, evt) { $("#DivModalGrafica").modal(); - cdatos = $(obj).data('values'); + + //cdatos = $(obj).data('values'); + + cdatos = $(obj).data('values').sort(function (a, b) { + return b.Valor - a.Valor; + }); + if (currentid == 1) { CargaGraficaBarras(); } else { @@ -369,6 +375,9 @@ } function CargaGraficaBarras() { let data = cdatos; + //let data = cdatos.sort(function (a, b) { + // return b.Valor - a.Valor; + //}); var chart = AmCharts.makeChart("chartdiv", { "type": "serial", "theme": "light", @@ -406,6 +415,11 @@ function CargaGraficaPastel() { let data = cdatos; + + //let data = cdatos.sort(function (a, b) { + // return b.Valor - a.Valor; + //}); + var chart = AmCharts.makeChart("chartdiv", { "type": "pie", "theme": "light", diff --git a/Contabilidad/RepAnexoCatalogoCC.aspx.vb b/Contabilidad/RepAnexoCatalogoCC.aspx.vb index 154ae0b6e..22ce9b1b2 100644 --- a/Contabilidad/RepAnexoCatalogoCC.aspx.vb +++ b/Contabilidad/RepAnexoCatalogoCC.aspx.vb @@ -237,7 +237,7 @@ Partial Class Contabilidad2_RepAnexoCatalogoCC Dim CveCunetaRow As Integer = e.Row.DataKey("CveCuenta").ToEntero If e.Row.Cells(2).Text.ToDecimal <> 0 Then - e.Row.Cells(2).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, e.Row.Cells(2).Text.ToDecimal.ToString("###,###,##0"), e.Row.Cells(2).Text.ToDecimal.ToString("###,###,###.00")) }" + e.Row.Cells(2).Text = $"{ If(DdlDivisor.SelectedValue.ToEntero > 1, e.Row.Cells(2).Text.ToDecimal.ToString("###,###,##0"), e.Row.Cells(2).Text.ToDecimal.ToString("###,###,###.00")) }" Else e.Row.Cells(2).Text = $"-" End If @@ -255,7 +255,7 @@ Partial Class Contabilidad2_RepAnexoCatalogoCC End If 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 Index += 1 diff --git a/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx b/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx index 2499e6d64..b39faeb0a 100644 --- a/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx +++ b/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx @@ -51,7 +51,7 @@
Cuenta:
-
+
@@ -97,11 +97,11 @@
>
-
+
Tipo Movto
-
- +
+ @@ -109,7 +109,7 @@
-
+
Tipo
diff --git a/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx.vb b/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx.vb index 876464b03..50a1de01f 100644 --- a/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx.vb +++ b/Contabilidad/RepMovimientosAuxiliaresCatalogo.aspx.vb @@ -129,7 +129,7 @@ Partial Class Conta_RepMovimientosAuxiliaresCatalogo ' DdlTipoReporte.SelectedValue = TipoReporte.ToString End If - + DdlOpcionCuentas.SelectedValueExist(IfNull(Request("OpcionCuenta"), "-1")) 'OpcionCuenta ''If DdlTipoCuentas.Items.FindByValue(IdCuenta.ToString) IsNot Nothing Then '' DdlTipoCuentas.SelectedValue = IdCuenta.ToString ''Else