Reports
SDK - List View
Visible On Print
Propriedade: Visible On Print, na modelação Presentation nos Parameters das List Views. Permite configurar a visibilidade do parâmetro no report das listas.
Valores possíveis: True ou False.
Valor por defeito: True

Figura 1: Propriedade Visible On Print.
Exemplo de Visible On Print = True e aplicação do filtro Payment Status na lista, o parâmetro ficará visível no report.

Figura 2: Payment Status com Visible On Print = true.
Exemplo de Visible On Print = False e aplicação do filtro Payment Status na lista, o parâmetro não ficará visível no report.

Figura 3: Payment Status com Visible On Print = false.
SDK - Report View
Caption - ReportRowContainer e ReportColumnContainer
Propriedade: Caption, na modelação Presentation no componente Report View, secção ReportRowContainer e ReportColumnContainer. Permite configurar a caption localizável para estes dois componentes para ser de fácil interpretação nos printings settings. Configurações de impressão


Support copies
Propriedade: Support copies. Na modelação Presentation no componente Report View. Permite a impressão de “original”, “duplicado”, etc… no report.
Valores possíveis: True ou False.
Valor por defeito: False
Suporte só em reports standards.

Figura 4: Propriedade Support copies.

Figura 5: Support copies em standard report.
Culture Attribute
Propriedade: Culture Attribute. Na modelação Presentation no componente Report View. Permite indicar a cultura a ser impressa no report.
(Nota: se nenhum valor selecionado, irá imprimir na cultura selecionada na aplicação, tal como sempre aconteceu).
Valores possíveis: Vazio (sem valor selecionado) ou Cultura selecionada.
Valor por defeito: Vazio (sem valor selecionado).

Figura 6: Culture Attribute.
Label inline
Propriedade: Label inline. Consiste em colocar a label e o valor na mesma linha no seguinte formato: label valor.
Valores possíveis:: True ou False.
Valor por defeito:: False
Suporte só em campos master. Campos em detalhes não têm acesso a esta propriedade.

Figura 7: Propriedade Label inline.

Figura 8: Tax Id com Label inline = true.
Show caption
Propriedade: Show caption. Consiste no suporte da visibilidade da caption (label). Se Show Caption = false, a caption não será visível.
Valores possíveis:: True ou False.
Valor por defeito:: True
Suporte só em campos master. Campos em detalhes não têm acesso a esta propriedade. Nota: Se show caption = false e o valor deste campo não tiver valor então a linha não irá aparecer (nem ocupar espaço).

Figura 9: Propriedade Show caption.
ShowCaption = False e campo Mobile têm valor

Figura 10: Mobile com show caption = false.
ShowCaption = False e campo Mobile não têm valor => Nada será visível e não ocupará espaço.

Figura 11: Mobile sem valor e com show caption = false.
Margin
Propriedade: Margin. Suporte para margem acima e\ou abaixo. Consiste em modelar agrupamentos (aplicar margem acima ou abaixo de um campo).
Valores possíveis: None, Above e Below.
Valor por defeito: None
Suporte só em campos master. Campos em detalhes não têm acesso a esta propriedade.
Exemplo de um report com uma secção company da seguinte forma:

Figura 12: Exemplo secção company em report.
Pretendemos efetuar agrupamentos nesta secção. Ter uma margem abaixo do campo Address e abaixo do campo TaxId

Figura 13: Exemplo de layout pretendido.

Figura 14: Propriedade Margin.
Campo Telephone com Margin = Above (para colocar uma margem acima deste campo). Nota: o mesmo efeito seria colocar o campo TaxId com Margin = Below.

Figura 15: Propriedade Margin.
Os restantes campos ficam com a propriedade Margin por defeito ou seja, None (não será aplicado margem).
Resultado

Figura 16: Report secção company com aplicação de Margin.
Visible expression
Propriedade: Visible expression. Consiste em aplicar a visibilidade de um campo através de uma expressão suportado pelo o DevExpress.
Valores possíveis: NULL ou expressão válida.
Valor por defeito: NULL
Visibilidade do campo: Se a expressão for verdadeira o campo aplicado ficará com a visibilidade = true, caso contrário a visibilidade será false. Expressão válida: A expressão terá que ter um atribute na expressão e o atribute deverá estar entre [].
Exemplos:
[Company.CompanyTaxID]=='123456789'
Iif ([Quantity] > 1, False, True)
Visible expression é suportado tanto em campos master ou de detalhe, mas com particularidades:
Campo Master => Só suporta campos Master na visible expression
Campos Detalhe => Só suporta campos Detalhe na visible expression
Exemplo de um report com uma secção company da seguinte forma:

