Vamos abordar nesse artigo a estrutura de construção e organização das pastas, procure seguir conforme descrevemos aqui para evitar que sua tarefa seja reprovada.
Organização Parameter
Entity > Parameter > RelatorioParameter > ComercialParameter > GraficoParameter > VendaPorDiaSemanaRelatorioParameter
- ComercialParameter: será o modulo onde o relatório estará.
- GraficoParameter: será a tela onde ele estará, exemplo pode ser EstoqueParameter, VendaParameter, ComissaoParameter...
- VendaPorDiaSemanaRelatorioParameter: geralmente coloque o mesmo nome do Source aqui, no caso o nome do relatório ou o tipo que fica nas telas. Lembrando que é importante colocar RelatorioParameter no final.
- Se precisar usar uma arquivo de base coloque o nome: "GraficoRelatorioBaseParameter" no caso GraficoRelatorio... deve ser trocado pelo tipo de relatório que está construindo.
- Procure usar o exemplo dessa pasta de Gráfico para entender como funciona, ela foi a primeira a ser refatorada.
Organização UI e Source
ETrade > Comercial > RelatorioUIs > GraficoUIs > GraficoSaidaRelatorioUI
ETrade > Comercial > RelatorioUIs > GraficoUIs > GraficoSaidaRelatorioUIResult
ETrade > Comercial > RelatorioUIs > GraficoUIs > GraficoSaidaRelatorioUISourceVendaPorHora
- Comercial: é o modulo onde ele estará.
- RelatorioUIs: todo modulo tem essa pasta onde irá ter todos os relatórios do mesmo.
- GraficoUIs: crie uma pasta com o nome do relatório, geralmente o nome da tela de filtro, pode ser ComissaoUIs, ClienteUIs.
Teremos três arquivos de UI importantes
Cuidado que todos os arquivos da pasta começam com o mesmo nome, mas isso deve ser alterado de acordo com a pasta onde está, se fizer um relatório de clientes deve ser algo como ClienteRelatorioUI, que sempre será o nome da pasta falada logo acima.
- GraficoSaidaRelatorioUI: nome dado para a tela onde ficará o filtro do relatório. Não deve ter mais de um arquivo desse por pasta.
- GraficoSaidaRelatorioUIResult: nome onde ficará a tela de Result que será um repositório para os Sources. Não pode ter mais de um arquivo desse por pasta.
- GraficoSaidaRelatorioUISourceVendaPorHora: o nome dos Sources, aqui teremos vários arquivos na pasta, basicamente um para cada item do Tipo na tela de filtro, evite usar o mesmo Source para mais de um relatório. Sei que usar o mesmo Source pode ser tentador, mas isso já se mostrou um grande problema no longo prazo.
Padrões de designer na construção dos relatórios
- Todos os campos decimais devem ser formatados nas decimais de suas origens, imagina que você vai colocar um valor total e ele está no banco com 5 decimais aí deve ser impresso no relatório com 5 decimais, claro salvo exceções, exemplo o quantidade de estoque do item que dependendo do item pode ter decimais ou não, nesse caso deve-se criar um campo dinâmico, no caso do totalizador nesse caso utilize 2 decimais.
- Todos os campos decimais e numéricos deve ser alinhados a direita.
- Todas as fontes do relatório passaram a ser Segoe UI tamanho 8,25pt
- Colocar padding 0 e alinhado top a esquerda.
- Height de 15 nos fields
- Report deve ter margens top 24 left 38 right 39 bottom 30
- Espaçamento padrão entre os grupos (GroupHeader, PageFooter, Details, etc) deve ser de cerca de 1/4 de um quadrado. Devemos manter o relatório o mais compacto possível para evitar desperdício de impressão.
PageFooter e PageHeader

- Deve se repetir em cada tela.
- Todos os parameters que precisarem ser impressos no PageHeader devem estar com o field em fundo Gainsboro e a font em bold. Alinhados um abaixo do outro de forma uniforme.
- No PageHeader deve ter um titulo de tamanho 20,25 - fonte Segoe UI Light - Forecolor SteelBlue - Padding 0 - Height 40
- Colocar um traço em CornflowerBlue, logo abaixo do Título do relatório.
GroupHeader1

- Fundo Gainsboro no collection de Web.
- Ele deve se repetir em todas as paginas
- Padding 2
- Fonte negrito
- Se só existir um único GroupHeader colocar nele uma borda fina em negrito no bottom apenas.

GroupHeader2

- Fundo GradientInactiveCaption no collection de System.
- Ele deve se repetir em todas as paginas
- Alinhar de recuo para o Header1 no mínimo de 2 quadrados, sendo ideal 4 quadrados. Se tiver outros Headers abaixo desse aí coloque em cinza e respeitando o mesmo proporção de recuo, se usou 2 manter 2.
- Se o GroupHeader tiver alguma outra subdivisão essa deve seguir o modelo do GourpHeader1, porém deve ter um traço fixo para separar a parte de header do detail final. Ele só vai ter uma borda se tiver um terceiro, exemplo do caso acima imagina que tivemos apenas os Headers de cliente e data em azul aí a GroupHeader azul não tem borda no bottom. Tem que terminar com um cinza para ter a borda.

Detail
- Colocar um Style > Evenstyle o background de #FFF7F8FA ou RBG 247; 248; 250
GroupFooter e ReportFooter

- Os totais devem estar alinhados com os campos em questão.
- GroupFooter deve ter alinhamento de 1/4 de quadrado de distancia do Detail
- Background Gainsboro no collection de Web, Font Bold.
PageFooter

- Deve ter alinhamento de 1/4 de quadrado de distancia dos ReportFooter ou GroupFooter
Data
- Formatar (d' de 'MMMM' de 'yyyy HH:mm:ss)
- Deve ficar no top na linha do título.
- Alinhar a right
- Cor Gray
- Ficar no PageHeader
site vr
- Texto alinhar a left
- Cor Gray
- Ficar no PageFooter
- Colocar site: https://vrsystem.info
página x de y
- Formatar em português o "de"
- Texto alinhar a right
- Cor Gray
- Ficar no PageFooter