Apagar registro de tabela pai x filho (em formulário com 3 pai x filho!)

Olá pessoal!

Até vi aqui em outro tópico que tem uma pergunta parecida, só que no meu caso, eu possuo mais de uma tabela pai x filho no formulário, como eu faço para apagar somente uma linha de uma das tabelas?

Vê se funciona pro que você tá precisando. Nunca testei fazer dessa forma. Tentei pensar em uma lógica que pudesse se encaixar no problema.

var cardData = hAPI.getCardData(numSolicitação)
var it       = cardData.keySet().iterator();
while (it.hasNext()) {
   var campo = it.next();
  
   if (campo.match(/nomeDoCampo___/)) {
      var i = campo.split("___")[1];

      cardData.remove(campo);
      cardData.remove("nomeDoCampo2___" + i);
      cardData.remove("nomeDoCampo3___" + i);
   }
}

Ele não persiste a alteração no form :pensive:, é como se ele removesse um item de uma array qualquer e não fizesse qualquer diferença no registro.

Bom, parece que não tem como mesmo através dos métodos normais… Acabei fazendo um dataset que executa um delete direto na tabela do formulário, sei que é “feio” mas é a ÚNICA alternativa… Valeu pessoal!

Talvez um hAPI.setCardValue("nomedocampo___" + indicePraExcluir, null) o remova, mas tem que fazer isso pra todos os campos da tabela.

Ao menos quando é no Web Service (soap) é mais ou menos isso que resolve.

Em último caso é possível usar o WS Rest, pois ele tem método para excluir pai filho

Opa, fala Brunão!

Então, com o WS Rest não rola, pois como já testei, ele exclui a linha de TODAS as tabelas pai x filho de um formulário, não tendo a opção de informa qual tablename deve ser atualizada.

Quanto ao SOAP, dessa forma ele só zera o valor do item e não remove o registro da tabela de fato :pensive:

Mas valeu!!

1 curtida