O objeto OperacaoPedidoBaixaPedido permite que interfaces diferentes declarem classes de eventos de bloqueio específicos a serem ignoradas durante a busca de pedidos pendentes.
A propriedade 'bloqueiosQueNaoImpedemABaixaDoPedido' deve conter um array com a lista das classes de eventos de bloqueios a serem ignoradas durante a execução do método buscaPendencia(). Caso um pedido contenha algum evento de bloqueio relacionado (listado na propriedade 'pedidoCab.eventobloqueiobaixa') que a classe não esteja listada na propriedade 'bloqueiosQueNaoImpedemABaixaDoPedido' durante a busca de pendencia, será retornado erro indicando o bloqueio.
var op = new OperacaoPedido();
op.nova();
... (inserção dos dados do pedido) ...
var chCriacao = op.pedidoCab.chcriacao;
// CRIAÇÃO DO EVENTO DE BLOQUEIO
var dsBloqueio = new DataSet();
dbCache.copyTableStructure("EVENTO", dsBloqueio);
dsBloqueio.insertWithKey = true
dsBloqueio.create();
dsBloqueio.append();
dsBloqueio.classe = 45045580;
dsBloqueio.motivo = -1896045480 /* Venda realizada no frente de loja */
dsBloqueio.crpedido = chCriacao;
dsBloqueio.post();
var chBloqueio = dsBloqueio.chave;
dsBloqueio.applyUpdates();
op.pedidoCab.eventobloqueiobaixa = chBloqueio;
//GRAVAÇÃO DO PEDIDO
op.calcula();
op.grava();
// Busca pendência ignorando bloqueio - FUNCIONA NORMALMENTE
var op = new OperacaoPedidoBaixaPedido();
op.bloqueiosQueNaoImpedemABaixaDoPedido = [45045580]
op.buscaPendencia("CHCRIACAO = " + chCriacao);
// Tentar busca pendência sem ignorar bloqueio - GERA ERRO DE BLOQUEIO
var op = new OperacaoPedidoBaixaPedido();
op.buscaPendencia("CHCRIACAO = " + chCriacao);