--Descarga directa de etiquetas
This commit is contained in:
@@ -766,7 +766,11 @@
|
|||||||
</div>
|
</div>
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||||
|
<script src="/Scripts/PrintJS/print.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
function impresionBase64(pdfBase64) {
|
||||||
|
printJS({ printable: pdfBase64, type: 'pdf', showModal: true, base64: true });
|
||||||
|
}
|
||||||
|
|
||||||
function convertirTabla() {
|
function convertirTabla() {
|
||||||
let json = tableToJson($('#GvMultiple').get(0));
|
let json = tableToJson($('#GvMultiple').get(0));
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ Imports System.Data
|
|||||||
Imports System.IO
|
Imports System.IO
|
||||||
Imports Extensiones
|
Imports Extensiones
|
||||||
Imports GemBox.Spreadsheet
|
Imports GemBox.Spreadsheet
|
||||||
|
Imports Microsoft.Reporting.WebForms
|
||||||
|
Imports ZXing
|
||||||
|
|
||||||
Partial Class Ventas_ActualizarPrecios
|
Partial Class Ventas_ActualizarPrecios
|
||||||
Inherits ClsPaginas
|
Inherits ClsPaginas
|
||||||
@@ -325,6 +327,7 @@ Partial Class Ventas_ActualizarPrecios
|
|||||||
If Not TieneError Then
|
If Not TieneError Then
|
||||||
If UsuarioActual.Empresa.Funcionalidad(109) = "1" AndAlso sbProductos.Length > 0 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())))
|
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
|
Else
|
||||||
MensajeAlert.Append("Los precios de lista de los productos/servicios se actualizaron correctamente.")
|
MensajeAlert.Append("Los precios de lista de los productos/servicios se actualizaron correctamente.")
|
||||||
End If
|
End If
|
||||||
@@ -998,4 +1001,134 @@ Partial Class Ventas_ActualizarPrecios
|
|||||||
UpEncabezado.Update()
|
UpEncabezado.Update()
|
||||||
UpDatos.Update()
|
UpDatos.Update()
|
||||||
End Sub
|
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
|
End Class
|
||||||
@@ -94,17 +94,17 @@
|
|||||||
<div id="DivFacturas" style="overflow-y: auto; width: 760px; max-height: 240px; margin-top: 5px">
|
<div id="DivFacturas" style="overflow-y: auto; width: 760px; max-height: 240px; margin-top: 5px">
|
||||||
<asp:GridView ID="GvDatos" DataKeyNames="CvePs" runat="server" ClientIDMode="Static" AutoGenerateColumns="False" EmptyDataText="No se encontraron Productos o Servicios registrados" ToolTip="Listado de Productos o Servicios" CssClass="table table-striped table-hover Widthall" UseAccessibleHeader="true" GridLines="None">
|
<asp:GridView ID="GvDatos" DataKeyNames="CvePs" runat="server" ClientIDMode="Static" AutoGenerateColumns="False" EmptyDataText="No se encontraron Productos o Servicios registrados" ToolTip="Listado de Productos o Servicios" CssClass="table table-striped table-hover Widthall" UseAccessibleHeader="true" GridLines="None">
|
||||||
<Columns>
|
<Columns>
|
||||||
<asp:BoundField DataField="Clasificacion" HeaderText="Clasificación" ItemStyle-HorizontalAlign="Left" />
|
<asp:BoundField DataField="Clasificacion" HeaderText="Clasificación" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="10%" />
|
||||||
<asp:BoundField DataField="Codigo" HeaderText="Código" ItemStyle-HorizontalAlign="Left" />
|
<asp:BoundField DataField="Codigo" HeaderText="Código" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="10%" />
|
||||||
<asp:TemplateField HeaderText="Producto o Servicio" ItemStyle-CssClass="Texto" ItemStyle-HorizontalAlign="Left">
|
<asp:TemplateField HeaderText="Producto o Servicio" ItemStyle-CssClass="Texto" ItemStyle-HorizontalAlign="Left">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:Literal ID="lnkPs" runat="server"></asp:Literal>
|
<asp:Literal ID="lnkPs" runat="server"></asp:Literal>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
<asp:BoundField DataField="TipoPS" HeaderText="Tipo" ItemStyle-HorizontalAlign="Center" />
|
<asp:BoundField DataField="TipoPS" HeaderText="Tipo" ItemStyle-HorizontalAlign="Center" ItemStyle-Width="5%" />
|
||||||
<asp:TemplateField HeaderText="Etiqueta" ItemStyle-CssClass="Texto" ItemStyle-HorizontalAlign="Center" Visible="false">
|
<asp:TemplateField HeaderText="Etiqueta" ItemStyle-HorizontalAlign="Center" Visible="false" ItemStyle-Width="5%">
|
||||||
<ItemTemplate>
|
<ItemTemplate>
|
||||||
<asp:LinkButton ID="LnkGenerarEtiqueta" runat="server" Text="Descargar" OnClick="LnkGenerarEtiqueta_Click"></asp:LinkButton>
|
<asp:LinkButton ID="LnkGenerarEtiqueta" runat="server" CssClass="btn btn-circle btn-sm blue" Text="<i class='fa fa-print'></i>" ToolTip="Imprimir" OnClick="LnkGenerarEtiqueta_Click"></asp:LinkButton>
|
||||||
</ItemTemplate>
|
</ItemTemplate>
|
||||||
</asp:TemplateField>
|
</asp:TemplateField>
|
||||||
</Columns>
|
</Columns>
|
||||||
@@ -117,8 +117,13 @@
|
|||||||
|
|
||||||
</asp:Content>
|
</asp:Content>
|
||||||
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||||
|
<script src="/Scripts/PrintJS/print.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
|
|
||||||
|
function impresionBase64(pdfBase64) {
|
||||||
|
printJS({ printable: pdfBase64, type: 'pdf', showModal: true, base64: true });
|
||||||
|
}
|
||||||
|
|
||||||
function Ir(v) {
|
function Ir(v) {
|
||||||
gotourl('/Ventas/ProductosServicios.aspx?CvePS=' + v);
|
gotourl('/Ventas/ProductosServicios.aspx?CvePS=' + v);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -94,10 +94,13 @@ Partial Class PopUpBuscarPs
|
|||||||
#Region " GV DATOS "
|
#Region " GV DATOS "
|
||||||
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
|
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
|
||||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||||
Try
|
Try
|
||||||
e.Row.FCLiteral("LnkPs").Text = String.Format("<div class='truncate' style='width:200px;'>{0}{1}</a></div>", "<a href='javascript:Ir(""" & e.Row.DBCampo("CvePs") & """);'>", e.Row.DBCampo("Ps"))
|
|
||||||
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
|
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
|
||||||
|
e.Row.FCLiteral("LnkPs").Text = String.Format("<div style='width:100%;'>{0}{1}</a></div>", "<a href='javascript:Ir(""" & e.Row.DBCampo("CvePs") & """);'>", e.Row.DBCampo("Ps"))
|
||||||
ScriptManager.GetCurrent(Me).RegisterPostBackControl(e.Row.FCLinkButton("LnkGenerarEtiqueta"))
|
ScriptManager.GetCurrent(Me).RegisterPostBackControl(e.Row.FCLinkButton("LnkGenerarEtiqueta"))
|
||||||
|
Else
|
||||||
|
e.Row.FCLiteral("LnkPs").Text = String.Format("<div class='truncate' style='width:200px;'>{0}{1}</a></div>", "<a href='javascript:Ir(""" & e.Row.DBCampo("CvePs") & """);'>", e.Row.DBCampo("Ps"))
|
||||||
End If
|
End If
|
||||||
Catch ex As Exception
|
Catch ex As Exception
|
||||||
Dim exexex As String = ex.Message
|
Dim exexex As String = ex.Message
|
||||||
@@ -146,7 +149,16 @@ Partial Class PopUpBuscarPs
|
|||||||
End If
|
End If
|
||||||
Dim params As New List(Of ReportParameter)
|
Dim params As New List(Of ReportParameter)
|
||||||
|
|
||||||
ImprimirPDFStimul(DirectorioArchivo, DtPrecios, params, "Precios")
|
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")
|
||||||
End If
|
End If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
@@ -2426,9 +2426,13 @@
|
|||||||
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
|
||||||
|
|
||||||
<script src="/Metronic/assets/global/plugins/cubeportfolio/js/jquery.cubeportfolio.min.js" type="text/javascript"></script>
|
<script src="/Metronic/assets/global/plugins/cubeportfolio/js/jquery.cubeportfolio.min.js" type="text/javascript"></script>
|
||||||
|
<script src="/Scripts/PrintJS/print.min.js"></script>
|
||||||
<script language="javascript" type="text/javascript">
|
<script language="javascript" type="text/javascript">
|
||||||
|
|
||||||
|
function impresionBase64(pdfBase64) {
|
||||||
|
printJS({ printable: pdfBase64, type: 'pdf', showModal: true, base64: true });
|
||||||
|
}
|
||||||
|
|
||||||
function CreaDescripcionPS() {
|
function CreaDescripcionPS() {
|
||||||
var Text = '';
|
var Text = '';
|
||||||
if ($('#C_Tab_TabPS_DdlTipoPSDes').val() != "-1") {
|
if ($('#C_Tab_TabPS_DdlTipoPSDes').val() != "-1") {
|
||||||
|
|||||||
@@ -3615,7 +3615,17 @@ Partial Class ProductosyServicios
|
|||||||
End If
|
End If
|
||||||
Dim params As New List(Of ReportParameter)
|
Dim params As New List(Of ReportParameter)
|
||||||
|
|
||||||
ImprimirPDFStimul(DirectorioArchivo, DtPrecios, params, "Precios")
|
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 If
|
||||||
|
|
||||||
End Sub
|
End Sub
|
||||||
|
|||||||
Reference in New Issue
Block a user