Histórico da Página
...
Nome | Tipo | Descrição |
---|---|---|
nLinha | Numérico | Próxima linha disponível no coletor para o Ponto de Entrada exibir as informações. |
lTemLote | Lógico | Indica 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. |
nTemSubLot | Lógico | Indica 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érico | Quantidade do movimento conferido |
nQtde | Numérico | Quantidade do produto caso seja informado Código de Barra do produto |
05. RETORNO
Deve ser retornado o conteúdo de nLinha.
...
Utilize o exemplo para apoio neste controle.
08. EXEMPLO
------
#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 há 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> |