Страница 1 из 2
Создание связей между бизнес объектами
Добавлено: 14 окт 2014, 14:30
Anton.Shetsov
Добрый день.
Скажите, пожалуйста, как организовать связь между двумя бизнес объектами, подобно связи между источниками данных?
К теме приложен шаблон отчета. Допустим мне нужно связать бизнес объект Stocks (по полю ProcessUnitId) с бизнес объектом SelectedProcessUnits (по полю Id). Как это сделать?
Re: Создание связей между бизнес объектами
Добавлено: 15 окт 2014, 10:52
Aleksey
Здравствуйте,
В самом дизайнере связи между бизнес объектами задать нельзя. Вам необходимо это задавать в самой структуре бизнес объекта.
Спасибо.
Re: Создание связей между бизнес объектами
Добавлено: 15 окт 2014, 11:13
Anton.Shetsov
Aleksey писал(а):Здравствуйте,
В самом дизайнере связи между бизнес объектами задать нельзя. Вам необходимо это задавать в самой структуре бизнес объекта.
Спасибо.
Т.е. нужно в коде создать такой бизнес объект, который будет содержать в себе все требуемые поля ?
И еще. Aliase у бизнес объекта всегда должен иметь название "Данные"? Задаю свое название для бизнес объекта, но при отладке вижу, что Aliase все равно называется как "Данные"...
Какую функцию необходимо использовать для сравнения строк и Id с типом guid?
Re: Создание связей между бизнес объектами
Добавлено: 15 окт 2014, 18:29
HighAley
Здравствуйте, Антон.
Anton.Shetsov писал(а):Т.е. нужно в коде создать такой бизнес объект, который будет содержать в себе все требуемые поля ?
Именно так и следует делать.
Anton.Shetsov писал(а):И еще. Aliase у бизнес объекта всегда должен иметь название "Данные"? Задаю свое название для бизнес объекта, но при отладке вижу, что Aliase все равно называется как "Данные"...
К сожалению мы не можем воспроизвести этот момент. Пришлите, пожалуйста, больше информации. Как его воспроизвести?
Anton.Shetsov писал(а):Какую функцию необходимо использовать для сравнения строк и Id с типом guid?
Уточните, пожалуйста, этот вопрос более подробно.
Спасибо.
Re: Создание связей между бизнес объектами
Добавлено: 16 окт 2014, 08:55
Anton.Shetsov
Aleksey Andreyanov писал(а):Здравствуйте, Антон.
Anton.Shetsov писал(а):И еще. Aliase у бизнес объекта всегда должен иметь название "Данные"? Задаю свое название для бизнес объекта, но при отладке вижу, что Aliase все равно называется как "Данные"...
К сожалению мы не можем воспроизвести этот момент. Пришлите, пожалуйста, больше информации. Как его воспроизвести?
в режиме отладки программы в MS VS 2012 при формировании отчета в коде, просматриваю поля объекта отчета, среди которых есть поле BusinessObjectsStore, которое содержит мой бизнес объект с Aliase "Данные"(в прикрепленном рисунке видно).
Aleksey Andreyanov писал(а):
Anton.Shetsov писал(а):Какую функцию необходимо использовать для сравнения строк и Id с типом guid?
Уточните, пожалуйста, этот вопрос более подробно.
Спасибо.
В функции IIF(bool,object,object) в качестве условия bool пытаюсь сравнить Id записи из бизнес объекта с заранее известным мне Id. идентификаторы записей представляют собой поля с типом guid, т.е. например я пишу так Stocks.ProcessUnitId == "", в результате чего получаю ошибку, что сравнивать поля с типом string и guid, таким образом невозможно...
Re: Создание связей между бизнес объектами
Добавлено: 16 окт 2014, 12:03
HighAley
Здравствуйте.
Вы можете использовать следующий метод для регистрации бизнес-объектов:
Код: Выделить всё
public void RegBusinessObject(string category, string name, string alias, object value)
В функции IIF(bool,object,object) в качестве условия bool пытаюсь сравнить Id записи из бизнес объекта с заранее известным мне Id. идентификаторы записей представляют собой поля с
типом guid, т.е. например я пишу так Stocks.ProcessUnitId == "", в результате чего получаю ошибку, что сравнивать поля с типом string и guid, таким образом невозможно...
Вы должны использовать выражения С#. Естественно, что вы получите ошибку при сравнении guid со строкой. Используйте приведение типов.
Спасибо.
Re: Создание связей между бизнес объектами
Добавлено: 12 ноя 2014, 13:54
Anton.Shetsov
Aleksey Andreyanov писал(а):Здравствуйте.
Вы можете использовать следующий метод для регистрации бизнес-объектов:
Код: Выделить всё
public void RegBusinessObject(string category, string name, string alias, object value)
Можно ли привести пример использования данной функции для реального отчета?
Re: Создание связей между бизнес объектами
Добавлено: 12 ноя 2014, 15:00
HighAley
Здравствуйте.
Вот пример кода:
Код: Выделить всё
stiReport1.Dictionary.BusinessObjects.Clear();
stiReport1.RegBusinessObject("Data", "Customers", "Customers", customerOrders.Tables["Customers"]);
stiReport1.Dictionary.SynchronizeBusinessObjects(2);
Сообщите, если вам нужна дополнительная помощь.
Спасибо.
Re: Создание связей между бизнес объектами
Добавлено: 18 мар 2015, 13:59
Anton.Shetsov
Aleksey писал(а):Здравствуйте,
В самом дизайнере связи между бизнес объектами задать нельзя.
А с чем это связано? В связи с чем нельзя организовывать связи между бизнес объектами?
Re: Создание связей между бизнес объектами
Добавлено: 18 мар 2015, 16:20
HighAley
Здравствуйте, Антон.
Структура бизнес-объектов отличается от таблиц со связями. Данная структура не имеет таблиц, которые можно связать между собой. По сути бизнес-объекты - это набор объектов, которые уже связаны между собой, причём связи указываются для конкретных объектов, а не для всех сразу.
Если коротко, то структура бизнес-объектов не позволяет создавать связи.
Спасибо.