Niewielu wierzyło w sukces nowej platformy open-source ASP.NET Core firmy Microsoft. Wszystko z powodu niskiej popularności poprzedniej platformy ASP.NET. Jednak bardzo wszyscy szybko docenili zalety nowej platformy wieloplatformowej. Obecnie ASP.NET Core zajmuje wysoką pozycję w rankingu najlepszych platform do tworzenia stron internetowych. Z jej pomocą powstaje wiele aplikacji internetowych, stron internetowych i sklepów internetowych. Przy sprzedaży towarów, sklepy internetowe muszą dostarczyć klientom odpowiednią dokumentację. Na przykład fakturę.
Faktura jest jednym z dokumentów często wymaganych do płatności bezgotówkowych. Dla tego, jeśli tworzysz sklep internetowy lub inny system sprzedaży, będziesz musiał wystawić klientom fakturę.
Aby uzyskać fakturę, najpierw musimy opracować projekt dokumentu, wypełnić go danymi i wysłać do druku. Najlepszym rozwiązaniem byłoby użycie generatora raportów do utworzenia szablonu dokumentu i zapełnienia go danymi. Zadaniem aplikacji użytkownika jest wyświetlanie żądanego raportu.
Nie ma konkretnego wymogu wystawiania faktur – istnieją tylko zalecenia, które określone odpowiednimi przepisami. Idąc dalej, przeanalizujemy fakturę, którą utworzymy w tym artykule, aby mieć wiedzę na temat przetwarzania wystawiania faktur. Oczywiście nie mówimy, że ten szablon jest najlepszy.
Na rysunku tym przedstawiono ważne obszary dokumentu. Wyjaśnijmy ich istotę:
-
Dane sprzedawcy. Każdy dokument sprzedażowy powinien zawierać informacje o sprzedawcy: imię i nazwisko, adres, telefon, adres e-mail, dodatkowe informacje (opcjonalnie);
-
Dane nabywcy – konieczne jest wskazanie osoby faktycznie odpowiedzialnej za płatność;
-
Identyfikatory zamówień i faktur, wystawienie faktury i terminy płatności. Identyfikatory te pomogą znaleźć fakturę lub zamówienie w bazie danych, w przypadku gdy klient ma jakiekolwiek pytania później;
-
Informacje o zawartości zamówienia. Klient musi wiedzieć, za co płaci. Konieczne jest określenie nazwy i ilości towarów, a także koszt jednostkowy;
-
Całkowita kwota. Łączne kwoty są niezbędne nie tylko do dokonania płatności, ale także do zrozumienia obliczeń;
-
Szczegóły płatności. Ponieważ jest to faktura płatnicza, powinna zawierać dane odbiorcy;
-
Dane bankowe dotyczące płatności za granicą. Nawet jeśli w tym przypadku klient nie pochodzi z zagranicy, możesz pozostawić te dane dla ujednoliconej formy;
-
Informacje wyjaśniające. Ważne jest, aby podać dane kontaktowe w przypadku pytań. Należy również ostrzec o konsekwencjach opóźnionych płatności. Zmobilizuje to klienta, aby nie spóźniać się z płatnością.
Tak więc, generator raportów FastReport.NET jest jako zestaw bibliotek. W tym artykule rozważamy możliwość wystawiania faktur w aplikacji ASP.NET Core. W związku z tym będą zastosowane biblioteki Fastreport.core. Tak naprawdę nie potrzebujemy wniosku o wystawienie faktury. Wszystko, czego potrzebujemy, to generator raportów i dane. Ale możliwość stworzenia dokumentu nie jest dla nikogo interesująca. Ważne jest, aby móc zintegrować systemy raportowania z programami użytkowników, tak aby raportowanie było częścią jednego systemu przetwarzania danych. W związku z tym najpierw utworzymy szablon raportu, a następnie użyjemy go do wyświetlania danych w aplikacji sieci web.
Tworzenie raportu w projektancie. Pewnie widziałeś faktury płatnicze wiele razy - nie ma nic skomplikowanego w szablonie takiego raportu. Spójrz:
W takim przypadku dane są pobierane z czterech tabel: Zamówienie, Szczegóły zamówienia, Klienci i Produkty.
Główne pasmo – Dane – jest połączone z tabelą Zamówienia. Oznacza to, że dla każdego wpisu tabeli zostanie utworzona nowa instancja tego pasma. Oprócz informacji o zamówieniu po prawej stronie wyświetlamy informacje o kliencie po lewej stronie. Tabela Klienci jest połączona z tabelą Zamówienia według identyfikatora.
Tak więc, aby zapewnić zgodność danych z informacjami o kliencie i bieżącego zamówienia, należy je pobrać z linku. Tabela Szczegóły zamówienia ma takie same polaczenie z tabelami Zamówienia i Produkty.
Informacje o zamówieniu są wyświetlane w pasku Dane. Jest on połączony z tabelą Szczegóły zamówienia. W jednym wierszu wyświetlana jest: ilość, nazwa produktu, cena jednostkowa, cena dla określonej ilości, stawka podatku i kwota podatku. Pasek Data ma nagłówka i stopki. Nagłówek tabeli jest wyświetlany w pasku nagłówka, gdy sumy, szczegóły płatności i informacje objaśniające są wyświetlane w stopce.
Sumy częściowe są obliczane w ramach rekordu pojedynczej tabeli przez pomnożenie lub podsumowanie pól tabeli w polu tekstowym:
[[Suma częściowa] * 5 / 100]
Lub przy użyciu zmiennych raportu:
Totals, that are calculated according to the column using a special expression – Totals:
Sumy, które są obliczane zgodnie z kolumną przy użyciu wyrażenia specjalnego — Sumy:
Każda suma ma ustawienia – typ operacji, pole tabeli lub wyrażenie, pasmo (gdzie zostanie wyświetlona suma) itp.
Na tym kończy się najtrudniejsza część – stworzenie raportu.
Przejdźmy teraz do naszej aplikacji ASP.NET Core. Należy dodać biblioteki FasReport.NET do projektu przy użyciu NuGet:
Włącz biblioteki FastReport do .cs:
1 2 3 4 5 6 |
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { … app.UseFastReport(); … } |
Teraz możesz dodać generowanie raportów do kontrolera:
1 2 3 4 5 |
private IHostingEnvironment _env; public HomeController(IHostingEnvironment env) { _env = env; } |
Wstaw interfejs IHostingEnvironment do klasy, aby uzyskać ścieżkę do katalogu wwwroot, gdzie zapisaliśmy raport. Utwórz obiekt raportu w potrzebnej metodzie, załaduj do niego dane i szablon raportu:
1 2 3 4 5 6 7 8 9 10 11 12 |
public IActionResult Index() { var rootpath = _env.WebRootPath; var report = new WebReport(); var data = new DataSet(); data.ReadXml(rootpath + "/App_Data/nwind.xml"); report.Report.Load(rootpath + "/App_Data/Invoice.frx"); report.Report.RegisterData(data); ViewBag.WebReport = report; return View(); } |
Dodaj renderowanie raportu do widoku Indeks:
1 |
@await ViewBag.WebReport.Render()
|
Render() metoda eksportuje raport do html.
Teraz, jeśli uruchomisz aplikację, zobaczysz raport w przeglądarce:
W ten sposób można szybko utworzyć fakturę płatności z aplikacji internetowej. Spójrz na górny pasek narzędzi. Zawiera on kontrolki raportu, które pozwalają nie tylko przeglądać strony raportu, ale także wysyłać go do drukowania lub eksportowania do jednego z popularnych formatów dokumentów: PDF, DOCX, XML, XPS, ODT, TXT, CSV, RTF.
Z menu raportu internetowego dokument można wydrukować lub wyeksportować do żądanego formatu.