clearRanges - это хорошо, но у вас
X++:
EXISTS JOIN * FROM EmplTable WHERE smmActivities.ResponsibleEmployee = EmplTable.EmplId
цепляется столько раз, сколько раз вызывается метод setupRanges.
Конктетно - трабла в строке:
X++:
datasourceForTeams = queryBuildDataSource.addDataSource(tablenum(emplTable));
Нужно при первом вызове сделать .addDataSource(tablenum(emplTable)), а при последующих вызовах испольльзовать .dataSourceTable(tablenum(emplTable))
Примерно так в общем.
P.S. Когда Вы уже X++ изучите...