Настройка Flexberry
Получение Flexberry и лицензии на него
Cкачать и попробовать Flexberry можно здесь. Как установить лицензию, описано здесь.
Подключение необходимых модулей для генерации приложения
- Учебные курсы\Курсы по Flexberry\Подключаем необходимые модули.docx.
Настройка пути к БД Flexberry
В директории Flexberry хранится файл Flexberry.exe.config со строкой подключения:
<add key="CustomizationStrings" value="SERVER=server;Trusted_connection=yes;DATABASE=CASE;" />
Для настройки на другой сервер необходимо исправить в строке подключения имя сервера и имя базы (БД создастся автоматически). Например, если необходимо работать локально и на компьютере стоит Microsoft SQL Server Express, то строка подключения может иметь вид:
<add key="CustomizationStrings" value="SERVER=.\SQLEXPRESS;Trusted_connection=yes;DATABASE=Test;" />
Особенности построения моделей в Flexberry
При работе с Flexberry необходимо иметь представления о сведениях, представленных в Учебнике программиста”.
Построение диаграммы классов
Описано здесь.
Задание значения по умолчанию
Описано здесь.
Определение вычислимых полей
Как создавать вычислимые поля описано в статье Нехранимые (вычислимые) свойства объекта данных разобран подробный пример, как использовать атрибут DataService Expression для создания вычислимого поля).
Если требуется просто среди объектов, находящихся в массиве детейлов, посчитать какую-либо агрегирующую функцию, то можно воспользоваться этим решением.
Зависимая и независимая формы
Что такое зависимая и независимая формы можно почитать здесь (например, если Flexberry сгенерировала формы С_покупкаЕ
и winformС_покупкаЕ
, то С_покупкаЕ
- это независимая форма, а winformС_покупкаЕ
- зависимая).
Работа с программным кодом
Детейлы и GroupEdit
Общее описание смотрите здесь (обратите особое внимание на доступные расширения GroupEdit.
Настройка интерфейса GroupEdit
После получения исходного кода формы у GroupEdit доступны свойства типа ShowCopyBtn (изменением их на true и false можно добиться необходимой конфигурации кнопок). О настройке вертикального размера ToolBar в GroupEdit написано здесь.
Настройка блокировки редактирования отдельных строк GroupEdit
Посмотрите здесь.
Получение доступа к данным GroupEdit
if ((DataObject as Кредит).Ставки.Count > 0)
{
(DataObject as Кредит).Ставки[0].Величина = 12.3;
}
Удаление элементов из детейлов
Для удаления детейла необходимо установить ему статус Deleted (при этом детейл только метится на удаление, а физически удаляется при обновлении). Ниже представлен пример удаления всех элементов из детейлов:
foreach (СтрокаПланаВыплат curStroke in ((Кредит)DataObject).СтрокиПланаВыплат)
{
curStroke.SetStatus(ICSSoft.STORMNET.ObjectStatus.Deleted);
}
Упорядочивание элементов в детейлах
Посмотрите здесь.
Загрузка и сохранение объектов
Общие схемы загрузки форм и сохранения объектов описаны здесь.
Наложение ограничений на список
Сохранение объекта и загрузка по идентификатору
Посмотрите здесь.
Получение подключения
Работа с базой данных осуществляется через сервис данных. Пример получения подключения здесь.
this.DataService
; для остальных элементов определён статический класс. Подробнее о конструировании/получении сервиса данных, смотрите здесь.Валидация данных на форме редактирования
Посмотрите здесь.
Работа на форме редактирования с полями нескольких объектов
Посмотрите здесь.
Особенности многопользовательского режима
Защита объекта от изменения другим пользователем
Посмотрите здесь.
Проведение авторизации пользователя
Посмотрите здесь.
Также можно в некоторых случаях для данных целей использовать нехранимый класс и генерируемую Flexberry форму; как это сделать, описано в статье “Установка текущего объекта при запуске приложения”.
подсистемы полномочий
(соответственно, все логины, пароли, роли и назначенные права хранятся отдельно и их не должно быть на диаграмме Flexberry при генерации приложения (если всё же возникает сильная потребность вынести данные элементы на диаграмму, то см. статью Пример задания полномочий на строки и переопределения сервиса текущего пользователя)).
Также не рекомендуется классы приложения называть так, как называются некоторые служебные таблицы Flexberry и её подсистем (например, “Пользователь”).Определение текущего пользователя
Посмотрите здесь.
Формы и их настройки
Настройка внешнего вида лукапа
Как настроить внешний вид лукапа, читайте здесь.
Если необходим лукап с предикативным вводом, то можно использовать компонент ExtendedLookUp.
Подсветка активного контрола на форме
Для подсветки активного контрола на форме используется HighLighter.
Переход по Enter на форме редактирования
Для перехода по Enter на форме редактирования можно использовать CustomFormTuner.
Разное
Фильтры
Подробности читайте здесь.
Бизнес-сервер
Как определить бизнес-сервер, читайте здесь. Как работать с бизнес-сервером, читайте в статье Интеграция с бизнес-сервером; пример есть здесь).
Отчёты
О создании универсальных отчётов написано здесь.
Аудит
Общие положения об аудите приведены здесь.