diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb
index d6f77b7f8..8f709f32e 100644
--- a/App_Code/ClsContabilidad.vb
+++ b/App_Code/ClsContabilidad.vb
@@ -1278,7 +1278,7 @@ Public Class ClsContabilidad
Catch ex As Exception
If ex.Message.Contains("50015;") Then
OnError("No se puede actualizar una póliza en un ejercicio Cerrado", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
- ElseIf ex.Message.Contains("IDX_UN_ContaPrePolizasCveEmpresaCveTipoPolizaFoliosAnioMes") Then
+ ElseIf ex.Message.Contains("UK_CveEmpresa_CveTipoPoliza_AnioMes_FolioPoliza") Then
OnError($"El Folio {Folio} ya esta registrado.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
Else
OnError("Ocurrió un error al contabilizar las prepoliza detalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb
index 395b60ff9..c5f13c430 100644
--- a/App_Code/ClsNominas.vb
+++ b/App_Code/ClsNominas.vb
@@ -3020,7 +3020,7 @@ Public Class ClsNominas
Return retorno
End Function
- Public Function PrimaRiesgoUP(CveEmpresa As Integer, Fecha As DateTime, PrimadeRiesgo As Decimal) As Boolean
+ Public Function PrimaRiesgoUP(CveEmpresa As Integer, Fecha As DateTime, PrimadeRiesgo As Decimal, CveRegistroPatronal As Integer) As Boolean
Dim retorno As Boolean = False
Try
DTSet = New DataSet()
@@ -3029,6 +3029,7 @@ Public Class ClsNominas
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@Fecha", SqlDbType.Date).Value = Fecha
.Add("@PrimadeRiesgo", SqlDbType.Money).Value = PrimadeRiesgo
+ .Add("@CveRegistroPatronal", SqlDbType.Money).Value = CveRegistroPatronal
End With
SqlAdapter.Fill(DTSet)
retorno = True
diff --git a/Ashx/SIGFacturacion.ashx b/Ashx/SIGFacturacion.ashx
index dc63aff2a..f9ff0d3cb 100644
--- a/Ashx/SIGFacturacion.ashx
+++ b/Ashx/SIGFacturacion.ashx
@@ -60,13 +60,13 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
GuardaLogFacturacion("- Inicio de facturación ")
If CveEmpresa > 0 Then
- GuardaLogFacturacion($"1.10 - CveE:{CveEmpresa}")
+ GuardaLogFacturacion($"1.10 - CveE:{CveEmpresa} - ")
Dim Usuario = ValidaUsuarioSistema(CveEmpresa)
Dim FechaI, FechaF As DateTime
'EnviarCorreoFactura(New Modelos.Factura(Usuario, 844966, 1, context.ModExtensiones.DirectorioBaseEmpresas), Usuario)
If String.IsNullOrEmpty(pFechaI) AndAlso String.IsNullOrEmpty(pFechaF) Then
- GuardaLogFacturacion("1.200")
+ GuardaLogFacturacion("1.200 - ")
Dim FechaReferencia As Date = ClsPaginas.NowADS()
If FechaReferencia.DayOfWeek = DayOfWeek.Sunday Then
Dim Sabado = FechaReferencia.AddDays(-1)
@@ -81,7 +81,7 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
GuardaLogFacturacion("Ejecución no permitida, no es el dia permitido para ejecucion o no se espeficaron las fechas")
End If
Else
- GuardaLogFacturacion("1.300")
+ GuardaLogFacturacion("1.300 - ")
FechaI = pFechaI.ToDateTime()
FechaF = pFechaF.ToDateTime()
@@ -137,7 +137,7 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
Dim DatosRemisiones As JObject = CargaRemisiones(FechaI, FechaF, CveCliente)
Dim CveRemisiones As String = DatosRemisiones("VentasConcatenadas").ToString()
-
+ GuardaLogFacturacion("1.25 -- ClavesRemisiones: " & CveRemisiones)
If Not String.IsNullOrEmpty(CveRemisiones) Then
Dim ObjClientes As New ClsClientes
If ObjClientes.GetVentasRemisionesTotales(CveCliente, CveRemisiones, 1, UsuarioActual.CveEmpresa) Then
@@ -228,7 +228,7 @@ Public Class SIGFacturacion : Implements IHttpHandler, IRequiresSessionState
Dim UsuarioActual As Usuario = Nothing
Dim NombreCadena As String = ClsPaginas.GlobalNombreCadenaConexion(CveEmpresa)
Dim ObjUsuarios As New ClsSisUsuarioAutenticacion(NombreCadena:=NombreCadena)
- UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100)
+ UsuarioActual = ObjUsuarios.GetUsuarioDetalle(100, CveEmpresa)
If UsuarioActual IsNot Nothing Then
Dim Usuario = ObjUsuarios.DtResultados.Rows(0)("Usuario").ToString()
Dim Contrasenia = ObjUsuarios.DtResultados.Rows(0)("Contraseña").ToString()
diff --git a/Ashx/TareasProgramadas.ashx b/Ashx/TareasProgramadas.ashx
index bdf6a4602..fb461e57e 100644
--- a/Ashx/TareasProgramadas.ashx
+++ b/Ashx/TareasProgramadas.ashx
@@ -21,7 +21,10 @@ Imports ADS.TareasProgramdas
Imports System.Xml
'Imports ADSistemaLibrary.SatXml
'Imports ADSistemaLibrary.SatXml.XmlSatCFDI
-Imports System.Diagnostics
+Imports System.Diagnostics
+Imports System.Drawing
+Imports System.Drawing.Imaging
+
Public Class TareasProgramadas : Implements IHttpHandler, IReadOnlySessionState
@@ -1416,14 +1419,28 @@ Public Class TareasProgramadas : Implements IHttpHandler, IReadOnlySessionState
Dim sbTablas As StringBuilder = New StringBuilder()
'sbTablas.Append($"
Reporte Diario {DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")}
")
- sbTablas.AppendLine($"
-
-
-  |
- Reporte Diario |
-  |
+ Dim LogoBase64emp As String = "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"
+ Dim LogoBase64ADS As String = "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"
+ Dim Logo As New FileInfo($"{Usuario.Empresa.Ruta}/Logo.png")
+ If Logo.Exists Then
+ LogoBase64emp = RedimensionarYConvertirBase64(Logo.FullName)
+ End If
+
+ 'RedimensionarYConvertirBase64
+
+ sbTablas.AppendLine($"
+
+
Notificaciones AD Sistemas
+
+
+  |
+
+ Reporte Diario {DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")}
+ {Usuario.Empresa.Empresa}
+ |
+  |
-
{DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss")}
")
+ ")
If objGenerales.GetReporteDiario(CveEmpresa) Then
@@ -1442,23 +1459,37 @@ Public Class TareasProgramadas : Implements IHttpHandler, IReadOnlySessionState
sbTablas.AppendLine($"")
sbTablas.AppendLine("")
+ sbTablas.AppendLine(ConvertDataTableToHtml(objGenerales.DSResultados.Tables(3)))
+ sbTablas.AppendLine($"")
+ sbTablas.AppendLine("")
+
+
sbTablas.AppendLine($"
- | {ConvertDataTableToHtml(objGenerales.DSResultados.Tables(1))} |
- {ConvertDataTableToHtml(objGenerales.DSResultados.Tables(3))} |
-
- ")
-
- sbTablas.AppendLine($"
-
- | {ConvertDataTableToHtml(objGenerales.DSResultados.Tables(2))} |
- |
+ {ConvertDataTableToHtml(objGenerales.DSResultados.Tables(1))} |
+ {ConvertDataTableToHtml(objGenerales.DSResultados.Tables(2))} |
")
sbTablas.AppendLine($"")
sbTablas.AppendLine("")
+ sbTablas.AppendLine($"
+
+ | {ConvertDataTableToHtml(objGenerales.DSResultados.Tables(5))} |
+ |
+
+ ")
+
+ 'sbTablas.AppendLine($"
+ '
+ ' | {ConvertDataTableToHtml(objGenerales.DSResultados.Tables(2))} |
+ ' |
+ '
+ '")
+ 'sbTablas.AppendLine($"")
+ 'sbTablas.AppendLine("")
+
'Dim TablaActual As Integer = 1
'For Each tabla As DataTable In objGenerales.DSResultados.Tables
' sbTablas.AppendLine(ConvertDataTableToHtml(tabla))
@@ -1470,22 +1501,68 @@ Public Class TareasProgramadas : Implements IHttpHandler, IReadOnlySessionState
respuesta = False
End If
- sbTablas.AppendLine("
")
+ 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 = " oscar.irigoyen@adssistemas.mx"
+ 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
+
+
+ Public Function RedimensionarYConvertirBase64(ByVal rutaImagen As String) As String
+ Try
+
+ Using imagenOriginal As Image = Image.FromFile(rutaImagen)
+
+ Dim maxWidth As Integer = 210
+ Dim maxHeight As Integer = 95
+ Dim ratio As Double = Math.Min(maxWidth / imagenOriginal.Width, maxHeight / imagenOriginal.Height)
+
+ Dim nuevoAncho As Integer = CInt(imagenOriginal.Width * ratio)
+ Dim nuevoAlto As Integer = CInt(imagenOriginal.Height * ratio)
+
+
+ Using imagenRedimensionada As New Bitmap(nuevoAncho, nuevoAlto)
+ Using g As Graphics = Graphics.FromImage(imagenRedimensionada)
+ g.InterpolationMode = Drawing.Drawing2D.InterpolationMode.HighQualityBicubic
+ g.DrawImage(imagenOriginal, 0, 0, nuevoAncho, nuevoAlto)
+ End Using
+
+ 'System.Drawing.Imaging
+ Using ms As New MemoryStream()
+ imagenRedimensionada.Save(ms, System.Drawing.Imaging.ImageFormat.Png)
+ Dim imagenBytes As Byte() = ms.ToArray()
+ Return Convert.ToBase64String(imagenBytes)
+ End Using
+ End Using
+ End Using
+ Catch ex As Exception
+ Return String.Empty ' En caso de error, retornar cadena vacía
+ End Try
+ 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("")
+ 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
@@ -1554,8 +1631,8 @@ Public Class TareasProgramadas : Implements IHttpHandler, IReadOnlySessionState
Dim Usuario As Usuario = ValidaUsuarioSistema(100, CveEmpresa)
Dim respuesta As Boolean = True
- Dim fInicial As DateTime = Now.AddDays(-1)
- Dim fFinal As DateTime = Now
+ Dim fInicial As DateTime = Now.AddDays(-2)
+ Dim fFinal As DateTime = Now.AddDays(-1)
'Dim fInicial As DateTime = "2025-01-01".ToDate
'Dim fFinal As DateTime = "2025-01-03".ToDate
diff --git a/Bancos/FluctuacionCambiaria.aspx.vb b/Bancos/FluctuacionCambiaria.aspx.vb
index 2076a6b21..b5664eab5 100644
--- a/Bancos/FluctuacionCambiaria.aspx.vb
+++ b/Bancos/FluctuacionCambiaria.aspx.vb
@@ -668,6 +668,7 @@ Partial Class Bancos_FluctuacionCambiaria
'End If
tTipoMovto = dr("TipoMovto").ToString.ToBool
If TipoFluctuacion.Contiene(3) AndAlso tTipoMovto Then AjusteTotal = -AjusteTotal 'si es cleintes, abonado y el ajustes es positivo tiene que restar
+ If TipoFluctuacion.Contiene(1) AndAlso tTipoMovto = False Then AjusteTotal = -AjusteTotal 'si es prov, cargado y el ajustes es positivo tiene que restar
AjusteTotal = AjusteTotal + dr("Importe").ToString.ToDecimal
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 61eb5ee6e..033be19eb 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -3266,7 +3266,6 @@ Partial Class Compras_Compras
If DdlRetIVAConcepto.SelectedValue.ToEntero > 0 Then
DdlRetIVAConcepto.Enabled = True
End If
-
If DdlRetISRConcepto.SelectedValue.ToEntero > 0 Then
DdlRetISRConcepto.Enabled = True
End If
@@ -7792,8 +7791,8 @@ Partial Class Compras_Compras
Alert("Ocurrió un Error al agregar el IVA.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico", TipoMensaje.MsgAdvertencia)
ElseIf ErrorMovInv Then
Alert("Ocurrió un Error al agregar el Producto o Servicio al Inventario.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico", TipoMensaje.MsgAdvertencia)
- ElseIf TieneError Then
- Alert("El total de los IMPORTES del FINANCIAMIENTO debe ser mayor que 0 y menor o igual al total de la compra", TipoMensaje.MsgAdvertencia)
+ 'ElseIf TieneError Then
+ ' Alert("El total de los IMPORTES del FINANCIAMIENTO debe ser mayor que 0 y menor o igual al total de la compra", TipoMensaje.MsgAdvertencia)
ElseIf ErrorAF Then
Alert("Error al actualizar la vinculacion del Activo Fijo", TipoMensaje.MsgAdvertencia)
ElseIf ErrorAC Then
@@ -7953,7 +7952,7 @@ Partial Class Compras_Compras
If CveEvaluacionProveedor > 0 Then
Msg.Append("
El proveedor tiene evaluaciones pendientes
")
- Msg.Append("¿Desea realizar una evaluacion al proveedor?")
+ Msg.Append("¿Desea realizar una evaluación al proveedor?")
Msg.AppendFormat($"Evaluar Proveedor.")
End If
@@ -13909,7 +13908,7 @@ Partial Class Compras_Compras
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 tTolerancia As Decimal = 0.1D
Dim tAjustaUltimo As Boolean = True
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
tTolerancia = Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion)
@@ -13966,11 +13965,11 @@ Partial Class Compras_Compras
End If
Else
ErrorMovInv = True
- Alert("El Total de la NC debe ser igual al total de la devolucion", TipoMensaje.MsgAdvertencia)
+ Alert("El Total de la NC debe ser igual al total de la devolución", TipoMensaje.MsgAdvertencia)
End If
End If
- If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa, -1) Then
+ If Not ErrorMovInv AndAlso ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa, -1) Then
For Each drow As DataRow In ObjInventario.DtResultados.Rows
TotalSumaPU = TotalSumaPU + drow("Total").ToString.ToDecimal
@@ -14016,7 +14015,7 @@ Partial Class Compras_Compras
Dim objcompras As New ClsCompras()
If objcompras.GetCompraDetalleAlmacen(UsuarioActual.CveEmpresa, DDLDevolucion.SelectedValue.ToEntero) Then
GVDevolucion.DataSource = objcompras.DtResultados
- FechaMovtoDev = objcompras.DtResultados.FiltroPrimeroValor("FechaMovto").ToDate.ToString("dd/MM/yyyy").ToDate
+ FechaMovtoDev = objcompras.DtResultados.FiltroPrimeroValor("FechaMovto").ToDate
End If
objcompras.Dispose()
GVDevolucion.DataBind()
@@ -14029,7 +14028,7 @@ Partial Class Compras_Compras
DdlAlmacenDevolucion.SelectedValueExist(CveAlmacen)
UPDevolucion.Update()
- If EsGrupoDiaz AndAlso FechaMovtoDev <> MinFecha AndAlso (FechaMovtoDev >= TxtFecha.Text.ToDate) Then
+ If FechaMovtoDev <> MinFecha AndAlso (FechaMovtoDev >= TxtFecha.Text.ToDate) Then
Alert("La fecha de la devolución se cambiará a una fecha posterior al ingreso.", TipoMensaje.ToastAdventencia)
End If
@@ -14088,10 +14087,7 @@ Partial Class Compras_Compras
Dim IEPSCompra As Decimal = TxtIEPS.Text.ToDecimal()
Dim RetIVACompra As Decimal = TxtRetIVA.Text.ToDecimal()
Dim RetISRCompra As Decimal = TxtRetISR.Text.ToDecimal()
- Dim Acumulado As Decimal = 0
-
- 'Dim TotalCalculable As Decimal = TotalCompra - IEPSCompra + RetIVACompra + RetISRCompra
-
+ Dim AcumuladoDevolucion As Decimal = 0
Dim IVAPorcentajeCompra As Decimal = Math.Round((IVACompra / SubTotalCompra), 2)
Dim Contador As Integer = 0
Dim Consec As Integer = 0
@@ -14127,12 +14123,12 @@ Partial Class Compras_Compras
Dim IVA As Decimal = IVAPorcentajeCompra 'Math.Round(Total * IVAPorcentajeCompra, 2)
Dim Descuento As Decimal = 0
- Acumulado += (PU * Cantidad)
+ AcumuladoDevolucion += (PU * Cantidad)
Consec += 1
- If Consec = Contador AndAlso tAjusteUltimo Then 'SubTotalCompra < Acumulado Then
+ If Consec = Contador AndAlso tAjusteUltimo Then 'SubTotalCompra < AcumuladoDevolucion Then
'ajusta el valor
- Dim dif As Decimal = SubTotalCompra - Acumulado
+ Dim dif As Decimal = SubTotalCompra - AcumuladoDevolucion
If dif <> 0 Then
PU = ((PU * Cantidad) + dif) / Cantidad
Total = Cantidad * PU
@@ -14150,7 +14146,7 @@ Partial Class Compras_Compras
End If
Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSRNC).FiltroPrimero("")
Dim PS As String = PSRow("PSCodigo").ToString
- Dim tDif As Decimal = TxtSubTotal2.Text.ToDecimal - Total
+ Dim tDif As Decimal = TxtSubTotal2.Text.ToDecimal - AcumuladoDevolucion
DevolucionImporteOriginal = tDif
AddPS(1, PSRow("CveUnidadMedida").ToString.ToEntero, PSRow("UnidadMedida").ToString,
@@ -15334,23 +15330,27 @@ Partial Class Compras_Compras
'PROCESO DE ASIGNACION DE CANTIDAD DEPENDIENDO DEL NoIdentificacion DEL XML Y EL NumeroParte DEL PRODUCTO
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
- For Each Gvr As GridViewRow In GvOC1.Rows
- Dim Change As Boolean = False
- For Each Dr2 As DataRow In TmpDT.Rows
- If Gvr.DataKey("NumeroParte") = Dr2("NoIdentificacion").ToString() OrElse Gvr.DataKey("CvePS") = Dr2("CvePS").ToString() Then
- ' que la cantidad de la Fact no exceda a la de la OC
- If Dr2("Cantidad").ToString.ToDecimal > Gvr.DataKey("CantidadF").ToDecimal Then
- Gvr.FCTextBox("TxtCantidad").Text = Gvr.DataKey("CantidadF").ToDecimal.ToString("#,###.####")
- Else
- Gvr.FCTextBox("TxtCantidad").Text = Dr2("Cantidad").ToString
+
+ If CveFactura > 0 Then
+ For Each Gvr As GridViewRow In GvOC1.Rows
+ Dim Change As Boolean = False
+ For Each Dr2 As DataRow In TmpDT.Rows
+ If Gvr.DataKey("NumeroParte") = Dr2("NoIdentificacion").ToString() OrElse Gvr.DataKey("CvePS") = Dr2("CvePS").ToString() Then
+ ' que la cantidad de la Fact no exceda a la de la OC
+ If Dr2("Cantidad").ToString.ToDecimal > Gvr.DataKey("CantidadF").ToDecimal Then
+ Gvr.FCTextBox("TxtCantidad").Text = Gvr.DataKey("CantidadF").ToDecimal.ToString("#,###.####")
+ Else
+ Gvr.FCTextBox("TxtCantidad").Text = Dr2("Cantidad").ToString
+ End If
+ Change = True
End If
- Change = True
+ Next
+ If Not Change Then
+ Gvr.FCTextBox("TxtCantidad").Text = ""
End If
Next
- If Not Change Then
- Gvr.FCTextBox("TxtCantidad").Text = ""
- End If
- Next
+ End If
+
'detectar los ps que no están en la OC, códigos que no están en la OC
'mostrar los ps que no están en la oc
Dim strMsg As New StringBuilder
diff --git a/Contabilidad/Reportes/RepSituacionFinanciera.rdlc b/Contabilidad/Reportes/RepSituacionFinanciera.rdlc
index 40ceecb3d..bcbcee83a 100644
--- a/Contabilidad/Reportes/RepSituacionFinanciera.rdlc
+++ b/Contabilidad/Reportes/RepSituacionFinanciera.rdlc
@@ -2726,7 +2726,7 @@
4.77456in