Foi implementado na integração com o Smart View a possibilidade de criação de objetos de negócios aninhados. Um objeto de negócio aninhado consiste em um objeto de negócio que possui propriedades multiníveis e relações de dados, permitindo assim que os dados sejam enviados em um mesmo objeto, mas com grupos separados. Aviso |
---|
| As propriedades aninhadas (formato array) devem ser utilizados apenas em relatórios. Na visão de dados e tabela dinâmica as mesmas não trarão resultados dentro do objeto. Essas propriedades, incluindo suas subpropriedades, não são filtráveis. |
Novos Métodos na classe totvs.framework.treports.integratedprovider.IntegratedProvideraddNestedProperty()Adiciona uma propriedade aninhado no objeto de negócio. Parâmetros:Nome | Tipo | Obrigatório | Default | Descrição |
---|
cId | Caractere | X |
| Id da propriedade | cDescription | Caractere | X |
| Descrição da propriedade | cDisplayname | Caractere | X |
| Nome de exibição | cAlias | Caractere |
|
| Indica o alias da propriedade | xField | Variant | X |
| Caractere ou Array contendo a estrutura/campos do objeto aninhado |
Informações |
---|
Para adicionar em uma única propriedade aninhada campos de várias tabelas, é necessário mandar o 5º parâmetro com a estrutura dos campos com 4 posições e o cAlias nulo: 1-Id | 2-Descrição | 3-Tipo | 4-DisplayName Exemplo completo: Bloco de código |
---|
aFields := {}
aAdd(aFields , {"A2_NOME", "Nome", "string", "Nome"})
aAdd(aFields , {"A1_COD", "Código", "string", "Código"})
self:addNestedProperty("Aninhado", "Aninhado", "Aninhado", , aFields) |
|
Exemplo de uso:self:addNestedProperty("Fornecedores", "Fornecedores (SA2)", "Fornecedores (SA2)", "SA2", {"A2_NATUREZ", "A2_CGC"})
|
Sintaxe: self:addNestedProperty () → nil
Transforma a propriedade em uma propriedade aninhada no objeto de negócio. Parâmetros:Nome | Tipo | Obrigatório | Default | Descrição |
---|
cId | Caractere | X |
| Id da propriedade | cAlias | Caractere | X |
| Indica o alias da propriedade | xField | Variant | X |
| Caractere ou Array contendo a estrutura/campos do objeto aninhado |
Exemplo de uso:self:transformInNested("EnderecoDetalhes", "SA2", {"A2_END", "A2_BAIRRO"})
|
Sintaxe: self:transformInNested () → nil
getStructNestedFields()Retorna a estrutura dos campos aninhados. Exemplo de uso:self:getStructNestedFields()
|
Sintaxe: self:getStructNestedFields () → array |