From d8ca6e296a5ae3c2ea410aab5e3307f1f884101a Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Mon, 22 Jan 2024 19:52:20 -0700 Subject: [PATCH] FIX. Calculo de cantidad y pu en base al total --- Ventas/Ventas.aspx | 12 ++++++++++-- Ventas/Ventas.aspx.vb | 33 +++++++++++++++++++++++---------- 2 files changed, 33 insertions(+), 12 deletions(-) diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index be56eacde..94b5a8d54 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -2402,7 +2402,7 @@
- Emitir: + Emitir
@@ -2665,7 +2665,7 @@ Convertir a unidad Aduana + EmptyDataText="No hay datos disponibles" DataKeyNames="Consec,CvePS,Cantidad,Codigo,ClaveSATFraccionArancelaria,ClaveSATUnidadAduana" OnRowDataBound="GvComercioExterior_RowDataBound"> @@ -8641,6 +8641,14 @@ TotalUSD.innerText = FormatoNumero(ToDouble(ValorUnitario.value) * ToDouble(TxtCantidad.value), 2); } + function CalculaPU_USD(TxtValorUnitario, TotalUSD, TxtCantidad) { + TxtValorUnitario.value = FormatoNumero(ToDouble(TotalUSD) / ToDouble(TxtCantidad.value), 6); + } + + function CalculaCantidad_USD(TxtValorUnitario, TotalUSD, TxtCantidad) { + TxtCantidad.value = FormatoNumero(ToDouble(TotalUSD) / ToDouble(TxtValorUnitario.value), 6); + } + function LimitaCantidadAplicaDev(Cantidad, TxtCantidadAplicaDevolucion) { if (ToDouble(TxtCantidadAplicaDevolucion.value) > Cantidad) { TxtCantidadAplicaDevolucion.value = FormatoNumero(Cantidad, 2) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 21b19e4b9..433e4f669 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -10161,17 +10161,17 @@ Partial Class Ventas ViewState("CveVenta") = ObjFactura.CveVenta If Request("CveEmbarqueManifiesto") IsNot Nothing AndAlso IsNumeric(Request("CveEmbarqueManifiesto")) AndAlso Request("CveEmbarqueManifiesto").ToEntero() > 0 Then - - If ObjVentas.Embarque_ManifiestoUpvta(ObjFactura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Request("CveEmbarqueManifiesto").ToEntero()) Then - + If Not ObjVentas.Embarque_ManifiestoUpvta(ObjFactura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Request("CveEmbarqueManifiesto").ToEntero()) Then + ErrorList.Add("Error al actualizar el manifiesto.") End If End If + If Request("CveManifiesto") IsNot Nothing AndAlso IsNumeric(Request("CveManifiesto")) AndAlso Request("CveManifiesto").ToEntero() > 0 Then - - If ObjVentas.CGame_ManifiestoUpvta(ObjFactura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Request("CveManifiesto").ToEntero()) Then - + If Not ObjVentas.CGame_ManifiestoUpvta(ObjFactura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Request("CveManifiesto").ToEntero()) Then + ErrorList.Add("Error al actualizar el manifiesto.") End If End If + Catch ex As Exception OnError("Ocurrió un error al actualizar el embarque", ex) ErrorList.Add("Ocurrió un error al actualizar el embarque") @@ -10181,9 +10181,8 @@ Partial Class Ventas ViewState("CveVenta") = ObjFactura.CveVenta If Request("CveOrdenProduccion") IsNot Nothing AndAlso IsNumeric(Request("CveOrdenProduccion")) AndAlso Request("CveOrdenProduccion").ToEntero() > 0 Then - - If ObjVentas.AgroOrdenProduccionUpvta(ObjFactura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Request("CveOrdenProduccion").ToEntero()) Then - + If Not ObjVentas.AgroOrdenProduccionUpvta(ObjFactura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Request("CveOrdenProduccion").ToEntero()) Then + ErrorList.Add("Error al actualizar el manifiesto.") End If End If Catch ex As Exception @@ -13438,6 +13437,17 @@ Partial Class Ventas End If End If + 'ACTUALIZA EL CAMPO CANTIDAD CONVERSION CON BASE A LO ESTABLECIDO EN LA TABLA + If AplicaComercioExterior Then + For Each gvr As GridViewRow In GvComercioExterior.Rows + For Each Row As DataRow In TmpDTDetalle.Rows + If gvr.DataKey("Consec") = Row("Consec").ToString() AndAlso gvr.DataKey("CvePS") = Row("CvePS").ToString() Then + Row("CantidadConversion") = gvr.FCTextBox("TxtCantidad").Text.ToDecimal() + End If + Next + Next + End If + If factura.TipoDocto = "Egs" AndAlso NuevaFactura = 1 Then If DtVentasNC Is Nothing Then @@ -29734,9 +29744,12 @@ Partial Class Ventas End If Else e.Row.FCTextBox("TxtValorUnitario").Text = PUBase.ToString("N2") + 'e.Row.FCTextBox("TxtValorUnitario").Attributes.Add("onkeyup", $"CalculaTotalUSD({e.Row.FCLabel("LblTotalUSD").ClientID}, this,{e.Row.FCTextBox("TxtCantidad").ClientID});") End If - e.Row.FCTextBox("TxtValorUnitario").Attributes.Add("onkeyup", $"CalculaTotalUSD({e.Row.FCLabel("LblTotalUSD").ClientID}, this,{e.Row.FCTextBox("TxtCantidad").ClientID});") + e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", $"CalculaPU_USD({e.Row.FCTextBox("TxtValorUnitario").ClientID}, {e.Row.FCLabel("LblTotalUSD").Text.ToDecimal()},this);") + e.Row.FCTextBox("TxtValorUnitario").Attributes.Add("onkeyup", $"CalculaCantidad_USD(this,{e.Row.FCLabel("LblTotalUSD").Text.ToDecimal()},{e.Row.FCTextBox("TxtCantidad").ClientID});") + End If End Sub