How to display BDM records in UI Designer?

1
0
-1

I need to display the records that are in my BDM in UI Designer, so far I have only been able to display what is in my process variable, through the following code:

../API/bpm/caseVariable/{{task.caseId}}/listaTransportadoras

However I need to display my BDM records in a table in the UI Designer, how can I do this?

I tried to create an API like this:

../{{context.transportadoras_ref.link}}

And I called the attributes of my BDM like this:

retorno.status

But the return was empty, what do I need to change to return have the attribute value of my BDM?

2 answers

1
+1
-1
This one is the BEST answer!

Romualdo, sua dúvida já foi sanada?
Se precisar de ajuda, eu trabalho com o Bonita há 4 anos e se precisar, posso te ajudar, em PT-BR!

Abraços!
Marcos Vinícius Pinto

Comments

Submitted by romualdo.s.rs on Thu, 02/09/2017 - 14:43

Bom dia Marcos, obrigado pelo retorno, é bom encontrar alguém que também possa me ajudar na minha língua nativa.
Referente a essa pergunta, não consegui ainda resolver meu problema, você conseguiu entender minha dúvida referente a exibir os valores dos Atributos do meu BDM no UI Designer?

Desde já muito obrigado por ter se disponibilizado a me ajudar, estou começando a usar agora a ferramenta, e tem muita coisa que para mim são incógnitas no Bonitasoft.

Submitted by mvpdev on Thu, 02/09/2017 - 15:01

Olá Romualdo!

Entendi sua dúvida sim! Ela é normal quando se está iniciando na ferramenta. Para recuperar suas informações guardadas no banco de dados de objetos de negócio na tela, via UI designer você precisa usar a API REST que acessa o bdm:
- ../API/bdm/businessData/com.company.model.transportadoras?q=find&p=0&c=1000
Dicas:
- Use uma variável do tipo External API
- com.company.model.transportadora é o que eu penso que seja seu BDM, caso tenha dúvida: com.company.model é o nome do pacote que aparece no canto inferior esquerdo da tela de definição de BDMs (Menu Desenvolvimento/Development -> Modelo de dados de negócio/Bussiness Data Model -> Gerenciar/Manage)
- parametro q=find é a query que será executada para trazer seus objetos, ela é uma query padrão, definida no mesmo local de definição dos BDMs, na aba Query.
- o retorno desta chamada REST será parecido com o seguinte:
[
{
"persistenceId": 1,
"persistenceId_string": "1",
"persistenceVersion": 0,
"persistenceVersion_string": "0",
"firstName": "John",
"lastName": "Doe",
"phoneNumbers": ["123456789"],
"addresses": [{}],
"links": [{
"rel": "address",
"href": "/businessdata/com.company.model.Employee/1/address"
}
]
}
]
Uma lista de objetos JSON, sendo os objetos que você definiu no BDM.
- Pegue a variável do External API que você definiu para receber o resultado e coloque no componente Table ou DataTable (disponível apenas na versão paga da ferramenta) e defina no campo "columns keys" os mesmos nomes dos atributos de cada objeto do JSON de retorno, no nosso exemplo acima, seriam: firstName, lastName, phoneNumbers e addresses.

Espero ter ajudado! Qulalquer nova dúvida esteja à vontade para comunicar!

Abraços,
Marcos Vinícius Pinto

Submitted by romualdo.s.rs on Thu, 02/09/2017 - 16:25

Obrigado por toda a ajuda Marcos,

Eu fiz assim para gerar a variável External API:
/bonita/API/bdm/businessData/com.hss.model.Transportadora?q=find&p=0&c=10

Acredito que esteja certo pois ela começou a retornar informações do meu BDM, porem mesmo eu definindo que queria apenas o atributo "nome", ele continuou me trazendo todos, vou te mostrar pelas imagens o que fiz:

Configuração
https://drive.google.com/file/d/0B8aMiLwwVY0nOEZHQnhCNGl5WEU/view?usp=sh...

Visualização Tabela
https://drive.google.com/file/d/0B8aMiLwwVY0ncG10QWFES2t1V1k/view?usp=sh...

Minha dúvida é o que preciso alterar para conseguir trazer apenas o atributo "nome" do meu BDM na tabela?

Grato por toda a ajuda até agora Marcos

Submitted by romualdo.s.rs on Thu, 02/09/2017 - 16:27

Não sei se você pode e gostaria de passar daqui a pouco um email para contato?

Submitted by mvpdev on Thu, 02/09/2017 - 16:34

Olá!

Aparentemente você fez tudo certo, mas recomendo que seu link para a variavel de API Externa seja iniciado por:
../API/... e não /bonita/API/... como você fez (pelo que vi na sua imagem).

Seu JSON de retorno me indica que os atributos do seu BDM estão como múltiplos, pois eles vem como tipo lista, exemplo: codigo:[4], nome:["Teste"], status:["Ativo"]
Verifique seu BDM, pois sendo dessa forma, sua tabela não saberá colocar os valores nas colunas que você determinar.

Claro que posso passar meu email!
mvpdev@gmail.com

Abraços,
Marcos Vinícius Pinto

Submitted by romualdo.s.rs on Thu, 02/09/2017 - 16:52

Obrigado pelo esclarecimento, e obrigado por não ter se importado de passar seu email também.

Mas Marcos, uma pergunta, eu estou selecionando dados de uma tabela do meu banco de Dados PostreSQL, dai salvo em uma variável de processo do tipo List e depois passo para os respectivos atributos do BDM, se no BDM meus atributos não forem múltiplos como ele irão conseguir receber os atributos do meu Banco de dados?

Abraços,

Romualdo Santos

Submitted by mvpdev on Thu, 02/09/2017 - 16:56

Entendo sua necessidade, mas talvez seu problema seja outro então:

Vocês precisa "cadastrar" múltiplas transportadoras, então sua variável do tipo lista não deve ser atribuída a um atributo do objeto, mas a vários objetos do tipo Transportadora. Para conseguir te ajudar melhor, só vendo seu exemplo/necessidade real para orientá-lo da melhor forma.

Manda seu cenário completo por email que eu te ajudo.

Abraços!
Marcos Vinícius Pinto

PS.: se não se importar, marque como resolvida a sua questão com minha resposta inicial.

1
0
-1

I would refer to the Getting Started Tutorial here which tells you how to update a page to display data from a set of BDM. If you follow the full tutorial you will see how it all fits together,

regards
Seán

PS: As this reply answers your question, please mark as resolved.

Notifications