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)