01. DADOS GERAIS

Produto:

Linha de Produto:

Segmento:

Módulo:SIGAOMS - Gestão de Distribuição
Função:-
País:Todos Países
Ticket:-
Requisito/Story/Issue (informe o requisito relacionado) :-


02. DESCRIÇÃO

A partir dos Pontos de Entrada OM200CAR e OM200QRY é permitido modificar o filtro de Pedidos válidos para inclusão em montagem de carga. Desta forma, é possível selecionar os Pedidos bloqueados, situação não permitida na busca padrão.

Na liberação desses Pedidos bloqueados ocorre o processo de estorno, necessário para definir quais lotes serão utilizados para atender o Pedido e, então, uma nova inclusão da liberação do Pedido. Durante esse estorno, há a remoção dos Pedidos das montagens de carga e, não existindo mais Pedidos na montagem de carga, esta é excluída.

Assim, este Ponto de Entrada permite armazenar as informações do Pedido estornado e não excluir a montagem de carga.

Os processos de estorno e reinclusão da liberação dos Pedidos continuam sendo executados.

Para o funcionamento completo deste Ponto de Entrada é necessário gerar o Ponto de Entrada M440SC9I. O exemplo para o funcionamento, conforme a necessidade, será exibido mais abaixo.

03. LOCALIZAÇÃO

Localizado durante o estorno do Pedido, executado na liberação de estoque/crédito, antes de apagar as informações da carga da liberação do Pedido (SC9) e de remover o relacionamento entre o Pedido e a montagem de carga.

04. PARÂMETROS

Não se aplica.

05. RETORNO

NomeTipoDescriçãoObrigatório
lRetLógico

Se verdadeiro, não efetua a exclusão da montagem de carga (DAK).

Sim

06. VERSÕES

12.1.27 ou superiores

07. OBSERVAÇÃO

Todos os parâmetros são recebidos na User Function via PARAMIXB, conforme consta em Execblock / Customização

08. EXEMPLO

#INCLUDE "PROTHEUS.CH"

Static cFilCarPE  := '' //Filial da carga
Static cCargaPE := ''   //Número da carga
Static cSeqCarPE := ''  //Sequencia da carga
Static cSeqEntPE := ''  //Sequencia de entrega
Static nQtdeLib := 0    //Qtde a ser liberada
Static aDAI := {}       //informações da DAI a ser excluída temporariamente
User Function OMSNEDAK()
Local nX := 0

  cFilCarPE := ParamIXb[1]   
  cCargaPE := ParamIXb[2]  
  cSeqCarPE := ParamIXb[3]   
  cSeqEntPE := ParamIXb[4]
  nQtdeLib := ParamIxb[5]

   For nX := 1 to DAI->(FCount())
      Aadd(aDAI, {DAI->(Field(nX)), DAI->(FieldGet(nX))})
   Next nX

Return .T.

//===========================================
User Function M440SC9I()
Local nX
Local cCampo := ''

   If Len(aDAI) > 0 .And. !Empty(cFilCarPE).And. !Empty(cCargaPE) .And. !Empty(cSeqCarPE) .And. !Empty(cSeqEntPE)
      //Grava as informações da carga na liberação do pedido.
      SC9->C9_CARGA   := cCargaPE
      SC9->C9_SEQCAR  := cSeqCarPE
      SC9->C9_SEQENT  := cSeqEntPE
      nQtdeLib -= SC9->C9_QTDLIB

      //Inclui a DAI. A SC9 estará posicionada e a DAK já existirá.
      DAI->(dbSetOrder(1)) //DAI_FILIAL+DAI_COD+DAI_SEQCAR+DAI_SEQUEN+DAI_PEDIDO
      If !DAI->(dbSeek(cFilCarPE + cCargaPE + cSeqCarPE + cSeqEntPE + SC9->C9_PEDIDO))
         RecLock("DAI",.T.)
         For nX := 1 to len(aDAI)
            cCampo := aDAI[nX,1]
            DAI->&(cCampo) := aDAI[nX,2]
         Next nX

         DAI->DAI_PESO   := 0
         DAI->DAI_CAPVOL := 0
         MsUnlock()
      EndIf

      //Atualiza os acumulados do DAI
      OsAvalDAI("DAI",1,,,,cFilCarPE)

      If nQtdeLib == 0
         aSize(aDAI,0)
         cFilCarPE := ''
         cCargaPE := ''
         cSeqCarPE := ''
         cSeqEntPE := ''
      EndIf
  
   EndIf

Return




<style>
div.theme-default .ia-splitter #main {
    margin-left: 0px;
}
.ia-fixed-sidebar, .ia-splitter-left {
    display: none;
}
#main {
    padding-left: 10px;
    padding-right: 10px;
    overflow-x: hidden;
}

.aui-header-primary .aui-nav,  .aui-page-panel {
    margin-left: 0px !important;
}
.aui-header-primary .aui-nav {
    margin-left: 0px !important;
}

.aui-tabs.horizontal-tabs>.tabs-menu>.menu-item.active-tab a::after { 
	background: #FF9900; !important 
}

.menu-item.active-tab { 
	border-bottom: none !important; 
}

</style>