diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 6e0bcca33..c930cd759 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -1639,7 +1639,7 @@ Partial Class Compras_Compras
NCSeleccionFacturasRelacionadas(UUIDSList)
End If
- If CveFactura > 0 AndAlso Serie Isnot nothing AndAlso Serie.ToUpper = "NL" AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
+ If CveFactura > 0 AndAlso Serie IsNot Nothing AndAlso Serie.ToUpper = "NL" AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
EsDevolucionApoyoLogistico = True
DdlTipoComprobante.Items.Clear()
DdlTipoComprobante.Items.Add(New ListItem("Devolución", "DEV"))
@@ -4194,23 +4194,18 @@ Partial Class Compras_Compras
Protected Sub BtnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnGuardar.Click
-
-
'------------------ INICIA VALIDACIONES ------------------
- If Not ValidaVincuacionNotaFactura() Then
+ If Not ValidaVinculacionNotaFactura() Then
Alert("Se requiere que la nota este aplciada a las facturas", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
-
-
If Not ValidaSeleccionAnticipo() Then
Alert("El proveedor tiene anticipos sin aplicar, favor de especiar uno.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
-
Dim TotalRealDevolucion As Decimal = 0
Dim EstatusCredito As Integer = 0
@@ -5567,11 +5562,8 @@ Partial Class Compras_Compras
Dim indice = 0
Dim ImporteConcepto As Decimal = 0
-
-
If DdlTipoComprobante.SelectedValue = "Fac" Then
-
For Each tCveAlmacen As Integer In ListAlmacenes
If GvInv.Rows(indice).FCDropDownList("DdlRecibirInv").SelectedValue = "1" Then
Continue For
@@ -5643,17 +5635,17 @@ Partial Class Compras_Compras
ImporteConcepto = If(DdlMoneda.SelectedValue.ToEntero = 1, PUInv, PUInv * TipoCambioGuardar) - If(DdlMoneda.SelectedValue.ToEntero = 1, tDescuento, tDescuento * TipoCambioGuardar)
'si no es por serie lote
ImporteConcepto = If(UsuarioActual.Empresa.UsaAC, ImporteConcepto * IVA, ImporteConcepto)
- If Dr("CveAlmacen").ToString.ToEntero = tCveAlmacen Then
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, CantidadInv, CveUnidad, Dr("CvePS").ToString.ToEntero, ImporteConcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, Dr("PU").ToString.ToDecimal), CostoIndirecto:=CostoIndirecto, CveCompraDetalle:=Dr("CveCompraDetalle").ToString.ToEntero, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
- ErrorMovInv = True
- Exit For
- End If
+ If Dr("CveAlmacen").ToString.ToEntero = tCveAlmacen Then
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, CantidadInv, CveUnidad, Dr("CvePS").ToString.ToEntero, ImporteConcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, Dr("PU").ToString.ToDecimal), CostoIndirecto:=CostoIndirecto, CveCompraDetalle:=Dr("CveCompraDetalle").ToString.ToEntero, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then
+ ErrorMovInv = True
+ Exit For
End If
-
End If
+ End If
- i = i + 1
+
+ i = i + 1
contadorAlamcen = contadorAlamcen + 1
Next
End If
@@ -6099,16 +6091,10 @@ Partial Class Compras_Compras
ErrorPrepoliza = True
End If
-
-
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, importeMN, 41, Referencia, Concepto, CtaProveedorAcreedores, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CveCreditoDetalle:=CveCreditoDetalle, CveClasificacion:=CveClasificacionDT, CveSubProyecto:=CveSubProyectoDT, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveTipoGasto:=CveTipoGastoDT, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True
End If
-
-
-
-
If importeMovimiento <> 0 Then
Dim Pago As New CompraPago
Pago.ImportePago = importeMovimiento
@@ -7113,75 +7099,6 @@ Partial Class Compras_Compras
AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta)
End If
Next
-
- 'If RBLTipoDeudor.SelectedValue.ToEntero = 1 Then
- ' For Each rw As GridViewRow In GvDeudores.Rows
- ' If rw.FCCheckBox("Chk").Checked Then
-
- ' importeMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ' OtrosGastosIngresos = rw.FCTextBox("TxtDeudoresOtrosGastosIngresos").Text.ToDecimal
-
- ' importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL
- ' Dim OtrosGastosIngresosMN As Decimal = (OtrosGastosIngresos * tipoCambioActual * Multiplicador).RoundSQL
- ' IdCtaContable = CtaProveedorDeudores
- ' Dim tCveProveedor As Integer = rw.DataKey("CveProveedor").ToEntero
-
- ' 'Conta ContPAQ
- ' If IdCtaContable = 0 Then
- ' CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString)
- ' idCuentaContabilizacion = 0
- ' End If
-
-
- ' If OtrosGastosIngresos = 0 Then
- ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=tCveProveedor, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then
- ' ErrorPrepoliza = True : Exit For
- ' End If
- ' Else
-
- ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, (importeMovimiento + OtrosGastosIngresos), Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=tCveProveedor, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then
- ' ErrorPrepoliza = True : Exit For
- ' End If
- ' End If
-
-
-
- ' Dim Pago As New CompraPago With {.ImportePago = importeMovimiento, .CveIE = CveIE, .CveMonedaPago = rw.DataKey("CveMoneda").ToEntero}
- ' AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta)
- ' End If
- ' Next
- 'Else
- ' For Each rw As GridViewRow In GvDeudores.Rows
- ' If rw.FCCheckBox("Chk").Checked Then
- ' importeMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal
- ' OtrosGastosIngresos = rw.FCTextBox("TxtDeudoresOtrosGastosIngresos").Text.ToDecimal
-
- ' importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL
- ' Dim OtrosGastosIngresosMN As Decimal = (OtrosGastosIngresos * tipoCambioActual * Multiplicador).RoundSQL
-
- ' IdCtaContable = CtaProveedorDeudores
- ' Dim tCveProveedor As Integer = rw.DataKey("CveProveedor").ToEntero
-
- ' If OtrosGastosIngresos = 0 Then
- ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 254, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=tCveProveedor, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then
- ' ErrorPrepoliza = True
- ' Exit For
- ' End If
- ' Else
- ' adasdasdasd
- ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, (importeMovimiento + OtrosGastosIngresos), Referencia, 254, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=tCveProveedor, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then
- ' ErrorPrepoliza = True
- ' Exit For
- ' End If
- ' End If
-
-
- ' Dim Pago As New CompraPago With {.ImportePago = importeMovimiento, .CveIE = CveIE, .CveMonedaPago = rw.DataKey("CveMoneda").ToEntero}
- ' AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta)
- ' End If
- ' Next
- 'End If
-
importeMovimiento = 0
OtrosGastosIngresos = 0
@@ -7254,60 +7171,6 @@ Partial Class Compras_Compras
ErrorMovtosCxP = AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta)
- ''CveCon = 272
- '''PAGO A FACTURA POR NC
- 'If TipoCambioFactura > 1 Then CveCon = 304
- 'If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimientoNC, Referencia, CveCon, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimientoNC, ImporteME:=importeMovimientoNC, TipoCambio:=TipoCambioFactura, Contabilizable:=SeContabiliza, CveCompraAmortizacion:=CveCompra) Then
-
- ' Dim CveConceptoContableComplementaria As Integer = 206
- ' If Gvr.DataKey("CveTipoConcepto").ToEntero = 2 Then CveConceptoContableComplementaria = 310 'cuando es acreedor
-
- ' IdCtaContable = CtaProveedorComplementaria
- ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMNNC - importeMovimientoNC, Referencia, CveConceptoContableComplementaria, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMNNC - importeMovimientoNC, ImporteME:=importeMovimientoNC, TipoCambio:=TipoCambioFactura, Contabilizable:=SeContabiliza, CveCompraAmortizacion:=CveCompra) Then
- ' ErrorPrepoliza = True
- ' Exit For
- ' End If
- 'Else
- ' ErrorPrepoliza = True
- ' Exit For
- 'End If
-
- 'importeMNNC = importeMovimientoNC * tipoCambioActual * Multiplicador
- 'IdCtaContable = CtaProveedorExtranjera
- 'If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimientoNC, Referencia, 60, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveCompraAmortizacion:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimientoNC, ImporteME:=importeMovimientoNC, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then
- ' IdCtaContable = CtaProveedorComplementaria
- ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMNNC - importeMovimientoNC, Referencia, 235, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveCompraAmortizacion:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMNNC - importeMovimientoNC, ImporteME:=importeMovimientoNC, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then
- ' ErrorPrepoliza = True
- ' Exit For
- ' End If
- 'Else
- ' ErrorPrepoliza = True
- ' Exit For
- ' Exit For
- 'End If
-
- '' FLUCTUACION CAMBIARIA
- 'If tipoCambioActual <> TipoCambioFactura AndAlso Not ChkNCInvNC.Checked Then ' que no se esté afectando mercancía en tránsto
- ' importeMovimiento = (importeMovimientoNC * TipoCambioFactura) - (importeMovimientoNC * tipoCambioActual)
-
- ' If importeMovimiento > 0 Then
- ' ConceptoContable = 64 : TipoMovimiento = True
- ' IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
- ' ElseIf importeMovimiento < 0 Then
- ' ConceptoContable = 65 : TipoMovimiento = False
- ' IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
- ' End If
-
- ' importeMovimiento = importeMovimiento.Abs.RoundSQL()
- ' importeMN = importeMovimiento
- ' If importeMovimiento <> 0 Then
-
- ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=importeMN, CvePrePolizaOriginal:=CvePrePoliza, ImporteME:=0, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then
- ' ErrorPrepoliza = True
- ' Exit For
- ' End If
- ' End If
- 'End If
End If
Next
@@ -8334,11 +8197,9 @@ Partial Class Compras_Compras
End If
End Sub
- Private Function ValidaVincuacionNotaFactura() As Boolean
+ Private Function ValidaVinculacionNotaFactura() As Boolean
Dim Respuesta As Boolean = False
-
-
If DdlTipoComprobante.SelectedValue.Contiene("NC") Then
If UsuarioActual.Empresa.Funcionalidad(531).ToString.ToEntero = 1 Then
@@ -8350,15 +8211,12 @@ Partial Class Compras_Compras
End If
End If
Next
-
Else
Respuesta = True
End If
Else
Respuesta = True
End If
-
-
Return Respuesta
End Function
@@ -10075,19 +9933,14 @@ Partial Class Compras_Compras
nodeCFDIRelacionados = XMLDoc.SelectSingleNode(String.Format("//{0}:CfdiRelacionados", Prefijo), namespaces)
If nodeCFDIRelacionados IsNot Nothing Then
-
For Each CFDIRelacionados As XmlNode In nodeCFDIRelacionados
UUIDSLista.Add("" & CFDIRelacionados.Attributes("UUID").Value.ToString & "")
Next
-
End If
-
UUIDSList = UUIDSLista
End If
-
-
Dim node As XmlNode
node = XMLDoc.SelectSingleNode(String.Format("//{0}:Emisor", Prefijo), namespaces)
@@ -10117,7 +9970,6 @@ Partial Class Compras_Compras
End If
End If
-
node = XMLDoc.SelectSingleNode(String.Format("//{0}:Impuestos", Prefijo), namespaces)
If node IsNot Nothing AndAlso node.ChildNodes.Count > 0 Then
Dim nodeRetenciones As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:Comprobante/{0}:Impuestos/{0}:Retenciones/{0}:Retencion", Prefijo), namespaces)
@@ -10128,9 +9980,7 @@ Partial Class Compras_Compras
For Each retencion As XmlNode In nodeRetenciones
If retencion.Attributes("Impuesto").Value = "002" Then RetencionIVA += retencion.Attributes("Importe").Value.ToDecimal
-
If retencion.Attributes("Impuesto").Value = "001" Then RetencionISR += retencion.Attributes("Importe").Value.ToDecimal
-
Next
GvOC1.Columns(6).Visible = True
GvOC2.Columns(4).Visible = True
@@ -10138,9 +9988,7 @@ Partial Class Compras_Compras
For Each retencion As XmlNode In nodeRetenciones
If retencion.Attributes("impuesto").Value = "IVA" Then RetencionIVA += retencion.Attributes("importe").Value.ToDecimal
-
If retencion.Attributes("impuesto").Value = "ISR" Then RetencionISR += retencion.Attributes("importe").Value.ToDecimal
-
Next
End If
SumaTotalRetenciones += RetencionIVA
@@ -10157,23 +10005,15 @@ Partial Class Compras_Compras
If traslado.Attributes("Impuesto").Value = "002" Then TrasladoIVA += traslado.Attributes("Importe").Value.ToDecimal
If traslado.Attributes("Impuesto").Value = "003" Then TrasladoIEPS += traslado.Attributes("Importe").Value.ToDecimal
End If
-
-
-
Next
-
Else
For Each traslado As XmlNode In nodeTraslados
-
-
If traslado.Attributes("Importe") IsNot Nothing Then
If traslado.Attributes("impuesto").Value = "IVA" Then TrasladoIVA += traslado.Attributes("importe").Value.ToDecimal
If traslado.Attributes("impuesto").Value = "IEPS" Then TrasladoIEPS += traslado.Attributes("importe").Value.ToDecimal
End If
-
-
Next
End If
@@ -10199,9 +10039,7 @@ Partial Class Compras_Compras
OtrosImpuestos = ValorXML(node, "TotaldeTraslados", "0").ToDecimal
'2022.06.04-- se quitan los datos de retenciones de impuestos locales, generan conflicto. RMF
'OtrosImpuestosRetenciones = ValorXML(node, "TotaldeRetenciones", "0").ToDecimal
-
End If
-
End If
End Sub
@@ -16133,7 +15971,6 @@ Partial Class Compras_Compras
Protected Sub DdlTipoComprobante_SelectedIndexChanged(sender As Object, e As EventArgs)
-
If DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then
If DdlTipoComprobante.SelectedValue = "NC" Then
@@ -16155,22 +15992,12 @@ Partial Class Compras_Compras
DivReembolso.Visible = False
RBLPago.Items(2).Enabled = False
UpPS.Update()
+ If CveFactura > 0 Then NCSeleccionFacturasRelacionadas(UUIDSList)
End If
-
-
-
End If
- If CveFactura > 0 Then
- If DdlTipoComprobante.SelectedValue = "NC" Then
- NCSeleccionFacturasRelacionadas(UUIDSList)
- End If
- End If
-
-
-
UPCondicionesPago.Update()
End Sub
@@ -19929,7 +19756,6 @@ Partial Class Compras_Compras
End If
Next
-
End If
End If
@@ -20578,15 +20404,15 @@ Partial Class Compras_Compras
End Function
- Private Sub NCSeleccionFacturasRelacionadas(UUIDSListRelacioandos As List(Of String))
+ Private Sub NCSeleccionFacturasRelacionadas(UUIDSListRelacionados As List(Of String))
- If UUIDSListRelacioandos.Count > 0 Then
+ If UUIDSListRelacionados.Count > 0 Then
Dim SaldoNota As Decimal = TxtTotal.Text.ToDecimal
Dim SaldoNotaPorAplicar As Decimal = SaldoNota
Dim CountAplicacion As Integer = 0
Dim sbNoencontrados As New StringBuilder
- For Each UUID As String In UUIDSListRelacioandos
+ For Each UUID As String In UUIDSListRelacionados
UUID = UUID.ToUpper
Dim UUIDEncontrado As Boolean = False
@@ -20602,7 +20428,7 @@ Partial Class Compras_Compras
Dim TeminarAmortizacion As Boolean = False
- For Each UUID As String In UUIDSListRelacioandos
+ For Each UUID As String In UUIDSListRelacionados
For Each GvRow As GridViewRow In GvFacturaNC.Rows
@@ -20652,7 +20478,7 @@ Partial Class Compras_Compras
MsgSalida = $"Folios Fiscales no encontradas o sin saldo: {sbNoencontrados }
"
End If
- MsgSalida = $"{MsgSalida} Se seleccionó $ {(SaldoNota - SaldoNotaPorAplicar).FormatoNumero} de $ {SaldoNota.FormatoNumero} a {CountAplicacion} factura {If(CountAplicacion > 0, "s", "")}."
+ MsgSalida = $"{MsgSalida} Se seleccionó $ {(SaldoNota - SaldoNotaPorAplicar).FormatoNumero} de $ {SaldoNota.FormatoNumero} a {CountAplicacion} factura{If(CountAplicacion > 1, "s", "")}."
Alert(MsgSalida, TipoMensaje)