--Ferretera. impresion directa en cobranza
This commit is contained in:
@@ -815,7 +815,11 @@
|
||||
</div>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||
<script src="/Scripts/PrintJS/print.min.js"></script>
|
||||
<script type="text/javascript">
|
||||
function impresionDirecta(urlPDF) {
|
||||
printJS({ printable: urlPDF, type: 'pdf', showModal: true });
|
||||
}
|
||||
function CalculaTotalPagoContado() {
|
||||
debugger;
|
||||
var totalEfectivo = ToDouble($get("TxtImporteEfectivo").value);
|
||||
|
||||
@@ -234,16 +234,22 @@ Partial Class Ventas_PVCobranza
|
||||
Dim CveVenta As Integer = e.CommandArgument.ToString.ToEntero
|
||||
Dim ObjVentas As New ClsVentas
|
||||
ObjVentas.IniciaTransacSQL()
|
||||
If Not ObjVentas.UpdateAsignaVentaCobranza(CveVenta, 1, UsuarioActual.CveUsuario, -1, "", Now) Then
|
||||
TieneError = True
|
||||
End If
|
||||
HdnCveVenta.Value = CveVenta.ToString
|
||||
TxtImporteEfectivo.Text = GvRow.DataKey("Saldo").FormatoNumero
|
||||
TxtImporteContado.Text = GvRow.DataKey("Saldo").FormatoNumero
|
||||
HdnTotal.Value = GvRow.DataKey("Saldo")
|
||||
TxtImporteEfectivo.Focus()
|
||||
LtlNombre.Text = GvRow.DataKey("DescripcionVenta")
|
||||
LtlSaldo.Text = GvRow.DataKey("Saldo").ToDecimal.FormatoNumero
|
||||
|
||||
Try
|
||||
If Not ObjVentas.UpdateAsignaVentaCobranza(CveVenta, 1, UsuarioActual.CveUsuario, -1, "", Now) Then
|
||||
TieneError = True
|
||||
End If
|
||||
HdnCveVenta.Value = CveVenta.ToString
|
||||
TxtImporteEfectivo.Text = GvRow.DataKey("Saldo").FormatoNumero
|
||||
TxtImporteContado.Text = GvRow.DataKey("Saldo").FormatoNumero
|
||||
HdnTotal.Value = GvRow.DataKey("Saldo")
|
||||
TxtImporteEfectivo.Focus()
|
||||
LtlNombre.Text = GvRow.DataKey("DescripcionVenta")
|
||||
LtlSaldo.Text = GvRow.DataKey("Saldo").ToDecimal.FormatoNumero
|
||||
Catch ex As Exception
|
||||
TieneError = True
|
||||
End Try
|
||||
|
||||
'carga información para cobranza
|
||||
|
||||
If Not TieneError Then
|
||||
@@ -270,79 +276,107 @@ Partial Class Ventas_PVCobranza
|
||||
End If
|
||||
|
||||
Dim CveVenta As Integer = HdnCveVenta.Value.ToEntero
|
||||
|
||||
Dim DbRowVenta As DataRow = Nothing
|
||||
Dim ObjVentas As New ClsVentas
|
||||
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
|
||||
Dim DbRowVenta As DataRow = ObjVentas.DtResultados.FiltroPrimero("")
|
||||
|
||||
Dim VentaActual As New Venta(UsuarioActual)
|
||||
VentaActual.CveVenta = CveVenta
|
||||
|
||||
VentaActual.Fecha = DbRowVenta("Fecha").ToString.ToDate
|
||||
VentaActual.CveCliente = DbRowVenta("CveCliente").ToString.ToEntero
|
||||
VentaActual.CveMoneda = DbRowVenta("CveMoneda").ToString.ToEntero
|
||||
VentaActual.SerieFolio = DbRowVenta("SerieFolio").ToString
|
||||
VentaActual.ClienteNombre = DbRowVenta("ClienteNombre").ToString
|
||||
VentaActual.TC = DbRowVenta("TipoCambio").ToString.ToDecimal
|
||||
VentaActual.Total = DbRowVenta("Total").ToString.ToDecimal
|
||||
VentaActual.IVA = DbRowVenta("IVA").ToString.ToDecimal
|
||||
VentaActual.IEPS = DbRowVenta("IEPS").ToString.ToDecimal
|
||||
VentaActual.RetIVA = DbRowVenta("RetIVA").ToString.ToDecimal
|
||||
VentaActual.RetISR = DbRowVenta("RetISR").ToString.ToDecimal
|
||||
|
||||
VentaActual.PorcentajeIVA = DbRowVenta("PorcentajeIVA").ToString.ToDecimal
|
||||
VentaActual.UsuarioActual = UsuarioActual
|
||||
VentaActual.CveSubProyecto = DbRowVenta("CveSubProyecto").ToString.ToEntero
|
||||
|
||||
Dim ObjConta As New ClsContabilidad
|
||||
Dim ObjIE As New ClsBancos(ObjConta.IniciaTransacSQL())
|
||||
Dim ObjVentas2 As New ClsVentas(ObjConta.IniciaTransacSQL())
|
||||
|
||||
Dim CvePrePoliza As Integer
|
||||
Dim Fecha As Date = NowADS()
|
||||
Dim PagoEfectivo As Decimal = TxtImporteEfectivo.Text.ToDecimal
|
||||
Dim Mensaje As String = ""
|
||||
Dim SaldoPendiente As Decimal = VentaActual.Total
|
||||
|
||||
CvePrePoliza = ObjConta.AddPrePolizas("PVCobranza", 5, 0, 0, 1, Fecha, $"Pago {VentaActual.SerieFolio}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
|
||||
If CvePrePoliza > 0 Then
|
||||
|
||||
If PagoEfectivo > 0 Then
|
||||
If PagoEfectivo > VentaActual.Total Then
|
||||
TxtCambio.Text = (VentaActual.Total - PagoEfectivo).FormatoNumero
|
||||
PagoEfectivo = VentaActual.Total
|
||||
End If
|
||||
Mensaje = RegistraIE(13, DdlCuentaEfectivo.SelectedValue.ToEntero, PagoEfectivo, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2)
|
||||
End If
|
||||
SaldoPendiente -= PagoEfectivo
|
||||
If SaldoPendiente > 0 AndAlso TxtImporteCredito.Text.ToDecimal > 0 Then
|
||||
Mensaje = RegistraIE(12, DdlCuentaTarjetaCredito.SelectedValue.ToEntero, TxtImporteCredito.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2)
|
||||
PagoEfectivo = TxtImporteCredito.Text.ToDecimal
|
||||
End If
|
||||
SaldoPendiente -= PagoEfectivo
|
||||
If SaldoPendiente > 0 AndAlso TxtImporteDebito.Text.ToDecimal > 0 Then
|
||||
Mensaje = RegistraIE(11, DdlCuentaTarjetaDebito.SelectedValue.ToEntero, TxtImporteDebito.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2)
|
||||
PagoEfectivo = TxtImporteDebito.Text.ToDecimal
|
||||
End If
|
||||
If SaldoPendiente > 0 AndAlso TxtImporteCheque.Text.ToDecimal > 0 Then
|
||||
Mensaje = RegistraIE(3, DdlCuentaCheque.SelectedValue.ToEntero, TxtImporteCheque.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2)
|
||||
PagoEfectivo = TxtImporteCheque.Text.ToDecimal
|
||||
End If
|
||||
|
||||
Else
|
||||
Mensaje = "Error al registrar prepólizas"
|
||||
End If
|
||||
|
||||
If Mensaje = "" Then
|
||||
PnlContado.Visible = False
|
||||
ObjConta.Commit()
|
||||
CargaDatos()
|
||||
Alert($"Pago Registrado correctamente.<br/><br/> <a href=""/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1&TICKET=1®ENERAR=1", CveVenta))}"" class='Texto'>Imprimir ticket</a>", TipoMensaje.MsgInformacion)
|
||||
Else
|
||||
ObjConta.RollBack()
|
||||
End If
|
||||
DbRowVenta = ObjVentas.DtResultados.Copy().FiltroPrimero("")
|
||||
End If
|
||||
ObjVentas.Dispose()
|
||||
|
||||
If DbRowVenta IsNot Nothing Then
|
||||
Dim VentaActual As New Venta(UsuarioActual)
|
||||
VentaActual.CveVenta = CveVenta
|
||||
|
||||
VentaActual.Fecha = DbRowVenta("Fecha").ToString.ToDate
|
||||
VentaActual.CveCliente = DbRowVenta("CveCliente").ToString.ToEntero
|
||||
VentaActual.CveMoneda = DbRowVenta("CveMoneda").ToString.ToEntero
|
||||
VentaActual.SerieFolio = DbRowVenta("SerieFolio").ToString
|
||||
VentaActual.ClienteNombre = DbRowVenta("ClienteNombre").ToString
|
||||
VentaActual.TC = DbRowVenta("TipoCambio").ToString.ToDecimal
|
||||
VentaActual.Total = DbRowVenta("Total").ToString.ToDecimal
|
||||
VentaActual.IVA = DbRowVenta("IVA").ToString.ToDecimal
|
||||
VentaActual.IEPS = DbRowVenta("IEPS").ToString.ToDecimal
|
||||
VentaActual.RetIVA = DbRowVenta("RetIVA").ToString.ToDecimal
|
||||
VentaActual.RetISR = DbRowVenta("RetISR").ToString.ToDecimal
|
||||
|
||||
VentaActual.PorcentajeIVA = DbRowVenta("PorcentajeIVA").ToString.ToDecimal
|
||||
VentaActual.UsuarioActual = UsuarioActual
|
||||
VentaActual.CveSubProyecto = DbRowVenta("CveSubProyecto").ToString.ToEntero
|
||||
|
||||
Dim CvePrePoliza As Integer
|
||||
Dim Fecha As Date = NowADS()
|
||||
Dim PagoEfectivo As Decimal = TxtImporteEfectivo.Text.ToDecimal
|
||||
Dim MsgError As String = ""
|
||||
Dim SaldoPendiente As Decimal = VentaActual.Total
|
||||
|
||||
Dim ObjConta As New ClsContabilidad
|
||||
Dim ObjIE As New ClsBancos(ObjConta.IniciaTransacSQL())
|
||||
Dim ObjVentas2 As New ClsVentas(ObjConta.IniciaTransacSQL())
|
||||
Try
|
||||
CvePrePoliza = ObjConta.AddPrePolizas("PVCobranza", 5, 0, 0, 1, Fecha, $"Pago {VentaActual.SerieFolio}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
|
||||
If CvePrePoliza > 0 Then
|
||||
|
||||
If PagoEfectivo > 0 Then
|
||||
If PagoEfectivo > VentaActual.Total Then
|
||||
TxtCambio.Text = (VentaActual.Total - PagoEfectivo).FormatoNumero
|
||||
PagoEfectivo = VentaActual.Total
|
||||
End If
|
||||
MsgError = RegistraIE(13, DdlCuentaEfectivo.SelectedValue.ToEntero, PagoEfectivo, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2)
|
||||
End If
|
||||
SaldoPendiente -= PagoEfectivo
|
||||
If SaldoPendiente > 0 AndAlso TxtImporteCredito.Text.ToDecimal > 0 Then
|
||||
MsgError = RegistraIE(12, DdlCuentaTarjetaCredito.SelectedValue.ToEntero, TxtImporteCredito.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2)
|
||||
PagoEfectivo = TxtImporteCredito.Text.ToDecimal
|
||||
End If
|
||||
SaldoPendiente -= PagoEfectivo
|
||||
If SaldoPendiente > 0 AndAlso TxtImporteDebito.Text.ToDecimal > 0 Then
|
||||
MsgError = RegistraIE(11, DdlCuentaTarjetaDebito.SelectedValue.ToEntero, TxtImporteDebito.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2)
|
||||
PagoEfectivo = TxtImporteDebito.Text.ToDecimal
|
||||
End If
|
||||
If SaldoPendiente > 0 AndAlso TxtImporteCheque.Text.ToDecimal > 0 Then
|
||||
MsgError = RegistraIE(3, DdlCuentaCheque.SelectedValue.ToEntero, TxtImporteCheque.Text.ToDecimal, Fecha, CvePrePoliza, VentaActual, ObjIE, ObjConta, ObjVentas2)
|
||||
PagoEfectivo = TxtImporteCheque.Text.ToDecimal
|
||||
End If
|
||||
|
||||
Else
|
||||
MsgError = "Error al registrar prepólizas"
|
||||
End If
|
||||
Catch ex As Exception
|
||||
MsgError = "Error al registrar el pago"
|
||||
GuardaLog(ex.ToString())
|
||||
End Try
|
||||
|
||||
If MsgError = "" Then
|
||||
ObjConta.Commit()
|
||||
Alert($"Pago Registrado correctamente.<br/><br/> <a href=""/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1&TICKET=1®ENERAR=1", CveVenta))}"" class='Texto'>Imprimir ticket</a>", TipoMensaje.MsgInformacion)
|
||||
Else
|
||||
ObjConta.RollBack()
|
||||
Alert(MsgError, TipoMensaje.MsgError)
|
||||
End If
|
||||
|
||||
ObjConta.Dispose()
|
||||
ObjIE.Dispose()
|
||||
ObjVentas2.Dispose()
|
||||
|
||||
If MsgError = "" Then
|
||||
Try
|
||||
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
|
||||
ImpresionDirectaPDF(HdnCveVenta.Value.ToEntero)
|
||||
End If
|
||||
|
||||
PnlContado.Visible = False
|
||||
HdnCveVenta.Value = ""
|
||||
CargaDatos()
|
||||
Catch ex As Exception
|
||||
GuardaLog(ex.ToString())
|
||||
End Try
|
||||
End If
|
||||
Else
|
||||
Alert("Ocurrió un error al cargar la venta", TipoMensaje.MsgError)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Function RegistraIE(Metodo As Integer, CveBancoCuenta As Integer, ImportePago As Decimal, Fecha As Date, CvePrePoliza As Integer, VentaActual As Venta, ByRef ObjIE As ClsBancos, ByRef ObjConta As ClsContabilidad, ByRef ObjVentas As ClsVentas) As String
|
||||
@@ -497,5 +531,34 @@ Partial Class Ventas_PVCobranza
|
||||
End If
|
||||
End If
|
||||
ObjPVenta.Dispose()
|
||||
End Sub
|
||||
|
||||
Private Sub ImpresionDirectaPDF(CveVenta As Integer)
|
||||
Dim ObjFactura As New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, CargaDTDetalle:=False, CargaDatosCliente:=False, CargaDatosRelacionados:=False, VerificaAlmacen:=False)
|
||||
|
||||
Dim ExistePDF As Boolean = False
|
||||
Dim ArchivoPDF As String = String.Format("{0}/PDF/{1}/{2}.pdf", UsuarioActual.Empresa.Ruta, ObjFactura.TipoDocto, ObjFactura.SerieFolio)
|
||||
|
||||
If System.IO.File.Exists(ArchivoPDF) Then
|
||||
ExistePDF = True
|
||||
Else
|
||||
'REGENERAR EL PDF
|
||||
Try
|
||||
GenerarPDFVenta(CveVenta, AplicaPagare:="1", GuardarPDF:=True, RegenerarPDF:=True, DescargarArchivo:=False)
|
||||
If System.IO.File.Exists(ArchivoPDF) Then
|
||||
ExistePDF = True
|
||||
End If
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al regenerar el PDF", ex)
|
||||
End Try
|
||||
End If
|
||||
|
||||
If ExistePDF Then
|
||||
Dim urlPDF As String = $"/Ashx/SIGDesc.ashx?metodo=descargarPDFVenta&CveVenta={CveVenta}"
|
||||
RegistraScript($"impresionDirecta('{urlPDF}');", "Imprimir")
|
||||
Else
|
||||
Alert("No se pudo imprimir el pdf directamente. favor de descargar manualmente el pdf.", TipoMensaje.MsgAdvertencia)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user