Добрый день.
Подскажите модель работы с mrt-шаблонами в VisualStudio для разработчика.
Прикрепил картинку, демонстрирующую workflow какой мне видится сейчас.
1. Mrt шаблон расположен в ресурсах Visual Studio (resx) как файл. Хранение шаблона mrt в виде файла, дает возможно видеть в git изменения, какие происходят с шаблоном при разработке ПО.
2. Шаблон использует бизнес-объект, представленный классом (ClassA). Свойства класса могут меняться в процессе развития продукта (переименование свойств, добавление, удаление). Чтобы MRT-шаблон содержал модель бизнес-объекта, с полями, соответствующим свойствам класса, используются подходы
2.1 в дизайнере Stimulsoft редактируется файл mrt-шаблона. Руками добавляются новые поля
2.2 на основании класса генерируется (с использованием T4) словарь (файл *.dic), который потом загружается руками в дизайнере Stimulsoft в шаблон (Словарь-Действия-Добавить словарь)
Вопрос: Как автоматизировать синхронизацию свойств класса = модель бизнес-объекта в mrt-шаблоне. Например, по Build в VusialStudio? Какие решения вы можете предложить?
Хранение Mrt в Visual Studio
Хранение Mrt в Visual Studio
- Вложения
-
- Схема шаблона.png (41.71 КБ) 2729 просмотров
Stimulsoft 2014.1.1900.0 Winforms / Windows 7 / Visual Studio 2012 UP4
Re: Хранение Mrt в Visual Studio
Здравствуйте.
Не совсем разобрались с вашим вопросом.
Но для того, чтобы синхронизировать поля бизнес-объекта, достаточно выполнить следующий код:
Спасибо.
Не совсем разобрались с вашим вопросом.
Но для того, чтобы синхронизировать поля бизнес-объекта, достаточно выполнить следующий код:
Код: Выделить всё
report.RegBusinessObject("ClassA", a);
report.Dictionary.SynchronizeBusinessObjects();
Re: Хранение Mrt в Visual Studio
Этот код подразумевает, что при открытии mrt-шаблона при выполнении приложения: report.Design() поля будут присутствовать. Но нужно другое. Если вы откроете исходный шаблон mrt в дизайнере (Designer.exe) для редактирования (например, добавить колонку в таблицу или добавить текстовое поле), то в mrt-шаблоне не будет новых полей, добавленных в классreport.RegBusinessObject("ClassA", a);
report.Dictionary.SynchronizeBusinessObjects();
Вопрос как синхронизировать поля в процессе разработки проекта в VisualStudio. Например, в исходный класс добавляются новые поля. Каким образом эти поля смогут появиться в mrt-шаблоне?
Stimulsoft 2014.1.1900.0 Winforms / Windows 7 / Visual Studio 2012 UP4
Re: Хранение Mrt в Visual Studio
Здравствуйте.
вы можете выполнять этот код после изменения вашего класса и сохранять шаблон отчёта. После этого при открытии его в Дизайнере (Designer.exe) вы уже увидите новые поля.
Спасибо.
вы можете выполнять этот код после изменения вашего класса и сохранять шаблон отчёта. После этого при открытии его в Дизайнере (Designer.exe) вы уже увидите новые поля.
Спасибо.
Re: Хранение Mrt в Visual Studio
Посмотрите, пожалуйста, на картинку. Я ее специально рисовал, чтобы наглядней объяснить сложный вопрос.
Вопрос касается процесса разработки в VisualStudio (левая часть картинки). В этом режиме код не выполняется, он только пишется, сохраняется в git и билдится на билд-сервере.
Т.о. в процессе разработки, изменения в классах (например, добавления полей) не влияют на состояния mrt-шаблона. После того, как собранное на билд-сервере ПО уходит в конечным пользователям.
Т.о. пользователи получают: новые классы (с новыми полями) и старый шаблон (новые поля в который никто не добавлял)
Вопрос: как автоматизировать процесс синхронизации свойств класса и содержимого mrt-шаблона. Какие методики вы предлагаете разработчикам?
Вопрос касается процесса разработки в VisualStudio (левая часть картинки). В этом режиме код не выполняется, он только пишется, сохраняется в git и билдится на билд-сервере.
Т.о. в процессе разработки, изменения в классах (например, добавления полей) не влияют на состояния mrt-шаблона. После того, как собранное на билд-сервере ПО уходит в конечным пользователям.
Т.о. пользователи получают: новые классы (с новыми полями) и старый шаблон (новые поля в который никто не добавлял)
Вопрос: как автоматизировать процесс синхронизации свойств класса и содержимого mrt-шаблона. Какие методики вы предлагаете разработчикам?
Stimulsoft 2014.1.1900.0 Winforms / Windows 7 / Visual Studio 2012 UP4
Re: Хранение Mrt в Visual Studio
Здравствуйте,
К сожалению, у нас нет такой функциональности.
Вам необходимо заново заново зарегистрировать ваши объекты в отчет и выполнить синхронизацию полей.
Спасибо.
К сожалению, у нас нет такой функциональности.
Вам необходимо заново заново зарегистрировать ваши объекты в отчет и выполнить синхронизацию полей.
Спасибо.