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

eventos de bloqueio de devolução




Conceito

O objeto OperacaoPedidoDevolucao permite que interfaces diferentes declarem classes de eventos de bloqueio específicos a serem ignoradas durante o estorno de baixas.

Utilização

A propriedade 'bloqueiosQueNaoImpedemADevolucao' deve conter um array com a lista das classes de eventos de bloqueios a serem ignoradas durante a execução do método estorna(). Caso uma baixa contenha algum evento de bloqueio relacionado (listado na propriedade 'pedidoCab.eventobloqueiodevolucao') que a classe não esteja listada na propriedade 'bloqueiosQueNaoImpedemADevolucao' durante o estorno de baixa, será retornado erro indicando o bloqueio.

Scripts envolvidos

0100 UNUMerp infrastructure.ic (-1897052500)
OperacaoPedidoDevolucao.ijs (-1898188315)
BloqueioDeDevolucaoDeBaixa.it (-1897035544)

Exemplo


var op = new OperacaoPedidoBaixaAutomatica();

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 = -1897035547 /* Bloqueio de Devolução */;
dsBloqueio.motivo = -1896045480 /* Venda realizada no frente de loja */
dsBloqueio.crpedido = chCriacao;
dsBloqueio.post();
var chBloqueio = dsBloqueio.chave;
dsBloqueio.applyUpdates();

op.pedidoCab.eventobloqueiodevolucao = chBloqueio;

//GRAVAÇÃO DO PEDIDO COM BAIXA AUTOMATICA
op.aprova();
op.grava();

// Estorna ignorando bloqueio - FUNCIONA NORMALMENTE
var opDevol = new OperacaoPedidoDevolucao();
opDevol.bloqueiosQueNaoImpedemADevolucao = [-1897035547 /* Bloqueio de Devolução */]
opDevol.estorna("CHCRIACAO = " + chCriacao);


// Tentar estornar sem ignorar bloqueio - GERA ERRO DE BLOQUEIO
var opDevol = new OperacaoPedidoDevolucao();
opDevol.estorna("CHCRIACAO = " + chCriacao);



Comments