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(" {0}", table.Rows(0)(ColumnaTitulo))
+ ' html.Append("")
+
+ ' For Each column As DataColumn In table.Columns
+ ' If ColumnaTitulo <> column.ColumnName Then html.Append($"| {column.ColumnName} | ")
+ ' 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($"| {cellValue} | ")
+ ' Else
+ ' cellValue = If(value?.ToString(), String.Empty)
+ ' html.Append($"{cellValue} | ")
+ ' End If
+ ' End If
+ ' Next
+
+ ' html.Append("
")
+ ' Next
+
+ ' html.Append("")
+ ' html.Append("
")
+ ' 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(" {0}", table.Rows(0)(ColumnaTitulo))
- html.Append("")
+ html.Append("
")
For Each column As DataColumn In table.Columns
- If ColumnaTitulo <> column.ColumnName Then html.Append($"| {column.ColumnName} | ")
+ If ColumnaTitulo <> column.ColumnName Then html.Append($"{column.ColumnName} | ")
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($"{cellValue} | ")
+ html.Append($"{cellValue} | ")
Else
cellValue = If(value?.ToString(), String.Empty)
- html.Append($"{cellValue} | ")
+ html.Append($"{cellValue} | ")
End If
End If
Next
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
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
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 @@
-
-
-
+
+
+