Impressão de etiquetas e preços na loja online .net

Por que para uma loja online, você pergunta? Claro, para a loja online e não apenas eu respondo. Normalmente, grandes empresas de trading não escrevem software para si mesmas, elas o solicitam ao lado. E, por mais estranho que pareça, muitas vezes as mãos não atingem o preço, e este documento desempenha um papel significativo no comércio. Lembro-me dos momentos em que a conclusão do preço era de 150 euros e, em seguida, essa tarefa não parecia trivial. No final do artigo, o rascunho de trabalho c #, #core, # .net #MVC é anexado. Tente experimentar seu sistema de negociação. Agradecemos antecipadamente o feedback positivo.

Assim, o proprietário de uma loja on-line (uma loja regular) decidiu modificar seus chatos preços em preto e branco. E o que está no nosso sortimento, você pergunta?



No meu artigo anterior, o mar de reclamações causou uma fonte de dados xml. Pareceu-me óbvio que programadores experientes poderiam facilmente adaptar o exemplo considerado a outras fontes, mas, como mostraram os comentários, isso acabou errado. Portanto, prestaremos um pouco de atenção ao conjunto de dados. Usaremos o componente universal DataSet. Espero que o leitor possa preenchê-lo de maneira semelhante ou substituí-lo por outra fonte.

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

É o descendente da classe MyController na qual o conjunto de dados é inicializado. Isso é feito exclusivamente para não sobrecarregar o código do controlador principal. A página Índice exibe uma montra. A página PrintTags fornece etiquetas de preço.

Assim, após a preparação dos dados para a saída do preço, carregaremos a versão demo do FastReport e desenvolveremos o design do preço.



O design é completamente espontâneo, você pode digitar qualquer componente para suas tarefas, sejam códigos de barras ou até imagens. O arquivo de modelo está localizado no projeto em wwwroot / reports / tags.frx. Você pode corrigi-lo ou criar sua própria etiqueta de preço ou etiqueta, dependendo de onde a impressão será exibida. Talvez até isso seja uma fita adesiva e impressa em uma etiqueta térmica.

Ao criar um projeto, adicione links de pacotes





Em Setup.cs, adicione

 app.UseFastReport(); 

Nos controladores

 using FastReport; using FastReport.Web; 

Tudo isso pode ser visto no projeto.

A impressão de etiquetas de preços é iniciada pelo botão 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(); } 

Vá para a página clicando no botão Imprimir tags.



Em seguida, você pode imprimir ou baixar imediatamente o arquivo PDF



Impressão



Ou faça o download e envie por correio.

Conclusão


Sem dúvida, ferramentas especializadas podem fazer maravilhas. Um componente capaz de criar esses relatórios será útil para qualquer empresa que trabalha com sistemas de informação da classe ERP. Vi em um tubo empresas que trabalham em programas em que todos os relatórios são feitos fora do sistema principal para reduzir os custos de sua produção. Eu ficaria grato pelo feedback construtivo, todo o sucesso na criação de relatórios.

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


All Articles