Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Produto:

Solucoes_totvs
SolucaoTOTVS Logística WMS

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linhas_totvs
LinhaLinha Protheus

Segmento:

Segmentos_totvs
SegmentoLogística

Módulo:SIGAWMS - Gestão de Armazenagem
Função:-
País:Todos Países
Ticket:-13983776
Requisito/Story/Issue (informe o requisito relacionado) :DLOGWMSMSP-13863


02. DESCRIÇÃO

Este Ponto de Entrada permite manipular os "registros da D12" gerados no momento da execução do serviço.

03. LOCALIZAÇÃO

Localizado ao final da função responsável pela geração do na função LawExecute() responsável avaliar as regras para convocação do serviço e disponibilizar os "movimento da tabelas D12 na execução do Serviço WMS" a ser manipulada.

04. PARÂMETROS

NomeTipoDescriçãoObrigatório
aLibD12 ArrayContêm as opções de menu padrão.Sim

05. RETORNO

NomeTipoDescriçãoObrigatório
aLibD12ArrayContêm dados da tabela D12 após a modificação.Sim

  

06. VERSÕES

Protheus 12.1.17 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 'TOTVS.CH'

/*/{Protheus.doc} WMSALIBX
Ponto de entrada para manipular a tabela D12, no momento da geraçaõ do serviço, antes de liberar para convocação
@type function
@version V.12
@author 
@since 
/*/#INCLUDE "PROTHEUS.CH"
#INCLUDE "TOTVS.CH"

User Function WMSALIBX() //{Self:aLibD12}
    Local aAreaAtu := GetArea()
    Local aLibD12  := PARAMIXB[1]
    Local nI := 0
Local nQtdOper := 0
Local nQtdAtivi := 0
Local nPorOper := 0
Local nConta := 0
Local nOper := 0




    If Len(aLibD12) > 0
        nQtdOper  := 2
        nQtdAtivi := 0
        For nI := 1 To Len(aLibD12)
            If aLibD12[nI,4] == "301" //Serviço de Separação
                nQtdAtivi++
            Endif
        Next
        If nQtdAtivi > 0 .And. nQtdOper > 0
            nPorOper := Round(nQtdAtivi/nQtdOper,0)
            nConta   := 0
            nOper    := 1
            For nI := 1 To Len(aLibD12)
                If aLibD12[nI,4] == "301" //Serviço de Separação
                    D12->(dbGoTo(aLibD12[nI,2]))
                    If D12->(!Eof())
                        RecLock('D12',.F.)
                        D12->D12_RECEMB := StrZero(nOper,6)
                        D12->(MsUnlock())
                        nConta++
                    EndIf
                    If nConta >= nPorOper
                        nConta := 0
                        nOper  ++
                    Endif
                Endif
            Next
        Endif
    Endif
    RestArea(aAreaAtu)

Return(aLibD12)


------


Templatedocumentos


HTML
<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>