Aplicacion de anticipos multiples a una factura
This commit is contained in:
@@ -1337,6 +1337,15 @@ Partial Class Ventas
|
|||||||
ViewState("Adjunto") = value
|
ViewState("Adjunto") = value
|
||||||
End Set
|
End Set
|
||||||
End Property
|
End Property
|
||||||
|
|
||||||
|
Private Property ListaAnticiposAplicados As List(Of MAnticipoRelacionado)
|
||||||
|
Get
|
||||||
|
Return If(IsNothing(ViewState("ListaAnticiposAplicados")), Nothing, CType(ViewState("ListaAnticiposAplicados"), List(Of MAnticipoRelacionado)))
|
||||||
|
End Get
|
||||||
|
Set(value As List(Of MAnticipoRelacionado))
|
||||||
|
ViewState("ListaAnticiposAplicados") = value
|
||||||
|
End Set
|
||||||
|
End Property
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
#Region "Propiedades PuntoVenta"
|
#Region "Propiedades PuntoVenta"
|
||||||
@@ -4091,8 +4100,14 @@ Partial Class Ventas
|
|||||||
CveVenta = If(CveCotizacion > 0, CveCotizacion, CveVenta)
|
CveVenta = If(CveCotizacion > 0, CveCotizacion, CveVenta)
|
||||||
CveVenta = If(CvePedido > 0, CvePedido, CveVenta)
|
CveVenta = If(CvePedido > 0, CvePedido, CveVenta)
|
||||||
|
|
||||||
|
Dim DtAntRelacionados As DataTable = Nothing
|
||||||
|
|
||||||
Dim ObjVentas As New ClsVentas()
|
Dim ObjVentas As New ClsVentas()
|
||||||
|
|
||||||
|
If ObjVentas.GetVentasRelacionadas(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||||
|
DtAntRelacionados = ObjVentas.DtResultados.Copy()
|
||||||
|
End If
|
||||||
|
|
||||||
Dim SerieFolioPadre As String
|
Dim SerieFolioPadre As String
|
||||||
|
|
||||||
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
|
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||||
@@ -4527,8 +4542,18 @@ Partial Class Ventas
|
|||||||
If DbRowVenta("CveTipoRelacion").ToString().ToEntero() > 0 Then
|
If DbRowVenta("CveTipoRelacion").ToString().ToEntero() > 0 Then
|
||||||
TrTipoRelacion.Visible = True
|
TrTipoRelacion.Visible = True
|
||||||
DdlTiposRelacion.SelectedValueExist(DbRowVenta("CveTipoRelacion").ToString().ToEntero())
|
DdlTiposRelacion.SelectedValueExist(DbRowVenta("CveTipoRelacion").ToString().ToEntero())
|
||||||
|
|
||||||
|
'RELACIONAR ANTICIPOS APLICADOS
|
||||||
|
If DbRowVenta("CveTipoRelacion").ToString().ToEntero() = 7 AndAlso DtAntRelacionados IsNot Nothing AndAlso DtAntRelacionados.Rows.Count > 0 Then
|
||||||
|
DdlTipoRelacionAnticipo.SelectedValueExist(7)
|
||||||
|
ListaAnticiposAplicados = New List(Of MAnticipoRelacionado)()
|
||||||
|
For Each RowAnt As DataRow In DtAntRelacionados.Rows
|
||||||
|
ListaAnticiposAplicados.Add(New MAnticipoRelacionado() With {.CveVenta = RowAnt("CveVentaRelacionada").ToString().ToEntero(), .FolioFiscal = RowAnt("FolioFiscal").ToString()})
|
||||||
|
Next
|
||||||
|
Else
|
||||||
HdnFolioFiscalNC.Value = DbRowVenta("FolioFiscalPadre").ToString()
|
HdnFolioFiscalNC.Value = DbRowVenta("FolioFiscalPadre").ToString()
|
||||||
End If
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
If DbRowVenta("Saldo").ToString().ToDouble < 0.01 Then
|
If DbRowVenta("Saldo").ToString().ToDouble < 0.01 Then
|
||||||
If ViewState("CveCotizacion") IsNot Nothing AndAlso ViewState("CveCotizacion").ToString().ToEntero() > 0 AndAlso DdlTipoComprobante.SelectedValue = "Ing" Then
|
If ViewState("CveCotizacion") IsNot Nothing AndAlso ViewState("CveCotizacion").ToString().ToEntero() > 0 AndAlso DdlTipoComprobante.SelectedValue = "Ing" Then
|
||||||
@@ -4617,6 +4642,9 @@ Partial Class Ventas
|
|||||||
TrTipoRelacion2.Visible = True
|
TrTipoRelacion2.Visible = True
|
||||||
LblTipoRelacion.Text = DbRowVenta("TipoRelacion").ToString()
|
LblTipoRelacion.Text = DbRowVenta("TipoRelacion").ToString()
|
||||||
HdnFolioFiscalNC.Value = DbRowVenta("FolioFiscalPadre").ToString()
|
HdnFolioFiscalNC.Value = DbRowVenta("FolioFiscalPadre").ToString()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
End If
|
End If
|
||||||
|
|
||||||
|
|
||||||
@@ -6093,9 +6121,9 @@ Partial Class Ventas
|
|||||||
Using ObjVentas As New ClsVentas
|
Using ObjVentas As New ClsVentas
|
||||||
If ObjVentas.GetVentasRelacionadas(CveVenta, UsuarioActual.CveEmpresa) AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
|
If ObjVentas.GetVentasRelacionadas(CveVenta, UsuarioActual.CveEmpresa) AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
|
||||||
'SI LA FACTURA NO SE TIMBRO QUE VUELVA A INTENTAR FACTURAR
|
'SI LA FACTURA NO SE TIMBRO QUE VUELVA A INTENTAR FACTURAR
|
||||||
If LblSeTimbro.Text = "No" Then
|
'If LblSeTimbro.Text = "No" Then
|
||||||
Me.AplicaRelacionManual = True
|
' Me.AplicaRelacionManual = True
|
||||||
End If
|
'End If
|
||||||
|
|
||||||
For Each RowRelacionada As DataRow In ObjVentas.DtResultados.Rows
|
For Each RowRelacionada As DataRow In ObjVentas.DtResultados.Rows
|
||||||
Dim Row As DataRow = TmpDTFacturasRelacionadas.NewRow()
|
Dim Row As DataRow = TmpDTFacturasRelacionadas.NewRow()
|
||||||
@@ -8343,6 +8371,11 @@ Partial Class Ventas
|
|||||||
' cambiar la condicion para saber si hay seleccionado
|
' cambiar la condicion para saber si hay seleccionado
|
||||||
If (TieneAnticipo AndAlso DdlTipoAmortizacionAnticipo.SelectedValue = "2") OrElse NCDescuento Then
|
If (TieneAnticipo AndAlso DdlTipoAmortizacionAnticipo.SelectedValue = "2") OrElse NCDescuento Then
|
||||||
Try
|
Try
|
||||||
|
'LIMPIA LOS ANTICIPOS RELACIONADOS QUE YA SE APLICARON
|
||||||
|
If ListaAnticiposAplicados IsNot Nothing Then
|
||||||
|
ListaAnticiposAplicados.Clear()
|
||||||
|
End If
|
||||||
|
|
||||||
Dim CveVentaRelacionada As Integer = -1
|
Dim CveVentaRelacionada As Integer = -1
|
||||||
If NuevaFactura = 1 Then
|
If NuevaFactura = 1 Then
|
||||||
CveVentaRelacionada = ObjFactura.CveVenta
|
CveVentaRelacionada = ObjFactura.CveVenta
|
||||||
@@ -8822,7 +8855,7 @@ Partial Class Ventas
|
|||||||
Liga2 = $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={CveCliente}"";"
|
Liga2 = $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={CveCliente}"";"
|
||||||
End If
|
End If
|
||||||
|
|
||||||
Alert(MensajeAlert.ToString(), TipoMensaje.MsgVentasDosBotones, Liga, TextoConfirmacion:="Seguir Registrando", TextoSegundoBoton:="Ir al Cliente", JSBtn2:=Liga2)
|
Alert(MensajeAlert.ToString(), TipoMensaje.MsgVentasDosBotones, Liga, TextoConfirmacion:="Seguir Registrando", TextoSegundoBoton:="Ir al Cliente", JSBtn2:=Liga2, ShowCloseButton:=False)
|
||||||
|
|
||||||
MensajeAlert.Clear()
|
MensajeAlert.Clear()
|
||||||
|
|
||||||
@@ -10167,15 +10200,24 @@ Partial Class Ventas
|
|||||||
|
|
||||||
'Amortizacion
|
'Amortizacion
|
||||||
ObjFactura.CveTipoRelacion = DdlTipoRelacionAnticipo.SelectedValue.ToEntero()
|
ObjFactura.CveTipoRelacion = DdlTipoRelacionAnticipo.SelectedValue.ToEntero()
|
||||||
If ObjFactura.CveTipoRelacion > 0 Then
|
|
||||||
Select Case ObjFactura.CveTipoRelacion
|
|
||||||
Case 7
|
|
||||||
ObjFactura.Timbre.CFDIRelacionados.TipoRelacion = "07"
|
|
||||||
ObjFactura.Timbre.CFDIRelacionados.TipoRelacionTexto = "07-CFDI por aplicación de anticipo"
|
|
||||||
ObjFactura.Timbre.CFDIRelacionados.UUID.Add(HdnFolioFiscalNC.Value)
|
|
||||||
End Select
|
|
||||||
|
|
||||||
End If
|
'If ObjFactura.CveTipoRelacion > 0 Then
|
||||||
|
' Select Case ObjFactura.CveTipoRelacion
|
||||||
|
' Case 7
|
||||||
|
' ObjFactura.Timbre.CFDIRelacionados.TipoRelacion = "07"
|
||||||
|
' ObjFactura.Timbre.CFDIRelacionados.TipoRelacionTexto = "07-CFDI por aplicación de anticipo"
|
||||||
|
|
||||||
|
' If ListaAnticiposAplicados IsNot Nothing Then
|
||||||
|
' For Each Ant As MAnticipoRelacionado In ListaAnticiposAplicados
|
||||||
|
' ObjFactura.Timbre.CFDIRelacionados.UUID.Add(Ant.FolioFiscal)
|
||||||
|
' Next
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' 'ObjFactura.Timbre.CFDIRelacionados.UUID.Add(HdnFolioFiscalNC.Value)
|
||||||
|
' End Select
|
||||||
|
|
||||||
|
'End If
|
||||||
|
|
||||||
ObjFactura.AplicaDevolucion = Me.AplicaDevolucion
|
ObjFactura.AplicaDevolucion = Me.AplicaDevolucion
|
||||||
|
|
||||||
ObjFactura.CveTipoAmortizacionAnticipo = DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero()
|
ObjFactura.CveTipoAmortizacionAnticipo = DdlTipoAmortizacionAnticipo.SelectedValue.ToEntero()
|
||||||
@@ -10705,10 +10747,16 @@ Partial Class Ventas
|
|||||||
Timbre.CFDIRelacionados.UUID.Add(Dr("FolioFiscal").ToString())
|
Timbre.CFDIRelacionados.UUID.Add(Dr("FolioFiscal").ToString())
|
||||||
Next
|
Next
|
||||||
Else
|
Else
|
||||||
If Not String.IsNullOrEmpty(HdnFolioFiscalNC.Value.Trim()) Then
|
If ListaAnticiposAplicados IsNot Nothing AndAlso ListaAnticiposAplicados.Count > 0 Then
|
||||||
|
For Each Ant As MAnticipoRelacionado In ListaAnticiposAplicados
|
||||||
|
Timbre.CFDIRelacionados.UUID.Add(Ant.FolioFiscal)
|
||||||
|
Next
|
||||||
|
Else
|
||||||
|
If Not String.IsNullOrEmpty(HdnFolioFiscalNC.Value.Trim()) AndAlso HdnFolioFiscalNC.Value <> "0" Then
|
||||||
Timbre.CFDIRelacionados.UUID.Add(HdnFolioFiscalNC.Value)
|
Timbre.CFDIRelacionados.UUID.Add(HdnFolioFiscalNC.Value)
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
End If
|
End If
|
||||||
@@ -11371,9 +11419,17 @@ Partial Class Ventas
|
|||||||
|
|
||||||
'SI TIENE UN ANTICIPO TAMBIEN DEBE RELACIONARLO
|
'SI TIENE UN ANTICIPO TAMBIEN DEBE RELACIONARLO
|
||||||
If CveAnticipoPadre > 0 Then
|
If CveAnticipoPadre > 0 Then
|
||||||
If Not ObjVentas.AddVentasRelacionadas(ObjVentas.CveVenta, CveAnticipoPadre) Then
|
If ListaAnticiposAplicados IsNot Nothing Then
|
||||||
|
For Each Ant As MAnticipoRelacionado In ListaAnticiposAplicados
|
||||||
|
If Not ObjVentas.AddVentasRelacionadas(ObjVentas.CveVenta, Ant.CveVenta) Then
|
||||||
ErrorList.Add("Ocurrió un error al relacionar las ventas entre si comuníquese a Soporte Técnico")
|
ErrorList.Add("Ocurrió un error al relacionar las ventas entre si comuníquese a Soporte Técnico")
|
||||||
End If
|
End If
|
||||||
|
Next
|
||||||
|
End If
|
||||||
|
|
||||||
|
'If Not ObjVentas.AddVentasRelacionadas(ObjVentas.CveVenta, CveAnticipoPadre) Then
|
||||||
|
' ErrorList.Add("Ocurrió un error al relacionar las ventas entre si comuníquese a Soporte Técnico")
|
||||||
|
'End If
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End If
|
End If
|
||||||
@@ -13711,195 +13767,195 @@ Partial Class Ventas
|
|||||||
|
|
||||||
Return ErrorPrepoliza
|
Return ErrorPrepoliza
|
||||||
End Function
|
End Function
|
||||||
Private Function generaNC(ByRef ObjVentas As ClsVentas, ByRef ObjConta As ClsContabilidad, ByRef ObjInventario As ClsInventarios, ByRef ObjContr As ClsContratos, ByRef ObjContPaq As ClsContPAQi, ByVal factura As Modelos.Factura, ByRef ObjBancos As ClsBancos, ByRef ObjEventos As ClsOIEventos) As List(Of Object)
|
'Private Function generaNC(ByRef ObjVentas As ClsVentas, ByRef ObjConta As ClsContabilidad, ByRef ObjInventario As ClsInventarios, ByRef ObjContr As ClsContratos, ByRef ObjContPaq As ClsContPAQi, ByVal factura As Modelos.Factura, ByRef ObjBancos As ClsBancos, ByRef ObjEventos As ClsOIEventos) As List(Of Object)
|
||||||
Dim Obj As New List(Of Object)
|
' Dim Obj As New List(Of Object)
|
||||||
Dim CveVentaNueva As Integer = ObjVentas.CveVenta
|
' Dim CveVentaNueva As Integer = ObjVentas.CveVenta
|
||||||
Dim BanderaGeneraNC As Boolean = True
|
' Dim BanderaGeneraNC As Boolean = True
|
||||||
'If UsuarioActual.CveEmpresa.Contiene(1, 119) Then BanderaGeneraNC = True
|
' 'If UsuarioActual.CveEmpresa.Contiene(1, 119) Then BanderaGeneraNC = True
|
||||||
|
|
||||||
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
|
' If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||||
If ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
|
' If ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
|
||||||
Dim drv As DataRow = ObjVentas.DtResultados.Rows(0)
|
' Dim drv As DataRow = ObjVentas.DtResultados.Rows(0)
|
||||||
Dim TmpDTconceptos As DataTable = Nothing
|
' Dim TmpDTconceptos As DataTable = Nothing
|
||||||
Dim CveNCaVincular As Integer = DdlNCFactura.SelectedValue.ToEntero()
|
' Dim CveNCaVincular As Integer = DdlNCFactura.SelectedValue.ToEntero()
|
||||||
'CargaCliente
|
' 'CargaCliente
|
||||||
Dim CveCliente As Integer = drv("CveCliente").ToString().ToEntero()
|
' Dim CveCliente As Integer = drv("CveCliente").ToString().ToEntero()
|
||||||
If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 77 AndAlso Not CveCliente.Contiene(10450, 10460, 10458) Then
|
' If UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 77 AndAlso Not CveCliente.Contiene(10450, 10460, 10458) Then
|
||||||
Return Nothing
|
' Return Nothing
|
||||||
ElseIf UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 21 AndAlso Not CveCliente.Contiene(27448) Then
|
' ElseIf UsuarioActual.CveEmpresa = 2 AndAlso UsuarioActual.CveUsuario = 21 AndAlso Not CveCliente.Contiene(27448) Then
|
||||||
Return Nothing
|
|
||||||
End If
|
|
||||||
factura.TipoDocto = drv("TipoDocto").ToString()
|
|
||||||
factura.Serie = drv("Serie").ToString()
|
|
||||||
factura.FechaEjecucion = drv("FechaEjecucion").ToString().ToDateTime
|
|
||||||
factura.Fecha = drv("Fecha").ToString().ToDateTime
|
|
||||||
factura.CveSubProyectoEjecucion = drv("CveSubProyectoEjecucion").ToString().ToEntero()
|
|
||||||
factura.CveSubProyectoCobranza = drv("CveSubProyectoCobranza").ToString().ToEntero()
|
|
||||||
factura.CveClienteSucursal = drv("CveClienteSucursal").ToString().ToEntero()
|
|
||||||
factura.CveSubProyecto = drv("CveSubProyecto").ToString().ToEntero()
|
|
||||||
|
|
||||||
'Carga Detalle Sucursal
|
|
||||||
CargaClienteSucursal(drv("CveClienteSucursal").ToString().ToEntero(), ObjVentas)
|
|
||||||
|
|
||||||
'CargaDetalle
|
|
||||||
If ObjVentas.GetVentaDetalle(CveVenta) Then
|
|
||||||
TmpDTconceptos = ObjVentas.DtResultados
|
|
||||||
TmpDTconceptos.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
|
|
||||||
GvPS.DataSource = TmpDTconceptos
|
|
||||||
GvPS.DataBind()
|
|
||||||
End If
|
|
||||||
|
|
||||||
'Carga Totales
|
|
||||||
factura.SubTotal = drv("SubTotal").ToString().ToDecimal
|
|
||||||
factura.Descuento = drv("Descuento").ToString().ToDecimal
|
|
||||||
factura.Amortizacion = drv("Amortizacion").ToString().ToDecimal
|
|
||||||
factura.IVA = drv("IVA").ToString().ToDecimal
|
|
||||||
factura.RetIVA = drv("RetIVA").ToString().ToDecimal
|
|
||||||
factura.RetISR = drv("RetISR").ToString().ToDecimal
|
|
||||||
factura.Total = drv("Total").ToString().ToDecimal
|
|
||||||
factura.MotivoDescuento = drv("MotivoDescuento").ToString()
|
|
||||||
factura.Observaciones = drv("Observaciones").ToString()
|
|
||||||
factura.CveMoneda = drv("CveMoneda").ToString().ToEntero()
|
|
||||||
factura.TipoCambio = drv("TipoCambio").ToString().ToDecimal
|
|
||||||
factura.CveVendedor = drv("CveVendedor").ToString().ToEntero()
|
|
||||||
factura.RefDocto = drv("Ref").ToString()
|
|
||||||
'factura.SerieFolioPadre = drv("SerieFolio").ToString()
|
|
||||||
HdnFolioFiscalNC.Value = drv("FolioFiscal").ToString()
|
|
||||||
|
|
||||||
ViewState("FolioFiscal") = drv("FolioFiscal").ToString()
|
|
||||||
|
|
||||||
'JJMQ 20160506: Se agrego para la validacion de pago de contado.
|
|
||||||
'CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "")
|
|
||||||
|
|
||||||
UpContado.Update()
|
|
||||||
If factura.CveCliente > 0 Then
|
|
||||||
If Not IsNothing(TmpDTconceptos) AndAlso TmpDTconceptos.Rows.Count > 0 Then
|
|
||||||
|
|
||||||
If Not drv("Total").ToString().ToDecimal = factura.Total Then
|
|
||||||
Return Nothing
|
|
||||||
End If
|
|
||||||
|
|
||||||
If FolioFiscal = "" Then
|
|
||||||
CveEstatus = 4
|
|
||||||
Else
|
|
||||||
CveEstatus = 5
|
|
||||||
End If
|
|
||||||
|
|
||||||
'[IPP] - CANCELA INVENTARIO DE VENTA NUEVA Y NO TRASPASA MOVTOS DE ALMACEN
|
|
||||||
'If UsuarioActual.CveEmpresa.Contiene(1) Then
|
|
||||||
'QUEMA DOCUMENTO NUEVO
|
|
||||||
If Not ObjInventario.ActualizarEsDevolucionVenta(CveVentaNueva, 2) Then
|
|
||||||
Return Nothing
|
|
||||||
End If
|
|
||||||
'Else
|
|
||||||
' 'TRASPASA ALMACEN A DOCUMENTO NUEVO
|
|
||||||
' If Not CancelarMovimientoInventario(ObjInventario, ObjConta, CveVentaNueva, CveDevolucion) Then
|
|
||||||
' Return Nothing
|
' Return Nothing
|
||||||
' End If
|
' End If
|
||||||
'End If
|
' factura.TipoDocto = drv("TipoDocto").ToString()
|
||||||
|
' factura.Serie = drv("Serie").ToString()
|
||||||
|
' factura.FechaEjecucion = drv("FechaEjecucion").ToString().ToDateTime
|
||||||
|
' factura.Fecha = drv("Fecha").ToString().ToDateTime
|
||||||
|
' factura.CveSubProyectoEjecucion = drv("CveSubProyectoEjecucion").ToString().ToEntero()
|
||||||
|
' factura.CveSubProyectoCobranza = drv("CveSubProyectoCobranza").ToString().ToEntero()
|
||||||
|
' factura.CveClienteSucursal = drv("CveClienteSucursal").ToString().ToEntero()
|
||||||
|
' factura.CveSubProyecto = drv("CveSubProyecto").ToString().ToEntero()
|
||||||
|
|
||||||
'CANCELA PAGOS
|
' 'Carga Detalle Sucursal
|
||||||
If ObjFacturaDevolucion.TipoDocto.Contiene("Ing", "Ant") Then
|
' CargaClienteSucursal(drv("CveClienteSucursal").ToString().ToEntero(), ObjVentas)
|
||||||
If Not ObjConta.PrePolizasCancelarPagos(CveDevolucion, ObjFactura.CvePrePoliza) Then
|
|
||||||
Return Nothing
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
'CANCELA FACTURA
|
' 'CargaDetalle
|
||||||
|
' If ObjVentas.GetVentaDetalle(CveVenta) Then
|
||||||
|
' TmpDTconceptos = ObjVentas.DtResultados
|
||||||
|
' TmpDTconceptos.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
|
||||||
|
' GvPS.DataSource = TmpDTconceptos
|
||||||
|
' GvPS.DataBind()
|
||||||
|
' End If
|
||||||
|
|
||||||
BanderaGeneraNC = True
|
' 'Carga Totales
|
||||||
'2019.05.10- RMF. se activa la bandera a true, para que siempre se cancele, y no genere la NC
|
' factura.SubTotal = drv("SubTotal").ToString().ToDecimal
|
||||||
|
' factura.Descuento = drv("Descuento").ToString().ToDecimal
|
||||||
|
' factura.Amortizacion = drv("Amortizacion").ToString().ToDecimal
|
||||||
|
' factura.IVA = drv("IVA").ToString().ToDecimal
|
||||||
|
' factura.RetIVA = drv("RetIVA").ToString().ToDecimal
|
||||||
|
' factura.RetISR = drv("RetISR").ToString().ToDecimal
|
||||||
|
' factura.Total = drv("Total").ToString().ToDecimal
|
||||||
|
' factura.MotivoDescuento = drv("MotivoDescuento").ToString()
|
||||||
|
' factura.Observaciones = drv("Observaciones").ToString()
|
||||||
|
' factura.CveMoneda = drv("CveMoneda").ToString().ToEntero()
|
||||||
|
' factura.TipoCambio = drv("TipoCambio").ToString().ToDecimal
|
||||||
|
' factura.CveVendedor = drv("CveVendedor").ToString().ToEntero()
|
||||||
|
' factura.RefDocto = drv("Ref").ToString()
|
||||||
|
' 'factura.SerieFolioPadre = drv("SerieFolio").ToString()
|
||||||
|
' HdnFolioFiscalNC.Value = drv("FolioFiscal").ToString()
|
||||||
|
|
||||||
If Month(factura.Fecha) = Month(Now) OrElse BanderaGeneraNC = True Then
|
' ViewState("FolioFiscal") = drv("FolioFiscal").ToString()
|
||||||
If CancelarFactura(ObjVentas, ObjConta, ObjContPaq, ObjBancos) Then
|
|
||||||
Obj.Add(factura)
|
|
||||||
Else
|
|
||||||
Return Nothing
|
|
||||||
End If
|
|
||||||
Else
|
|
||||||
ObjFacturaDevolucion.TipoDocto = "Egs"
|
|
||||||
ObjFacturaDevolucion.Fecha = Now
|
|
||||||
If RegistrarNC(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjContPaq, ObjFacturaDevolucion, ObjBancos, TmpDTconceptos, ObjEventos) Then
|
|
||||||
Obj.Add(ObjFacturaDevolucion)
|
|
||||||
Else
|
|
||||||
Return Nothing
|
|
||||||
End If
|
|
||||||
End If
|
|
||||||
|
|
||||||
'TRASPASA PAGADO
|
' 'JJMQ 20160506: Se agrego para la validacion de pago de contado.
|
||||||
If Not ObjConta.TraspasarSaldosPrePolizas(CveDevolucion, ObjFactura.CveVenta, ObjFactura.CvePrePoliza) Then
|
' 'CVImporteContado.ValueToCompare = TxtTotal.Text.Replace(",", "")
|
||||||
Return Nothing
|
|
||||||
End If
|
|
||||||
|
|
||||||
If Not ObjInventario.TraspasaEntregaDirectaOCInv(ObjFactura.CveVenta, UsuarioActual.CveEmpresa) Then
|
' UpContado.Update()
|
||||||
Return Nothing
|
' If factura.CveCliente > 0 Then
|
||||||
End If
|
' If Not IsNothing(TmpDTconceptos) AndAlso TmpDTconceptos.Rows.Count > 0 Then
|
||||||
|
|
||||||
End If
|
' If Not drv("Total").ToString().ToDecimal = factura.Total Then
|
||||||
End If
|
' Return Nothing
|
||||||
End If
|
' End If
|
||||||
End If
|
|
||||||
|
|
||||||
If Obj.Count > 0 Then
|
' If FolioFiscal = "" Then
|
||||||
Return Obj
|
' CveEstatus = 4
|
||||||
Else
|
|
||||||
Return Nothing
|
|
||||||
End If
|
|
||||||
|
|
||||||
End Function
|
|
||||||
Private Function RegistrarNC(ObjVentas As ClsVentas, ObjConta As ClsContabilidad, ObjInventario As ClsInventarios, ObjContr As ClsContratos, ObjContPaq As ClsContPAQi, ByVal factura As Modelos.Factura, ObjBancos As ClsBancos, TmpDTconceptos As DataTable, ByRef ObjEventos As ClsOIEventos) As Boolean
|
|
||||||
Dim ProcesoCorrecto As Boolean = True
|
|
||||||
RefacturacionGeneroNC = True
|
|
||||||
|
|
||||||
''Generamos el nuevo folio
|
|
||||||
'Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL())
|
|
||||||
'If ObjFolios.GetFolios(factura.TipoDocto, UsuarioActual.CveEmpresa) Then
|
|
||||||
' Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format(" CveSubProyecto = {0} And Estado = 'Activo'", DdlSubProyectoDatos.SelectedValue))
|
|
||||||
' If DT.Rows.Count > 0 Then
|
|
||||||
' factura.Folio = DT.Rows(0)("FActual").ToString().ToEntero()
|
|
||||||
' Else
|
' Else
|
||||||
|
' CveEstatus = 5
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' '[IPP] - CANCELA INVENTARIO DE VENTA NUEVA Y NO TRASPASA MOVTOS DE ALMACEN
|
||||||
|
' 'If UsuarioActual.CveEmpresa.Contiene(1) Then
|
||||||
|
' 'QUEMA DOCUMENTO NUEVO
|
||||||
|
' If Not ObjInventario.ActualizarEsDevolucionVenta(CveVentaNueva, 2) Then
|
||||||
|
' Return Nothing
|
||||||
|
' End If
|
||||||
|
' 'Else
|
||||||
|
' ' 'TRASPASA ALMACEN A DOCUMENTO NUEVO
|
||||||
|
' ' If Not CancelarMovimientoInventario(ObjInventario, ObjConta, CveVentaNueva, CveDevolucion) Then
|
||||||
|
' ' Return Nothing
|
||||||
|
' ' End If
|
||||||
|
' 'End If
|
||||||
|
|
||||||
|
' 'CANCELA PAGOS
|
||||||
|
' If ObjFacturaDevolucion.TipoDocto.Contiene("Ing", "Ant") Then
|
||||||
|
' If Not ObjConta.PrePolizasCancelarPagos(CveDevolucion, ObjFactura.CvePrePoliza) Then
|
||||||
|
' Return Nothing
|
||||||
|
' End If
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' 'CANCELA FACTURA
|
||||||
|
|
||||||
|
' BanderaGeneraNC = True
|
||||||
|
' '2019.05.10- RMF. se activa la bandera a true, para que siempre se cancele, y no genere la NC
|
||||||
|
|
||||||
|
' If Month(factura.Fecha) = Month(Now) OrElse BanderaGeneraNC = True Then
|
||||||
|
' If CancelarFactura(ObjVentas, ObjConta, ObjContPaq, ObjBancos) Then
|
||||||
|
' Obj.Add(factura)
|
||||||
|
' Else
|
||||||
|
' Return Nothing
|
||||||
|
' End If
|
||||||
|
' Else
|
||||||
|
' ObjFacturaDevolucion.TipoDocto = "Egs"
|
||||||
|
' ObjFacturaDevolucion.Fecha = Now
|
||||||
|
' If RegistrarNC(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjContPaq, ObjFacturaDevolucion, ObjBancos, TmpDTconceptos, ObjEventos) Then
|
||||||
|
' Obj.Add(ObjFacturaDevolucion)
|
||||||
|
' Else
|
||||||
|
' Return Nothing
|
||||||
|
' End If
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' 'TRASPASA PAGADO
|
||||||
|
' If Not ObjConta.TraspasarSaldosPrePolizas(CveDevolucion, ObjFactura.CveVenta, ObjFactura.CvePrePoliza) Then
|
||||||
|
' Return Nothing
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' If Not ObjInventario.TraspasaEntregaDirectaOCInv(ObjFactura.CveVenta, UsuarioActual.CveEmpresa) Then
|
||||||
|
' Return Nothing
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' End If
|
||||||
|
' End If
|
||||||
|
' End If
|
||||||
|
' End If
|
||||||
|
|
||||||
|
' If Obj.Count > 0 Then
|
||||||
|
' Return Obj
|
||||||
|
' Else
|
||||||
|
' Return Nothing
|
||||||
|
' End If
|
||||||
|
|
||||||
|
'End Function
|
||||||
|
'Private Function RegistrarNC(ObjVentas As ClsVentas, ObjConta As ClsContabilidad, ObjInventario As ClsInventarios, ObjContr As ClsContratos, ObjContPaq As ClsContPAQi, ByVal factura As Modelos.Factura, ObjBancos As ClsBancos, TmpDTconceptos As DataTable, ByRef ObjEventos As ClsOIEventos) As Boolean
|
||||||
|
' Dim ProcesoCorrecto As Boolean = True
|
||||||
|
' RefacturacionGeneroNC = True
|
||||||
|
|
||||||
|
' ''Generamos el nuevo folio
|
||||||
|
' 'Dim ObjFolios As New ClsGralFolios(ObjVentas.IniciaTransacSQL())
|
||||||
|
' 'If ObjFolios.GetFolios(factura.TipoDocto, UsuarioActual.CveEmpresa) Then
|
||||||
|
' ' Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format(" CveSubProyecto = {0} And Estado = 'Activo'", DdlSubProyectoDatos.SelectedValue))
|
||||||
|
' ' If DT.Rows.Count > 0 Then
|
||||||
|
' ' factura.Folio = DT.Rows(0)("FActual").ToString().ToEntero()
|
||||||
|
' ' Else
|
||||||
|
' ' ProcesoCorrecto = False
|
||||||
|
' ' End If
|
||||||
|
' ' DT.Dispose()
|
||||||
|
' 'End If
|
||||||
|
' factura.Folio = -1
|
||||||
|
|
||||||
|
' 'Registramos la venta
|
||||||
|
' GuardarVenta(ObjVentas, ObjConta, ObjInventario, ObjContr, factura, TmpDTconceptos, -1, ObjContPaq, ObjBancos)
|
||||||
|
' 'CargaNCDT(factura.CveVentaPadre, factura.Total)
|
||||||
|
|
||||||
|
' 'ObjFacturaDevolucion.Timbre = PreParaTimbre(ObjFacturaDevolucion)
|
||||||
|
' ''Timbramos
|
||||||
|
' 'If factura.TipoDocto.Contiene("Ing", "Egs", "Ant") AndAlso FolioFiscal <> "" Then
|
||||||
|
' ' If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then
|
||||||
|
|
||||||
|
' ' Dim sw As New Diagnostics.Stopwatch
|
||||||
|
' ' sw.Start()
|
||||||
|
|
||||||
|
' ' 'FACTURA INGRESO/EGRESO
|
||||||
|
' ' Dim ObjTimbrado As New Modelos.Timbrado
|
||||||
|
' ' Dim FM As New Modelos.FemsaFactura
|
||||||
|
' ' Dim TmpDT7Eleven As New DataTable
|
||||||
|
' ' Dim TmpDTComplementosTimbrado As New DataTable
|
||||||
|
|
||||||
|
' ' PrepararTimbrado(FM, TmpDT7Eleven, TmpDTComplementosTimbrado)
|
||||||
|
|
||||||
|
' ' ObjTimbrado.TimbrarFactura(UsuarioActual, factura, FM, TmpDT, TmpDTImpuestos, TmpDT7Eleven, TmpDTComplementosTimbrado, Ruta, LstFordASN, TxtFordGSDB.Text, ObjVentas)
|
||||||
|
|
||||||
|
' ' sw.Stop()
|
||||||
|
' ' GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString(), UsuarioActual.Empresa.CvePAC)
|
||||||
|
|
||||||
|
' ' ElseIf UsuarioActual.Empresa.TipoFacturacion = "CBB" Then
|
||||||
|
' ' GeneraPDFCBB(ObjFactura.Fecha, Nothing, ObjFactura.SerieFolio, False)
|
||||||
|
' ' End If
|
||||||
|
' 'End If
|
||||||
|
|
||||||
|
' If ErrorList.Count > 0 Then
|
||||||
' ProcesoCorrecto = False
|
' ProcesoCorrecto = False
|
||||||
' End If
|
' End If
|
||||||
' DT.Dispose()
|
|
||||||
'End If
|
|
||||||
factura.Folio = -1
|
|
||||||
|
|
||||||
'Registramos la venta
|
' Return ProcesoCorrecto
|
||||||
GuardarVenta(ObjVentas, ObjConta, ObjInventario, ObjContr, factura, TmpDTconceptos, -1, ObjContPaq, ObjBancos)
|
'End Function
|
||||||
'CargaNCDT(factura.CveVentaPadre, factura.Total)
|
|
||||||
|
|
||||||
'ObjFacturaDevolucion.Timbre = PreParaTimbre(ObjFacturaDevolucion)
|
|
||||||
''Timbramos
|
|
||||||
'If factura.TipoDocto.Contiene("Ing", "Egs", "Ant") AndAlso FolioFiscal <> "" Then
|
|
||||||
' If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then
|
|
||||||
|
|
||||||
' Dim sw As New Diagnostics.Stopwatch
|
|
||||||
' sw.Start()
|
|
||||||
|
|
||||||
' 'FACTURA INGRESO/EGRESO
|
|
||||||
' Dim ObjTimbrado As New Modelos.Timbrado
|
|
||||||
' Dim FM As New Modelos.FemsaFactura
|
|
||||||
' Dim TmpDT7Eleven As New DataTable
|
|
||||||
' Dim TmpDTComplementosTimbrado As New DataTable
|
|
||||||
|
|
||||||
' PrepararTimbrado(FM, TmpDT7Eleven, TmpDTComplementosTimbrado)
|
|
||||||
|
|
||||||
' ObjTimbrado.TimbrarFactura(UsuarioActual, factura, FM, TmpDT, TmpDTImpuestos, TmpDT7Eleven, TmpDTComplementosTimbrado, Ruta, LstFordASN, TxtFordGSDB.Text, ObjVentas)
|
|
||||||
|
|
||||||
' sw.Stop()
|
|
||||||
' GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString(), UsuarioActual.Empresa.CvePAC)
|
|
||||||
|
|
||||||
' ElseIf UsuarioActual.Empresa.TipoFacturacion = "CBB" Then
|
|
||||||
' GeneraPDFCBB(ObjFactura.Fecha, Nothing, ObjFactura.SerieFolio, False)
|
|
||||||
' End If
|
|
||||||
'End If
|
|
||||||
|
|
||||||
If ErrorList.Count > 0 Then
|
|
||||||
ProcesoCorrecto = False
|
|
||||||
End If
|
|
||||||
|
|
||||||
Return ProcesoCorrecto
|
|
||||||
End Function
|
|
||||||
#End Region
|
#End Region
|
||||||
|
|
||||||
#Region " VISTA PREVIA NEW "
|
#Region " VISTA PREVIA NEW "
|
||||||
@@ -15003,12 +15059,19 @@ Partial Class Ventas
|
|||||||
Dim Amortizacion As Decimal = 0
|
Dim Amortizacion As Decimal = 0
|
||||||
Dim ImpuestosLocalesTemporal As Decimal = 0
|
Dim ImpuestosLocalesTemporal As Decimal = 0
|
||||||
|
|
||||||
|
If ListaAnticiposAplicados IsNot Nothing Then
|
||||||
|
ListaAnticiposAplicados.Clear()
|
||||||
|
Else
|
||||||
|
ListaAnticiposAplicados = New List(Of MAnticipoRelacionado)
|
||||||
|
End If
|
||||||
|
|
||||||
HdnIVACalculado.Value = HdnIVAOriginal.Value
|
HdnIVACalculado.Value = HdnIVAOriginal.Value
|
||||||
For Each gvr As GridViewRow In GVAnticipos.Rows
|
For Each gvr As GridViewRow In GVAnticipos.Rows
|
||||||
If gvr.FCCheckBox("Chk" & gvr.RowIndex) IsNot Nothing AndAlso gvr.FCCheckBox("Chk" & gvr.RowIndex).Checked AndAlso gvr.DataKey("CveConceptoContable").ToEntero().Contiene(3) Then
|
If gvr.FCCheckBox("Chk" & gvr.RowIndex) IsNot Nothing AndAlso gvr.FCCheckBox("Chk" & gvr.RowIndex).Checked AndAlso gvr.DataKey("CveConceptoContable").ToEntero().Contiene(3) Then
|
||||||
Amortizacion += gvr.FCTextBox(String.Format("TxtAnticipo{0}", gvr.RowIndex)).Text.ToDecimal ' - ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("TotalAnticipo").ToDecimal) * gvr.DataKey("IVAAnticipo").ToDecimal)
|
Amortizacion += gvr.FCTextBox(String.Format("TxtAnticipo{0}", gvr.RowIndex)).Text.ToDecimal ' - ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("TotalAnticipo").ToDecimal) * gvr.DataKey("IVAAnticipo").ToDecimal)
|
||||||
HdnIVACalculado.Value = (HdnIVACalculado.Value.ToDouble - ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("TotalAnticipo").ToDecimal) * gvr.DataKey("IVAAnticipo").ToDecimal)).FormatoNumero(2)
|
HdnIVACalculado.Value = (HdnIVACalculado.Value.ToDouble - ((gvr.FCTextBox("TxtAnticipo" & gvr.RowIndex).Text.ToDecimal / gvr.DataKey("TotalAnticipo").ToDecimal) * gvr.DataKey("IVAAnticipo").ToDecimal)).FormatoNumero(2)
|
||||||
HdnFolioFiscalNC.Value = gvr.DataKey("FolioFiscal")
|
ListaAnticiposAplicados.Add(New MAnticipoRelacionado() With {.CveVenta = gvr.DataKey("CveVenta").ToEntero(), .FolioFiscal = gvr.DataKey("FolioFiscal")})
|
||||||
|
'HdnFolioFiscalNC.Value = gvr.DataKey("FolioFiscal")
|
||||||
|
|
||||||
'CvePSAmortizacion = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePS", "CveConceptoContable = 11").ToEntero()
|
'CvePSAmortizacion = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePS", "CveConceptoContable = 11").ToEntero()
|
||||||
End If
|
End If
|
||||||
@@ -32425,5 +32488,10 @@ Partial Class Ventas
|
|||||||
End Select
|
End Select
|
||||||
UpModalSolicitud.Update()
|
UpModalSolicitud.Update()
|
||||||
End Sub
|
End Sub
|
||||||
|
|
||||||
|
Public Class MAnticipoRelacionado
|
||||||
|
Public Property CveVenta As Integer
|
||||||
|
Public Property FolioFiscal As String
|
||||||
|
End Class
|
||||||
End Class
|
End Class
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user