diff --git a/Ventas/PopUpBuscarPs.aspx b/Ventas/PopUpBuscarPs.aspx
index 7a4a5260e..36e5c3ac4 100644
--- a/Ventas/PopUpBuscarPs.aspx
+++ b/Ventas/PopUpBuscarPs.aspx
@@ -102,6 +102,11 @@
+
+
+
+
+
diff --git a/Ventas/PopUpBuscarPs.aspx.vb b/Ventas/PopUpBuscarPs.aspx.vb
index ba278141d..99bdee9cb 100644
--- a/Ventas/PopUpBuscarPs.aspx.vb
+++ b/Ventas/PopUpBuscarPs.aspx.vb
@@ -3,7 +3,9 @@ Option Strict On
Imports System.Data
Imports Extensiones
-
+Imports Microsoft.Reporting.WebForms
+Imports ZXing
+
Partial Class PopUpBuscarPs
Inherits ClsPaginas
@@ -24,8 +26,8 @@ Partial Class PopUpBuscarPs
End If
End If
- End Sub
-
+ End Sub
+
#Region " INICIALIZA VALORES "
Private Sub CargaClasificaciones()
Ddlclasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
@@ -44,9 +46,9 @@ Partial Class PopUpBuscarPs
DdlCompuesto.Items.Insert(0, New ListItem("Todos", "-1"))
End If
DdlCompuesto.Items.Insert(0, New ListItem("Todos", "-1"))
- End Sub
+ End Sub
#End Region
-
+
#Region " CARGA DATOS "
Protected Sub BtnFiltrar_Click(sender As Object, e As EventArgs)
CargaDatos()
@@ -79,24 +81,31 @@ Partial Class PopUpBuscarPs
GvDatos.DataBind()
GvDatos.UseAccessibleHeader = True
+
+ If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
+ GvDatos.Columns(4).Visible = True
+ End If
Else
Alert("Asigne un valor a cualquiera de los filtros", TipoMensaje.MsgAdvertencia)
End If
- End Sub
+ End Sub
#End Region
-
+
#Region " GV DATOS "
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Try
- e.Row.FCLiteral("LnkPs").Text = String.Format("
{0}{1}
", "", e.Row.DBCampo("Ps"))
+ e.Row.FCLiteral("LnkPs").Text = String.Format("{0}{1}
", "", e.Row.DBCampo("Ps"))
+ If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
+ ScriptManager.GetCurrent(Me).RegisterPostBackControl(e.Row.FCLinkButton("LnkGenerarEtiqueta"))
+ End If
Catch ex As Exception
Dim exexex As String = ex.Message
End Try
End If
- End Sub
+ End Sub
#End Region
-
+
Private Function ValidarUnFiltroSeleccionado() As Boolean
If TxtCodigo.Text.Trim <> String.Empty Then Return True
If TxtCodigoBarras.Text.Trim <> String.Empty Then Return True
@@ -109,7 +118,127 @@ Partial Class PopUpBuscarPs
If DdlCompuesto.SelectedValue.ToEntero > 0 Then Return True
Return False
+ End Function
+
+ Protected Sub LnkGenerarEtiqueta_Click(sender As Object, e As EventArgs)
+ Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
+
+ Dim CvePrecioListaPredeterminada = GlobalDTPrecioListas(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "Predeterminada = True").ToEntero()
+ Dim DtPrecios As DataTable = Nothing
+
+ Dim ObjVentas As New ClsProductosServicios
+ If ObjVentas.GetPSPrecios(CvePrecioListaPredeterminada, GvRow.DataKey("CvePs").ToString()) 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)
+
+ 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