-- que no pierda seleccion de NC, al cambiar de NC a DEV o viceversa

This commit is contained in:
2023-01-28 08:09:33 -07:00
parent d0f3bf92c7
commit e9031fd3bc

View File

@@ -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("<br>" & 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 } <br/><br/>"
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)