would you be so kind to show how to use FastReport to print a Band with DATA coming from Fivewin similar to:
Code: Select all
PRINTAREA 9 OF ::oVrd ;
ITEMIDS { 101, 102 } ;
ITEMVALUES { cText1, cText2 }
Otto
Code: Select all
PRINTAREA 9 OF ::oVrd ;
ITEMIDS { 101, 102 } ;
ITEMVALUES { cText1, cText2 }
Code: Select all
STATIC FUNCTION RelMargem()
////////////////////////////////////////////////////////////////////////////////
LOCAL oMargen , nMargen := 0
PUBLIC oiForn , iForn := 0
PUBLIC onForn , nForn := SPACE(40)
PUBLIC nScan := 0
PUBLIC := aDados:={}
PUBLIC x := 0
PUBLIC nCol := 0
PUBLIC lImprime := .F.
PUBLIC aMES1 :=0
PUBLIC aMES2 :=0
PUBLIC aMES3 :=0
DEFINE DIALOG oDlgM RESOURCE 1165 TITLE "Análise Margen" COLOR nRGB( 0, 0, 0 ), nRGB( 201, 217, 237 ) TRANSPARENT
REDEFINE GET oMargen VAR nMargen ID 4005 OF oDlgM PICTURE "9999.99" UPDATE
REDEFINE BUTTON ID 701 OF oDlgM ACTION oDlgM:END() UPDATE CANCEL
REDEFINE BUTTON ID 702 OF oDlgM ACTION (lImprime := .T.,oDlgM:END()) UPDATE CANCEL
ACTIVATE DIALOG oDlgM CENTERED ON MOVE(oDlgM:Center)
IF lImprime
SELECT Produto
SET ORDE TO 4
GO TOP
DO WHILE !EOF()
CursorWait()
IF Produto->lucro <= nMargen
nScan := ASCAN(aDados, {|aVal| aVal[1] == Produto->codbarra})
IF nScan = 0
AADD(aDados,{Produto->codbarra,Produto->nm_produto,Produto->unidmed,Produto->id_depto,Produto->id_marca,Produto->id_grupo,Produto->codtcupom,Produto->aliquota,Produto->pccusto,Produto->lucro,Produto->pcvenda})
ENDIF
ENDIF
SKIP
SysRefresh()
ENDDO
ASORT(aDados,,,{|x,y| (x[2]) < (y[2]) })
oFrPrn:=frReportManager():new()
oFrPrn:SetIcon(1) //ícone da janela do FRH
oFrPrn:SetTitle( "Relatório" ) //título da janela do FRH
oFrPrn:SetUserDataSet("aDados", "codbarra;nm_produto;unidmed;id_depto;id_marca;id_grupo;codtcupom;aliquota;pccusto;margem;pcvenda", ;
{||x := 1}, ; //--> bGoTop
{||x := x + 1}, ; //--> bSkipPlus
{||x := x - 1}, ; //--> bSkipMinus
{||x > Len(aDados)}, ; //--> bCheckEOF
{|aField|nCol := IIF( aField == "codbarra" , 1,;
IIF( aField == "nm_produto", 2,;
IIF( aField == "unidmed" , 3,;
IIF( aField == "id_depto" , 4,;
IIF( aField == "id_marca" , 5,;
IIF( aField == "id_grupo" , 6,;
IIF( aField == "codtcupom" , 7,;
IIF( aField == "aliquota" , 8,;
IIF( aField == "pccusto" , 9,;
IIF( aField == "margem" ,10,;
IIF( aField == "pcvenda" ,11, 12 ))))))))))), aDados[x, nCol] } )
oFrPrn:LoadFromFile( "PMargem.fr3" )
oFrPrn:PreviewOptions:SetAllowEdit( .F. )
oFrPrn:PreviewOptions:SetZoomMode(2)
oFrPrn:PreviewOptions:SetOutlineExpand(.F.)
// oFrPrn:DesignReport()
oFrPrn:ShowReport()
oFrPrn:ClearDataSets()
oFrPrn:DestroyFR()
ENDIF
SELECT Produto
SET ORDE TO 4
GO TOP
oDlgM:End()
Release All
SysRefresh()
RETURN(.T.)