Figura 17: Exemplo report.
Pretendemos que o campo Telephone seja visível se o CampanyTaxId for igual a ‘123456789’ e o campo Email seja visível se o CampanyTaxId for diferente de ‘123456789’

Figura 18: Exemplo layout pretendido.
No campo Company.Telephone aplicar a visible expression [Company.CompanyTaxID]=='123456789'

Figura 19: Visible expression no campo Telephone.
No campo Company.ElectronicMail aplicar a visible expression Iif ([Company.CompanyTaxID]=='123456789', False, True)

Figura 20: Visible expression no campo ElectronicMail.
Aplicação da expressão no report caso o companyTaxId = 123456789 o campo Telephone fica visível e o campo email não fica visivel.

Figura 21: Aplicação do visible expression no report.
Aplicação da expressão no report caso o companyTaxId = 295998954 (ou seja diferente de 123456789) o campo Telephone não fica visível e o campo email fica visivel.

Figura 22: Aplicação do visible expression no report.
- Notas importantes:
Foi identificado que existe expressões que não funcionam corretamente, um dos exemplos é o iIf da DevExpress aplicado em campos decimais.
Exemplo:
Campo Quantity é do tipo decimal, usando a seguinte visible expression não irá funcionar corretamente: Iif ([Quantity] > 10, False, True) deverá converter o campo para decimal desta forma para funcionar corretamente: Iif (ToDecimal([Quantity]) >10, False, True)
Aggregation Expression
Propriedade: Aggregation Expression. . Consiste em modelar agregações com expressões e depois irá aparecer um painel com essas agregações.
Valores possíveis: None, Sum, Avg e Count.
Valor por defeito: None
Suporte só em campos de detalhe e do tipo numérico.

Figura 23: Propriedade aggregation expression.
Abaixo exemplo de um report com aplicação de aggregation expression nos campos: + Quantidade => Count + Price => Avg + Discount => Sum

Figura 24: Aplicação no report aggregation expression.
Templates
Striped Rows
Este novo campo só está disponível se o Report Type for List e têm como finalidade colocar sombreado nas linhas impares da lista.

Figura 25: Campo striped rows no template.

Figura 26: Report list com striped rows = true.
Font size
Opções da propriedade Font Size do template. Passou apenas a suportar as seguintes opções:
- Extra small: 6pt
- Small: 7pt
- Medium: 8pt
- Large: 13pt
Configurações de impressão
Em entidades que tenham suporte para impressão, o utilizador têm a possibilidade de adicionar, alterar, remover campos aos reports. Para aceder à configuração de impressão deverá entrar dentro da entidade.

Figura 27: Configuração de impressão.
Ao aceder á configuração de impressão, é apresentado uma lista de reports disponiveis para a entidade ao qual foi acedido a configuração de impressão.

Figura 28: Lista de Reports - Configuração de impressão.
Ao aceder a um report é apresentado um formulário com dois separadores: Atributes e Template.
Separador Attributes
No separador Attributes é onde o utilizador poderá adicionar, remover, alterar atributos do report.
Este separador é divido em duas secções. A secção do lado esquerdo é apresentado uma arvore onde o utilizador poderá navegar á secção ao qual pretende adicionar\alterar\remover atributos.
A secção do lado direito apresenta os atributos que estão atualmente nesta secção e onde irá adicionar\alterar\remover atributos.

Figura 29: Separador Attributes.
Para secções Master é apresentado da seguinte forma:
secção -> row -> column
Só é permitido adicionar atributos master de sistema e\ou atributos de utilizador ao qual a empresa tenha acesso.

Figura 30: Section Master.
Para secções Detalhe é apresentado em duas formas:
Document Lines -> First row
Document Lines -> Second row
Só é permitido adicionar atributos de detalhe de sistema e\ou atributos de utilizador ao qual a empresa tenha acesso.
Na secção First row é apresentado attributos de sistema ao qual não se pode modificar.

Figura 31: Section Detail First Row.
Na secção Second Row é a secção ao qual o utilizador poderá adicionar\remover\alterar atributos nos detalhes.

Figura 32: Section Detail Second Row.
Separador Template
No separador Template é apresentado os templates disponíveis para o report com a indicação do report que está atualmente selecionado. O utilizador poderá alterar o template selecionado e poderá pré-visualizar .

Figura 33: Section Detail Second Row.