Histórico da Página
...
Todos os parâmetros são recebidos na User Function via PARAMIXB conforme consta em Execblock / Customização
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH" User Function WV090VLP() Local aAreaAnt := GetArea() Local lRet := .T. Local cEmbarque := PARAMIXB[1] Local cProduto := PARAMIXB[2] Local cLote := PARAMIXB[3] Local cSubLote := PARAMIXB[4] Local nQuant := PARAMIXB[5] Local cAliasQry := GetNextAlias() Local cQuery := "" Local aTamSX3 := {} cQuery := "SELECT SUM(DCY_QTORIG) DCY_QTORIG," cQuery += " SUM(DCY_QTCONF) DCY_QTCONF" cQuery += " FROM " + RetSqlName('DCY') cQuery += " WHERE DCY_FILIAL = '"+xFilial('DCY')+"'" cQuery += " AND DCY_EMBARQ = '"+cEmbarque+"'" cQuery += " AND DCY_PROD = '"+cProduto+"'" cQuery += " AND DCY_PRDORI = '"+cProduto+"'" If !Empty(cLote) // Quando o código de barras retorna lote/sublote/qtde cQuery += " AND (DCY_LOTE = '"+cLote+"'" cQuery += "OR DCY_LOTE = ' ')" // Pré-nota sem informar lote EndIf If !Empty(cSubLote) cQuery += " AND (DCY_SUBLOT = '"+cSubLote+"'" cQuery += " OR DCY_SUBLOT = ' ')" EndIf cQuery += " AND D_E_L_E_T_ = ' '" cQuery := ChangeQuery(cQuery) DbUseArea(.T.,'TOPCONN',TcGenQry(,,cQuery),cAliasQry,.F.,.T.) // Ajusta o tamanho dos campos no cursor aTamSX3 := TamSx3('DCY_QTORIG') TcSetField(cAliasQry,'DCY_QTORIG','N',aTamSX3[1],aTamSX3[2]) TcSetField(cAliasQry,'DCY_QTCONF','N',aTamSX3[1],aTamSX3[2]) If !(cAliasQry)->(Eof()) If QtdComp((cAliasQry)->DCY_QTORIG) <= 0 WmsMessage("Produto nao pertence a conferencia!") lRet := .F. ElseIf QtdComp((cAliasQry)->DCY_QTORIG) == QtdComp((cAliasQry)->DCY_QTCONF) WmsMessage("A conferencia deste produto ja foi finalizada!") lRet := .F. ElseIf QtdComp((cAliasQry)->DCY_QTORIG) < QtdComp((cAliasQry)->DCY_QTCONF + nQuant) WmsMessage("Quantidade informada mais a conferida ultrapassa o total do(s) documento(s)!") lRet := .F. EndIf EndIf RestArea(aAreaAnt) Return lRet |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas