Boa tarde, preciso de uma ajuda para entender a seguinte situação:
Resolvi criar um processo para solicitar manutenção de alguns equipamentos que temos em comodato. Por ser algo mais simples a para fins de aprender e praticar eu cheguei uma barreira que ainda não consegui entender a lógica para fazer funcionar…
Eu tenho um dataset avançado que consome uma Aplicação REST que estamos desenvolvendo para se comunicar com nosso ERP..
A dúvida é a seguinte qual a melhor maneira para pegar uma informação selecionada ou preenchida em um campo para ser passado nesse dataset para realizar a consulta. A minha necessidade seria no caso o dataset que está vinculado ao Agente Comercial servir de apoio para para o Dataset do Cliente eu tentei usar a hAPI e descobri que o lugar dela não é no dataset hehe.
Aqui seria aonde o valor deveria ser inputado, porém não consegui imaginar como ainda…
Lembrando, nesse caso em especifico tudo foi desenvolvido fora do ambiente do eclipse…. Desde o workflow até o formulário….
O Dataset não vai conseguir pegar os dados do processo/formulário normalmente.
Em geral a gente passa os dados pro dataset via constraints. Até podemos usar alguma API/WS no dataset para buscar os dados de algum lugar, mas ainda é mais comum passar a constraint.
Nessa Documentação de Dataset Avançado mostra como percorrer/recuperar os valores enviados por Constraints. Então o que sempre faço é um dataset avançado receber as informações e a partir delas executar algo, retornando os dados necessários.
Bruno, obrigado. A uma outra dúvida como eu fiz pelo Web e não pelo Eclise é possível passar essas constraints também?
É possível sim. Você fez pelo Editor de Datasets no próprio Fluig, certo?
Imagina esse dataset criado por lá, com o código teste0001. Ele espera receber uma constraint com o nome nomeDaConstraintEsperada.
Aí, no evento de formulário ou de processo, você chama esse dataset.
Exemplo num evento de processo:
function beforeStateEntry(sequenceId) {
if (sequenceId != NUMERO_ATIVIDADE_PRA_EXECUTAR) {
return;
}
var dataset = DatasetFactory.getDataset(
'teste0001',
null, // pega todos os campos. Mas no nosso caso é irrelevante, porque não tratamos isso no dataset
[
// O final value é irrelevante nesse caso, porque no dataset só pegamos o initial value
// O mesmo com relação ao constraint type, porém ele é obrigatório enviar
DatasetFactory.createConstraint(
"nomeDaConstraintEsperada",
hAPI.getCardValue("campo_do_formulario"),
null,
ConstraintType.MUST
)
],
null
);
if (dataset.rowsCount == 0) {
// não retornou nada
return;
}
var valorRetornado = dataset.getValue(0, "campoRetornado");
// continua o código
}
Certo, a noite vou fazer uns teste…. Você faz mentoria?
Infelizmente ainda não trabalho com mentoria.
O tempo tá bem escasso devido ao trabalho + cursos externos, aí o tempo pra fazer algo extra tá muito curto pra fazer algo com qualidade.
Mas sempre que possível tento colaborar com algumas respostas 
@Leonardoo tem bastante conteudo de fluig na internet!
Tambem recomendo o site da TOTVS Academy.fluig.com!