Recuperar informação de formulário e informar no dataset

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) {

}
compartilhar
  • 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 2018
  • Sim Diogo Boegershausen é em um processo, Porem não consegui entender corretamente, poderia enviar um exemplo por favor.

    Danilo Mariano   19 de Sep de 2018
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

2 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags datasets rest formulario ou faça a sua própria pergunta.