software‎ > ‎módulos‎ > ‎compra‎ > ‎manuais técnicos‎ > ‎

eventos de bloqueio da baixa do pedido


Conceito

O objeto OperacaoPedidoBaixaPedido permite que interfaces diferentes declarem classes de eventos de bloqueio específicos a serem ignoradas durante a busca de pedidos pendentes.

Utilização

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.

Exemplo

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




Comments