¿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();
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.