async.parallel(Tasks,function(err,Result){ if (err) return done(err); self.IsActiveCondition = Result.Doc.IsActiveCondition || !self.Context.IsInput; if (self.CodeObj && Result.Div[self.CodeObj]) { self.ObjGrps = Result.Div[self.CodeObj].Groups; self.ObjTags = Result.Div[self.CodeObj].Tags; } self.PInfo = Result.Period; Result.Header && Result.Header.forEach(function(H){ self.Headers[H.code] = _.merge(H,{IsRemoved:false,RemoveComment:[]}); }) self.PeriodGrps = (!_.isEmpty(self.PInfo[self.Context.CodePeriod])) ? self.PInfo[self.Context.CodePeriod].Grps:[]; self.Params = Result.Set.params; if (!self.Context.IsInput){ if (self.Context.CodeReport && self.Context.CodeReport!='default'){ self.Report = _.find(Result.Set.List,{CodeReport:self.Context.CodeReport}); } else if (!self.Context.CodeReport || self.Context.CodeReport=='default'){ var def = _.find(Result.Set.List,{IsDefault:true}); if (def){ self.Report = def; } } if (self.Report){ for (var CodeParam in self.Report.Params){ self.ParamsValues[CodeParam] = self.Report.Params[CodeParam]; } } } return done(); })