--Descarga directa de etiquetas
This commit is contained in:
@@ -6,6 +6,8 @@ Imports System.Data
|
||||
Imports System.IO
|
||||
Imports Extensiones
|
||||
Imports GemBox.Spreadsheet
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
Imports ZXing
|
||||
|
||||
Partial Class Ventas_ActualizarPrecios
|
||||
Inherits ClsPaginas
|
||||
@@ -325,6 +327,7 @@ Partial Class Ventas_ActualizarPrecios
|
||||
If Not TieneError Then
|
||||
If UsuarioActual.Empresa.Funcionalidad(109) = "1" AndAlso sbProductos.Length > 0 Then
|
||||
MensajeAlert.AppendFormat("Los precios de lista de los productos/servicios se actualizaron correctamente. <br/> <b><a target='_blank' class='Texto' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Descargar Etiquetas</a></b>", Encripta(String.Format("OP=ETIQUETA&CVEPRECIOLISTA={0}&PRODUCTOS={1}", DdlPrecioLista.SelectedValue.ToEntero, sbProductos.ToString())))
|
||||
ImprimirEtiquetas(sbProductos.ToString())
|
||||
Else
|
||||
MensajeAlert.Append("Los precios de lista de los productos/servicios se actualizaron correctamente.")
|
||||
End If
|
||||
@@ -998,4 +1001,134 @@ Partial Class Ventas_ActualizarPrecios
|
||||
UpEncabezado.Update()
|
||||
UpDatos.Update()
|
||||
End Sub
|
||||
|
||||
Protected Sub ImprimirEtiquetas(StrClavesPS As String)
|
||||
Dim CvePrecioListaPredeterminada = GlobalDTPrecioListas(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "Predeterminada = True").ToEntero()
|
||||
Dim DtPrecios As DataTable = Nothing
|
||||
|
||||
Dim ObjVentas As New ClsProductosServicios
|
||||
If ObjVentas.GetPSPrecios(CvePrecioListaPredeterminada, StrClavesPS) AndAlso ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
|
||||
DtPrecios = ObjVentas.DtResultados.Copy()
|
||||
End If
|
||||
ObjVentas.Dispose()
|
||||
|
||||
If DtPrecios IsNot Nothing Then
|
||||
|
||||
DtPrecios.Columns.Add(New DataColumn("CBBase64", GetType(String)))
|
||||
|
||||
For Each Row As DataRow In DtPrecios.Rows
|
||||
Row("CBBase64") = Convert.ToBase64String(GeneraCodigoQR(Row("CodigoBarras").ToString(), 40, 150, 0, "CODE_39", True))
|
||||
Next
|
||||
|
||||
Dim DirectorioArchivo As String = "Empresas/Grales/Formatos/Etiqueta.mrt"
|
||||
If System.IO.File.Exists(UsuarioActual.Empresa.Ruta + "Formatos/Etiqueta.mrt") Then
|
||||
DirectorioArchivo = UsuarioActual.Empresa.Ruta + "Formatos/Etiqueta.mrt"
|
||||
End If
|
||||
Dim params As New List(Of ReportParameter)
|
||||
|
||||
Dim lrds As New List(Of ReportDataSource)
|
||||
Dim rds As New ReportDataSource
|
||||
rds.Name = "Datos"
|
||||
rds.Value = DtPrecios
|
||||
lrds.Add(rds)
|
||||
|
||||
Dim bytesPDF = StreamBytesStimul("Facturas", DirectorioArchivo, lrds, params, NombreArchivo:="Precios", Formato:="PDF")
|
||||
Dim pdf64 = Convert.ToBase64String(bytesPDF)
|
||||
|
||||
RegistraScript($"impresionBase64('{pdf64}');", "Imprimir")
|
||||
'ImprimirPDFStimul(DirectorioArchivo, DtPrecios, params, "Precios")
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Function GeneraCodigoQR(CodigoBarras As String, Alto As Integer, Largo As Integer, Margen As Integer, Formato As String, Optional PureBacode As Boolean = False) As Byte()
|
||||
|
||||
Dim barcodeWriter As New BarcodeWriter
|
||||
Dim opciones As New ZXing.Common.EncodingOptions
|
||||
Dim FormatoBar As New BarcodeFormat
|
||||
'Dim Respuesta As Byte()
|
||||
|
||||
opciones.Height = Alto
|
||||
opciones.Width = Largo
|
||||
opciones.Margin = Margen
|
||||
opciones.PureBarcode = PureBacode
|
||||
barcodeWriter.Options = opciones
|
||||
|
||||
Select Case Formato
|
||||
Case "All_1D"
|
||||
barcodeWriter.Format = BarcodeFormat.All_1D
|
||||
Exit Select
|
||||
Case "AZTEC"
|
||||
barcodeWriter.Format = BarcodeFormat.AZTEC
|
||||
Exit Select
|
||||
Case "CODABAR"
|
||||
barcodeWriter.Format = BarcodeFormat.CODABAR
|
||||
Exit Select
|
||||
Case "CODE_128"
|
||||
barcodeWriter.Format = BarcodeFormat.CODE_128
|
||||
Exit Select
|
||||
Case "CODE_39"
|
||||
barcodeWriter.Format = BarcodeFormat.CODE_39
|
||||
Exit Select
|
||||
Case "CODE_93"
|
||||
barcodeWriter.Format = BarcodeFormat.CODE_93
|
||||
Exit Select
|
||||
Case "DATA_MATRIX"
|
||||
barcodeWriter.Format = BarcodeFormat.DATA_MATRIX
|
||||
Exit Select
|
||||
Case "EAN_13"
|
||||
barcodeWriter.Format = BarcodeFormat.EAN_13
|
||||
Exit Select
|
||||
Case "EAN_8"
|
||||
barcodeWriter.Format = BarcodeFormat.EAN_8
|
||||
Exit Select
|
||||
Case "IMB"
|
||||
barcodeWriter.Format = BarcodeFormat.IMB
|
||||
Exit Select
|
||||
Case "ITF"
|
||||
barcodeWriter.Format = BarcodeFormat.ITF
|
||||
Exit Select
|
||||
Case "MAXICODE"
|
||||
barcodeWriter.Format = BarcodeFormat.MAXICODE
|
||||
Exit Select
|
||||
Case "MSI"
|
||||
barcodeWriter.Format = BarcodeFormat.MSI
|
||||
Exit Select
|
||||
Case "PDF_417"
|
||||
barcodeWriter.Format = BarcodeFormat.PDF_417
|
||||
Exit Select
|
||||
Case "PLESSEY"
|
||||
barcodeWriter.Format = BarcodeFormat.PLESSEY
|
||||
Exit Select
|
||||
Case "QR_CODE"
|
||||
barcodeWriter.Format = BarcodeFormat.QR_CODE
|
||||
Exit Select
|
||||
Case "RSS_14"
|
||||
barcodeWriter.Format = BarcodeFormat.RSS_14
|
||||
Exit Select
|
||||
Case "RSS_EXPANDED"
|
||||
barcodeWriter.Format = BarcodeFormat.RSS_EXPANDED
|
||||
Exit Select
|
||||
Case "UPC_A"
|
||||
barcodeWriter.Format = BarcodeFormat.UPC_A
|
||||
Exit Select
|
||||
Case "UPC_E"
|
||||
barcodeWriter.Format = BarcodeFormat.UPC_E
|
||||
Exit Select
|
||||
Case "UPC_EAN_EXTENSION"
|
||||
barcodeWriter.Format = BarcodeFormat.UPC_EAN_EXTENSION
|
||||
Exit Select
|
||||
|
||||
End Select
|
||||
|
||||
Dim imgCod As Drawing.Bitmap = barcodeWriter.Write(CodigoBarras)
|
||||
Dim memoriStream As New System.IO.MemoryStream
|
||||
imgCod.Save(memoriStream, Drawing.Imaging.ImageFormat.Bmp)
|
||||
|
||||
'Respuesta = Convert.ToBase64String(memoriStream.ToArray())
|
||||
|
||||
Return memoriStream.ToArray()
|
||||
|
||||
End Function
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user