Árvore de páginas

Versões comparadas

Chave

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


01. DADOS GERAIS

Produto:

Solucoes_totvs
SolucaoTOTVS OMS

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:SIGAOMS - Gestão de Distribuição
Função:OMSA200 - Montagem de Carga
País:Todos Países
Ticket:-11516856
Requisito/Story/Issue (informe o requisito relacionado) :DLOGWMSMSP-12194


02. DESCRIÇÃO

Este Ponto de Entrada permite incluir campos na tela Sequência de Entrega, da rotina de Montagem de Carga (OMSA200manipular a tabela temporária de Pedidos, as informações de rotas, zonas e setores antes de abrir a tela para a montagem da carga (OMS200).

03. LOCALIZAÇÃO

Localizado antes da abertura da tela Sequência de Entrega, acessível pela rotina de de abrir a rotina OMSA200 (Montagem de Carga, opção Seq. Ent).

04. PARÂMETROS

aHeaders

Nome

Tipo

Descrição

aArrayCargaTRBPED

ArrayTabela TemporáriaContêm informações dos Pedidos selecionados para a geração da Carga
aArrayRotaArrayArray de rotas
aArrayZonaArrayContém o cabeçalho dos campos a serem apresentados no browse de Pedidos
bLineBloco de Código

Armazena a regra de preenchimento dos campos do browse de Pedidos

oLiberadoObjeto ImagemObjeto imagem usado quando status da carga igual a 1.
oCalendObjeto ImagemObjeto imagem usado quando status da carga igual a 2.
oHorarioObjeto Imagem

Objeto imagem usado quando status da carga igual a 3.

oVeiculoObjeto Imagem

Objeto imagem usado quando status da carga igual a 4.

Array de zonas
aArraySetorArrayArray de setores

Informações da Tabela Temporária

CampoFormatoObservação
TRBPED→ PED_GERA   Character, Tam 1Pedido selecionado para a carga: 'S', 'N'
TRBPED→ PED_MARCA  Character, Tam 2GetMark() ou ' '
TRBPED→ PED_ROTA   DA8_COD
TRBPED→ PED_ZONA  DA7_PERCUR
TRBPED→ PED_SETOR  DA7_ROTA
TRBPED→ PED_SEQROTDA9_SEQUEN
TRBPED→ PED_PEDIDO C9_PEDIDO
TRBPED→ PED_ITEM  C9_ITEM
TRBPED→ PED_SEQLIB C9_SEQUEN
TRBPED→ PED_CODPROB1_COD
TRBPED→ PED_DESPRO B1_DESC
TRBPED→ PED_FILORIFWSizeFilial()
TRBPED→ PED_FILCLI FWSizeFilial()
TRBPED→ PED_CODCLI A1_COD
TRBPED→ PED_LOJA  A1_LOJA
TRBPED→ PED_NOME   A1_NOME
TRBPED→ PED_ENDCLI A1_END
TRBPED→ PED_BAIRRO A1_BAIRRO
TRBPED→ PED_MUN   A1_MUN
TRBPED→ PED_EST   A1_EST
TRBPED→ PED_CEP   A1_CEP
TRBPED→ PED_CARGA  DAK_COD
TRBPED→ PED_SEQSET DA7_SEQUEN
TRBPED→ PED_SEQORI DA9_SEQUEN
TRBPED→ PED_ENDPAD C9_ENDPAD
TRBPED→ PED_VALOR  DAK_VALOR
TRBPED→ PED_VOLUM  DAK_CAPVOL
TRBPED→ PED_QTDLIB DAK_VALOR
TRBPED→ PED_REDESP A4_CODCaso haja DAI_REDESP
TRBPED→ PED_REDNOMA4_NOMECaso haja DAI_REDESP

Informações do Array aArrayRota

OrdemConteúdoFormato
1.T.boolean
2.F.boolean
3Código da RotaCharacter, Tam 6
4Descrição da RotaCharacter, Tam 20
5Campo LivreSpace(6) - Carga

Informações do Array aArrayZona

OrdemConteúdoFormato
1.T.boolean
2.F.boolean
3Código da RotaCharacter, Tam 6
4Código do SetorCharacter, Tam 6
5Descrição da RotaCharacter, Tam 20
6Campo LivreSpace(6) - Carga
7Sequência da RotaCharacter, Tam 6

Informações do Array aArraySetor

Objeto contendo os dados da tela de sequenciamento dos pedidos
OrdemConteúdoFormato
1.T.boolean
2.F.boolean
3Código da RotaCharacter, Tam 6
4Código da ZonaCharacter, Tam 6
5Código do SetorCharacter, Tam 6
6Descrição da RotaCharacter, Tam 20
7Campo LivreSpace(6) - Carga
8Sequência da RotaCharacter, Tam 6

oPedMan

Objeto de dados

05. RETORNO

aRetCarga aArrayCarga aHeaders bLine tela Sequência de Entrega
NomeTipoDescrição
aRetPEArrayArray de três posições, contendo:
  • aRetCarga[1] -
  •  aArrayRota
  • aRetCarga[2] -
  •  aArrayZona
  • aRetCarga[3] -
  •  aArraySetor

Estes três elementos devem estar no mesmo formato em que foram recebidos por parâmetro, contendo inclusive os campos adicionados pelo Ponto de Entrada e que serão apresentados na

tela de Montagem de Carga.


06. VERSÕES

Protheus 12.1.17 ou superiores.

07. OBSERVAÇÃO

Não se aplica.

08. EXEMPLO

------

#INCLUDE "PROTHEUS.CH"

User Function OM200AdCOM200GR2()
Local aRet          := {}
Local aArray      := PARAMIXB[1] //-- Conteúdo do campo.
Local aHeaders Local aArrayRota := PARAMIXB[2] //-- Cabeçalho do campo.
Local bLine 
        Local aArrayZona := PARAMIXB[3] //-- Condição para inserir conteúdo no campo.
//-- Objetos de Status.
Local oLiberado
        Local aArraySetor := PARAMIXB[4]
Local oCalend    := PARAMIXB[5]
Local oHorario   := PARAMIXB[6]
Local oVeiculo   := PARAMIXB[7]
Local oPedMan  := PARAMIXB[8]

        aAdd(aArrayRota,{.T.,.F.,"000026","ROTA A NEGOCIAR", Space(6)})
        aAdd(aArrayZona,{.T.,.F.,"000026","000027","ROTA A NEGOCIAR",Space(6), "000010" })
        aAdd(aArraySetor,{.T.,.F.,"000026","000027","000027","ROTA A NEGOCIAR",Space(6), "000010"})

        TRBPED→Local oDown      := LoadBitmap( GetResources(), "TRIDOWN" )
Local oUp           := LoadBitmap( GetResources(), "TRIUP" )
Local aAreaPE     := GetArea()
Local nX := 0For nX := 1 To Len(aArray)
      SA1->(DbSetOrder(1))
       
   If SA1->If TRBPED→(DbSeek(xFilialFwxFilial('SC5')+"SA1")+aArray[nX][6]+aArray[nX][7]000026"))
             
    AAdd(aArray[nX],Alltrim(SA1→A1_INSCR) RecLock("TRBPED",.F.)
               TRBPED→PED_ENDCLI := "Endereço de teste"
             
AAdd(aArray[nX],Alltrim(SA1→A1_CEP TRBPED→(MsUnlock())
       
   EndIF

Next nX

AAdd(aHeaders, RetTitle("A1_INSCR"))
AAdd(aHeaders, RetTitle("A1_CEP"))
bLine:={||{Iif(oPedMan:aArray[oPedMan:nAT,18]==1,oLiberado,; Iif(oPedMan:aArray[oPedMan:nAT,18]==2,oVeiculo,;
                Iif(oPedMan:aArray[oPedMan:nAT,18]==3,oHorario,;
                Iif(oPedMan:aArray[oPedMan:nAT,18]==4,oCalend,oLiberado)))),;
                oDown, oUp,;
                oPedMan:aArray[oPedMan:nAT,1 ],;
                oPedMan:aArray[oPedMan:nAT,2 ],;
                oPedMan:aArray[oPedMan:nAT,5 ],;
                oPedMan:aArray[oPedMan:nAT,19],;
                oPedMan:aArray[oPedMan:nAT,16],;
                oPedMan:aArray[oPedMan:nAT,17],;
                oPedMan:aArray[oPedMan:nAT,20],;
                oPedMan:aArray[oPedMan:nAT,6 ],;
                oPedMan:aArray[oPedMan:nAT,7 ],;
                oPedMan:aArray[oPedMan:nAT,8 ],;
                oPedMan:aArray[oPedMan:nAT,9 ],;
                oPedMan:aArray[oPedMan:nAT,10],;
                oPedMan:aArray[oPedMan:nAT,11],;
                oPedMan:aArray[oPedMan:nAT,30],; 
//Referência para exibição da Inscrição Estadual. Deve se iniciar a partir do 30, pois o array padrão possui 29 posições.
                oPedMan:aArray[oPedMan:nAT,31]}} //Referência para exibição do CEP.

AAdd(aRet,aArray)
AAdd(aRet, aHeaders)
AAdd(aRet, bLine)
RestArea(aAreaPE)

EndIf

RecLock("TRBPED",.T.)
       TRBPED→PED_GERA := "N"
       TRBPED→PED_MARCA := " "
       TRBPED→PED_ROTA := "000026"
       TRBPED→PED_ZONA := "000027"
       TRBPED→PED_SETOR := "000027"
       TRBPED→PED_SEQROT := "000010"
       TRBPED→PED_PEDIDO := "000027"
       TRBPED→PED_ITEM := "01"
       TRBPED→PED_SEQLIB := "01"
       TRBPED→PED_CODPRO := "001"
       TRBPED→PED_DESPRO := "LAPIS"
       TRBPED→PED_FILORI := "01"
       TRBPED→PED_FILCLI := " "
       TRBPED→PED_CODCLI := "000001"
       TRBPED→PED_LOJA := "01"
       TRBPED→PED_NOME := "CLIENTE A"
       TRBPED→PED_ENDCLI := "AVENIDA A"
       TRBPED→PED_BAIRRO := "BAIRRO A"
       TRBPED→PED_MUN := "MUNICIPIO A"
       TRBPED→PED_EST := "SC"
       TRBPED→PED_CEP := "99999999"
       TRBPED→PED_CARGA := "ZZZZZZ"
       TRBPED→PED_SEQSET := "000010"
       TRBPED→PED_SEQORI := "000010"
       TRBPED→PED_ENDPAD := " "
       TRBPED→PED_VALOR := 5
       TRBPED→PED_VOLUM := 10
       TRBPED→PED_QTDLIB := 5
TRBPED→(MsUnlock())

Return {aArrayRota,aArrayZona,aArraySetor}Return(aRet)

------


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>