Impresión de etiquetas y etiquetas de precios para la tienda en línea .net

¿Por qué para una tienda en línea, preguntas? Por supuesto, para la tienda en línea y no solo respondo. Por lo general, las grandes empresas comerciales no escriben software para sí mismas, sino que lo solicitan de forma independiente. Y no importa cuán extraño pueda parecer, muy a menudo las manos no alcanzan el precio, y este documento juega un papel importante en el comercio. Recuerdo los momentos en que la finalización de la etiqueta de precio era de 150 euros y luego, esta tarea no parecía trivial en absoluto. Al final del artículo, se adjunta el borrador de trabajo c #, #core, # .net #MVC. Intente experimentar con su sistema comercial, gracias de antemano por sus comentarios positivos.

Entonces, el propietario de una tienda en línea (una tienda normal) decidió modificar sus aburridas etiquetas de precio en blanco y negro. ¿Y qué hay en nuestro surtido, preguntas?



En mi artículo anterior, el mar de quejas causó una fuente de datos XML. Me pareció obvio que los programadores experimentados podían adaptar fácilmente el ejemplo considerado a otras fuentes, pero como mostraron los comentarios, esto resultó ser incorrecto. Por lo tanto, prestaremos un poco de atención al conjunto de datos. Usaremos el componente universal DataSet, espero que el lector pueda llenarlo de manera similar o reemplazarlo con otra fuente

Considera el controlador

public class HomeController : MyController { private IHostingEnvironment _env; public HomeController(IHostingEnvironment env) { _env = env; } public IActionResult Index() { ViewBag.Items = InitData().Tables["Items"].Rows; return View(); } public IActionResult PrintTags() { WebReport webReport = new WebReport(); webReport.Width = "100%"; DataSet d = InitData(); webReport.Report.Load(System.IO.Path.Combine(_env.WebRootPath + "/reports", "tags.frx")); webReport.Report.RegisterData(d, "ItemsDataSet"); webReport.Report.GetDataSource("Items").Enabled = true; (webReport.Report.FindObject("Data1") as DataBand).DataSource = webReport.Report.GetDataSource("Items"); webReport.Report.Prepare(); ViewBag.WebReport = webReport; return View(); } } 

Es el descendiente de la clase MyController en la que se inicializa el conjunto de datos. Esto se hace únicamente para no sobrecargar el código del controlador principal. La página de índice muestra un escaparate. La página PrintTags proporciona etiquetas de precios.

Entonces, después de preparar los datos para la salida a la etiqueta de precio, cargaremos la versión demo de FastReport y desarrollaremos el diseño de la etiqueta de precio



El diseño es completamente espontáneo, puede escribir cualquier componente para sus tareas, ya sean códigos de barras o incluso imágenes. El archivo de plantilla se encuentra en el proyecto en wwwroot / reports / tags.frx, puede arreglarlo o crear su propia etiqueta de precio o etiqueta dependiendo de dónde se mostrará la impresión. Quizás incluso esto sea una cinta adhesiva e impresa en una etiqueta térmica.

Al crear un proyecto, asegúrese de agregar enlaces de paquetes





En Setup.cs agregue

 app.UseFastReport(); 

En controladores

 using FastReport; using FastReport.Web; 

Todo esto se puede ver en el proyecto.

La impresión de etiquetas de precios se inicia con el botón Imprimir etiquetas

 public IActionResult PrintTags() { WebReport webReport = new WebReport();//  webReport.Width = "100%";//    DataSet d = InitData(); //   webReport.Report.Load(System.IO.Path.Combine(_env.WebRootPath + "/reports", "tags.frx"));//   webReport.Report.RegisterData(d, "ItemsDataSet");//   webReport.Report.GetDataSource("Items").Enabled = true;//  (      ) (webReport.Report.FindObject("Data1") as DataBand).DataSource = webReport.Report.GetDataSource("Items");//       (       ) webReport.Report.Prepare();//  ViewBag.WebReport = webReport;//   return View(); } 

Vaya a la página haciendo clic en el botón Imprimir etiquetas.



A continuación, puede imprimir o descargar de inmediato el archivo PDF



Imprimir



O descargar y enviar por correo.

Conclusión


Sin duda, las herramientas especializadas pueden hacer maravillas. Un componente que sea capaz de crear dichos informes será útil para cualquier empresa que trabaje con sistemas de información de la clase ERP. Vi en un tubo empresas que trabajan en programas donde todos los informes se realizan fuera del sistema principal para reducir los costos de su producción. Estaría agradecido por los comentarios constructivos, todo el éxito en la creación de informes.

Source: https://habr.com/ru/post/453980/


All Articles