Pai-Filho com Smart-Zoom

Boa noite Senhores

Estou desenvolvendo um formulário para inclusão de solicitações de compras nos Movimentos do RM, então montei um Pai-Filho vinculado à um DataSet com dados itens do RM TITMMOV=(CODIGOPRD,NOMEFANTASIA,CODUND). Mas estou tomando uma surra do Javascript para fazer o preenchimento dos campos de código e unidade apos selecionar o nome do produto.

Erro no console do navegador Uncaught TypeError: window[instance].setValue is not a function at setZoomData (?WDCompanyId=1&WDNrDocto=0&WDNrVersao=0&WDParentDocumentId=20108&WKNumProces=0&processID=Solicitação+de+Inclusão+de+Movimento&WKNumState=0&WKManagerMode=false&WKDef=Solicitação+de+Inclusão+de+Movimento&WKVersDef=53&taskUserId=herickfreitas:255) at setSelectedZoomItem (?WDCompanyId=1&WDNrDocto=0&WDNrVersao=0&WDParentDocumentId=20108&WKNumProces=0&processID=Solicitação+de+Inclusão+de+Movimento&WKNumState=0&WKManagerMode=false&WKDef=Solicitação+de+Inclusão+de+Movimento&WKVersDef=53&taskUserId=herickfreitas:247) at HTMLSelectElement.<anonymous> (forms.js?v=1.6.5-200414:1) at HTMLSelectElement.dispatch (jquery.js:2) at HTMLSelectElement.r.handle (jquery.js:2) at Object.trigger (jquery.js:2) at HTMLSelectElement.<anonymous> (jquery.js:2) at Function.each (jquery.js:2) at n.fn.init.each (jquery.js:2) at n.fn.init.trigger (jquery.js:2)

html Pai-filho e Smart-Zoom

<div class="container-fluid">
  <div>
  <table tablename="item" addbuttonlabel="Adicionar Itens" >
    <thead>
        <tr>
            <td class="col-xs-2 col-md-2"><b>Cód. Item</b></td>
            <td class="col-xs-4 col-md-4"><b>Nome</b></td>
            <td class="col-xs-1 col-md-1"><b>Cód. Unidade</b></td>
            <td class="col-xs-1 col-md-1"><b>Qtd.</b></td>
            <td class="col-xs-2 col-md-2"><b>Valor Unit.</b></td>
            <td class="col-xs-2 col-md-2"><b>Valor Total</b></td>

        </tr>
    </thead>
    <tr> 
        <td class="col-xs-2 col-md-2"><input type="zoom" id = "CODIGOPRD" name="CODIGOPRD"
                                                data-zoom="{
                                                    'displayKey':'CODIGOPRD',
                                                    'datasetId':'_RM_PRODUTO',
                                                    'maximumSelectionLength':'1',
                                                    'fields':[
                                                        {
                                                          'field':'CODIGOPRD',
                                                          'label':'Cód. Produto'
                                                        },{
                                                          'field':'NOMEFANTASIA',
                                                          'label':'Nome',
                                                          'standard':'true'
                                                        },{
                                                          'field':'CODUND',
                                                          'label':'Unidade'
                                                        }
                                                    ]
                                                }" /></td>
        <td class="col-xs-4 col-md-4"><input type="zoom" id = "NOMEFANTASIA" name="NOMEFANTASIA"
                                              data-zoom="{
                                                  'displayKey':'NOMEFANTASIA',
                                                  'datasetId':'_RM_PRODUTO',
                                                  'maximumSelectionLength':'1',
                                                  'placeholder':'Digite o produto ou serviço',
                                                  'fields':[
                                                      {
                                                        'field':'CODIGOPRD',
                                                        'label':'Cód. Produto'
                                                      },{
                                                        'field':'NOMEFANTASIA',
                                                        'label':'Nome',
                                                        'standard':'true'
                                                      },{
                                                        'field':'CODUND',
                                                        'label':'Unidade'
                                                      }
                                                  ]
                                              }" /></td>
        <td class="col-xs-1 col-md-1"><input type="zoom" id = "CODUND" name="CODUND"
                                              data-zoom="{
                                                  'displayKey':'CODUND',
                                                  'datasetId':'_RM_PRODUTO',
                                                  'maximumSelectionLength':'1',
                                                  'fields':[
                                                      {
                                                        'field':'CODIGOPRD',
                                                        'label':'Cód. Produto'
                                                      },{
                                                        'field':'NOMEFANTASIA',
                                                        'label':'Nome',
                                                        'standard':'true'
                                                      },{
                                                        'field':'CODUND',
                                                        'label':'Unidade'
                                                      }
                                                  ]
                                              }" /></td>
        <td class="col-xs-1 col-md-1"><input type="text"   name="QTD"           id="QTD"          class="form-control" mask="000.000.000"></td>
        <td class="col-xs-2 col-md-2"><input type="text"   name="VALORUNIT"     id="VALORUNIT"    class="form-control" mask="#00.000.000.000.000,00"></td>
        <td class="col-xs-2 col-md-2"><input type="text"   name="VALORTOTAL"    id="VALORTOTAL"   class="form-control" mask="#00.000.000.000.000,00"></td>
    </tr>    
  </table>
  </div>
</div>

JavaScript

```// Função coleta o input informado no zoom function setSelectedZoomItem(selectedItem) {

var FIELD = selectedItem.inputId; var nomeproduto = "NOMEFANTASIA"; console.log("Entrou no setSelectedZoomItem ")

if(FIELD.indexOf(nomeproduto) > -1){ setZoomData("CODIGOPRD", selectedItem["CODIGOPRD"]); setZoomData("CODUND", selectedItem["CODUND"]); //console.log(selectedItem["CODIGOPRD"]); //console.log(selectedItem["CODUND"]); }

// Funcao replica para outros campos do formulário function setZoomData(instance, value){ window[instance].setValue(value); }```

Solução

// Função coleta o input informado no zoom

function setSelectedZoomItem(selectedItem) {

var NAME = "NOMEFANTASIA"; var FIELD = selectedItem.inputId; var indice = FIELD.indexOf(NAME);

if (FIELD.indexOf(NAME) > -1){ var seq = FIELD.split("_");

setZoomData("CODIGOPRD"+""+seq[indice+1], selectedItem["CODIGOPRD"]); setZoomData("CODUND"+""+seq[indice+1], selectedItem["CODUND"]); } }

//2 segundos

window.onload = function(){ setTimeout(setZoomData, 2000); }

// Funcao replica para outros campos do formulário

function setZoomData(instance, value){ window[instance].setValue(value); }

compartilhar
  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 paifilho zoom formulario ou faça a sua própria pergunta.