Ir e vir entre as selecções actuais para a ORDA

Tradução automática de Deepl

ORDA é uma grande inovação do 4D v17, é por isso que estamos a dedicar uma série inteira de posts de blogues à ORDA. Embora a ORDA tenha os seus próprios conceitos que são muito diferentes da abordagem clássica, ainda é possível misturar a ORDA com o seu código existente.

Em poucas palavras, este post no blog irá mostrar-lhe como pode actualizar a selecção actual de uma tabela a partir da selecção de uma entidade e obter uma selecção de entidade a partir da selecção actual de uma tabela. Permitir-lhe-á integrar sem problemas os conceitosORDA no seu código 4D existente, passo a passo.

Exemplo: da selecção de entidade à selecção actual e vice-versa

INTRODUÇÃO

Com ORDA, os dados são acedidos através de uma camada de abstracção: a datastore. Uma datastore é um objecto que fornece uma interface para a base de dados e os seus dados através de objectos. E lembre-se, com ORDA, cada tabela é mapeada com um dataclass.

Uma vez que tenha uma selecção de entidade relacionada com um dataclass, pode actualizar a selecção actual do correspondente [Quadro] com o USE ENTITY SELECTION comando. E, uma vez que tenha uma selecção actual numa [Tabela], pode obter uma selecção de entidade relacionada com a classe de dados correspondente, com o Create entity selection comando.

Para guiá-lo através da exploração das características ORDA , preparámos um glossário dos diferentes termos e conceitos, juntamente com a sua definição.

Exemplo de código

Selecção actual a partir de uma selecção de entidade

No código abaixo, a selecção da entidade $entitySelection está relacionada com o comando Employee dataclass que corresponde efectivamente à tabela [Empregado] com o mesmo nome. O USE ENTITY SELECTION actualiza a selecção actual da tabela em conformidade.

C_OBJECT($entitySelection)
$entitySelection :=ds.Employee.query("lastName=:1"; "R@")
// The current selection of the [Employee] table is replaced according to the content of $entitySelection
USE ENTITY SELECTION ($entitySelection)
//... Go on with your classic 4D code ...
PRINT SELECTION ([Employee])
//...

selecção de entidades da selecção actual

Aqui, a selecção actual foi actualizada após a realização de uma consulta sobre a tabela [Empregado]. O Create entity selection() cria a selecção da entidade $entitySelection em conformidade. A selecção da entidade criada está relacionada com o comando Employee dataclass.

C_OBJECT($entitySelection)
// The current selection of the [Employee] table is updated after the query
QUERY ([Employee])
// $entitySelection is created from the current selection of the [Employee] table
$entitySelection :=Create entity selection([Empregado])

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.