ALIAS HELP
// a Variavel z_Recno guarda a posicao do registro do arquivo mestre do relatorio
VARIAVEL #TEXTO_FONTE
   Private zCmdsDurante, zCmdsDepois, wpDivisao
   wpDivisao:=Val(xGetEnv("DIVISAO_PRODUTOS_LOCACAO"))

   //DebugAlert('5 alias: '+alias()+' cliente '+str(zCodCli)+' select("_recfx"): '+str(select("_recfx"))+' select("_movnf"): '+str(select("_movnf")) )
   Abra("0EXCLUSIVENOIDX",r_siga,"mem:_movnf","_movnf")
   _movnf->( olst:GroupBy("mem:_movnft", {||pcod}, 'pCod as char, mQuant, mQdevol',{||mFgEs="S"}, .t. ) )
   _movnf->( DbCloseArea() )

   Abra("0EXCLUSIVENOIDX",r_siga,"mem:_movnft","_movnft","_movnft","pcod")
   Abra("0NOIDX",r_siga,"se_prod","se_prod","seip_n","pdesc")
   
   oLst:lOutputPDF := .t.
   oLst:lOutputXML := .f.
   oLst:lOutputMatricial := .f.
   oLst:lPortrait  := .t.
   oLst:cAlias_DataCols := '_movnft'
   oLst:Cab1( "Posicao do Estoque de Locacao")
   oLst:Cab2( 'Emitida em ' + dtoc (s_datual) + ' `as ' + time () + ' horas')
   
   if wpDivisao>0
      Se_Prod->( DbSetFilter({||Val(Left(pDivisao,2))=wpDivisao},'Val(Left(pDivisao,2))=wpDivisao'), DbGoTop() )
      oLst:Cab4( 'Impressos apenas produtos da Divisao de Produtos de Locacao ('+lTrim(str(wpDivisao,2))+')' )
   endif
      
   oLst:AddCab( '_LINHA_FINA_' )
   oLst:AddCab( '_CABCOLS_' )
   oLst:AddCab( '_LINHA_GROSSA_' )

   oLst:AddCol('Cod;pCod;N;999999;6;;')
   oLst:AddCol('Descricao;pdesc;C;@S35;35;;')
   oLst:AddCol('Preco Unit\nCusto;pVluVen3;N;99999999.99;11;S;;Direita;NaoSome;')
   oLst:AddCol('Estoque\nEm Casa;if(pEatual>0,pEatual,0);P;99999999;8;S;;Direita;Some;')
   oLst:AddCol('Locadas;_movnft->(mQuant-mQdevol);P;99999999;8;;;Direita;Some;')
   oLst:AddCol('Estoque\nTotal;if(pEatual>0,pEatual,0)+_movnft->(mQuant-mQdevol);P;99999999;8;S;;Direita;Some;')
   oLst:AddCol('Preco Total\nCusto;(if(pEatual>0,pEatual,0)+_movnft->(mQuant-mQdevol))*pVluVen3;P;999999999.99;12;S;;Direita;Some;')

   oLst:AddRodape( '_LINHA_FINA_', "", {|| "Pagina "+Str(++pag,4)+" / ####"} )

   se_prod->( DbGoTop(), oLst:DbEval(, {||if(pEatual>0,pEatual,0)+_movnft->(dbseek(se_prod->pCod),mQuant-mQdevol) > 0}) )

   oLst:lFecharGruposAbertos := .t.
   oLst:SetFormatSomaCol(2, {||"** Totais:"}, .t.)
   oLst:PrtD( '_LINHA_GROSSA_')
   oLst:PrtD( {"style"=>"font:Courier-BoldOblique"}, '_SOMACOLS_GLOBAL_' )

   _movnft->(DbCloseArea())
   DbDrop('mem:_movnft')

   debugalert('6')
 
#FIM_TEXTO_FONTE