Árvore de páginas

Versões comparadas

Chave

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

...

Bloco de código
languagecpp
titleExemplo
linenumberstrue
collapsetrue
User Function WMSQYSEP()
Local cProduto  := PARAMIXB[1]
Local cArmazem  := PARAMIXB[2]
Local cEstFis   := PARAMIXB[3]
Local nRegraWMS := PARAMIXB[4]
Local cQuery    := ""
Local cAliasSld := GetNextAlias()
Local lRastro   := Rastro(cProduto)
Local lRadioF   := (SuperGetMV('MV_RADIOF')=='S') 
Local aTamSX3   := TamSx3("BF_QUANT")
   //-- Query não possui o campo BF_QTDSPR, saldo será descontado pelo padrão
   cQuery := "SELECT SBF.BF_ESTFIS,SBF.BF_LOCALIZ,"
   cQuery +=       " SBF.BF_LOTECTL,SBF.BF_NUMLOTE,SBF.BF_NUMSERI,"
   cQuery +=       " SBF.R_E_C_N_O_ AS RECNOSBF,"
   cQuery +=       " (SBF.BF_QUANT - SBF.BF_EMPENHO) BF_SALDO,"
   If lRastro
      cQuery +=   " SB8.B8_DTVALID"
   Else
      cQuery +=   " '        ' B8_DTVALID"
   EndIf
   cQuery += " FROM "+RetSqlName("SBF")+" SBF"
   If lRastro
      cQuery += " INNER JOIN "+RetSqlName("SB8")+" SB8"
      cQuery +=    " ON SB8.B8_FILIAL  = '"+xFilial("SB8")+"'"
      cQuery +=   " AND SB8.B8_PRODUTO = SBF.BF_PRODUTO"
      cQuery +=   " AND SB8.B8_LOCAL   = SBF.BF_LOCAL"
      cQuery +=   " AND SB8.B8_LOTECTL = SBF.BF_LOTECTL"
      cQuery +=   " AND SB8.B8_NUMLOTE = SBF.BF_NUMLOTE"
      cQuery +=   " AND SB8.B8_SALDO > 0"
      cQuery +=   " AND SB8.D_E_L_E_T_ = ' '"
   EndIf
	cQuery += " WHERE SBF.BF_FILIAL  = '"+xFilial("SBF")+"'"
	cQuery +=   " AND SBF.BF_LOCAL   = '"+cArmazem+"'"
	cQuery +=   " AND SBF.BF_PRODUTO = '"+cProduto+"'"
	cQuery +=   " AND SBF.BF_QUANT > 0"
	cQuery +=   " AND (SBF.BF_QUANT - SBF.BF_EMPENHO) > 0"
	cQuery +=   " AND SBE.BE_STATUS <> '3'"  //-- Não pode estar bloqueado
	If nRegraWMS <> 4
		cQuery += " AND SBF.BF_ESTFIS = '"+cEstFis+"'"
	EndIf
	cQuery +=   " AND SBF.D_E_L_E_T_ = ' '"
	cQuery := ChangeQuery(cQuery)
	DbUseArea(.T.,'TOPCONN',TcGenQry(,,cQuery),cAliasSld,.F.,.T.)
	//-- Ajustando o tamanho dos campos da query
	TcSetField(cAliasSld,'BF_SALDO', 'N',aTamSX3[1],aTamSX3[2])
	TcSetField(cAliasSld,'B8_DTVALID','D',8,0)
	TcSetField(cAliasSld,'RECNOSBF', 'N',10,0)
	
Return cAliasSld

...