Bom dia amigos, Estou criando uma solicitação de compra integrada ao Protheus. Já consegui criar um dataset que envia as informações para o Webservice Rest "Informações estão chumbadas no dataset". Porem agora tenho que popular esse dataset com informações do formulário, a pergunta é como fazer isso.
Ex : do formulário.
<html>
<head>
<link type="text/css" rel="stylesheet" href="/portal/resources/style-guide/css/fluig-style-guide.min.css"/>
<script type="text/javascript" src="/portal/resources/js/jquery/jquery.js"></script>
<script type="text/javascript" src="/portal/resources/js/jquery/jquery-ui.min.js"></script>
<script type="text/javascript" src="/portal/resources/js/mustache/mustache-min.js"></script>
<script type="text/javascript" src="/portal/resources/style-guide/js/fluig-style-guide.min.js" charset="utf-8"></script>
</head>
<body>
<div class="fluig-style-guide">
<form name="form" role="form">
<div class="fluig-style-guide">
<form name="form" role="form">
<div class="form-group">
<label for="ITEM">ITEM</label>
<input type="text" class="form-control" name="ITEM" id="ITEM">
</div>
<div class="form-group">
<label for="PRODUTO">PRODUTO</label>
<input type="text" class="form-control" name="PRODUTO" id="PRODUTO">
</div>
<div class="form-group">
<label for="QUANTIDADE">QUANTIDADE</label>
<input type="text" class="form-control" name="QUANTIDADE" id="QUANTIDADE">
</div>
<div class="form-group">
<label for="Local01">Local01</label>
<input type="text" class="form-control" name="Local01" id="Local01">
</div>
<div class="form-group">
<label for="CC">CC</label>
<input type="text" class="form-control" name="CC" id="CC">
</div>
</form>
</div>
</body>
</html>
Ex : do dataset.
function defineStructure() {
}
function onSync(lastSyncDate) {
}
function createDataset(fields, constraints, sortFields) {
var dataset = DatasetBuilder.newDataset();
dataset.addColumn('Retorno_post');
var clientService = fluigAPI.getAuthorizeClientService();
var data = {
options : { "logMessages" : "true"},
companyId: 1 + '',
serviceCode: 'SC',
endpoint: 'http://192.168.2XX.XX:XXXX/rest/SC',
method: 'POST',
timeoutService: '100',
params: {
"SC":{
"NUM": "cDoc",
"SOLICITANTE": "cUserName",
"EMISSAO": "dDataBase",
"ITENS":
[{
"ITEM":"0001",
"PRODUTO":"01003",
"QUANTIDADE":5,
"DATA":"",
"LOCAL":"01",
"CC":"210801",
"OBS":"GERADO VIA WEBSERVICE"
},
]
}
},
}
var vo = clientService.invoke(JSON.stringify(data));
if (vo.getResult() == null || vo.getResult().isEmpty()) {
dataset.addRow(new Array("Retorno esta vazio"))
} else {
dataset.addRow(new Array(vo.getResult()))
}
return dataset;
}function onMobileSync(user) {
}
Danilo, isso seria executado em algum processo do fluig certo? Se for o caso, ficaria mais fácil mover esse código da chamada POST para uma atividade de serviço do BPM ou algum evento de processo, por exemplo um afterTaskSave. Nos dois casos você poderia usar a instrução hAPI.getCardValue("name_do_campo_do_formulario") para pegar os dados do formulário do processo em questão
— Diogo Boegershausen 19 de Sep de 2018Sim Diogo Boegershausen é em um processo, Porem não consegui entender corretamente, poderia enviar um exemplo por favor.
— Danilo Mariano 19 de Sep de 2018