Olá pessoal, preciso fazer uma consulta quando o usuário pesquisa o nome do fornecedor e nota fiscal deve bater no banco de dados pra vê se esses dados já existem, fiz um script como beforeTaskSave, porém devo ta fazendo algo errado
function beforeTaskSave(atv) {
var atv = getValue("WKNumState");
if (atv == 10 || atv == 0) {
var buscarFornecedor = hAPI.getCardValue("fornecedor");
var buscarNF = hAPI.getCardValue('nf');
var c1 = DatasetFactory.createConstraint("fornecedor", " ", " ", ConstraintType.MUST);
var c2 = DatasetFactory.createConstraint('nf',"","", ConstraintsType.MUST);
var constraints = new Array(c1,c2);
var fornecedores = DatasetFactory.getDataset("DSFormulariodeteste", null, constraints, null);
var notaFiscal = DatasetFactory.getDataset("DSFormulariodeteste", null, constraints,null);
if(buscarFornecedor == fornecedores.values && buscarNF == notaFiscal.values) {
alert('O fornecedor com essa nota fiscal já existem!!')
}
}
}
Além do alert que deve ser um throw, quando voce ta criando a constraints "var c1 = DatasetFactory.createConstraint("fornecedor", " ", " ", ConstraintType.MUST);" voce ta passando o valor vazio, deveria ser a variavel buscarFornecedor.
logo abaixo, o if pra verificar se os valores são iguais tb ta errado, primeiro precisa saber se o dataset trouxe dados pra poder fazer o if, ex:
if (fornecedores.rowsCount > 0){ // achou }...
— Otto Mostaert 20 de May de 2020