From 21f9fb410f04bf4e88a9a7a8cafe4d015793e9b2 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Fri, 28 Feb 2025 11:49:41 -0700 Subject: [PATCH 1/3] =?UTF-8?q?EntradasSalidas,=20si=20el=20movtodetalle?= =?UTF-8?q?=20tiene=20cvecompradetalle,=20validar=20el=20total=20original?= =?UTF-8?q?=20vs=20el=20nuevo.=20y=20afectar=20directamente=20sobre=20la?= =?UTF-8?q?=20tabla=20de=20compradetalle,=20as=C3=AD=20como=20se=20hace=20?= =?UTF-8?q?cuando=20se=20edita=20el=20cveps?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Inventarios/EntradasSalidas.aspx | 2 +- Inventarios/EntradasSalidas.aspx.vb | 35 ++++++++++++++++++++++++++++- Inventarios/Kardex.aspx | 28 +++++++++++------------ 3 files changed, 49 insertions(+), 16 deletions(-) diff --git a/Inventarios/EntradasSalidas.aspx b/Inventarios/EntradasSalidas.aspx index 526136ddb..be49d534e 100644 --- a/Inventarios/EntradasSalidas.aspx +++ b/Inventarios/EntradasSalidas.aspx @@ -675,7 +675,7 @@ + DataKeyNames="No,CveMovimientoDetalle,Cantidad,CvePS,CveUM,PU,Observaciones,CodigoPS,UnidadMedida,CveAF,Serie,Lote,FechaCaducidad,CveSeccionAlmacen,Codigo,Total" AutoGenerateColumns="False" AllowPaging="False" ShowFooter="True"> diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index 791c11dbb..96f0b093d 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -287,6 +287,23 @@ Partial Class Inventarios_EntradasSalidas End Property + + Public Property TotalOriginalEdit() As Decimal + Get + + If ViewState("TotalOriginalEdit") Is Nothing Then + ViewState("TotalOriginalEdit") = 0D + End If + + Return ViewState("TotalOriginalEdit").ToString.ToDecimal + End Get + Set(value As Decimal) + ViewState("TotalOriginalEdit") = value + End Set + End Property + + + Public Property IndexActualTabla() As Integer Get @@ -1534,7 +1551,20 @@ Partial Class Inventarios_EntradasSalidas If CveMovimiento > 0 Then If CveMovimientoDetalleEdit > 0 Then + + If CveCompra > 0 Then + Dim TotalActual As Decimal = (txtCantidad.Text.ToDecimal * txtPrecio.Text.ToDecimal) + Dim Diferencia As Decimal = Math.Abs(TotalOriginalEdit - TotalActual).RoundSQL(2) + + If Diferencia > 0 Then + Alert($"Existe una diferencia de {Diferencia.ToString("###,###,###.00")} entre el total anterior ({TotalOriginalEdit.ToString("###,###,###.00")}) y actual({TotalActual.ToString("###,###,###.00")}).", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + + End If + ActualizarPS() + Else AgregarPS() End If @@ -2894,6 +2924,8 @@ Partial Class Inventarios_EntradasSalidas Protected Sub imgE_Click(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) + TotalOriginalEdit = 0D + CveMovimientoDetalleEdit = -1 'Dim i As Integer = e.NewEditIndex 'GvM.EditIndex = @@ -2903,7 +2935,8 @@ Partial Class Inventarios_EntradasSalidas If CveMovimiento > 0 Then CveMovimientoDetalleEdit = GvRow.DataKey("CveMovimientoDetalle").ToEntero - txtCantidad.Enabled = False + TotalOriginalEdit = GvRow.DataKey("Total").ToDecimal + 'txtCantidad.Enabled = False 'DdlClasificacion.Enabled = False DdlProducto2.Enabled = False 'DdlUnidad.Enabled = False diff --git a/Inventarios/Kardex.aspx b/Inventarios/Kardex.aspx index 60305c207..9d18f43d3 100644 --- a/Inventarios/Kardex.aspx +++ b/Inventarios/Kardex.aspx @@ -436,20 +436,7 @@ - - -
- -
-
- OC -
-
- -
- -
-
+
@@ -475,6 +462,19 @@
+
+ +
+
+ OC +
+
+ +
+ +
+
+
From ed1d52c5f391995e80d4436dded78be6db3b8c47 Mon Sep 17 00:00:00 2001 From: rakcsle Date: Fri, 28 Feb 2025 14:08:50 -0700 Subject: [PATCH 2/3] Compras error redonde en devolucion --- Ashx/TareasProgramadas.ashx | 111 +++++++++++++++++++++++++++++++++--- Compras/Compras.aspx.vb | 2 +- 2 files changed, 103 insertions(+), 10 deletions(-) diff --git a/Ashx/TareasProgramadas.ashx b/Ashx/TareasProgramadas.ashx index cdf23a0b6..95eba56b4 100644 --- a/Ashx/TareasProgramadas.ashx +++ b/Ashx/TareasProgramadas.ashx @@ -1303,12 +1303,102 @@ Public Class TareasProgramadas : Implements IHttpHandler, IReadOnlySessionState #End Region #Region "R E P O R T E D I A R I O " + 'Private Function ReporteDiario(ByVal CveEmpresa As Integer, ByVal context As HttpContext) As Boolean + ' Dim Usuario As Usuario = ValidaUsuarioSistema(100, CveEmpresa) + ' Dim objGenerales As ClsGenerales = New ClsGenerales() + ' Dim respuesta As Boolean = True + ' Dim sbTablas As StringBuilder = New StringBuilder() + ' sbTablas.Append($"
Reporte Diario {DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")}


") + + ' If objGenerales.GetReporteDiario(CveEmpresa) Then + ' Dim TablaActual As Integer = 1 + + ' For Each tabla As DataTable In objGenerales.DSResultados.Tables + ' sbTablas.AppendLine(ConvertDataTableToHtml(tabla)) + ' TablaActual += 1 + ' sbTablas.Append("
") + ' sbTablas.Append("
") + ' Next + ' Else + ' respuesta = False + ' End If + + ' objGenerales.Dispose() + ' 'MandaCorreoDiario + ' Dim Correos As String = "hdiaz@grupodiaz.com.mx;libarra@grupodiaz.com.mx;jguerrero@grupodiaz.com.mx;contabilidad@grupodiaz.com.mx;cnazarit@yahoo.com;julian@adsistemas.mx;rene.molina@adssistemas.mx" + ' ' Dim Correos As String = " rene.molina@adssistemas.mx" + ' MandaCorreoDiario(sbTablas.ToString(), Correos, respuesta) + ' Return respuesta + 'End Function + + 'Private Function ConvertDataTableToHtml(ByVal table As DataTable) As String + ' Dim html As StringBuilder = New StringBuilder() + ' Dim ColumnaTitulo As String = "Titulo" + ' html.Append("") + ' If table.Columns(0).ColumnName = ColumnaTitulo AndAlso table.Rows.Count > 0 Then html.AppendFormat(" ", table.Rows(0)(ColumnaTitulo)) + ' html.Append("") + + ' For Each column As DataColumn In table.Columns + ' If ColumnaTitulo <> column.ColumnName Then html.Append($"") + ' Next + + ' html.Append("") + ' html.Append("") + ' Dim numericValue As Decimal = Nothing + + ' For Each row As DataRow In table.Rows + ' html.Append("") + + ' For Each column As DataColumn In table.Columns + + ' If ColumnaTitulo <> column.ColumnName Then + ' Dim value As Object = row(column) + ' Dim cellValue As String + + ' If column.DataType = GetType(Integer) OrElse column.DataType = GetType(Decimal) OrElse column.DataType = GetType(Double) OrElse column.DataType = GetType(Single) Then + + ' If value IsNot DBNull.Value AndAlso Decimal.TryParse(value.ToString(), numericValue) Then + + ' If numericValue <> 0 Then + ' cellValue = numericValue.ToString("N2") + ' Else + ' cellValue = "" + ' End If + ' Else + ' cellValue = "" + ' End If + + ' html.Append($"") + ' Else + ' cellValue = If(value?.ToString(), String.Empty) + ' html.Append($"") + ' End If + ' End If + ' Next + + ' html.Append("") + ' Next + + ' html.Append("") + ' html.Append("
{0}
{column.ColumnName}
{cellValue}{cellValue}
") + ' Return html.ToString() + 'End Function + Private Function ReporteDiario(ByVal CveEmpresa As Integer, ByVal context As HttpContext) As Boolean Dim Usuario As Usuario = ValidaUsuarioSistema(100, CveEmpresa) Dim objGenerales As ClsGenerales = New ClsGenerales() Dim respuesta As Boolean = True Dim sbTablas As StringBuilder = New StringBuilder() - sbTablas.Append($"
Reporte Diario {DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")}


") + 'sbTablas.Append($"
Reporte Diario {DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")}


") + + sbTablas.AppendLine($"
+
+ + + + +

Reporte Diario

+

{DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")}

") If objGenerales.GetReporteDiario(CveEmpresa) Then Dim TablaActual As Integer = 1 @@ -1323,10 +1413,13 @@ Public Class TareasProgramadas : Implements IHttpHandler, IReadOnlySessionState respuesta = False End If + sbTablas.AppendLine("
") + + objGenerales.Dispose() 'MandaCorreoDiario - Dim Correos As String = "hdiaz@grupodiaz.com.mx;libarra@grupodiaz.com.mx;jguerrero@grupodiaz.com.mx;contabilidad@grupodiaz.com.mx;cnazarit@yahoo.com;julian@adsistemas.mx;rene.molina@adssistemas.mx" - 'Dim Correos As String = " rene.molina@adssistemas.mx;japmx95@gmail.com" + 'Dim Correos As String = "hdiaz@grupodiaz.com.mx;libarra@grupodiaz.com.mx;jguerrero@grupodiaz.com.mx;contabilidad@grupodiaz.com.mx;cnazarit@yahoo.com;julian@adsistemas.mx;rene.molina@adssistemas.mx" + Dim Correos As String = " oscar.irigoyen@adssistemas.mx" MandaCorreoDiario(sbTablas.ToString(), Correos, respuesta) Return respuesta End Function @@ -1334,15 +1427,15 @@ Public Class TareasProgramadas : Implements IHttpHandler, IReadOnlySessionState Private Function ConvertDataTableToHtml(ByVal table As DataTable) As String Dim html As StringBuilder = New StringBuilder() Dim ColumnaTitulo As String = "Titulo" - html.Append("") + html.Append("
") If table.Columns(0).ColumnName = ColumnaTitulo AndAlso table.Rows.Count > 0 Then html.AppendFormat(" ", table.Rows(0)(ColumnaTitulo)) - html.Append("") + html.Append("") For Each column As DataColumn In table.Columns - If ColumnaTitulo <> column.ColumnName Then html.Append($"") + If ColumnaTitulo <> column.ColumnName Then html.Append($"") Next - html.Append("") + html.Append("") html.Append("") Dim numericValue As Decimal = Nothing @@ -1368,10 +1461,10 @@ Public Class TareasProgramadas : Implements IHttpHandler, IReadOnlySessionState cellValue = "" End If - html.Append($"") + html.Append($"") Else cellValue = If(value?.ToString(), String.Empty) - html.Append($"") + html.Append($"") End If End If Next diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index f7d7eb3a2..61eb5ee6e 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -13907,7 +13907,7 @@ Partial Class Compras_Compras Next 'si no esta vinculado a nc simplemente me lo brinco If realizadevolucion Then - + subtotaldevolucion = subtotaldevolucion.RoundSQL(2) 'si el subtotal es igual a la nc lo guardo si no marco error Dim tTolerancia As Decimal = 0 Dim tAjustaUltimo As Boolean = True From 24eb4549828076ff72adad0c810fa4d3aa5241d0 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Fri, 28 Feb 2025 18:05:05 -0700 Subject: [PATCH 3/3] --FIX otros ingresos --- Bancos/PopIEVentas.aspx.vb | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/Bancos/PopIEVentas.aspx.vb b/Bancos/PopIEVentas.aspx.vb index 5731c6c7d..7f47b4731 100644 --- a/Bancos/PopIEVentas.aspx.vb +++ b/Bancos/PopIEVentas.aspx.vb @@ -1243,16 +1243,21 @@ Partial Class Bancos_PopIEVentas Pago.Fecha = TxtFechaDocumento.Text.ToDate Pago.CveMonedaPago = CveMoneda Pago.Referencia = VentaActual.SerieFolio + + If TxtComision.Text.ToDecimal <> 0 Then Pago.OtroGastoIngreso = TxtComision.Text.ToDecimal Else Pago.OtroGastoIngreso = 0 + If DdlOtrosPagos.SelectedValue = "2" Then ImportePagado = TxtImporte.Text.Trim.ToDecimal.RoundSQL + TxtComision.Text.ToDecimal Else ImportePagado = TxtImporte.Text.Trim.ToDecimal.RoundSQL End If - ImportePagadoVenta = ImportePagado + + ImportePagadoVenta = ImportePagado - Pago.OtroGastoIngreso + 'Tipos de cambio If Pago.CveMonedaPago = 1 AndAlso VentaActual.CveMoneda = 2 Then 'Si la venta viene en Dolares y se va a pagar en Pesos 'Pago.TCPago = 1 / TxtTipoCambio.Text.ToDecimal - ImportePagadoVenta = (ImportePagado / TxtTipoCambio.Text.ToDecimal).RoundSQL + ImportePagadoVenta = (ImportePagadoVenta / TxtTipoCambio.Text.ToDecimal).RoundSQL ElseIf Pago.CveMonedaPago = 2 AndAlso VentaActual.CveMoneda = 2 Then 'Si la venta viene en Dolares y se va a pagar en DOLARES Pago.TCPago = TxtTCDolaresDolares.Text.ToDecimal ElseIf Pago.CveMonedaPago = 2 AndAlso VentaActual.CveMoneda = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES @@ -1261,8 +1266,6 @@ Partial Class Bancos_PopIEVentas 'If ChkPagarPesos.Checked Then Pago.TCPago = 1 / TxtTipoCambio.Text.ToDecimal If ChkPagarDolares.Checked Then Pago.TCPago = TxtTipoCambio.Text.ToDecimal - If TxtComision.Text.ToDecimal <> 0 Then Pago.OtroGastoIngreso = TxtComision.Text.ToDecimal Else Pago.OtroGastoIngreso = 0 - Select Case RBLContado.SelectedValue Case "1" ' Banco CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, Fecha, TxtFolio.Text.Trim, TxtPagueseA.Text.Trim, ImportePagado, CveMoneda, Pago.TCPago, TxtObservaciones.Text.Trim, "", @@ -1286,7 +1289,7 @@ Partial Class Bancos_PopIEVentas Case "2" ' FyE Pago.ImportePago = ImportePagado - Pago.ImportePagoVenta = ImportePagado - Pago.OtroGastoIngreso + Pago.ImportePagoVenta = ImportePagadoVenta Pago.TipoPago = "FyE" Pago.CvePersonal = DdlFuncionarioEmpleado.SelectedValue.ToEntero Pago.Referencia = DdlFuncionarioEmpleado.SelectedItem.ToString
{0}
{column.ColumnName}{column.ColumnName}
{cellValue}{cellValue}{cellValue}{cellValue}