--Ferretera. Crear varios pagos para la factura global en base a la forma de pago de las remisiones.

This commit is contained in:
2024-02-08 11:55:38 -07:00
parent eaf6f2b872
commit 1965c3e2dd
2 changed files with 27 additions and 4 deletions

View File

@@ -1299,6 +1299,25 @@ Public Class ClsClientes
Return Retorno Return Retorno
End Function End Function
Public Function GetVentasRemisionesPagos(CveCliente As Integer, Ventas As String) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasRemisionesPagos")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@Ventas", SqlDbType.VarChar).Value = Ventas
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los pagos de las remisiones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
''' <summary> ''' <summary>
''' Obtiene las ventas que tienen Serie-Folio que no existen en la base de datos pero si en el xml y que esten en la base de datos pero no en el XML ''' Obtiene las ventas que tienen Serie-Folio que no existen en la base de datos pero si en el xml y que esten en la base de datos pero no en el XML
''' </summary> ''' </summary>

View File

@@ -159,10 +159,16 @@ Partial Class Ventas_FacturacionGlobal
SbRemisiones.Remove(SbRemisiones.Length - 1, 1) SbRemisiones.Remove(SbRemisiones.Length - 1, 1)
Dim DtRemisionesPS As New DataTable() Dim DtRemisionesPS As New DataTable()
Dim DtPagos As New DataTable()
Dim ObjClientes As New ClsClientes Dim ObjClientes As New ClsClientes
If ObjClientes.GetVentasRemisionesTotales(CveCliente, SbRemisiones.ToString(), 1) Then If ObjClientes.GetVentasRemisionesTotales(CveCliente, SbRemisiones.ToString(), 1) Then
DtRemisionesPS = ObjClientes.DtResultados.Copy() DtRemisionesPS = ObjClientes.DtResultados.Copy()
End If End If
If ObjClientes.GetVentasRemisionesPagos(CveCliente, SbRemisiones.ToString()) Then
DtPagos = ObjClientes.DtResultados.Copy()
End If
ObjClientes.Dispose() ObjClientes.Dispose()
Dim ObjFactura = Modelos.Factura.CrearVentaNueva(UsuarioActual, Me.CveSubProyecto, CveCliente, CveMoneda, "Ing") Dim ObjFactura = Modelos.Factura.CrearVentaNueva(UsuarioActual, Me.CveSubProyecto, CveCliente, CveMoneda, "Ing")
@@ -173,6 +179,7 @@ Partial Class Ventas_FacturacionGlobal
ObjFactura.RemisionesLista = RemisionesLista ObjFactura.RemisionesLista = RemisionesLista
ObjFactura.DtRemisionesPS = DtRemisionesPS ObjFactura.DtRemisionesPS = DtRemisionesPS
ObjFactura.DtRemisiones = DtRemisiones.FiltraParametros($"CveVenta IN ({SbRemisiones.ToString()})") ObjFactura.DtRemisiones = DtRemisiones.FiltraParametros($"CveVenta IN ({SbRemisiones.ToString()})")
ObjFactura.DtPagos = DtPagos
For Each Dr As DataRow In DtRemisionesPS.Rows For Each Dr As DataRow In DtRemisionesPS.Rows
ObjFactura.AgregarPS(Dr("CvePS").ToString().ToEntero(), Dr("Cantidad").ToString().ToDecimal(), Dr("PU").ToString().ToDecimal(), Dr("Descuento").ToString().ToDecimal, Dr("Obs").ToString(), CveUM:=Dr("CveUM").ToString().ToEntero(), ObjFactura.AgregarPS(Dr("CvePS").ToString().ToEntero(), Dr("Cantidad").ToString().ToDecimal(), Dr("PU").ToString().ToDecimal(), Dr("Descuento").ToString().ToDecimal, Dr("Obs").ToString(), CveUM:=Dr("CveUM").ToString().ToEntero(),
@@ -184,17 +191,14 @@ Partial Class Ventas_FacturacionGlobal
'ObjFactura.DtInventario = ObjFactura.DtDetalle.FiltraParametros("CveTipoPs = 2") 'ObjFactura.DtInventario = ObjFactura.DtDetalle.FiltraParametros("CveTipoPs = 2")
Dim SbAlert As New StringBuilder() Dim SbAlert As New StringBuilder()
Dim urlFactura As String = ""
Dim Retorno As Modelos.Factura.MMensajeFactura = Nothing Dim Retorno As Modelos.Factura.MMensajeFactura = Nothing
Try Try
Retorno = ObjFactura.EmitirFactura(True) Retorno = ObjFactura.EmitirFactura(True)
If Retorno IsNot Nothing AndAlso Retorno.CveVenta > 0 Then If Retorno IsNot Nothing AndAlso Retorno.CveVenta > 0 Then
SbAlert.AppendFormat("{0}<br>", Retorno.Mensajes(Retorno.Mensajes.Count - 1)) SbAlert.AppendFormat("{0}", Retorno.Mensajes(Retorno.Mensajes.Count - 1))
SbAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF Factura</a></li></ul><br/>", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", Retorno.CveVenta))) SbAlert.AppendFormat("<ul><li><a class=""Texto"" href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar PDF Factura</a></li></ul><br/>", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", Retorno.CveVenta)))
urlFactura = $"/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", Retorno.CveVenta))}"
Else Else
SbAlert.Append("Ocurrió un error al generar la factura") SbAlert.Append("Ocurrió un error al generar la factura")
End If End If