Á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 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
TOTVS WMS - Linha Protheus - WMS Protheus (SIGAWMS)
Função:WMSV085
- Coletor
.PRW
País:Todos Países
Ticket:
-
13559106
Requisito/Story/Issue (informe o requisito relacionado) :DLOGWMSMSP-13564


02. DESCRIÇÃO

Este Ponto de Entrada permite complementar a tela que solicita a coleta de produtos no Recebimento ou na Transferência via Coletor RF, sendo executado após exibir o código do produto e antes da linha que solicita que o usuário confirme o código do produto.

...

  1. É possível exibir uma ou mais informações logo após o código do produto (dependendo da quantidade de linhas disponíveis na tela do coletor). Estas informações serão exibidas na tela enquanto for informado o produto, o lote e a quantidade.

  2. Outra opção é criar uma tela auxiliar que permite o uso de toda a tela do coletor. Entretanto, para esta opção será necessário pressionar a tecla Enter, para que a mesma seja fechada e, então, retorne à tela que efetua a confirmação do produto. Além disso, as informações não estarão mais disponíveis em tela quando for informado o produto, o lote e a quantidade.

...

NomeTipoDescrição

nLinha

NuméricoPróxima linha disponível no coletor para o Ponto de Entrada exibir as informações.
lTemLoteLógicoIndica que no produto padrão será exibido o lote, o que reduz em 1 a quantidade de linhas disponíveis para o Ponto de Entrada.
nTemSubLotLógicoIndica que no produto padrão será exibido o sublote, o que reduz em 1 a quantidade de linhas disponíveis para o Ponto de Entrada.

nQtdTot

NuméricoQuantidade do movimento conferido.
nQtdeNuméricoQuantidade do produto, caso seja informado o Código de Barra do produto.

05. RETORNO

Deve ser retornado o conteúdo de nLinha.

...

Se for criada uma nova tela é necessário retornar nLinha com o mesmo valor enviado para o Ponto de Entrada.

06. VERSÕES

Protheus 12.1.27 ou superiores.

07. OBSERVAÇÃO

...

Utilize o exemplo para apoio neste controle.

08. EXEMPLO

...

languagecpp
titleExemplo
linenumberstrue
collapsetrue

...

------

#INCLUDE 'PROTHEUS.CH'
#INCLUDE 'APVT100.CH'


User Function WMSV085PPR()
Local nLinha := ParamIxb[1] //Última linha usada pelo produto padrão
Local lTemLote := ParamIxb[2] //Indica se será exibido o lote no produto padrão
Local lTemSubLot := ParamIxb[3] //Indica se será exibido o sublote no produto padrão
Local nQtdTot := ParamIxb[4] //Indica a quantidade do documento conferido
Local nQtde := ParamIxb[5] //Quantidade do produto caso seja usado Codigo de Barra
Local nQtMaxRow := VTMaxRow() + 1 //Qtde máxima de linhas do coletor
Local nLinPE := 0 //Qtde de linhas que o PE pode usar
Local aTelaAnt := {}

//até 8 linhas são usadas pelo programa padrão, caso haja lote e sublote.
nLinPE := nQtMaxRow - 8

//Se não houver lote, pode ser adicionada uma linha
If !lTemLote
     nLinPE++
EndIf

//Se não houver sublote, pode ser adiciona uma linha
If !lTemSubLot
      nLinPE++
EndIf

If nLinPE > 0
      //Complementa a tela padrão com documento se houver ao menos 1 linha disponível
      @ nLinha++,00 VTSay PadR('Documento: ' + D12->D12_DOC, VTMaxCol())

      If nLinPE > 1
            //Complementa a tela padrão com quantidade se houver ao menos 2 linhas disponíveis
           @ nLinha++,00 VTSay PadR('Qtde: ' + AllTrim(Str(D12->D12_QTDORI)),

...

VTMaxCol())

...


      EndIf

Else
          //Se

...

não

...

houver

...

linhas

...

suficientes

...

...

a

...

possibilidade

...

de

...

criar

...

uma

...

nova

...

tela

...

para

...

exibir
         //todas

...

as

...

informações

...

e

...

fechál-la

...

com

...

um

...

<Enter>
         aTelaAnt := VTSave(00,

...

00,

...

VTMaxRow(),

...

VTMaxCol())

...



         For nLinPE := 0 to VTMaxRow()
               VTSay(nLinPE,0,Space(VtMaxCol()+1))

...


         Next

         WMSVTCabec('Dados

...

do

...

Produto',.F.,.F.,.T.)

...


         @ 01,00

...

VTSay

...

PadR('Produto:

...

'

...

+

...

D12->D12_PRODUT,

...

VTMaxCol())

...


         @ 02,00

...

VTSay

...

PadR('Docto:

...

'

...

+

...

D12->D12_DOC,

...

VTMaxCol())

...


         @ 03,00

...

VTSay

...

PadR('Qtde:

...

'

...

+

...

AllTrim(Str(D12->D12_QTDORI)),

...

VTMaxCol())

...


         WMSVTRodPe()

         VTRestore(00,

...

00,

...

VTMaxRow(),

...

VTMaxCol(),

...

aTelaAnt)

...


EndIf

Return nLinha

------


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>