[SysEntryPointAttribute]
public void ProcessReport()
{
AssetTrans assettrans;
AssetGroup assetgroup;
AssetTable assettable;
AssetBook assetbook;
AssetSumCalc_Trans assetsumcalc;
StartDate startdate, startdate1;
EndDate enddate, enddate1;
TransDate periode;
AssetListFixedActiveContract contract= this.parmDataContract();
periode = contract.parmperiode();
startdate = mkDate(1, mthOfYr(periode), year(periode));
startdate1 = mkDate(1, 1, year(periode));
enddate = endmth(periode);
if (periode == dateNull())
{
periode = systemDateGet();
}
while select assetgroup
{
tmp.clear();
while select sum(AmountCur) from assettrans where assettrans.AmountCur
&& assettrans.AssetGroup == assetgroup.GroupId
&& assettrans.TransType == AssetTransType::Depreciation
&& assettrans.TransDate >= startdate1
do
{
tmp.JanuaryNBVBalance = assettrans.AmountCur;
tmp.FebruaryNBVBalance = assettrans.AmountCur;
tmp.MarchNBVBalance = assettrans.AmountCur;
tmp.AprilNBVBalance = assettrans.AmountCur;
tmp.MayNBVBalance = assettrans.AmountCur;
tmp.JuneNBVBalance = assettrans.AmountCur;
tmp.JulyNBVBalance = assettrans.AmountCur;
tmp.AugustusNBVBalance = assettrans.AmountCur;
tmp.SeptemberNBVBalance = assettrans.AmountCur;
tmp.OctoberNBVBalance = assettrans.AmountCur;
tmp.NovemberNBVBalance = assettrans.AmountCur;
tmp.DecemberNBVBalance = assettrans.AmountCur;
enddate1 = endmth(enddate+1);
}
while (enddate1 <= enddate);
enddate1 = endmth(startdate1);
tmp.insert();
}
}