ORDA: Notícias de última hora para métodos de selecção de entidades

Tradução automática de Deepl

Quando se trata de ORDA, 4D v18 R3 está cheio de boas notícias! Os novos métodos de membros estão à sua disposição para melhorar ainda mais a sua experiência de codificação.

Para começar, a extracção de dados de uma selecção de entidade foi grandemente enriquecida permitindo-lhe construir uma colecção totalmente personalizada com os seus dados de selecção de entidade .

Além disso, estamos a fornecer-lhe uma forma de indicar a uma entidade de selecção que os seus dados precisam de ser imediatamente actualizados a partir do servidor, invalidando os dados em cache.

Interessado em alguns detalhes? Continue a ler, tudo o que precisa de saber está abaixo.

extrair dados de uma selecção de entidade

O novo extract() O método de membro está disponível numa selecção de entidade.

Pode agora construir uma colecção personalizada a partir de uma selecção de entidades!

Exemplo 1

No método de extract() método de membro, pode especificar os atributos de dataclass que deseja extrair e os seus nomes na colecção resultante.

Dada esta base de dados simples:

Construímos uma colecção $mailing de objectos com nomes de propriedade específicos: “destinatário”, “cidade”, “zipCode”.

C_COLLECTION($mailing)
$mailing :=ds.Interns.all().extract("último nome"; "destinatário";
"empregador.cidade"; "cidade";
"empregador.zipCode"; "zipCode")

e aqui está o resultado

$mailing colecção:

[
{recipient:Hodge,city:Blakeslee,zipCode:18610},
{recipient:Metzler,city:Medfield,zipCode:02052},
{recipient:Broyles,city:Madison,zipCode:13402}
]

Exemplo 2

Note-se que os atributos de dataclass, que são uma entidade relacionada, podem ser extraídos como um conjunto de entidades.

Um caso de utilização possível é a manipulação de uma colecção de entidades a partir de diferentes classes de dados.

No exemplo abaixo, construímos a colecção Form.partners, que contém entidades da Empresa e da Escola de Classificações de Dados.

blank

C_COLLECTION($companies;$schools)

// $companies is a collection of entities of Company dataclass
$companies :=ds.Interns.all(). .extract("empregador")

// $schools is a collection of entities of School dataclass
$schools :=ds.Interns.all().extract("escola")

Form .partners:=$companies.concat($schools) // Form.partners is a collection

Depois, a colecção Form.partners está pronta para ser exibida numa caixa de listagem!blank

Verifique a documentação para a refresh() e extract() métodos de membros para saber mais!

Actualizar a selecção de uma entidade

O novo refresh() O método de membro está disponível numa selecção de entidade. Anula os dados de selecção da entidade na cache ORDA para que, da próxima vez que utilizar os dados, despolete uma actualização a partir do servidor.

Por defeito, a cache ORDA expira após 30 segundos, por isso use o refresh() método de membro apenas no caso de necessitar de dados actualizados imediatamente.

Exemplo

Tem alguns atributos da selecção de entidades Form.invoices exibidos numa caixa de listagem e, num determinado momento, pretende exibir actualizações feitas por outros clientes sobre esses atributos de selecção de entidades. Fácil! Basta usar a função refresh() método dos membros.

Form.invoices.refresh() // The Form.invoices entity selection displayed data will be refreshed from the server

Avatar
• Proprietário do produto - Marie-Sophie Landrieu -Yvert entrou ao time 4D Product como Proprietária do Produto em 2017. Como tal, está a cargo de escrever as histórias dos usuários e depois traduzi-las em especificações funcionais. Seu papel também é garantir que a implementação da funcionalidade entregue cumpra com as necessidades do cliente. Marie-sophie se formou na Escola de Engenharia de ESIGELEC e começou sua carreira como engenheira da IBM em 1995. Participou em vários projetos (de manutenção e criação) e trabalhou como desenvolvedora de Cobol. Depois trabalhou como designer de UML e desenvolvedora de Java. Suas principais funções foram analisar e redigir requisitos funcionais, coordenar os times de negócio e de desenvolvimento.