diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 02b8b497d..5592f5c09 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -895,10 +895,10 @@ Public Class Timbrado Equivalencia = 1 'condiciones especiales para el pago en pesos, facturas en moneda extranjera ElseIf MonedaPago = "MXN" AndAlso VentaAbreviaturaSAT <> "MXN" Then - VentaTipoCambio = Math.Round(VentaTipoCambio, 6) + VentaTipoCambio = Math.Round(VentaTipoCambio, 10) Equivalencia = Math.Round((1 / VentaTipoCambio), 10) ElseIf MonedaPago = "USD" AndAlso VentaAbreviaturaSAT <> "USD" Then - VentaTipoCambio = Math.Round(VentaTipoCambio, 6) + VentaTipoCambio = Math.Round(VentaTipoCambio, 10) Equivalencia = VentaTipoCambio End If @@ -924,8 +924,8 @@ Public Class Timbrado .TasaOCuota = drp("PorcentajeImpuesto").ToString().ToDecimal, .Impuesto = drp("TipoImpuesto").ToString, .Importe = drp("Importe").ToString().ToDecimal.RoundSQL, - .BaseMN = (drp("Base").ToString.ToDecimal / Equivalencia).RoundSQL(6), - .ImporteMN = (drp("Importe").ToString.ToDecimal / Equivalencia).RoundSQL(6) + .BaseMN = (drp("Base").ToString.ToDecimal / Equivalencia).RoundSQL(2), + .ImporteMN = (drp("Importe").ToString.ToDecimal / Equivalencia).RoundSQL(2) } ) diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 46dc9e0b8..4137467d2 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -8557,6 +8557,8 @@ Partial Class Compras_Compras Protected Sub BtnActualizar_Click(sender As Object, e As EventArgs) Handles BtnActualizar.Click + Dim SeActualizoDetalle As Boolean = False + Dim CveSubProyectoPrincipal As Integer = AsignarSubProyectoPrincipal() If Not CveSubProyectoPrincipal > 0 Then Alert("Falta asignar Proyecto a la compra", TipoMensaje.MsgAdvertencia) @@ -8654,7 +8656,7 @@ Partial Class Compras_Compras CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, NoDeducible:=tNoDeducible, CveRetIVAConcepto:=TmpCveRetIVAConcepto, CveRetISRConcepto:=TmpCveRetISRConcepto, CveSubProyecto:=CveSubProyectoPrincipal, CveFolioGarantia:=DdlFolioGarantia.SelectedValue.ToEntero) Then If Not ComparaDatatables() Then - + SeActualizoDetalle = True 'Regeneramos el concepto 6 de PrePolizas 'If UsuarioActual.Empresa.Funcionalidad(207) = "1" Then ' If Not RegenerarPrePoliza(ObjContabilidad, ObjContaAC, 6, False, MultiplicadorNC) Then @@ -9010,7 +9012,7 @@ Partial Class Compras_Compras End If End If - If Not ObjCompra.AddCompraDetalle(CveCompra, Row("CveUM").ToString.ToEntero, Row("CvePS").ToString.ToEntero, Row("CveSubProyecto").ToString.ToEntero, -1, CveAF, + If ObjCompra.AddCompraDetalle(CveCompra, Row("CveUM").ToString.ToEntero, Row("CvePS").ToString.ToEntero, Row("CveSubProyecto").ToString.ToEntero, -1, CveAF, Row("Cantidad").ToString.ToDecimal, Row("PU").ToString.ToDecimal, Row("IVA").ToString.ToDecimal, Row("Total").ToString.ToDecimal, Row("Descuento").ToString.ToDecimal, Row("Obs").ToString, Row("CveOrdenCompraDetalle").ToString.ToEntero, TipoRecepcion, Row("CveContrato").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero, AplicaCostoIndirecto:=Row("AplicaCostoIndirecto").ToString.ToEntero, EstatusAlmacen:=Row("EntregaDirecta").ToString.ToEntero, CvePersonal:=CvePersonal, @@ -9019,7 +9021,17 @@ Partial Class Compras_Compras IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDecimal, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDecimal, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDecimal, IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDecimal, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDecimal, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False), CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CveCultivoCuadroDetalle:=Row("CveCultivoCuadroDetalle").ToString.ToEntero) Then + Dim objGeneral As New ClsGenerales(ObjCompra.IniciaTransacSQL) + Dim NuevoDetalle As String = $"Cantidad: {Row("Cantidad").ToString} Producto: {Row("CodigoPS").ToString}, PU: {Row("PU").ToString.ToDecimal}, Total: {Row("Total").ToString.ToDecimal}" + + If Not objGeneral.AddHistorialBitacora(441, -1, -1, -1, -1, -1, CveCompra, -1, NuevoDetalle, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, "", "", "") Then + Retorno = False + Exit For + End If + + + Else Retorno = False Exit For End If @@ -9143,6 +9155,7 @@ Partial Class Compras_Compras ObjCompra.RollBack() If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack() + SeActualizoDetalle = False Finally If Retorno Then If ObjContabilidad.MensajePolizaDescuadre IsNot Nothing AndAlso ObjContabilidad.MensajePolizaDescuadre.ToString <> "" Then @@ -9161,6 +9174,7 @@ Partial Class Compras_Compras ObjCompra.RollBack() If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack() Alert("Ocurrió un error al actualizar la compra, por favor vuelva a intentar.", TipoMensaje.MsgAdvertencia) + SeActualizoDetalle = False End If If ObjContaAC IsNot Nothing Then ObjContaAC.Dispose() @@ -9176,6 +9190,81 @@ Partial Class Compras_Compras CargaGvBitacora() UpBitacora.Update() + + + If SeActualizoDetalle Then + MandaCorreoActualizacionDetalle(CveCompra) + End If + + End Sub + + Private Sub MandaCorreoActualizacionDetalle(CveCompra As Integer) + + If UsuarioActual.CveRol <> 1 Then + Exit Sub + End If + + Dim DTCorreos As New DataTable + Dim DTMovimientos As New DataTable + Dim strBody As New StringBuilder + Dim Asunto, Para, ArrayCC, Body As String + Para = GlobalDTUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa).FiltroPrimeroValor("Correo") + + If Para.ToString = "" AndAlso UsuarioActual.CveRol = 1 Then + Para = Para & ";oscar.irigoyen@adssistemas.mx;rene.molina@adssistemas.mx" + End If + + Dim uri As Uri = HttpContext.Current.Request.Url + Dim URlCompleta As String = uri.AbsoluteUri + + Dim SerieFolioCompra As String = $"{TxtSerie.Text}{If(TxtSerie.Text.Trim.Length > 0, "-", "")}{TxtFolio.Text.Trim}" + + strBody.Append(" ") + strBody.Append("
") + strBody.Append(" ") + strBody.Append(" ") + strBody.Append("") + strBody.Append($"Se realizo una actualización en los detalles de la compra {SerieFolioCompra} del proveedor {HplProveedor.Text}
") + strBody.Append("") + + strBody.Append("") + + + '' ENVIO DEL CORREO + Asunto = $"Actualizacion de Compra: {SerieFolioCompra} Proveedor: {HplProveedor.Text}" + ArrayCC = "" + Body = strBody.ToString + Dim Mail As New ClsSisMail() + Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body, ArrayCC) + + + End Sub Private Function ComparaDatatables() As Boolean