diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx
index b8ece6061..6bedf75e9 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -1734,7 +1734,7 @@
@@ -1974,7 +1974,7 @@
-
+
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 389647b89..3d52235d8 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -710,7 +710,6 @@ Partial Class Compras_Compras
End Set
End Property
-
Private Property TipoCambioOriginal As Decimal
Get
Return ViewState("TipoCambioOriginal").ToString.ToDecimal
@@ -2884,7 +2883,6 @@ Partial Class Compras_Compras
HfTotalCompra.Value = TxtTotal.Text
TipoCambio = dr("TipoCambio").ToString.ToDecimal
-
TipoCambioOriginal = dr("TipoCambioOriginal").ToString.ToDecimal
If TipoCambio > 1 Then LblTC.Text = String.Format("TC: {0}", TipoCambio.ToString("N4"))
If TipoCambio <> TipoCambioOriginal Then LblTCO.Text = String.Format("
TC Original: {0}", TipoCambioOriginal.ToString("N4"))
@@ -7860,12 +7858,18 @@ Partial Class Compras_Compras
End If
End If
+ If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso (ImporteRNC > 0 OrElse ImporteRNCProntoPago > 0) Then
- If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso (ImporteRNC > 0 Or ImporteRNCProntoPago > 0) Then
- If Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraActual, ObjConta, CvePrePoliza, DdlProveedor.SelectedValue.ToEntero, DdlProveedor.SelectedItem.Text, TxtFecha.Text.ToDate, $"Remisión Nota de Crédito {TxtDescripcion.Text}", DdlMoneda.SelectedValue.ToEntero, TxtTC.Text.ToDecimal,
+ If ImporteRNC > 0 AndAlso Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraActual, ObjConta, CvePrePoliza, DdlProveedor.SelectedValue.ToEntero, DdlProveedor.SelectedItem.Text, TxtFecha.Text.ToDate, $"Remisión Nota de Crédito {TxtDescripcion.Text}", ImporteRNC, DdlMoneda.SelectedValue.ToEntero, TxtTC.Text.ToDecimal,
TxtSerie.Text, TxtFolio.Text) Then
TieneError = True
End If
+
+ If ImporteRNCProntoPago > 0 AndAlso Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraActual, ObjConta, CvePrePoliza, DdlProveedor.SelectedValue.ToEntero, DdlProveedor.SelectedItem.Text, TxtFecha.Text.ToDate, $"Remisión Nota de Crédito {TxtDescripcion.Text}", ImporteRNCProntoPago, DdlMoneda.SelectedValue.ToEntero, TxtTC.Text.ToDecimal,
+ TxtSerie.Text, TxtFolio.Text, PrefijoSerie:="PP") Then
+ TieneError = True
+ End If
+
End If
If Not TieneError Then
@@ -10246,6 +10250,7 @@ Partial Class Compras_Compras
_Moneda = ValorXML(nodo, "Moneda")
_TipoComprobante = ValorXML(nodo, "tipoDeComprobante")
TipoCambio = ValorXML(nodo, "TipoCambio", "1").ToDecimal
+ TipoCambioOriginal = TipoCambio
If Version = "3.3" Or Version = "4.0" Then
Dim drm As DataRow = GlobalDTVtaMetodoPago.FiltroPrimero(String.Format("ClaveMetodoPagoSAT = '{0}'", ValorXML(nodo, "MetodoPago")))
@@ -15329,9 +15334,8 @@ Partial Class Compras_Compras
e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", $"LimitaCantidadOC({e.Row.DBCampo("CantidadPendienteVincular")}, this);{JSCambiaScript}")
If UsuarioActual.Empresa.Funcionalidad(382) = "1" AndAlso PermisoVinculacionImporteDiferente Then ' código temporal, excluir que valide cantidad GDIAZ
- e.Row.FCTextBox("TxtCantidad").Attributes.Remove("onkeyup")
+ e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", $"{JSCambiaScript}") 'se quita el llamado a candado de la cantidad
End If
-
e.Row.FCTextBox("TxtPU").Attributes.Add("onkeyup", JSCambiaScript)
e.Row.FCTextBox("TxtCantidad").Attributes.Add("onblur", $"ValidaImporteCero('{e.Row.DBCampo("PS").Replace("'", "")}',{e.Row.FCTextBox("TxtCantidad").ClientID}, {e.Row.FCTextBox("TxtPU").ClientID});")
@@ -15686,7 +15690,7 @@ Partial Class Compras_Compras
dr = DTOCGV.Rows(gvr.RowIndex)
Dim Cantidad As Decimal = gvr.FCTextBox("TxtCantidad").Text.ToDecimal 'dr("Cantidad").ToString.ToDouble
- Dim CantidadF As Decimal = gvr.DataKey("CantidadF").ToString.ToDecimal 'dr("Cantidad").ToString.ToDouble
+ Dim CantidadF As Decimal = gvr.FCTextBox("TxtCantidad").Text.ToDecimal ' gvr.DataKey("CantidadF").ToString.ToDecimal 'dr("Cantidad").ToString.ToDouble
Dim CveUM As Integer = dr("CveUM").ToString.ToEntero
Dim UM As String = dr("UM").ToString
Dim CveClasificacion As Integer = dr("CveClasificacion").ToString.ToEntero
@@ -19191,7 +19195,7 @@ Partial Class Compras_Compras
Protected Sub BtnDevolucion_Click(sender As Object, e As EventArgs)
Dim ObjCompras As New ClsCompras
Dim TieneError As Boolean = False
- Dim ImporteCompra As Decimal = 0
+ Dim ImporteDevCompra As Decimal = 0
Dim tCveSubProyeto As Integer = TmpDT.FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0").ToEntero
Dim ModalidadDevolucion As Integer = 1 ' 1 - devolución para que alamcen la confirme, 2 - devolución en automático generando RNC
@@ -19207,7 +19211,7 @@ Partial Class Compras_Compras
Dim PU As Decimal = gvr.DataKey("PU").ToDecimal
If gvr.FCTextBox("TxtCant").Text.ToDecimal > 0 Then
ObjCompras.UpdateEstatusAlmacenDetalle(gvr.DataKey("CveCompraDetalle").ToEntero, 0, UsuarioActual.CveUsuario, CantidadDevolucion:=gvr.FCTextBox("TxtCant").Text.ToDecimal)
- ImporteCompra = ImporteCompra + ((PU * Cantidad))
+ ImporteDevCompra = ImporteDevCompra + ((PU * Cantidad))
Else
ObjCompras.UpdateEstatusAlmacenDetalle(gvr.DataKey("CveCompraDetalle").ToEntero, 1, UsuarioActual.CveUsuario, CantidadDevolucion:=0)
End If
@@ -19226,17 +19230,15 @@ Partial Class Compras_Compras
Dim Cantidad As Decimal = gvr.FCTextBox("TxtCant").Text.ToDecimal
Dim PU As Decimal = gvr.DataKey("PU").ToDecimal
If gvr.FCTextBox("TxtCant").Text.ToDecimal > 0 Then
- ImporteCompra = ImporteCompra + ((PU * Cantidad))
+ ImporteDevCompra = ImporteDevCompra + ((PU * Cantidad))
End If
Next
- ImporteRNC = ImporteCompra.RoundSQL
-
If ChkEsDevolucionDevInv.Checked Then
Dim objConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL)
- CvePrePoliza = objConta.AddPrePolizas("Compras/RncDevInv", 53, ImporteCompra, TxtTotal.Text.ToDouble, DdlMoneda.SelectedValue.ToEntero, TxtFecha.Text.ToDate, $"RNC Devolucion Inv {TxtSerie.Text}-{TxtFolio.Text}",
+ CvePrePoliza = objConta.AddPrePolizas("Compras/RncDevInv", 53, ImporteDevCompra, TxtTotal.Text.ToDouble, DdlMoneda.SelectedValue.ToEntero, TxtFecha.Text.ToDate, $"RNC Devolucion Inv {TxtSerie.Text}-{TxtFolio.Text}",
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=0, ReglaFolioPoliza:=ObjCompras.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue,
UsuarioActual.CveEmpresa), CveTipoPoliza:=objConta.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa))
If CvePrePoliza > 0 Then
@@ -19266,7 +19268,7 @@ Partial Class Compras_Compras
CompraActual.EsImportacion = chkImportacion.Checked
If Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraActual, objConta, CvePrePoliza, DdlProveedor.SelectedValue.ToEntero, DdlProveedor.SelectedItem.Text, TxtFecha.Text.ToDate,
- $"Remisión Nota de Crédito {TxtDescripcion.Text}", DdlMoneda.SelectedValue.ToEntero, TipoCambioOriginal,
+ $"Remisión Nota de Crédito {TxtDescripcion.Text}", ImporteDevCompra, DdlMoneda.SelectedValue.ToEntero, TipoCambioOriginal,
TxtSerie.Text, TxtFolio.Text, PrefijoSerie:="Dev", EsDRMN:=True) Then
TieneError = True
End If
@@ -22029,7 +22031,7 @@ Partial Class Compras_Compras
#Region "PRONTO PAGO"
Public Function GeneraRNC(ByRef sqltransaccion As SqlTransaction, CveCompraRegistrada As Integer, ByRef CompraActual As Compra, ByRef ObjConta As ClsContabilidad, CvePrePoliza As Integer,
- CveProveedor As Integer, NombreProveedor As String, Fecha As Date, Descripcion As String, CveMoneda As Integer, TipoCambio As Decimal, Serie As String, Folio As String,
+ CveProveedor As Integer, NombreProveedor As String, Fecha As Date, Descripcion As String, Importe As Decimal, CveMoneda As Integer, TipoCambio As Decimal, Serie As String, Folio As String,
Optional PrefijoSerie As String = "D", Optional EsDRMN As Boolean = False, Optional TmpListadoPS As DataTable = Nothing, Optional RedondearSaldado As Boolean = False) As Boolean
CveCompraDRMC = -1
Dim respuesta As Boolean = True
@@ -22084,8 +22086,8 @@ Partial Class Compras_Compras
Dim CveUM As Integer = PSRow("CveUnidadMedida").ToString.ToEntero
Dim UM As String = PSRow("UnidadMedida").ToString
- Dim IVARNC As Decimal = (ImporteRNC * PorcentajeIVA).RoundSQL(2)
- Dim TotalRNC As Decimal = If(RedondearSaldado, (ImporteRNC + IVARNC).RoundSQL(2), (ImporteRNC + IVARNC))
+ Dim IVARNC As Decimal = (Importe * PorcentajeIVA).RoundSQL(2)
+ Dim TotalRNC As Decimal = If(RedondearSaldado, (Importe + IVARNC).RoundSQL(2), (Importe + IVARNC))
CompraRNC.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, TotalRNC, PorcentajeIVA, TipoCambio:=TipoCambioOriginal)
If CompraRNC.AddCompra(sqltransaccion) Then
@@ -22104,50 +22106,12 @@ Partial Class Compras_Compras
Else
respuesta = False
End If
-
- If respuesta AndAlso ImporteRNCProntoPago > 0 Then
-
- Dim CompraRNCProntoPago As New ClsCompraManagerCompras(UsuarioActual) With {
- .TipoDocto = "RNC",
- .CveProveedor = CveProveedor,
- .CveTipoProveedor = CveTipoProveedor,
- .CveTipoConceptoProveedor = CveTipoConcepto,
- .Descripcion = Descripcion,
- .NombreProveedor = NombreProveedor,
- .Fecha = Fecha,
- .CveMoneda = CveMoneda,
- .TipoCambio = If(CveMoneda = 1, 1, TipoCambio),
- .Serie = $"PP-{Serie}",
- .Folio = $"{Folio}",
- .CveCompraAmortizacion = CveCompraRegistrada,
- .CveCompraRelacionada = CveCompraRegistrada
- }
- Dim IVARNCProntoPago As Decimal = (ImporteRNCProntoPago * PorcentajeIVA).RoundSQL(2)
-
- CompraRNCProntoPago.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNCProntoPago, (ImporteRNCProntoPago + IVARNCProntoPago), IVARNCProntoPago, PorcentajeIVA)
- If CompraRNCProntoPago.AddCompra(sqltransaccion) Then
- Dim tImporteRNCProntoPago = ImporteRNCProntoPago + IVARNCProntoPago ' le agrego el importe del iva
- Dim Pago As New CompraPago
- Pago.ImportePago = tImporteRNCProntoPago
- Pago.CveMonedaPago = CompraActual.CveMoneda
- Pago.CveCompraAmortizacion = CompraRNCProntoPago.CveCompra
- Pago.Referencia = CompraRNCProntoPago.SerieFolio
- Pago.TCPago = CompraActual.TC
- Pago.AplicaAcreditable = False
- Pago.TipoPago = "RNC"
- Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC
- respuesta = Not AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta)
- Else
- respuesta = False
- End If
- End If
End If
If RedondearSaldado And respuesta Then
Alert("Saldado correctamente")
End If
-
Return respuesta
End Function