ALIAS HELP
COMANDO ANTES #TEXTO_FONTE

   Private zFgSomaXMLs:=.t., zDe:=Ctod('01.'+SubStr(Dtoc(S_DATUAL),4)), zAte:=S_DATUAL, pag:=0, zQtdNfEnt:=0, zQtdNfSai:=0, zTotEntradas:=0, zTotSaidas:=0, zStr, zTaxaVendaCompra 
   if .not. QuickDialog("CompraVenda", "35;7;Periodo", {;
            {"2;5;Data Inicial:", "@zDe", @zDe, "99.99.9999", "", ""},;
            {"3;5;Data Final..:", "@zAte", @zAte, "99.99.9999", "", "(zAte>=zDe.and.Year(zDe)=Year(zAte)).or.(Alert('A data final deve ser maior que a inicial, e devem pertencer ao mesmo ano!',,'r/w'),.f.)"},;
            {"5;5;CHECKBOX 'Analisa Apenas XMLs ?'", "@zFgSomaXMLs", @zFgSomaXMLs, "9", "", ""} })
      Return
   endif
   Set(20,"SCREEN")

   Abra('1NOIDX', r_siga, 'SF_FATF',  'SF_FATF')
   DbEval({|| zTotEntradas+=pfVal, ++zQtdNfEnt }, {||(!zFgSomaXMLs.or.pfNum>0) .and. .not. '9'$pfCodOp .and. pfDataChe>=zDe .and. pfDataChe<=zAte})

   Abra('1NOIDX', r_siga, 'SF_FATNF',  'SF_FATNF')
   DbEval({|| zTotSaidas+=fVal, ++zQtdNfSai }, {||(!zFgSomaXMLs.or.fNum>0) .and.fg_fat<>"C".and.fg_lib<>"C".and.fmodelo$"/55/65/".and..not.Cod_Sit$"/02/05/".and. .not. '9'$fCodOp .and. fDataEmi>=zDe .and. fDataEmi<=zAte})

   zTaxaVendaCompra := if(zTotSaidas>0, 100*(zTotSaidas-zTotEntradas)/zTotSaidas, 0)
   
   zStr := "Periodo "+Dtoc(zDe)+" a "+Dtoc(zAte)+";;"

   zStr += "Total das Vendas: R$ "+lTrim(Transform(zTotSaidas,"@E 999,999,999.99"))+" (Ref a "+lTrim(Str(zQtdNfSai,6))+" NFs de Vendas);;"
   zStr += "Total das Compras: R$ "+lTrim(Transform(zTotEntradas,"@E 999,999,999.99"))+" (Ref a "+lTrim(Str(zQtdNfEnt,6))+" NFs de Compras);"
   zStr += ";Margem Bruta Total: R$ "+lTrim(Transform(zTotSaidas-zTotEntradas,"@E 999,999,999.99"))+";;"
   if zTaxaVendaCompra>0
      zStr += "A proporcao de Venda x Compra esta;POSITIVA em "+lTrim(Transform(zTaxaVendaCompra,"@E 9999.99%"))
   else
      zStr += "A proporcao de Venda x Compra esta;NEGATIVA em "+lTrim(Transform(abs(zTaxaVendaCompra),"@E 9999.99%"))+";;HAVERA PROVAVEL CONVOCACAO NA MALHA FINA ESTADUAL!"
   endif
  
   if zTaxaVendaCompra=0
      Alert("SEM MOVIMENTACAO NO PERIODO",,"B/W")
   else
      Alert(zStr,,"B/W")
   endif
   // oLst:Run()
   // oLst:End()

#FIM_TEXTO_FONTE
