Страница 1 из 1
Сложные бизнес-объекты
Добавлено: 15 авг 2012, 06:03
zmey
Здравствуйте.
Помогите разобраться с отображением сложных бизнес-объектов. Передаю в отчёт коллекцию композитных объектов. На втором уровне вложенности ассоциации проставляются правильно. На третьем все родительские объекты имеют одинаковые объекты потомки. Композиция объектов выглядит примерно так:
Код: Выделить всё
class Task
{
public Service Service { get; set; }
}
class Service
{
public ServiceGroup ServiceGroup { get; set; }
}
class ServiceGroup
{
public string Name { get; set; }
}
Все объекты Service в report.Dictionary ссылается на один объект ServiceGroup, хотя report.BusinessObjectsStore содержит правильную коллекцию.
Re: Сложные бизнес-объекты
Добавлено: 15 авг 2012, 18:17
HighAley
Здравствуйте.
Пришлите, пожалуйста, пример ваших бизнес-объектов с простым проектом, который воспроизводит проблему.
Спасибо.
Re: Сложные бизнес-объекты
Добавлено: 16 авг 2012, 12:05
zmey
Вот собрали тестовый проект. Структура объектов:
Код: Выделить всё
public class Task
{
public string Number { get; set; }
public Service Service { get; set; }
}
public class Service
{
public string Name { get; set; }
public ServiceGroup ServiceGroup { get; set; }
}
public class ServiceGroup
{
public string Name { get; set; }
}
Подготовка данных для отчета:
Код: Выделить всё
private StiReport PrepareReport()
{
var serviceGroup1 = new ServiceGroup { Name = "Group1" };
var serviceGroup2 = new ServiceGroup { Name = "Group2" };
var service11 = new Service { Name = "Service1", ServiceGroup = serviceGroup1 };
var service12 = new Service { Name = "Service2", ServiceGroup = serviceGroup1 };
var service21 = new Service { Name = "Service1", ServiceGroup = serviceGroup2 };
var tasks = new List<Task> {
new Task { Number = "1", Service = service11},
new Task { Number = "2", Service = service11},
new Task { Number = "3", Service = service12},
new Task { Number = "4", Service = service21}
};
var report = new StiReport();
report.Load("Report.mrt");
report.RegBusinessObject("test", "Task", tasks);
return report;
}
В отчёте стоит бэнд группировки по ServiceGroup.Name. При этом выводится только одна группа - "Group1". В режиме дизайнера команда View Data на объекте ServiceGroup выводит четыре одинаковые записи - "Group1".
Re: Сложные бизнес-объекты
Добавлено: 17 авг 2012, 10:51
HighAley
Здравствуйте.
Спасибо за проект. Проблему воспроизвели. Разбираемся.
О результатах сообщим позже.
Спасибо.
Re: Сложные бизнес-объекты
Добавлено: 28 авг 2012, 06:34
zmey
Здравствуйте.
Есть ли какие-нибудь подвижки в решениии нашего вопросы? Сейчас мы пробуем создавать отчёта на плоских бизнес-объектах, и всё работает хорошо. Стоит ли ожидать каких-то скорых изменений, или можно смело брать плоские объекты за основу и создавать всё отчёты именно так?
Спасибо.
Re: Сложные бизнес-объекты
Добавлено: 29 авг 2012, 15:28
HighAley
Здравствуйте.
На данный момент мы нашли источник проблемы, ищем выход из ситуации.
О результатах незамедлительно вам сообщим.
Спасибо.
Re: Сложные бизнес-объекты
Добавлено: 29 авг 2012, 18:08
HighAley
Здравствуйте.
Мы сделали доработку. Проверьте, пожалуйста, наш следующий релиз, который будет доступен в конце сентября.
Спасибо.
Re: Сложные бизнес-объекты
Добавлено: 30 авг 2012, 05:47
zmey
Большое спасибо! Будем смотретить релизы.
Re: Сложные бизнес-объекты
Добавлено: 30 авг 2012, 17:08
HighAley
Здравствуйте.
Пишите, если ещё возникнут какие вопросы.
Спасибо.