by hag » Fri Jan 14, 2011 3:32 am
Messy code:
IF YOU NEED ANYTHING ELSE LET ME KNOW.
DEFINE FONT oFont3 NAME "Ms Sans Serif" SIZE 2,1
DEFINE WINDOW oWnd TITLE "View Print Edit Reports" ;
COLOR CLR_WHITE, CLR_WHITE
if viewingMulti == 0
define dialog oDlg resource "hagbrow" of oWnd1 TRANSPARENT TITLE cItem Font oFont3
REDEFINE TABS oTabs PROMPTS "Profit And Loss", "Cash Flow", "Balance Sheet", "Product Analysis", "Credit Line Usage","Information",cCalc ID 4001 OF oDlg;
action(nnOPtion := oTabs:nOption,xpicard(oDlg,oBrw,nnOption,xCol,oSay35,oSay36,oSay37)) update
else
define dialog oDlg resource "hagbrow" of oWnd1 TRANSPARENT TITLE cItem Font oFont3
REDEFINE TABS oTabs PROMPTS "Profit And Loss", "Cash Flow", "Balance Sheet", "Product Analysis", "Credit Line Usage","Information",cCalc ID 4001 OF oDlg;
action(nnOPtion := oTabs:nOption,xpicard(oDlg,oBrw,nnOption,xCol,oSay35,oSay36,oSay37)) update
endif
oDlg:oTop := oTabs
getcoors(ownd1:nTop,ownd1:nLeft,ownd1:nBottom,ownd1:nRight)
if ownd1:nright >= 1020 //.and. ownd1:nright < 1028
if bFont[1] <= 16
oDlg:bResized := ;
{|| aRect := GetWndRect(oDlg:hWnd), ;
oBrw:Move( 24,4,arect[ 4 ]-arect[ 2 ] -16, ; //16
aRect[3]-aRect[1]-175,.t.); //150 // 130
,oBtn1:move(arect[3] -aRect[1]- 89,11 ,,,.t.); //14 *
,oBtn5:move(arect[3] -aRect[1]- 89,197 ,,,.t.); //106
,oBtn7:move(arect[3] -aRect[1]- 89,380 ,,,.t.); //16
,oBtn2:move(arect[3] -aRect[1]- 119,481 ,,,.t.); //4002
,oBtn13:move(arect[3] -aRect[1]-145,422 ,,,.t.); //20
,oCbx:move(arect[3] -aRect[1]- 89,575 ,,,.t.); //18 Transfer data
,oCbx1:move(arect[3] -aRect[1]- 119,575 ,,,.t.); //
,oCbx2:move(arect[3] -aRect[1]- 119,11 ,,,.t.); //15 *
,oCbx3:move(arect[3] -aRect[1]- 119,197 ,,,.t.); //14
,oCbx5:move(arect[3] -aRect[1]- 89,875 ,,,.t.); //24
,oSay11:move(arect[3]-aRect[1]- 119,806 ,,,.t.); //
,oSay12:move(arect[3]-aRect[1]- 111,806 ,,,.t.); //
,oCbx4:move( "",728 ,,,.t.); //reports
,oSay20:move(arect[3] -aRect[1]-145,11 ,,,.t.); //75 * //120
,oSay21:move(arect[3] -aRect[1]-145,197 ,,,.t.); //23 *
,oBtn3:move(arect[3] -aRect[1]-119,380 ,,,.t.)} //103
//,oBtn4:move( "",620 ,,,.t.); //calculate
//,oBmp1:move( "",11 ,,,.t.); //calculate
//,oBmp5:move(arect[3] -aRect[1]- 149,380 ,,,.t.);// Info
//,oSay13:move( "",855 ,,,.t.); //
else
//? "2"
oDlg:bResized := ;
{|| aRect := GetWndRect(oDlg:hWnd), ;
oBrw:Move( 24,4,arect[ 4 ]-arect[ 2 ] -16, ; //16
aRect[3]-aRect[1]-207,.t.); //150 //175 // 130
,oBtn1:move(arect[3] -aRect[1]- 102,5 ,,,.t.); //14 *
,oBtn5:move(arect[3] -aRect[1]- 102,197 ,,,.t.); //106
,oBtn7:move(arect[3] -aRect[1]- 102,380 ,,,.t.); //16
,oBtn2:move(arect[3] -aRect[1]- 132,520 ,,,.t.); //4002
,oBtn13:move(arect[3] -aRect[1]- 145,520 ,,,.t.); //20
,oCbx:move(arect[3] -aRect[1]- 102,605 ,,,.t.); //18 Transfer data
,oCbx5:move(arect[3] -aRect[1]- 89,875 ,,,.t.); //24
,oCbx1:move(arect[3] -aRect[1]- 132,605 ,,,.t.); //
,oCbx2:move(arect[3] -aRect[1]- 132,5 ,,,.t.); //15 *
,oCbx3:move(arect[3] -aRect[1]- 132,197 ,,,.t.); //14
,oSay11:move(arect[3]-aRect[1]- 132,806 ,,,.t.); //
,oSay12:move(arect[3]-aRect[1]- 111,806 ,,,.t.); //
,oCbx4:move( "",675 ,,,.t.); //reports
,oSay20:move(arect[3] -aRect[1]-168,5 ,,,.t.); // 75 * //120
,oSay21:move(arect[3] -aRect[1]-168,197 ,,,.t.); // 75 *
,oBtn3:move(arect[3] -aRect[1]-132,380 ,,,.t.)} //103
//,oBtn4:move( "",575 ,,,.t.); //calculate
//,oBmp5:move( "",51 ,,,.t.); //calculate
//,oBmp1:move( "",11 ,,,.t.); //calculate
//,oBmp5:move(arect[3] -aRect[1]- 168,380 ,,,.t.); // Info
//,oSay13:move( "",845 ,,,.t.); //
endif
endif
if (oWnd1:nRight > 600 .AND. oWnd1:nRight < 1020)
bFont := getFontInfo(hFont)
if bFont[1] <= 16
///? "3"
ODLG:BRESIZED := ;
{|| aRect := GetWndRect(oDlg:hWnd), ;
oBrw:Move( 24,1,arect[ 4 ]-arect[ 2 ] - 27, ;
aRect[3]-aRect[1]-150,.t.);
,oBtn1:move(arect[3] -aRect[1]- 55,5, , ,.t.); //14
,oBtn5:move(arect[3] -aRect[1]- 55,177 ,,,.t.); //106
,oBtn7:move(arect[3] -aRect[1]- 55,333 ,,,.t.); //16
,oBtn2:move(arect[3] -aRect[1]- 85,433 ,,,.t.); //4002
,oBtn13:move(arect[3] -aRect[1]- 115,400 ,,,.t.); //20
,oCbx:move(arect[3] -aRect[1]- 55,519 ,,,.t.); //18 Transfer data
,oCbx1:move(arect[3] -aRect[1]- 85,519 ,,,.t.); //
,oCbx2:move(arect[3] -aRect[1]- 85,5 ,,,.t.); //15
,oCbx3:move(arect[3] -aRect[1]- 85,177 ,,,.t.); //14
,oCbx5:move(arect[3] -aRect[1]- 89,875 ,,,.t.); //24
,oSay11:move(arect[3]-aRect[1]- 85,805 ,,,.t.); //
,oSay12:move(arect[3]-aRect[1]- 52,805 ,,,.t.); //
,oSay20:move(arect[3]-aRect[1]- 115,5 ,,,.t.); // 75 *
,oSay21:move(arect[3]-aRect[1]- 115,177 ,,,.t.); // 75 *
,oBtn3:move(arect[3] -aRect[1]- 85,349 ,,,.t.),oBrw:refresh()} //103
//,oCbx4:move( "",680 ,,,.t.); //reports
//,oBtn4:move( "",600 ,,,.t.); //calculate
//,oBmp1:move( "",11 ,,,.t.); //calculate
//,oBmp5:move(arect[3] -aRect[1]- 119,352 ,,,.t.); // Info
//,oSay13:move( "",804 ,,,.t.); //
// win32
else
//? "4"
oDlg:bResized := ;
{|| aRect := GetWndRect(oDlg:hWnd), ;
oBrw:Move( 24,4,arect[ 4 ]-arect[ 2 ] -16, ; //16
aRect[3]-aRect[1]-175,.t.); //150 // 130
,oBtn1:move(arect[3] -aRect[1]- 89,5 ,,,.t.); //14 *
,oBtn5:move(arect[3] -aRect[1]- 89,197 ,,,.t.); //106
,oBtn7:move(arect[3] -aRect[1]- 89,380 ,,,.t.); //16
,oBtn2:move(arect[3] -aRect[1]- 119,400 ,,,.t.); //4002
,oBtn13:move(arect[3] -aRect[1]- 115,400 ,,,.t.); //20
,oCbx:move(arect[3] -aRect[1]- 89,605 ,,,.t.); //18 Transfer data
,oCbx5:move(arect[3] -aRect[1]- 89,875 ,,,.t.); //24
,oCbx1:move(arect[3] -aRect[1]- 119,605 ,,,.t.); //
,oCbx2:move(arect[3] -aRect[1]- 119,5 ,,,.t.); //15 *
,oCbx3:move(arect[3] -aRect[1]- 119,197 ,,,.t.); //14
,oSay11:move(arect[3]-aRect[1]- 119,806 ,,,.t.); //
,oSay12:move(arect[3]-aRect[1]- 111,806 ,,,.t.); //
,oCbx4:move( "",675 ,,,.t.); //reports
,oSay20:move(arect[3] -aRect[1]-145,5 ,,,.t.); // 75 * //120
,oSay21:move(arect[3] -aRect[1]-145,197 ,,,.t.); // 75 *
,oBtn3:move(arect[3] -aRect[1]-119,380 ,,,.t.)} //103
//,oBtn4:move( "",575 ,,,.t.); //calculate
//,oBmp1:move( "",11 ,,,.t.); //calculate
//,oBmp5:move( "",51 ,,,.t.); //calculate
//,oSay13:move( "",845 ,,,.t.); //
endif
endif
redefine column xbrowse oBrw ID 101 of oDlg cell lines //autocols //fastedit
oBrw:nMARQueesTYLE := MARQSTYLE_HIGHLROW
oBrw:bClrStd := {||If(FixFlag(),{CLR_BLACK,CLR_YELLOW},{CLR_BLACK ,CLR_WHITE}) }
//oBrw:aCols[3]:bClrstd := {||If(fixFlag1(), { CLR_BLACK, CLR_YELLOW },{ CLR_BLACK, CLR_WHITE } ) }
//oBrw:aCols[3]:bClrstd := {|| { CLR_BLACK,If( fixFlag1(), CLR_YELLOW, CLR_WHITE ) } }
if cFixoDbf == .f.
select bal
database oDbf
oDbf:GoTop()
#translate oDbf:bal: => oDbf:
oBrw:SetoDbf(oDbf)
else
select gl
database oDbf
oDbf:GoTop()
oBrw:SetoDbf(oDbf)
oBrw:cAlias := oDbf:cAlias
#translate oDbf:gl: => oDbf:
oBrw:nFreeze := 4 // freeze
endif
oBrw:bClrGrad := { | lInvert | If( ! lInvert, ;
{ { 0.710,8388608,16777215 }, ;
{ 0.710,16777215,8388608 } }, ;
{ { 0.710,8388608,16777215 }, ;
{ 0.710,16777215,8388608 } } ) }
msize := 68 // 78
if mWhichCountry == .t. // CANADA
if !EMPTY(cFrecast)
ADD COLUMN TO xbrowse oBrw data {|| trans(oBrw:oDbf:gl:trend, '@Z 999.9') };
SIZE 40 COLOR CLR_BLACK, CLR_WHITE LEFT HEADER "TrendIt"
ADD COLUMN TO xbrowse oBrw DATA {|| if(gl->gst == 1, "Yes", if(gl->gst == 0, " ",)) };
SIZE 25 COLOR CLR_BLACK, CLR_WHITE LEFT HEADER "GST" // blank cursor colm
else
ADD COLUMN TO xbrowse oBrw DATA {|| if(gl->gst == 1, "Yes", if(gl->gst == 0, " ",)) };
SIZE 25 COLOR CLR_BLACK, CLR_WHITE LEFT HEADER "GST" // blank cursor colm
endif
else
if !EMPTY(cFrecast)
ADD COLUMN TO xbrowse oBrw data {|| trans(oBrw:oDbf:gl:trend, '@Z 999.9') };
SIZE 40 COLOR CLR_BLACK, CLR_WHITE LEFT HEADER "TrendIt"
else
//oBrw:hBmpCursor := LoadBitmap( GetResources(), "Z_Finger" )
ADD TO xbrowse oBrw DATA {|| if(gl->gst == 1, " ", if(gl->gst == 0, " ",)) };
SIZE 20 COLOR CLR_BLACK, CLR_WHITE LEFT HEADER " " // blank cursor colm
endif
endif
gl->(dbGoTop())
oBrw:bLDblClick := { | nRow,nCol |if (nNewVar == 1,msginfo("Editing is not available while vewing this report."),(odlg:hide(),apicard( oBrw, nRow, nCol, odlg))),oBrw:refresh();
,oBrw:setfocus(),odlg:show(),needCalc(oDlg),oBrw:refresh(),oBrw:setfocus(),mPassMess := .t.}
oBrw:bKeyChar := { | nKey,nRow,nCol | if(nKey=VK_RETURN,;
(IF(nNewVar == 1,msginfo("Editing is not available while in this report.");
,(odlg:hide(),apicard( oBrw, nRow, nCol, odlg))),whatUsing(oDlg),oDlg:update(),oBrw:refresh(),oBrw:setfocus(),odlg:show(),needCalc(oDlg)),),.t.}
// 2007
oBrw:bRClicked := {| nRow,nCol | build(oBrw, nRow, nCol, odlg),oBrw:refresh(),oBrw:setfocus(),odlg:setfocus(),mPassMess := .t.}
setkey (VK_F6,{|| newInfo(),oBrw:refresh(),oBrw:setfocus()})
msgWait("Color coding departments. To see coding use the F12 key.","Attention",3)
ADD TO xBROWSE oBrw ;
data {|| if(gl->title == repli('-', 30), repli(' ' , 30), ;
if(gl->title == repli('=', 30), repli(' ', 30), ;
trans(gl->account,"9999"))) } ;
SIZE 36 LEFT HEADER "Account (dblclick to edit)" COLOR CLR_BLACK,CLR_HGRAY
ADD TO xBROWSE oBrw ;
SIZE 6 LEFT COLOR {||IF((gl->account >= "1500" .AND. gl->account <= "2040"),{RGB(0,0,0),RGB(128,0,0)},;
IF((gl->account >= "2055" .AND. gl->account <= "2500"),{RGB(0,0,0),RGB(0,0,128)},;
IF((gl->account >= "2520" .AND. gl->account <= "2625"),{RGB(0,0,0),RGB(0,128,0)},;
IF((gl->account >= "2635" .AND. gl->account <= "2720"),{RGB(0,0,0),RGB(0,128,128)},;
IF((gl->account >= "2735" .AND. gl->account <= "2820"),{RGB(0,0,0),RGB(128,0,128)},;
IF((gl->account >= "2835" .AND. gl->account <= "2920"),{RGB(0,0,0),RGB(128,128,0)},;
IF((gl->account >= "3000" .AND. gl->account <= "3353"),{RGB(0,0,0),RGB(0,0,255)},;
IF((gl->account >= "3360" .AND. gl->account <= "3480"),{RGB(0,0,0),RGB(255,0,255)},;
IF((gl->account >= "3491" .AND. gl->account <= "3544"),{RGB(0,0,0),RGB(255,128,0)},;
IF((gl->account >= "2935" .AND. gl->account <= "2996"),{RGB(0,0,0),RGB(0,255,0)},;
{RGB(0,0,0),RGB(255,255,255)}))))))))))}
ADD TO xBROWSE oBrw ;
data {|| if(gl->title == repli('-', 30), repli(' ' , 30), ;
if(gl->title == repli('=', 30), repli(' ', 30), ;
eval(cBal))) } ;
SIZE 140 LEFT HEADER "Account (dblclick to edit)" //COLOR CLR_BLACK,CLR_HGRAY
* ADD TO oBrw DATA ;
* If( gl->title = '-' .or. gl->title = '=' .or. ;
* gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485', ;
* repli(" ",30), trans(Eval(bty13), ;
* '999,999,999'),;
* SIZE 71 ;
* RIGHT ;
* HEADER cone
* ADD TO oBrw DATA ;
* If( gl->title = '-' .or. gl->title = '=' .or. ;
* gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485', ;
* repli(" ",30), trans(Eval(bty14), ;
* '999,999,999'));
* SIZE 71 ;
* RIGHT ;
* HEADER "Start Up";
* footer " "
//(gl->account $ '4601,4602,4603,4604,4605,4607,4608,4609,4610',trans(Eval(bty13),'@Z 999,999,999'))) ;
// msetmths := 13
/////NEW
* ADD TO oBrw DATA ;
* If( gl->title = '-' .or. gl->title = '=' .or. ;
* gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485', ;
* repli(" ",30), trans(Eval(bty15), ;
* '999,999,999')) ;
* SIZE 71 ;
* RIGHT ;
* HEADER cone
// here
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30), trans(Eval(bty14), ;
'999,999,999'));
SIZE 71 ;
RIGHT ;
HEADER "Start Up";
footer " "
//.or. if(gl->account $ '4601,4602,4603,4604,4605,4607,4608,4609,4610',trans(Eval(bty13),'@Z 999,999,999')) ;
//If( gl->account $ '3000',CLR_BLACK,CLR_BLUE));
//If( gl->account $ '3000',CLR_BLACK,CLR_BLUE," " )
if msetmths >=1
if lUseThis == .F. .AND. gl->act1 > 1
cActl1 := "-Actual"
else
cActl1 := ""
endif
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30), trans(Eval(bty1), ;
'999,999,999')) ;
SIZE msize ;
RIGHT ;
HEADER m1+cActl1 ;
footer " "
endif
if msetmths >=2
if lUseThis == .F. .AND. gl->act2 > 1
cActl2 := "-Actual"
else
cActl2 := ""
endif
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30), trans(Eval(bty2), ;
'999,999,999')) ;
SIZE msize ;
RIGHT ;
HEADER m2+cActl2;
footer " "
if msetmths = 2
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30),trans(Eval(bPercent),;
'999.9')) ;
SIZE msize ;
RIGHT ;
HEADER "%";
footer " "
endif
endif
if msetmths >=3
if lUseThis == .F. .AND. gl->act3 > 1
cActl3 := "-Actual"
else
cActl3 := ""
endif
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30), trans(Eval(bty3), ;
'999,999,999')) ;
SIZE msize ;
RIGHT ;
HEADER m3+cActl3;
footer " "
if msetmths == 3
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30), trans(Eval(bPercent), ;
'999.9' )) ;
SIZE msize ;
RIGHT ;
HEADER "%" ;
footer " "
endif
endif
if msetmths >=4
if lUseThis == .F. .AND. gl->act4 > 1
cActl4 := "-Actual"
else
cActl4 := ""
endif
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30), trans(Eval(bty4), ;
'999,999,999')) ;
SIZE msize ;
RIGHT ;
HEADER m4+cActl4;
footer " "
endif
if msetmths >=5
if lUseThis == .F. .AND. gl->act5 > 1
cActl5 := "-Actual"
else
cActl5 := ""
endif
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30), trans(Eval(bty5), ;
'999,999,999')) ;
SIZE msize ;
RIGHT ;
HEADER m5+cActl5;
footer " "
endif
if msetmths >=6
if lUseThis == .F. .AND. gl->act6 > 1
cActl6 := "-Actual"
else
cActl6 := ""
endif
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30), trans(Eval(bty6), ;
'999,999,999')) ;
SIZE msize ;
RIGHT ;
HEADER m6+cActl6;
footer " "
endif
if msetmths >=7
if lUseThis == .F. .AND. gl->act7 > 1
cActl7 := "-Actual"
else
cActl7 := ""
endif
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30), trans(Eval(bty7), ;
'999,999,999')) ;
SIZE msize ;
RIGHT ;
HEADER m7+cActl7;
footer " "
endif
if msetmths >=8
if lUseThis == .F. .AND. gl->act8 > 1
cActl8 := "-Actual"
else
cActl8 := ""
endif
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30), trans(Eval(bty8), ;
'999,999,999')) ;
SIZE msize ;
RIGHT ;
HEADER m8+cActl8;
footer " "
endif
if msetmths >=9
if lUseThis == .F. .AND. gl->act9 > 1
cActl9 := "-Actual"
else
cActl9 := ""
endif
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30), trans(Eval(bty9), ;
'999,999,999')) ;
SIZE msize ;
RIGHT ;
HEADER m9+cActl9;
footer " "
endif
if msetmths >=10
if lUseThis == .F. .AND. gl->act10 > 1
cActl10 := "-Actual"
else
cActl10 := ""
endif
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30), trans(Eval(bty10), ;
'999,999,999')) ;
SIZE msize ;
RIGHT ;
HEADER m10+cActl10;
footer " "
endif
if msetmths >=11
if lUseThis == .F. .AND. gl->act11 > 1
cActl11 := "-Actual"
else
cActl11 := ""
endif
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30), trans(Eval(bty11), ;
'999,999,999')) ;
SIZE msize ;
RIGHT ;
HEADER m11+cActl11 ;
footer " "
endif
if msetmths >=12
if lUseThis == .F. .AND. gl->act12 > 1
cActl12 := "-Actual"
else
cActl12 := ""
endif
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485,4601,4602,4603,4604,4605,4607,4608,4609,4610', ;
repli(" ",30), trans(Eval(bty12), ;
'999,999,999')) ;
SIZE msize ;
RIGHT ;
HEADER m12+cActl12;
footer " "
endif
/////NEW
if cFixOdbf == .t.
if msetmths > 3
ADD TO oBrw DATA ;
If( gl->title = '-' .or. gl->title = '=' .or. ;
gl->account $ '2053,2514,2632,2733,2833,2933,2998,3355,3485', ;
repli(" ",30), trans(Eval(bPercent), ;
'999.9')) ;
SIZE msize ;
RIGHT ;
HEADER "%";
footer " "
endif
endif
REDEFINE SAY ID 12 OF ODLG COLOR CLR_WHITE, CLR_RED
// DISPALAY SENSITIVITY
redefine button obtn1 id 14 of oDlg ;
ACTION(oDlg:hide(),setcalc(),lsetmess := .t.,whatifi(),oDlg:show(),openfilter := .f., asetfilter(.f.,obrw),setcalc2(obrw,odlg,2),oBrw:setfocus())
if !EMPTY(cFrecast)
REDEFINE SAY oSay10 prompt alltrim(cFrecast) ID 51 OF ODLG COLOR CLR_WHITE, CLR_RED //COLOR CLR_RED, CLR_WHITE
else
REDEFINE SAY oSay10 ID 51 OF ODLG
endif
* if viewingMulti == 0
REDEFINE SAY oSay35 ID 412 OF ODLG COLOR CLR_WHITE,CLR_BLUE
REDEFINE SAY oSay36 ID 413 OF ODLG COLOR CLR_WHITE,CLR_BLUE
REDEFINE SAY oSay37 ID 414 OF ODLG COLOR CLR_WHITE,CLR_BLUE
REDEFINE SAY oSay11 ID 200 OF ODLG COLOR CLR_WHITE,CLR_BLUE
REDEFINE SAY oSay12 ID 201 OF ODLG COLOR CLR_WHITE,CLR_BLUE
* endif
//REDEFINE SAY oSay13 prompt cWhatView ID 400 OF ODLG update COLOR CLR_WHITE,CLR_RED
* if viewingMulti == 0
REDEFINE SAY oSay20 prompt cWhichSales ID 75 OF ODLG update COLOR CLR_WHITE,CLR_BLUE
REDEFINE SAY oSay21 prompt cWhichCost ID 23 OF ODLG update COLOR CLR_WHITE,CLR_BLUE
* endif
// RUN MULTI YEAR
redefine button obtn9 id 17 of oDlg ;
action(toCalcOrNot(obrw,oDlg),isMultiYear(),msgwait("Multi year forecast updated.","Please Wait",1))
redefine button obtn2 id 4002 of odlg ;
action(toCalcOrNot(obrw,oDlg),toExitPrint(oDlg,oBrw,nNewVar,nIndex,msize))
redefine button obtn13 id 20 of odlg ;
action(find2(2,oBrw," ",.f.,oDlg,oDbf,2))
redefine button obtn3 id 103 of oDlg ;
action(nRecNo := gl->(recno()),oDlg:hide(),openfilter := .t.,addnewaccounts(obrw,odlg,msendtitle,nNewVar),asetfilter(.t.,obrw),gl->(dbgoto(nRecno)),oDlg:show(),oBrw:refresh(),oBrw:setfocus())
* redefine button obtn4 id 105 of oDlg ;
* action(asetcalc(obrw,ODLG),setTheOrder(),gl->(dbgoto(1)),obrw:refresh(),obrw:setfocus())
redefine button obtn5 prompt cCaption id 106 of oDlg ;
action(oDlg:hide(),addexp(obrw,odlg,.f.,.f.,nNewVar),goforward := .t.,odlg:show(),gl->(dbgotop()),oBrw:refresh(),oBrw:setfocus(),mPassMess := .t.,setMess(oDlg,oBrw),cPrompt := "Select accounts to display", oDlg:update(),.t.)
// new 1/25/2009
redefine button obtn7 prompt cPrompt id 16 of oDlg ;
action(if(nWhichDisp == 1,(openfilter := .f., asetfilter(.f.,obrw),gl->(dbgoto(1)),oBtn7:setText("Select accounts to display"), nWhichDisp := 0),;
(nRecNo := gl->(recno()),oDlg:hide(),openfilter := .t.,addnewaccounts(obrw,odlg,msendtitle,nNewVar),asetfilter(.t.,obrw),gl->(dbgoto(nRecno),oDlg:show(),oBtn7:setText("Display only accounts being used"),nWhichDisp := 1)) ),oBrw:setFocus())
* redefine button obtn7 id 16 of oDlg ;
* action(openfilter := .f., asetfilter(.f.,obrw),gl->(dbgoto(1)),oBrw:setfocus(),oBrw:refresh(),oBrw:setfocus())
if lusingOnehr == .f.
if nfp == .T.
cPandl1 := " < Other Activity Items >"
REDEFINE COMBOBOX OCBX1 VAR cPandl1 ITEMS { " < Other Activity Items >",;
"Credit line financing and Interest expense" ,;
"Amortization of prepaid expenses" ,;
"Due to from owners/affiliate and Interest owners" ,;
"Expense as a percent of change in net assets" ,;
"Interest on cash balances" ,;
"Investment activity and Revenue From Investments" ,;
"Notes rec'able amortization and Interest income" ,;
"Sale of equipment and Gain or loss on the sale of assets" ,;
"Service contracts receivable and Service income" ,;
"Start up expenses" ,;
"Term loan amortization and Interest expense" };
ID 19 OF oDlg on change(asetfilter(.f.,obrw),setup1(cPandl1,10,oDlg,nNewVar),mmcurrec := gl->(recno()),openfilter := .f.,;
asetfilter(.f.,obrw),oDlg:show() ,;
setcalc2(obrw,odlg,2) ,;
fixIt(oDlg,oBrw,oCbx1),setTheOrder(),WhatUsing(oDlg),gl->(dbgotop()),oBrw:setfocus()) ;
UPDATE
else
cPandl1 := " < Other Profit And Loss Items >"
REDEFINE COMBOBOX OCBX1 VAR cPandl1 ITEMS { " < Other Profit And Loss Items >",;
"Amortization of prepaid expenses" ,;
"Credit line financing and Interest expense" ,;
"Due to from owners/affiliate and Interest owners" ,;
"Expense as a percent of net income" ,;
"Income tax expense and estimated tax payments" ,;
"Interest on cash balances" ,;
"Investment activity and Income From Investments" ,;
"Notes rec'able amortization and Interest income" ,;
"Sale of equipment and Gain or loss on the sale of assets" ,;
"Service contracts receivable and Service income" ,;
"Start up expenses" ,;
"Term loan amortization and Interest expense" };
ID 19 OF oDlg on change(asetfilter(.f.,obrw),setup1(cPandl1,10,oDlg,nNewVar),mmcurrec := gl->(recno()),openfilter := .f.,;
asetfilter(.f.,obrw),oDlg:show() ,;
setcalc2(obrw,odlg,2) ,;
fixIt(oDlg,oBrw,oCbx1),setTheOrder(),WhatUsing(oDlg),gl->(dbgotop()),oBrw:setfocus()) ;
UPDATE
endif
cItem2 := " < Driver Calculator >"
REDEFINE COMBOBOX OCBX5 VAR cItem2 ITEMS { " < Driver Calculator >",;
"Sales, regular" ,;
"Sales by product, customer etc." ,;
"Inventory" ,;
"Deposits" ,;
"Partners draw" ,;
"Other assets" ,;
"Depreciation Dept. 1" ,;
"Depreciation Dept. 2" ,;
"Depreciation Dept. 3" ,;
"Depreciation Dept. 4" ,;
"Beginning accounts payable" ,;
"Beginning accrued expenses" ,;
"Beginning other payables"} ;
ID 24 OF oDlg on change(getwhichOne(cItem2),setcalc2(obrw,odlg,2),setTheOrder(),asetfilter(.f.,obrw),;
oBrw:refresh(),oBrw:setfocus(),cItem2 := " < Driver Calculator >",oCbx5:refresh(),.t.)
cPandl4 := " < Reports >"
if nfp == .T.
REDEFINE COMBOBOX OCBX4 VAR cPandl4 ITEMS { " < Reports >",;
"Cash Flow" ,;
"Financial Position" ,;
"Program Analysis" ,;
"Activities" };
ID 50 OF oDlg on change(getCash(oBtn12,oBtn10,oBrw,oDlg,aCol,oBtn4),;
oBrw:refresh(),oDlg:update(),oBrw:setfocus(),oCbx4:refresh(),.t.)
else
REDEFINE COMBOBOX OCBX4 VAR cPandl4 ITEMS { " < Reports >",;
"Cash Flow" ,;
"Balance Sheets" ,;
"Prod./cust. analysis" ,;
"Profit and Loss" ,;
"Credit line analysis"} ;
ID 50 OF oDlg on change(getCash(oBtn12,oBtn10,oBrw,oDlg,aCol,oBtn4),;
oBrw:refresh(),oDlg:update(),oBrw:setfocus(),oCbx4:refresh(),.t.)
endif
if lusingOnehr == .f.
if nfp == .T.
//whatUsing(oDlg)
cPandl2 := " < Revenue >"
REDEFINE COMBOBOX OCBX2 VAR cPandl2 ITEMS { " < Revenue >",;
"Revenue by program" ,;
"Miscellaneous income"};
ID 15 OF oDlg on change(asetfilter(.f.,obrw),setup1(cPandl2,10,oDlg,nNewVar),setTheOrder(),oDlg:show(),setcalc2(obrw,odlg,2),openfilter := .f.,asetfilter(.f.,obrw),;
fixIt(oDlg,oBrw,oCbx1),setTheOrder(),WhatUsing(oDlg),gl->(dbgotop()),oBrw:setfocus());
Update
else
//whatUsing(oDlg)
cPandl2 := " < Sales/Income >"
REDEFINE COMBOBOX OCBX2 VAR cPandl2 ITEMS { " < Sales/Income >",;
"Annual, monthly, collections",;
"By product/customer/employee etc.",;
"% completion method",;
"Miscellaneous income"};
ID 15 OF oDlg on change(asetfilter(.f.,obrw),setup1(cPandl2,10,oDlg,nNewVar),setTheOrder(),oDlg:show(),setcalc2(obrw,odlg,2),openfilter := .f.,asetfilter(.f.,obrw),;
fixIt(oDlg,oBrw,oCbx1),setTheOrder(),WhatUsing(oDlg),gl->(dbgotop()),oBrw:setfocus());
Update
endif
if nfp == .T.
cPandl3 := " < Program Costs >"
REDEFINE COMBOBOX OCBX3 VAR cPandl3 ITEMS { " < Program Costs >",;
"As a percentage of revenue",;
"In detail (33 items)",;
"By program"};
ID 13 OF oDlg on change(asetfilter(.f.,obrw),setup1(cPandl3,9,oDlg,nNewVar),oDlg:show(),setTheOrder(),setcalc2(obrw,odlg,2),openfilter := .f.,asetfilter(.f.,obrw),;
fixIt(oDlg,oBrw,oCbx1),setTheOrder(),WhatUsing(oDlg),gl->(dbgotop()),oBrw:setfocus());
Update
else
cPandl3 := " < Cost Of Sales >"
REDEFINE COMBOBOX OCBX3 VAR cPandl3 ITEMS { " < Cost Of Sales >",;
"As a percentage of sales",;
"In detail (33 items)",;
"By product/customer/employee etc."};
ID 13 OF oDlg on change(asetfilter(.f.,obrw),setup1(cPandl3,9,oDlg,nNewVar),oDlg:show(),setTheOrder(),setcalc2(obrw,odlg,2),openfilter := .f.,asetfilter(.f.,obrw),;
fixIt(oDlg,oBrw,oCbx1),setTheOrder(),WhatUsing(oDlg),gl->(dbgotop()),oBrw:setfocus());
Update
endif
cPandl := " < Cash Flow And Other Items >"
if nfp == .T.
REDEFINE COMBOBOX OCBX VAR cPandl ITEMS { " < Cash Flow And Other Items >",;
"Adjust other assets" ,;
"Beginning financial position" ,;
"Beginning payables-payment of same" ,;
"Customer deposits" ,;
"Deposits to be made" ,;
"Loans due to/from owners/affiliates" ,;
"Loans from others" ,;
"Loans to others" ,;
"Name, fiscal period, plan year " ,;
"New borrowings and investor activities" ,;
"Purchase of equipment",;
"Sales tax collection and payment"};
ID 18 OF oDlg on change(asetfilter(.f.,obrw),setup1(cPandl,9,oDlg,nNewVar),oDlg:show(),setcalc2(obrw,odlg,2),openfilter := .f.,asetfilter(.f.,obrw),;
fixIt(oDlg,oBrw,oCbx1),setTheOrder(),WhatUsing(oDlg),gl->(dbgotop()),oBrw:setfocus());
Update
else
REDEFINE COMBOBOX OCBX VAR cPandl ITEMS { " < Cash Flow And Other Items >",;
"Adjust other assets",;
"Beginning balance sheet",;
"Beginning payables-payment of same",;
"Customer deposits" ,;
"Deposits to be made", ;
"Dividends to be paid",;
"Enter actual products sold", ;
"Loans due to/from owners/affiliates",;
"Loans from others",;
"Loans to others",;
"Name, fiscal period, plan year ",;
"New borrowings and investor activities",;
"Preferred stock/Treasury stock",;
"Proprietors draw",;
"Purchase of equipment",;
"Sales tax collection and payment"};
ID 18 OF oDlg on change(asetfilter(.f.,obrw),setup1(cPandl,9,oDlg,nNewVar),oDlg:show(),setcalc2(obrw,odlg,2),openfilter := .f.,asetfilter(.f.,obrw),;
fixIt(oDlg,oBrw,oCbx1),setTheOrder(),WhatUsing(oDlg),gl->(dbgotop()),oBrw:setfocus());
Update
endif
endif
//REDEFINE BTNBMP OBMP1 ID 116 OF ODLG file "TESTBMP2.BMP"
oCbx:cToolTip := "To set a trend for an item double click on "+CRLF+"the 'TrendIt' column and"+;
"enter the amount (%)"+CRLF+" you wish to have the item trend by to future years."
//REDEFINE BTNBMP OBMP5 ID 21 OF ODLG file "TESTBMP2.BMP"
oBtn3:cToolTip := "Select expense departments to be displayed."+CRLF+;
"Edit a standard payment assumption for all expenses."
oBtn5:cTooltip := "All planning options available and a program map"
* oBmp5:cToolTip := "To edit an expense (cell) left double click on the expense."+CRLF+;
* "Left click, the following is available: eleven methods for developing the expense. "+CRLF+;
* "For additional options highlight the expense (cell) then right click on the expense."+CRLF+;
* "Right click, the following is available:"+CRLF+;
* "Remove an expense, edit notes, move an expense from one department to another,"+CRLF+;
* "expense Driver Calculator, allocate the expense to a product, customer etc."
// SHOW EXPLANATION ONY IF NO SALES ENTERED
if nNewVar == 1
oBtn2:hide()
oBtn3:hide()
//oBtn4:hide()
oBtn5:hide()
oBtn7:hide()
oCbx4:hide()
oCbx5:hide()
oCbx1:hide()
oCbx2:hide()
oCbx3:hide()
oCbx:hide()
endif
* mDontShow := .T.
* small_font := 80
if small_font <= 96 .OR. oWnd1:nRight >= 1020
if mDontShow
activate dialog odlg centered on init(oBrw:maximize(),oDlg:maximize(),addsales(oDlg,oBrw),nIndex(nIndex),donotshow(oBtn1,obtn3,oBtn4,oBtn5,oBtn7,oCbx4,oCbx1,oCbx2,oCbx3,oCbx,nNewVar,oBmp1,cFrecast,oBmp5),;
asetfilter(.f.,obrw),intuit(nNewVar,oBrw,oDlg),gl->(dbgotop()),oBrw:setfocus(),oSay35:hide(),oSay36:hide(),oSay37:hide());
ON PAINT (Gradpaint0( hDC, oDlg,.t.) )
endif
else
if mDontShow
gl->(dbgotop())
if !EMPTY(cFrecast) .AND. noDisp <> 2
activate dialog odlg centered on init(donotshow(oBtn1,obtn3,oBtn4,oBtn5,oBtn7,oCbx4,oCbx1,oCbx2,oCbx3,oCbx,nNewVar,oBmp1,cFrecast,oBmp5),;
odlg:maximize(),oBrw:maximize(),gl->(dbgotop(),addsales(oDlg,oBrw),nIndex(nIndex),obrw:setfocus()),oBtn9:hide(),oBtn12:hide(),oBrw:setfocus(),asetfilter(.f.,obrw),intuit(nNewVar,oBrw,oDlg),oSay35:hide(),oSay36:hide(),oSay37:hide());
ON PAINT (Gradpaint0( hDC, oDlg,oBrw ) )
elseif EMPTY(cFrecast)
activate dialog odlg centered on init(donotshow(oBtn1,obtn3,oBtn4,oBtn5,oBtn7,oCbx4,oCbx1,oCbx2,oCbx3,oCbx,nNewVar,oBmp1,cFrecast,oBmp5),;
odlg:maximize(),oBrw:maximize(),gl->(dbgotop(),addsales(oDlg,oBrw),nIndex(nIndex),obrw:setfocus()),oBtn9:hide(),oBtn12:hide(),oBrw:setfocus(),asetfilter(.f.,obrw),intuit(nNewVar,oBrw,oDlg),oSay35:hide(),oSay36:hide(),oSay37:hide());
ON PAINT (Gradpaint0( hDC, oDlg,oBrw ) )
elseif !EMPTY(cFrecast) .AND. noDisp == 2
activate dialog odlg centered on init(donotshow(oBtn1,obtn3,oBtn4,oBtn5,oBtn7,oCbx4,oCbx1,oCbx2,oCbx3,oCbx,nNewVar,oBmp1,cFrecast,oBmp5),;
odlg:maximize(),oBrw:maximize(),gl->(dbgotop(),addsales(oDlg,oBrw),nIndex(nIndex),obrw:setfocus()),oBtn12:hide(),oBrw:setfocus(),asetfilter(.f.,obrw),intuit(nNewVar,oBrw,oDlg),oSay35:hide(),oSay36:hide(),oSay37:hide());
ON PAINT (Gradpaint0( hDC, oDlg,oBrw ) )
endif
endif
endif
[
Thank you
Harvey