Bom dia amigos, Seguindo com o projeto Solicitação de Compra via Fluig x Protheus. Estou com mais uma dificuldade. Criei um fluxo e nele um serviço que consome um Script que envia 4 campos de um formulário, o detalhe é que para facilitar para o usuário pensei em criar uma tabela dinâmica e um botão para multiplicar os itens, assim o solicitante adiciona quantos itens quiser na solicitação de compra. Ex:
<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="panel panel-default" id="pn_usi_funDeBloco_etapa01">
<div class="panel-heading">
<h3 class="panel-title">Solicitacao</h3>
</div>
<div class="panel-body">
<div class="table-responsive">
<table class="table table-striped table-bordered" tablename="tb_Solicitacao_Compra" id="tb_Solicitacao_Compra" deleteicon="/ecm_resources/resources/assets/images/delete_24_Original.png">
<thead>
<tr>
<th>ITEM</th>
<th>PRODUTO</th>
<th>QUANTIDADE</th>
<th>Local01</th>
<th>CC</th>
</tr>
</thead>
<tbody>
<tr>
<td><input type="text" name="ITEM" id="ITEM" class="form-control"></td>
<td><input type="text" name="PRODUTO" id="PRODUTO" class="form-control"></td>
<td><input type="text" name="QUANTIDADE" id="QUANTIDADE" class="form-control"></td>
<td><input type="text" name="Local01" id="Local01" class="form-control"></td>
<td><input type="text" name="CC" id="CC" class="form-control"></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</form>
</div>
</body>
<script type="text/javascript" src="ds_teste04.js"></script>
</html>
Anteriormente com a ajuda do @Diogo Boegershausen criamos um modelo para apenas um produto.
function servicetask11(attempt, message) {
var clientService = fluigAPI.getAuthorizeClientService();
// Usando new String() do javascript nos parâmetros pra não dar problema no JSON.stringify
var data = {
options : { "logMessages" : "true"},
companyId: 1 + '',
serviceCode: 'SC',
endpoint: 'http://192.168.200.XXX:80XX/rest/SC',
method: 'POST',
timeoutService: '100',
params: {
"SC":{
"NUM": "cDoc",
"SOLICITANTE": "cUserName",
"EMISSAO": "dDataBase",
"ITENS":
[{
"ITEM" : new String(hAPI.getCardValue("ITEM")),
"PRODUTO" : new String(hAPI.getCardValue("PRODUTO")),
"QUANTIDADE" : parseInt(hAPI.getCardValue("QUANTIDADE")),
"DATA" : "",
"LOCAL" : new String(hAPI.getCardValue("Local01")),
"CC" : new String(hAPI.getCardValue("CC")),
"OBS" : "GERADO VIA WEBSERVICE"
}]
}
},
}
var vo = clientService.invoke(JSON.stringify(data));
// Jogando o retorno do POST como uma observação no histórico da solicitação
var tenantId = getValue('WKCompany');
var numState = getValue('WKCurrentState');
var user = getValue('WKUser');
var numProcess = getValue('WKNumProces');
var currentThread = hAPI.getActualThread(tenantId, numProcess, numState);
hAPI.setTaskComments(user, numProcess, currentThread, "Resultado da chamada: " + vo.getResult());
}
Agora o desafio é implementar mais de um item usando a função table.