Versão atual:

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); }

Versões (3):

Ver a versão formatada

Pai-Filho com Smart-Zoom

Comentário

new question