Tempo de leitura: 2 minutos
No ecossistema Protheus, a eficiência logística depende de processos bem validados. Quando falamos de Montagem de Carga (OMSA200), muitas vezes é necessário aplicar regras de negócio específicas antes de confirmar a geração de uma carga. O Ponto de Entrada OM200OK é a ferramenta ideal para essa finalidade, permitindo interceptar o processo e decidir se a carga deve ou não ser montada, um conceito fundamental em Pontos de Entrada.
Neste guia objetivo, você aprenderá como implementar o OM200OK para otimizar a operação no módulo Gestão de Distribuição (SIGAOMS).
O que é o Ponto de Entrada OM200OK?
O OM200OK é executado na rotina de Montagem de Carga (OMSA200) logo após a seleção dos pedidos e antes da efetivação da carga. Sua principal função é retornar um valor lógico:
Caso retorne True(.T.) o processo da montagem da carga será executado normalmente, caso retorne False(.F.) não será montado a carga.
Ele recebe como parâmetro um array (PARAMIXB[1]) contendo os pedidos de venda selecionados pelo usuário, permitindo validações detalhadas item a item.
/*
www.protheusadvpl.com.br
Ponto de Entrada executado antes da montagem da carga
Autor:Adilio Costa
Data:03/05/2018
*/
#Include "Protheus.ch"
#Include "TopConn.ch"
#Define QUE_LIN Chr(13)+Chr(10)
User Function OM200OK()
Local aPedidos := PARAMIXB[01]
Local aSelPed := {}
Local cMens := "O(s) seguinte(s) pedido(s) vai(ão) ser(em) entregue(s) na fábrica:"+QUE_LIN
Local nNum := 0
Local nRet
Local lRet := .T.
Local lCont1 := .T.
Local lCont2 := .F.
For nNum := 1 To Len(aPedidos)
nRet := POSICIONE("SC5",1,xFilial("SC5")+aPedidos[nNum][5],"C5_YRETIRA")
If(nRet == "P")
lCont1 := .F.
aadd(aSelPed,aPedidos[nNum][5])
Else
lCont2 := .T.
EndIf
Next
If(!lCont1 .AND. lCont2)
if( len(aSelPed)>0 )
For nNum := 1 To Len(aSelPed)
if(nNum == 5)
cMens += QUE_LIN
EndIf
cMens += aSelPed[nNUM]
if((nNum+1) <= Len(aSelPed))
cMens += ","
EndIf
Next
cMens += QUE_LIN
cMens += "Deseja Continuar?"
lRet := MsgYesNo(cMens,"Atenção!")
EndIf
Endif
Return lRet
Domine a Customização Avançada no Protheus
Para dominar este conceito em cenários complexos, como a integração com roteirizadores externos, cálculos de cubagem customizados e o uso de TLPP para APIs de logística, conheça o Portal ProtheusAdvpl. Lá, exploramos a fundo a arquitetura de customização e as melhores práticas de desenvolvimento.
Conclusão
O uso estratégico de Pontos de Entrada como o OM200OK transforma o Protheus em uma ferramenta muito mais aderente às particularidades do seu negócio. Ao validar a montagem de carga de forma automática, você reduz erros operacionais e garante que as regras de distribuição sejam seguidas à risca.
Se você deseja aprimorar suas habilidades de codificação, confira nossos cursos de TDS VSCode e Programação ADVPL I.
Links de referência(s):