ORDA – Melhor selecção da linha da caixa de listagem

Tradução automática de Deepl
Provavelmente já usou o comando LISTBOX SELECT ROW comandar muitas vezes, fazendo looping através de cada entidade a fim de seleccionar as filas para uma selecção de entidade. 4D v18 R3 simplifica o processo com o novo comando LISTBOX SELECT ROWS comando.

HDI: Exemplos para seleccionar facilmente as linhas numa caixa de listagem

selecção da entidade Caixa de listagem

O novo comando LISTBOX SELECT ROWS aceita uma selecção de entidade como parâmetro. As linhas que correspondem à selecção da entidade podem ser seleccionadas com apenas uma única linha de código. Podem também ser facilmente adicionadas ou removidas das linhas seleccionadas.

Exemplo

O código seguinte cria uma selecção de entidades de clientes pagantes e selecciona as linhas para a selecção da entidade numa caixa de listagem:

C_OBJECT($selection)
$selection :=ds.Invoices.query("payment=:1"; "Cash")
LISTBOX SELECT ROWS (*; "Invoices";$selection;lk replace selection)
Aqui está a caixa de listagem resultante:

Caixa de listagem de colecções

O novo comando LISTBOX SELECT ROWS utiliza o mesmo princípio, fácil! Simplesmente, passe uma colecção contendo as referências dos objectos que deseja seleccionar para o comando.

Exemplo

O seguinte código utiliza a Form.payments cobrança e selecciona as linhas para clientes dentro de um intervalo de pagamento especificado:

Utilizando a Form.payments cobrança:

[
 {name:Cash,min:100,max:500},
 {name:Cheque,min:200,max:1200},
 {name:Credit card,min:700,max:1500},
 {name:Gift card,min:800,max:900}
]
C_COLLECTION($collection)
$collection :=Form.payments.query("min <= :1 e max >= :1";250)
LISTBOX SELECT ROWS (*; "Payments";$collection;lk replace selection)

A caixa de listagem resultante:

blank

Descarregar o HDI acima e verificar o centro doc para saber mais sobre este novo comando.

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.