This commit is contained in:
2024-03-26 06:32:45 -07:00
4 changed files with 99 additions and 61 deletions

View File

@@ -5599,6 +5599,11 @@ Partial Class Ventas
DdlVendedor.Enabled = False
End If
'PERMITIR EDITAR EL VENDEDOR ANTES DE FACTURAR
If UsuarioActual.Empresa.Funcionalidad(109) = "1" AndAlso (CveVenta > 0 AndAlso DdlTipoComprobante.SelectedValue = "Cot" AndAlso TmpDT IsNot Nothing AndAlso TmpDT.SUM("CantidadFacturadaCot") = 0) Then
DdlVendedor.Enabled = True
End If
If CveVentaPadre > 0 Then
If IsNothing(Request("CveDevolucion")) AndAlso IsNumeric(Request("CveDevolucion")) Then
DdlNCFactura.Visible = True
@@ -5802,6 +5807,10 @@ Partial Class Ventas
'DdlSucursalEjecucion.Enabled = False
'DdlSucursalCobranza.Enabled = False
DdlVendedor.Enabled = False
'PERMITIR EDITAR EL VENDEDOR ANTES DE FACTURAR
If UsuarioActual.Empresa.Funcionalidad(109) = "1" AndAlso (CveVenta > 0 AndAlso DdlTipoComprobante.SelectedValue = "Cot" AndAlso TmpDT IsNot Nothing AndAlso TmpDT.SUM("CantidadFacturadaCot") = 0) Then
DdlVendedor.Enabled = True
End If
DdlSucursalCliente.Enabled = False
TxtTiempoEntrega.Enabled = False
TxtAlfa1.ReadOnly = True
@@ -7195,8 +7204,13 @@ Partial Class Ventas
HabilitarRemisionesPublicoGeneral()
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
If Not String.IsNullOrEmpty(UsuarioActual.CveTipoDocumento) Then
DdlTipoComprobante.SelectedValueExist(UsuarioActual.CveTipoDocumento)
If Opcion = "Cot" Then
DdlTipoComprobante.SelectedValueExist("Cot")
Else
If Not String.IsNullOrEmpty(UsuarioActual.CveTipoDocumento) Then
DdlTipoComprobante.SelectedValueExist(UsuarioActual.CveTipoDocumento)
DdlTipoComprobante_SelectedIndexChanged(DdlTipoComprobante, Nothing)
End If
End If
End If
End If
@@ -7207,8 +7221,6 @@ Partial Class Ventas
End If
'If UsuarioActual.Empresa.Funcionalidad(705) = "1" Then
' Using ObjVentas As New ClsVentas
' If ObjVentas.GetLineasAdicionales(-1, CveCliente, -1, -1, DdlMoneda.SelectedValue.ToEntero(), MinFecha, MaxFecha, 0, UsuarioActual.CveEmpresa) Then
@@ -7771,44 +7783,52 @@ Partial Class Ventas
'VERIFICAR RESTRICCIONES DEL CLIENTE
If Not UsuarioActual.Empresa.Funcionalidad(702).ToEntero() > 0 Then
If (DdlTipoComprobante.SelectedValue = "Cot" AndAlso CveVenta > 0 AndAlso RBLPago.SelectedValue = "2") Then
Dim Vta As New ClsVentas
Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa)
Dim OpcionMsg As String = String.Format("El Cliente se encuentra bloqueado por la siguiente razón: <br> <br> {0}", Vta.SerieVenta)
Vta.Dispose()
Dim Valida As Boolean = True
If UsuarioActual.Empresa.Funcionalidad(109) = "1" AndAlso (Me.CveCliente = UsuarioActual.Empresa.Funcionalidad(714).ToEntero() OrElse Me.PermiteCredito) Then
Valida = False
End If
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
Dim Autorizacion As Integer = 0
If Valida Then
Dim Vta As New ClsVentas
Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa)
Dim OpcionMsg As String = String.Format("El Cliente se encuentra bloqueado por la siguiente razón: <br> <br> {0}", Vta.SerieVenta)
Vta.Dispose()
Dim ObjVentas As New ClsVentas
If ObjVentas.GetAutorizacionLimite(UsuarioActual.CveEmpresa, CveCliente, DdlVendedor.SelectedValue.ToEntero, "Ing", CveEstatus:=1) Then
Dim RowAutorizacion As DataRow = Nothing
'SI TIENE DIAS VENCIDOS BUSCAR POR TIPO VENCIMIENTO
If TieneDiasVencidos Then
RowAutorizacion = ObjVentas.DtResultados.FiltroPrimero($"TipoAutorizacion IN(1,2) AND CveVenta IS NULL AND CveTipoDocumento='Ing'", Orderby:="Importe DESC")
Else
RowAutorizacion = ObjVentas.DtResultados.FiltroPrimero($"TipoAutorizacion = 1 AND CveVenta IS NULL AND CveTipoDocumento='Ing'", Orderby:="Importe DESC")
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
Dim Autorizacion As Integer = 0
Dim ObjVentas As New ClsVentas
If ObjVentas.GetAutorizacionLimite(UsuarioActual.CveEmpresa, CveCliente, DdlVendedor.SelectedValue.ToEntero, "Ing", CveEstatus:=1) Then
Dim RowAutorizacion As DataRow = Nothing
'SI TIENE DIAS VENCIDOS BUSCAR POR TIPO VENCIMIENTO
If TieneDiasVencidos Then
RowAutorizacion = ObjVentas.DtResultados.FiltroPrimero($"TipoAutorizacion IN(1,2) AND CveVenta IS NULL AND CveTipoDocumento='Ing'", Orderby:="Importe DESC")
Else
RowAutorizacion = ObjVentas.DtResultados.FiltroPrimero($"TipoAutorizacion = 1 AND CveVenta IS NULL AND CveTipoDocumento='Ing'", Orderby:="Importe DESC")
End If
If RowAutorizacion IsNot Nothing Then
Autorizacion = RowAutorizacion("CveAutorizacion").ToString().ToEntero()
End If
End If
ObjVentas.Dispose()
'SI NO TIENE AUTORIZACION, MANTIENE EL BLOQUEO POR CONDICIONES DE CREDITO
If Opcion > 0 AndAlso Autorizacion <= 0 Then
Alert(OpcionMsg, TipoMensaje.MsgAdvertencia)
BtnsFacturar.Visible = False
BtnGenerarRemision.Visible = False
End If
If RowAutorizacion IsNot Nothing Then
Autorizacion = RowAutorizacion("CveAutorizacion").ToString().ToEntero()
Else
If Opcion > 0 Then
Alert(OpcionMsg, TipoMensaje.MsgAdvertencia)
BtnsFacturar.Visible = False
BtnGenerarRemision.Visible = False
End If
End If
ObjVentas.Dispose()
'SI NO TIENE AUTORIZACION, MANTIENE EL BLOQUEO POR CONDICIONES DE CREDITO
If Opcion > 0 AndAlso Autorizacion <= 0 Then
Alert(OpcionMsg, TipoMensaje.MsgAdvertencia)
BtnsFacturar.Visible = False
BtnGenerarRemision.Visible = False
End If
Else
If Opcion > 0 Then
Alert(OpcionMsg, TipoMensaje.MsgAdvertencia)
BtnsFacturar.Visible = False
BtnGenerarRemision.Visible = False
End If
End If
End If
End If
@@ -15567,7 +15587,13 @@ Partial Class Ventas
'TRASPASO DE PAGOS DE REMISIONES A FACTURA GLOBAL
If ObjFactura.DtPagosFacturaGlobal IsNot Nothing Then
If ObjFactura.UsuarioActual Is Nothing Then
ObjFactura.UsuarioActual = UsuarioActual
Else
If ObjFactura.UsuarioActual.Empresa Is Nothing Then
ObjFactura.UsuarioActual.Empresa = UsuarioActual.Empresa
End If
End If
Dim VentaActual As New ClsPaginas.Venta(ObjFactura, UsuarioActual)
For Each DrPago As DataRow In ObjFactura.DtPagosFacturaGlobal.Rows
@@ -18305,6 +18331,11 @@ Partial Class Ventas
DdlVendedor.Enabled = True
End If
'PERMITIR EDITAR EL VENDEDOR ANTES DE FACTURAR
If UsuarioActual.Empresa.Funcionalidad(109) = "1" AndAlso (CveVenta > 0 AndAlso DdlTipoComprobante.SelectedValue = "Cot" AndAlso TmpDT IsNot Nothing AndAlso TmpDT.SUM("CantidadFacturadaCot") = 0) Then
DdlVendedor.Enabled = True
End If
UPPVentas.Update()
'TxtCorreoNotificaciones.Text = GlobalDTUsuarios(UsuarioActual.CveUsuario).FiltroPrimeroValor("Correo")
End Sub
@@ -18427,7 +18458,7 @@ Partial Class Ventas
If DdlTipoComprobante.SelectedValue <> "Cot" And ChkSinExistencia.Checked = False Or UsuarioActual.Empresa.Funcionalidad(578).ToEntero = 1 Then
'VALIDA EXISTENCIA
If UsuarioActual.CveEmpresa.Contiene({72, 80, 119, 153, 140, 186}) Then
If UsuarioActual.CveEmpresa.Contiene({72, 80, 119, 153, 140, 186, 190}) Then
If CveVenta <= 0 OrElse Me.EsCreaApartirDe Then
If Existencia - TmpDT.SUM("Cantidad", $"CvePS = {CvePS} AND (EntregaDirecta IS NULL OR EntregaDirecta < 1)") < (If(CantidadModal > 0, CantidadModal, TxtCantidad.Text.ToDouble)) Then
Alert("No cuenta con la cantidad suficiente en inventario. Cuenta con " + Existencia.FormatoNumero(2) + ".", TipoMensaje.MsgAdvertencia)
@@ -37673,22 +37704,7 @@ Partial Class Ventas
End If
If ExistePDF Then
Dim pdf64 As String = ""
'DUPLICA EL PDF
Using ms As New MemoryStream
Using pdfdoc As New iText.Kernel.Pdf.PdfDocument(New iText.Kernel.Pdf.PdfWriter(ms))
pdfdoc.InitializeOutlines()
Dim reporteByte As New MemoryStream(System.IO.File.ReadAllBytes(ArchivoPDF))
Dim docPDF As New iText.Kernel.Pdf.PdfDocument(New iText.Kernel.Pdf.PdfReader(reporteByte))
docPDF.CopyPagesTo(1, docPDF.GetNumberOfPages(), pdfdoc)
docPDF.CopyPagesTo(1, docPDF.GetNumberOfPages(), pdfdoc)
docPDF.Close()
pdfdoc.Close()
End Using
pdf64 = Convert.ToBase64String(ms.ToArray())
End Using
Dim pdf64 = Convert.ToBase64String(System.IO.File.ReadAllBytes(ArchivoPDF))
RegistraScript($"impresionBase64('{pdf64}');", "Imprimir")
Else