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