tenho um formulário de um processo que contem duas tabelas pai filho. uma das tabelas mostra os itens do contrato de um determinado cliente que foi selecionado em uma combobox. na outra tabela é adicionado os itens que se deseja fazer renovação. o problema que esta ocorrendo é que a tabela que possui os itens do contrato do cliente esta adicionando linhas em branco sem chamar nenhuma funcao, já coloquei vários console.log e tbm alerts afim de descobrir se estava chamando a função que adiciona os itens nessa tabela mas nenhum dos console.log ou alert é exibido e mesmo assim as linhas estão sendo adicionadas na tabela. o que ocorre por exemplo é que quando estou na atividade onde faço a renovação dos itens do contrato, a tabela se comporta normalmente, o problema ocorre quando movimento o processo pra outra atividade. a quantidade de linhas em branco que é adicionada na tabela é igual a quantidade de linhas da outra tabela, ou seja, se na tabela de itens que serão renovados tiver 4 linhas, na hora que eu movimentar o processo a tabela que contem os itens do contrato tbm fica com 4 linhas, porem com os campos em branco.
alguém já passou por essa situação ou faz ideia do que pode ser?
segue codigo das tabelas
TABELA 1
<div id="divgrid" class="col-sm-12">
<table class="table table-striped" id="tbItens_contratados" tablename="tbItens_contratados"
noaddbutton="true" nodeletebutton="true">
<thead>
<tr>
</tr>
</thead>
<tbody>
<tr detail="true" detailname="tbItens_contratados">
<td>
<div class="row">
<div class="form-group">
<label class="radio-inline btn btn-success">
<input type="radio" name="rb_opcao_itens" id="rb_opcao_itens" value="renovar" required="required" onclick="adicionaItensTabela(this.id)">Renovar</label>
<label class="radio-inline btn btn-danger">
<input type="radio" name="rb_opcao_itens" id="rb_opcao_itens" value="cancelar" required="required" onclick="cancelaItens(this.id)">Cancelar</label>
<label class="radio-inline btn btn-success">
<input type="radio" name="rb_opcao_itens" id="rb_opcao_itens" value="migracao" required="required" onclick="adicionaItensMigracao(this.id)">Migração</label>
</div>
</div>
<div class="row">
<div class="col-md-3">
<input id="codprodutoitem_2" name="codprodutoitem_2" type="hidden" class="form-control" />
<label for="txtNome">Produto</label>
<input id="produtoitem_2" name="produtoitem_2" class="form-control" type="text" />
</div>
<div class="col-md-1">
<label for="txtNome">Quant.</label> <input
id="quantidadeitem_2" name="quantidadeitem_2"
class="form-control"
type="text" value='1' />
</div>
<div class="col-md-2">
<label for="txtNome">Valor Unit.</label> <input
id="valorestimado_2" name="valorestimado_2"
class="form-control"
type="text"/>
</div>
<div class="col-md-2">
<label for="txtNome">Valor Cheio</label> <input
id="valorcheio_2" name="valorcheio_2"
class="form-control"
type="text" />
</div>
<div class="col-md-2">
<label for="txtNome">Valor Desconto</label>
<input id="valordesconto_2" name="valordesconto_2" class="form-control"
type="text"/>
</div>
<div class="col-md-2">
<label for="txtNome">Valor Mensal</label> <input
id="totalitem_2" name="totalitem_2"
class="form-control" type="text"/>
</div>
</div>
<div class="row"> </div>
<div class="row">
<div class="col-md-4">
<label for="txtNome">Quant Meses Inic.</label>
<div class="input-grup">
<input id="qtmesini_2" name="qtmesini_2" value="0"
class="form-control" type="text"/>
</div>
</div>
<div class="col-md-4">
<label for="txtNome">Quant Meses Cobr.</label>
<div class="input-grup">
<input id="qtmescob_2" name="qtmescob_2" value="0"
class="form-control" type="text"/>
</div>
</div>
<div class="col-md-4">
<label for="txtNome">Cod.Endereço</label>
<div class="input-grup">
<input id="codendereco_2" name="codendereco_2"
class="form-control" type="text" />
</div>
</div>
<div class="col-md-1">
<input id="grupo_2" name="grupo_2" class="form-control"
type="hidden" value=""/>
</div>
<div class="col-md-1">
<input id="upc01_2" name="upc01_2" class="form-control"
type="hidden" value=""/>
</div>
<div class="col-md-1">
<input id="upc02_2" name="upc02_2" class="form-control"
type="hidden" value=""/>
</div>
<div class="col-md-1">
<input id="obsitem_2" name="obsitem_2" class="form-control"
type="hidden" value=""/>
</div>
<div class="col-md-1">
<input id="cod_item_2" name="cod_item_2" class="form-control"
type="hidden" value=""/>
</div>
</div>
</td>
</tr>
</tbody>
</table>
</div>
TABELA 2
<div id="div_tb_itens_renovados" class="col-sm-12">
<table class="table table-striped" id="tbItens" tablename="tbItens"
noaddbutton="true" customFnDelete="removeItensVenda(this)">
<thead>
<tr>
</tr>
</thead>
<tbody>
<tr detail="true" detailname="tbItens">
<td>
<div class="row">
<div class="col-md-12">
<label for="txtNome">Produto</label>
<input id="produtoitem_contrato" name="produtoitem_contrato" class="form-control" type="text" />
<input id="codprodutoitem_contrato" name="codprodutoitem_contrato"
type="hidden" class="form-control" />
</div>
</div>
<div class="row">
<div class="col-sm-3">
<input id="codprodutoitem" name="codprodutoitem"
type="hidden" class="form-control" /> <label
for="exampleTag">Produto</label>
<div class="input-group">
<input id="produtoitem" name="produtoitem"
class="form-control" type="text" tabindex="-1"/>
<span
class="input-group-addon group-zoom no-view zoom-click btn-info"
data-event="produtoitem"> <span
class="fluigicon fluigicon-zoom-in "></span>
</span>
</div>
</div>
<div class="col-md-1">
<label for="txtNome">Quant.</label> <input
id="quantidadeitem" name="quantidadeitem"
class="form-control change-calculaValoresCampoQtd"
type="text" value='1' />
</div>
<div class="col-md-2">
<label for="txtNome">Valor Unit.</label> <input
id="valorestimado" name="valorestimado"
class="form-control change-calculaValoresCampoDesconto"
type="text" onblur="calculaValoresPlanoSemFranquia(this.id)" onkeyup="somenteNumeros(this)"/>
</div>
<div class="col-md-2">
<label for="txtNome">Valor Cheio</label> <input
id="valorcheio" name="valorcheio"
class="form-control"
type="text" />
</div>
<div class="col-md-2">
<label for="txtNome">Valor Desc</label>
<input id="valordesconto" name="valordesconto" class="form-control change-calculaValoresCampoDesconto"
type="text" onkeyup="somenteNumeros(this)"/>
</div>
<div class="col-md-1">
<input id="valor_desconto_hidden" name="valor_desconto_hidden" class="form-control"
type="hidden" />
</div>
<div class="col-md-2">
<label for="txtNome">Valor Mensal</label> <input
id="totalitem" name="totalitem"
class="form-control"
onblur="validaValorMensal(this.id)" type="text"/>
</div>
</div>
<div class="row"> </div>
<div class="row">
<div class="col-md-4">
<label for="txtNome">Quant Meses Inic.</label>
<div class="input-grup">
<input id="qtmesini" name="qtmesini" value="0"
class="form-control" type="text"
onkeyup="somenteNumeros(this)"/>
</div>
</div>
<div class="col-md-4">
<label for="txtNome">Quant Meses Cobr.</label>
<div class="input-grup">
<input id="qtmescob" name="qtmescob" value="0"
class="form-control change-calculaValoresCampoQtdMesCob type="text" onkeyup="somenteNumeros(this)" onblur="validaQtdMaxIsencaoVendendor(this.id)"/>
</div>
</div>
<div class="col-sm-4">
<label for="txtNome">Cod.Endereço</label>
<div class="input-group">
<input id="codendereco" name="codendereco"
class="form-control" type="text" /> <span
class="input-group-addon group-zoom no-view zoom-click btn-info"
data-event="codendereco"> <span
class="fluigicon fluigicon-zoom-in "></span>
</span>
</div>
</div>
<div id="div_max_desc" class="col-md-4">
<label for="txtNome" id="lb_max_desc" name="lb_max_desc">Valor Máximo Desconto</label>
<div class="input-grup">
<input id="vl_max_desc" name="vl_max_desc"
class="form-control" type="text" onblur="validaValorDesconto(this.id)" onkeyup="somenteNumeros(this)"/>
</div>
</div>
<div id="div_max_isencao" class="col-md-4">
<label for="txtNome" id="lb_max_isencao" name="lb_max_isencao">Valor Máximo Isenção</label>
<div class="input-grup">
<input id="vl_max_isencao" name="vl_max_isencao"
class="form-control" type="text" onblur="validaQtdMaxIsencao(this.id,this.value)" onkeyup="somenteNumeros(this)" />
</div>
</div>
<div id="div_max_cobranca" class="col-md-4">
<label for="txtNome">Valor Máximo Cobrança</label>
<div class="input-grup">
<input id="vl_max_cobranca" name="vl_max_cobranca"
class="form-control" type="text" onblur="validaQtdMaxCobranca(this.id,this.value)" onkeyup="somenteNumeros(this)"/>
</div>
</div>
<div class="col-md-1">
<input id="contrato" name="contrato" class="form-control"
type="hidden" value=""/>
</div>
<div class="col-md-1">
<input id="itemcontrato" name="itemcontrato" class="form-control"
type="hidden" value=""/>
</div>
<div class="col-md-1">
<input id="nr_atividade" name="nr_atividade" class="form-control"
type="hidden" value=""/>
</div>
<div class="col-md-1">
<input id="grupo" name="grupo" class="form-control"
type="hidden" value=""/>
</div>
<div class="col-md-1">
<input id="upc01" name="upc01" class="form-control"
type="hidden" value=""/>
</div>
<div class="col-md-1">
<input id="upc02" name="upc02" class="form-control"
type="hidden" value=""/>
</div>
<div class="col-md-1">
<input id="obsitem" name="obsitem" class="form-control"
type="hidden" value=""/>
</div>
<div class="col-md-1">
<input id="cod_item" name="cod_item" class="form-control"
type="hidden" value=""/>
</div>
</div>
</td>
</tr>
</tbody>
</table>
<button type="button" class="btn btn-primary"
id="addActivityButton" data-toggle="button" onclick="addTask()">Adicionar
Item</button>
</div>
FUNCAO QUE ADICIONA ITENS NA TABELA 2
// adiciona os itens na TABELA 2
// funcao chamada no radio button 'renovar' da tabela 1
function adicionaItensTabela(id){
console.log("chamou funcao adicionaItensTabela");
var id = id.replace(/[^0-9]/g,'');
// converte para inteiro
id = parseInt(id);
var controle = 0;
//verificaItensCancelados();
// pega os valores dos campos da tabela 1
var desc_prod = $('#produtoitem_2___' + id).val();
var cod_prod = $('#codprodutoitem_2___' + id).val();
var qtd = $('#quantidadeitem_2___' + id).val();
var upc01 = $('#upc01_2___' + id).val();
var upc02 = $('#upc02_2___' + id).val();
var vl_desc = $('#valordesconto_2___' + id).val();
var vl_total = $('#totalitem_2___' + id).val();
var vl_cheio = $('#valorcheio_2___' + id).val();
var vl_estimado = $('#valorestimado_2___' + id).val();
var qtd_mes_cob = $('#qtmescob_2___' + id).val();
var qtd_mes_isencao = $('#qtmesini_2___' + id).val();
var cod_item = $('#cod_item_2___' + id).val();
var obs_item = $('#obsitem_2___' + id).val();
var cod_end_ins = $('#codendereco_2___' + id).val();
var grupo = $('#grupo_2___' + id).val();
// valida se o item ja existe na tabela de Itens a Serem Contratados
// percorre os campos da tabela Pai x Filho
var cod_item_num = cod_item.replace(/[^0-9]/g,'');
console.log("cod_item_num: " + cod_item_num);
$("input[id^='cod_item___']").each(function(index, value){
var cod_item_renovado = $(this).val();
if ((cod_item_renovado.trim() == cod_item) || (cod_item_num == "" ) ) {
controle ++;
}
});
console.log("valor controle: " + controle);
console.log("cod item: " + cod_item);
// caso ainda nao tenha, adiciona o item selecionado na tabela 1 para a tabela 2
if (controle <= 0){
row = wdkAddChild('tbItens');
$('#codprodutoitem_contrato___' + row).val(cod_prod);
$('#produtoitem_contrato___' + row).val(desc_prod);
$('#codprodutoitem___' + row).val(cod_prod);
$('#produtoitem___' + row).val(desc_prod);
$('#valorestimado___' + row).val(vl_estimado);
$('#valordesconto___' + row).val(vl_desc);
$('#valorcheio___' + row).val(vl_cheio);
$('#totalitem___' + row).val(vl_total);
$('#quantidadeitem___' + row).val(qtd);
$('#qtmesini___' + row).val(0);
$('#qtmescob___' + row).val(0);
$('#vl_max_desc___' + row).val(0);
$('#vl_max_isencao___' + row).val(0);
$('#vl_max_cobranca___' + row).val(0);
$('#upc01___' + row).val(upc01);
$('#upc02___' + row).val(upc02);
$('#cod_item___' + row).val(cod_item);
$('#obsitem___' + row).val(obs_item);
$('#codendereco___' + row).val(cod_end_ins);
$('#grupo___' + row).val(grupo);
// verificaDescontoCombo();
// formalmoxarifado.calculatotalgeral();
// desabilitaCamposTabelaItens(row);
}
}
FUNCAO QUE ADICIONA ITENS NA TABELA 1
// funcao chamanda em uma combobox, onde na mesma contem os numeros dos contratos do cliente
function consultaPlanosContrato(){
var ctr = $('#cb_contrato').val(); // pega valor selecionado na combobox
var desc_prod = "";
var cod_prod = "";
var qtd = "";
var upc01 = "";
var upc02 = "";
var vl_desc = "";
var vl_total = "";
var vl_cheio = "";
var vl_estimado = "";
var qtd_mes_cob = "";
var qtd_mes_isencao = "";
var cod_item = "";
var obs_item = "";
var cod_end_inst = "";
var grupo = "";
var cont = 0;
var i = 0;
var total_contrato = 0;
$('#num_ctr').val(ctr);
$('#_num_ctr').val(ctr);
var c1 = DatasetFactory.createConstraint("nr_contrato", ctr, ctr, ConstraintType.MUST);
var constraints = new Array(c1);
var dataset = DatasetFactory.getDataset("DS_CONSULTA_DADOS_CONTRATO", null, constraints, null);
if (dataset.values.length > 0){
var registro = dataset.values;
while (i < dataset.values.length){
desc_prod = registro[i].ADB_DESPRO;
cod_prod = registro[i].ADB_CODPRO;
qtd = registro[i].ADB_QUANT;
upc01 = registro[i].B1_UPC01;
upc02 = registro[i].B1_UPC02;
vl_desc = registro[i].ADB_VALDES;
vl_total = registro[i].ADB_TOTAL;
vl_cheio = registro[i].ADB_UVLCHE;
vl_estimado = registro[i].B1_PRV1;
qtd_mes_cob = registro[i].ADB_UMESCO;
qtd_mes_isencao = registro[i].ADB_UMESIN;
cod_item = registro[i].ADB_ITEM;
obs_item = registro[i].ADB_UMSG;
cod_end_inst = registro[i].COD_INST;
grupo = registro[i].B1_GRUPO;
row = wdkAddChild('tbItens_contratados');
console.log("adicionou item tabela Itens Contratados: " + row)
$('#codprodutoitem_2___' + row).val(cod_prod);
$('#produtoitem_2___' + row).val(desc_prod);
$('#valorestimado_2___' + row).val(vl_estimado);
$('#valordesconto_2___' + row).val(vl_desc);
$('#valorcheio_2___' + row).val(vl_cheio);
$('#totalitem_2___' + row).val(vl_total);
$('#quantidadeitem_2___' + row).val(qtd);
$('#qtmesini_2___' + row).val(qtd_mes_isencao);
$('#qtmescob_2___' + row).val(qtd_mes_cob);
$('#vl_max_desc_2___' + row).val(vl_desc);
$('#vl_max_isencao_2___' + row).val(qtd_mes_isencao);
$('#vl_max_cobranca_2___' + row).val(qtd_mes_cob);
$('#upc01_2___' + row).val(upc01);
$('#upc02_2___' + row).val(upc02);
$('#cod_item_2___' + row).val(cod_item);
$('#obsitem_2___' + row).val(obs_item);
$('#codendereco_2___' + row).val(cod_end_inst);
$('#grupo_2___' + row).val(grupo);
document.getElementById("codprodutoitem_2___" + row).readOnly = true;
document.getElementById("produtoitem_2___" + row).readOnly = true;
document.getElementById("valorestimado_2___" + row).readOnly = true;
document.getElementById("valordesconto_2___" + row).readOnly = true;
document.getElementById("valorcheio_2___" + row).readOnly = true;
document.getElementById("totalitem_2___" + row).readOnly = true;
document.getElementById("quantidadeitem_2___" + row).readOnly = true;
document.getElementById("qtmesini_2___" + row).readOnly = true;
document.getElementById("qtmescob_2___" + row).readOnly = true;
document.getElementById("upc01_2___" + row).readOnly = true;
document.getElementById("upc02_2___" + row).readOnly = true;
document.getElementById("cod_item_2___" + row).readOnly = true;
document.getElementById("obsitem_2___" + row).readOnly = true;
document.getElementById("codendereco_2___" + row).readOnly = true;
total_contrato = total_contrato + parseFloat(vl_total);
i++;
}
$('#total_itens_contratados').val(total_contrato);
}
}