Warum für einen Online-Shop, fragen Sie? Natürlich für den Online-Shop und nicht nur ich antworte. In der Regel schreiben große Handelsunternehmen keine Software für sich selbst, sondern bestellen sie nebenbei. Und egal wie seltsam es auch erscheinen mag, sehr oft erreichen die Hände nicht den Preis, und dieses Dokument spielt eine bedeutende Rolle im Handel. Ich erinnere mich an die Zeiten, als die Fertigstellung des Preises 150 Euro betrug und diese Aufgabe überhaupt nicht trivial schien. Am Ende des Artikels ist der Arbeitsentwurf c #, #core, # .net #MVC angehängt. Versuchen Sie, mit Ihrem Handelssystem zu experimentieren. Vielen Dank im Voraus für das positive Feedback.
Daher beschloss der Besitzer eines Online-Shops (eines regulären Shops), seine langweiligen Schwarz-Weiß-Preisschilder zu ändern. Und was ist in unserem Sortiment, fragen Sie?

In meinem vorherigen
Artikel verursachte das Meer von Beschwerden eine XML-Datenquelle. Mir schien klar, dass erfahrene Programmierer das betrachtete Beispiel leicht an andere Quellen anpassen konnten, aber wie die Kommentare zeigten, stellte sich heraus, dass dies falsch war. Daher werden wir dem Datensatz ein wenig Aufmerksamkeit schenken. Wir werden die universelle DataSet-Komponente verwenden. Ich hoffe, dass der Leser sie auf ähnliche Weise füllen oder durch eine andere Quelle ersetzen kann
Betrachten Sie den Controller
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 ist der Nachkomme der MyController-Klasse, in der der Datensatz initialisiert wird. Dies geschieht ausschließlich, um den Code der Hauptsteuerung nicht zu überlasten. Auf der Indexseite wird eine Storefront angezeigt. Die PrintTags-Seite enthält Preisschilder.
Nachdem die Daten für die Ausgabe auf das Preisschild vorbereitet wurden, laden wir die
FastReport- Demoversion und entwickeln das Preisschild-Design

Das Design ist völlig spontan, Sie können beliebige Komponenten für Ihre Aufgaben eingeben, sei es Barcodes oder sogar Bilder. Die Vorlagendatei befindet sich im Projekt unter
wwwroot / reports / tags.frx. Sie können sie reparieren oder ein eigenes Preisschild oder Etikett erstellen, je nachdem, wo der Druck angezeigt wird. Vielleicht ist sogar dies ein Klebeband, das auf ein Thermoetikett gedruckt wird.
Stellen Sie beim Erstellen eines Projekts sicher, dass Sie Paketverknüpfungen hinzufügen


In Setup.cs hinzufügen
app.UseFastReport();
In Steuerungen
using FastReport; using FastReport.Web;
All dies ist im
Projekt zu sehen
.Das Drucken von Preisschildern wird über die Schaltfläche Etiketten drucken gestartet
public IActionResult PrintTags() { WebReport webReport = new WebReport();
Gehen Sie zur Seite, indem Sie auf die Schaltfläche Tags drucken klicken.

Als nächstes können Sie die PDF-Datei sofort drucken oder herunterladen

Drucken

Oder herunterladen und per Mail senden.
Fazit
Ohne Zweifel können Spezialwerkzeuge Wunder wirken. Eine Komponente, die solche Berichte erstellen kann, ist für jedes Unternehmen nützlich, das mit Informationssystemen der ERP-Klasse arbeitet. Ich habe bei einer Röhre Firmen gesehen, die in Programmen arbeiten, in denen alle Berichte außerhalb des Hauptsystems erstellt werden, um die Kosten ihrer Produktion zu senken. Ich wäre dankbar für konstruktives Feedback und alle Erfolge bei der Erstellung von Berichten.