Impression d'étiquettes et d'étiquettes de prix pour la boutique en ligne .net

Pourquoi pour une boutique en ligne, demandez-vous? Bien sûr, pour la boutique en ligne et non seulement je réponds. En règle générale, les grandes sociétés commerciales n'écrivent pas de logiciels pour elles-mêmes, elles les commandent en marge. Et aussi étrange que cela puisse paraître, très souvent les mains n'atteignent pas le prix, et ce document joue un rôle important dans le commerce. Je me souviens de l'époque où l'achèvement du prix était de 150 euros et ensuite, cette tâche ne semblait pas du tout triviale. À la fin de l'article, le brouillon de travail c #, #core, # .net #MVC est joint. Essayez d'expérimenter avec votre système de trading, merci d'avance pour vos retours positifs.

Ainsi, le propriétaire d'une boutique en ligne (une boutique régulière) a décidé de modifier ses étiquettes de prix ennuyeuses en noir et blanc. Et que contient notre assortiment, demandez-vous?



Dans mon article précédent, la mer de plaintes a provoqué une source de données xml. Il me semblait évident que les programmeurs expérimentés pouvaient facilement adapter l'exemple considéré à d'autres sources, mais comme les commentaires l'ont montré, cela s'est avéré être faux. Par conséquent, nous ferons un peu attention à l'ensemble de données. Nous utiliserons le composant DataSet universel, j'espère que le lecteur pourra le remplir de manière similaire ou le remplacer par une autre source

Considérez le contrôleur

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(); } } 

Il s'agit du descendant de la classe MyController dans lequel l'ensemble de données est initialisé. Cela se fait uniquement afin de ne pas surcharger le code du contrôleur principal. La page Index affiche une vitrine. La page PrintTags fournit des étiquettes de prix.

Ainsi, une fois les données de sortie vers l'étiquette de prix préparées, nous chargerons la version de démonstration FastReport et développerons la conception de l'étiquette de prix



La conception est complètement spontanée, vous pouvez taper n'importe quel composant pour vos tâches, que ce soit des codes-barres ou même des images. Le fichier de modèle est situé dans le projet à wwwroot / reports / tags.frx, vous pouvez le corriger ou créer votre propre étiquette de prix ou étiquette selon l'endroit où l'impression sera affichée. Peut-être même que ce sera un ruban adhésif et imprimé sur une étiquette thermique.

Lors de la création d'un projet, assurez-vous d'ajouter des liens de package





Dans Setup.cs, ajoutez

 app.UseFastReport(); 

Dans les contrôleurs

 using FastReport; using FastReport.Web; 

Tout cela peut être vu dans le projet.

L'impression des étiquettes de prix est lancée par le bouton Imprimer les étiquettes

 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(); } 

Accédez à la page en cliquant sur le bouton Imprimer les balises.



Ensuite, vous pouvez immédiatement imprimer ou télécharger le fichier PDF



Imprimer



Ou téléchargez et envoyez par courrier.

Conclusion


Il ne fait aucun doute que des outils spécialisés peuvent faire des merveilles. Un composant capable de créer de tels rapports sera utile à toute entreprise travaillant avec des systèmes d'information de la classe ERP. J'ai vu sur un tube des entreprises qui travaillent dans des programmes où tous les rapports sont faits en dehors du système principal afin de réduire les coûts de production. Je vous serais reconnaissant de vos commentaires constructifs et de tout succès dans la création de rapports.

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


All Articles