diff --git a/doc/content/manual/ru/chapter_quick_start.xml b/doc/content/manual/ru/chapter_quick_start.xml index 86c4fd8317..edcc375112 100644 --- a/doc/content/manual/ru/chapter_quick_start.xml +++ b/doc/content/manual/ru/chapter_quick_start.xml @@ -54,6 +54,178 @@ Приложение должно поддерживать русский и английский язык интерфейса. +
+ Создание приложения в CUBA Studio +
+ Создание проекта + + + Запустите CUBA Studio и откройте ее веб-интерфейс (см. ). + + + В стартовом окне нажмите на кнопку Open project. + + + В отобразившемся окне Select project нажмите на кнопку New. + + + В окне New project нажмите на кнопку + и задайте имя каталога нового проекта, например, sales. + + + Выберите каталог sales в дереве. В полях ниже автоматически сгенерируются: + + + Project name − имя проекта. Должно содержать только латинские буквы, цифры и знак подчеркивания. Тщательно продумайте имя проекта на данном этапе, так как в дальнейшем его невозможно изменить без сложного ручного вмешательства. + Оставим предложенное название sales. + + + Root package − корневой пакет Java-классов. Может быть скорректирован позже, однако сгенерированные на этапе создания классы перемещены не будут. + Введем значение com.sample.sales. + + + + + Нажмите на кнопку OK. В указанном каталоге будет создан пустой проект, и откроется главное окно студии. + + + Сборка проекта. В главном меню студии перейдите в пункт меню Build −> Assemble project. На этом этапе будут загружены все необходимые библиотеки и в подкаталогах bin модулей будут собраны артефакты проекта. + + + Создание базы данных на локальном сервере HyperSQL. Выберите пункт меню Run −> Create database. Имя БД по умолчанию совпадает с именем проекта. + + + Выберите пункт меню Run −> Deploy. В подкаталоге build проекта будет установлен сервер Tomcat с собранным приложением. + + + Выберите пункт меню Run −> Start application server. Через несколько секунд в панели статуса ссылка рядом с надписью Web application станет доступной, и по ней можно осуществить переход к приложению непосредственно из Студии. + Логин и пароль пользователя − admin / admin. + Запущенное приложение содержит два главных пункта меню (Администрирование и Помощь), функциональность подсистемы безопасности и администрирования системы. + + +
+
+ Создание сущностей + Перейдите на вкладку Entities на панели навигатора и нажмите на кнопку New entity. На рабочей панели отобразится страница редактора сущностей. + Создадим класс сущности Покупатель (Customer). + + + В поле Class Name введите название класса сущности − Customer. + + + В полях Name и Table автоматически сгенерируются имя сущности и имя таблицы в базе данных. + + + В поле Parent class оставьте установленное значение − StandardEntity. + + + Поле Inheritance strategy служит для объявления стратегии наследования для создаваемой сущности. Это поле оставьте пустым. + + + Нажмите на кнопку ... рядом с именем сущности. На экране отобразится окно Localized message, в нем следует задать локализацию имени сущности на доступных языках. + + + Далее создадим атрибуты сущности. Для этого нажмите на кнопку New, находящуюся под таблицей Attributes. + + + В отобразившемся окне Create attribute в поле Name введите название атрибута сущности − name, в списке Attribute type выберите значение DATATYPE, в поле Type укажите тип атрибута String и далее укажите длину текстового атрибута в поле Length, равной 100 символам. Установите флажок Mandatory. Установленный флажок означает, что атрибут является обязательным к заполнению. В поле Column автоматически сгенерируется имя колонки в базе данных. Далее нажмите на кнопку ... рядом с названием атрибута. На экране отобразится окно Localized message, в нем следует задать локализацию названия атрибута на доступных языках. Для добавления атрибута нажмите на кнопку Add. + + + Атрибут email создается таким же образом, за исключением того, что в поле Length следует указать значение 50. + + + После создания атрибутов перейдите на вкладку Instance name дизайнера сущностей для задания Name pattern. В списке Available attributes выделите атрибут name и нажмите на кнопку с изображением стрелки вправо. + На этом создание сущности Customer завершено. Нажмите на кнопку Apply в верхнем правом углу дизайнера сущностей для сохранения изменений. + После сохранения новой сущности на экране появится сообщение о необходимости обновить базу данных, и станет доступной кнопка Generate DB scripts в нижней части панели Entities. Пока игнорируем это сообщение. + Создадим сущность Заказ (Order). В панели Entities выберите пакет и нажмите на кнопку New entity. В поле Name введите название класса сущности − Order. Сущность должна иметь следующие атрибуты: + + + Namecustomer, Attribute typeASSOCIATION, TypeCustomer, CardinalityMANY_TO_ONE. + + + Namedate, Attribute typeDATATYPE, TypeDate. Для атрибута date установите галочку Mandatory. + + + Nameamount, Attribute typeDATATYPE, TypeBigDecimal. + + + Для каждого атрибута укажите локализованные названия. +
+
+ Создание таблиц базы данных + Для создания таблиц базы данных достаточно на вкладке Entities панели навигатора нажать на кнопку Generate DB scripts. После этого откроется страница Database update scripts. На вкладке будут сгенерированы скрипты обновления базы данных от ее текущего состояния (Update scripts) и скрипты создания БД с нуля (Init tables, Init constraints, Init data). Нажмите на кнопку Save scripts в верхнем правом углу рабочей панели и затем Close. Для запуска скриптов обновления остановите запущенное приложение с помощью команды Run −> Stop application server, затем выполните Run −> Update database. +
+
+ Создание пользовательского интерфейса приложения +
+ Экраны управления Покупателями + Для создания стандартных экранов просмотра и редактирования Покупателей необходимо выделить класс com.sample.sales.entity.Customer на вкладке Entities панели навигатора и нажать на кнопку Create standard screens. После этого на экране отобразится окно Create standard screens. Все поля этого окна заполнены значениями по умолчанию, менять их не нужно. Нажмите на кнопку Create. Во вкладке Screens панели навигатора в модуле GUI Module появятся файлы customer-edit.xml и customer-browse.xml. Для этих файлов следует задать локализацию заголовков. Для этого выделите один из файлов и нажмите на кнопку Edit. Отобразится страница Screen designer, вкладка Properties. Нажмите на кнопку ... рядом с полем Caption и задайте локализованные названия экрана. Повторите те же действия для другого экрана. +
+
+ Экраны управления Заказами + Сущность Заказ (Order) имеет следующую особенность: так как среди прочих атрибутов существует ссылочный атрибут Order.customer, требуется определить представление сущности Order, включающее этот атрибут (стандартные представления _local и _minimal не включают ссылочных атрибутов). Для этого перейдите на вкладку Entities на панели навигатора, выделите сущность Order и нажмите на кнопку New view. Отобразится страница View designer, в которой определяется представление. В качестве имени введите orderWithCustomer, в списке атрибутов нажмите два раза на атрибут customer и на отобразившейся справа панели выберите представление _minimal для сущности Customer. Нажмите на кнопку Apply в верхнем правом углу. + Далее выделите сущность Order и нажмите на кнопку Create standard screens. В отобразившемся окне Create standard screens в качестве Browse view и Edit view выберите значение orderWithCustomer и нажмите на кнопку Create. Студия сгенерирует файлы экранов в пакете GUI Module. +
+
+ Создание пунктов меню + Чтобы вызывать экраны из главного меню приложения, добавьте новые пункты в меню. Для этого перейдите на вкладку Main menu на панели навигатора и нажмите на кнопку Edit. Отобразится страница Menu configuration. Нажмите на кнопку New. Отобразится окно Create menu item. + Создадим меню верхнего уровня. С помощью переключателя в верхней части окна выберите значение Menu. В поле Id введите значение идентификатора меню − shop, нажмите на кнопку Caption edit и задайте локализованное название пункта меню. Нажмите на кнопку Add. + Далее выделите созданный пункт меню и нажмите на кнопку New. В поле Id выберите из списка экран sales$Customer.lookup, нажмите на кнопку Caption edit и задайте локализованные названия пункта меню. Нажмите на кнопку Add. + Аналогичным образом создайте пункт меню для экрана sales$Order.lookup. + После создания пунктов меню нажмите на кнопку Apply в верхнем правом углу рабочей панели. +
+
+ Экран редактирования Покупателя со списком Заказов + Займемся задачей отображения списка Заказов в окне редактирования Покупателя. + + + Перейдите на вкладку Screens на панели навигатора. Выделите файл customer-edit.xml и нажмите на кнопку Edit. + + + На странице Screens designer перейдите на вкладку Datasources и нажмите на кнопку New. + + + Выделите только что созданный источник данных в списке. В правой части страницы отобразятся его характеристики. + + + В поле Type укажите collectionDatasource. + + + В поле Id введите значение идентификатора источника данных − ordersDs. + + + В списке Entity выберите сущность com.sample.sales.entity.Order. + + + В списке View выберите представление _local. + + + В поле Query введите следующий запрос: select o from sales$Order o where o.customer.id = :ds$customerDs order by o.date. Здесь запрос содержит условие отбора Заказов с параметром ds$customerDs. Значением параметра с именем вида ds${datasource_name} будет идентификатор сущности, установленной в данный момент в источнике данных datasource_name, в данном случае − идентификатор редактируемого Покупателя. + + + Нажмите на кнопку Apply для сохранения изменений. + + + Далее перейдите на вкладку Layout в дизайнере экрана и в палитре компонентов найдите компонент Label. Перетащите этот компонент на панель иерархии компонентов экрана, между fieldGroup и windowActions. Перейдите на вкладку Properties на панели свойств. В качестве значения поля value введите msg://orders. Нажмите на кнопку ... рядом с полем value и задайте локализованное значение. + + Совет + Если разрабатываемое приложение не предполагает мультиязычности, в поле value можно ввести значение на требуемом языке. + + + + Перетащите компонент Table из палитры компонентов на панель иерархии компонентов между label и windowActions. Выделите компонент в иерархии и на панели свойств на вкладке Layout задайте размеры таблицы: в поле width укажите 100%, в поле height установите значение 200px. Перейдите на вкладку Properties. В качестве идентификатора укажите значение ordersTable, из списка доступных источников данных выберите orderDs. Далее нажмите на кнопку ..., относящуюся к columns. На экране отобразится окно управления колонками таблицы. В первой строке в колонке ID из выпадающего списка выберите значение date, во второй строке − amount. Далее нажмите на кнопку OK. + + + Для сохранения изменений в экране редактирования Покупателя нажмите на кнопку Apply в верхнем правом углу рабочей панели. + + + Посмотрим, как созданные нами экраны выглядят в работающем приложении. Для этого выполните Run −> Restart application. + Зайдите в систему, выбрав русский язык в окне логина. Откройте пункт меню Продажи −> Покупатели. Экран списка покупателей показан на + Нажмите на кнопку Создать. Экран создания нового покупателя показан на + Откройте пункт меню Продажи −> Заказы. Экран списка заказов показан на + Нажмите на кнопку Создать. Экран создания нового заказа показан на +
+
+
Создание приложения вручную
@@ -397,176 +569,4 @@ menu-config.sales$Customer.lookup=Покупатели
-
- Создание приложения в CUBA Studio -
- Создание проекта - - - Запустите CUBA Studio и откройте ее веб-интерфейс (см. ). - - - В стартовом окне нажмите на кнопку Open project. - - - В отобразившемся окне Select project нажмите на кнопку New. - - - В окне New project нажмите на кнопку + и задайте имя каталога нового проекта, например, sales. - - - Выберите каталог sales в дереве. В полях ниже автоматически сгенерируются: - - - Project name − имя проекта. Должно содержать только латинские буквы, цифры и знак подчеркивания. Тщательно продумайте имя проекта на данном этапе, так как в дальнейшем его невозможно изменить без сложного ручного вмешательства. - Оставим предложенное название sales. - - - Root package − корневой пакет Java-классов. Может быть скорректирован позже, однако сгенерированные на этапе создания классы перемещены не будут. - Введем значение com.sample.sales. - - - - - Нажмите на кнопку OK. В указанном каталоге будет создан пустой проект, и откроется главное окно студии. - - - Сборка проекта. В главном меню студии перейдите в пункт меню Build −> Assemble project. На этом этапе будут загружены все необходимые библиотеки и в подкаталогах bin модулей будут собраны артефакты проекта. - - - Создание базы данных на локальном сервере HyperSQL. Выберите пункт меню Run −> Create database. Имя БД по умолчанию совпадает с именем проекта. - - - Выберите пункт меню Run −> Deploy. В подкаталоге build проекта будет установлен сервер Tomcat с собранным приложением. - - - Выберите пункт меню Run −> Start application server. Через несколько секунд в панели статуса ссылка рядом с надписью Web application станет доступной, и по ней можно осуществить переход к приложению непосредственно из Студии. - Логин и пароль пользователя − admin / admin. - Запущенное приложение содержит два главных пункта меню (Администрирование и Помощь), функциональность подсистемы безопасности и администрирования системы. - - -
-
- Создание сущностей - Перейдите на вкладку Entities на панели навигатора и нажмите на кнопку New entity. На рабочей панели отобразится страница редактора сущностей. - Создадим класс сущности Покупатель (Customer). - - - В поле Class Name введите название класса сущности − Customer. - - - В полях Name и Table автоматически сгенерируются имя сущности и имя таблицы в базе данных. - - - В поле Parent class оставьте установленное значение − StandardEntity. - - - Поле Inheritance strategy служит для объявления стратегии наследования для создаваемой сущности. Это поле оставьте пустым. - - - Нажмите на кнопку ... рядом с именем сущности. На экране отобразится окно Localized message, в нем следует задать локализацию имени сущности на доступных языках. - - - Далее создадим атрибуты сущности. Для этого нажмите на кнопку New, находящуюся под таблицей Attributes. - - - В отобразившемся окне Create attribute в поле Name введите название атрибута сущности − name, в списке Attribute type выберите значение DATATYPE, в поле Type укажите тип атрибута String и далее укажите длину текстового атрибута в поле Length, равной 100 символам. Установите флажок Mandatory. Установленный флажок означает, что атрибут является обязательным к заполнению. В поле Column автоматически сгенерируется имя колонки в базе данных. Далее нажмите на кнопку ... рядом с названием атрибута. На экране отобразится окно Localized message, в нем следует задать локализацию названия атрибута на доступных языках. Для добавления атрибута нажмите на кнопку Add. - - - Атрибут email создается таким же образом, за исключением того, что в поле Length следует указать значение 50. - - - После создания атрибутов перейдите на вкладку Instance name дизайнера сущностей для задания Name pattern. В списке Available attributes выделите атрибут name и нажмите на кнопку с изображением стрелки вправо. - На этом создание сущности Customer завершено. Нажмите на кнопку Apply в верхнем правом углу дизайнера сущностей для сохранения изменений. - После сохранения новой сущности на экране появится сообщение о необходимости обновить базу данных, и станет доступной кнопка Generate DB scripts в нижней части панели Entities. Пока игнорируем это сообщение. - Создадим сущность Заказ (Order). В панели Entities выберите пакет и нажмите на кнопку New entity. В поле Name введите название класса сущности − Order. Сущность должна иметь следующие атрибуты: - - - Namecustomer, Attribute typeASSOCIATION, TypeCustomer, CardinalityMANY_TO_ONE. - - - Namedate, Attribute typeDATATYPE, TypeDate. Для атрибута date установите галочку Mandatory. - - - Nameamount, Attribute typeDATATYPE, TypeBigDecimal. - - - Для каждого атрибута укажите локализованные названия. -
-
- Создание таблиц базы данных - Для создания таблиц базы данных достаточно на вкладке Entities панели навигатора нажать на кнопку Generate DB scripts. После этого откроется страница Database update scripts. На вкладке будут сгенерированы скрипты обновления базы данных от ее текущего состояния (Update scripts) и скрипты создания БД с нуля (Init tables, Init constraints, Init data). Нажмите на кнопку Save scripts в верхнем правом углу рабочей панели и затем Close. Для запуска скриптов обновления остановите запущенное приложение с помощью команды Run −> Stop application server, затем выполните Run −> Update database. -
-
- Создание пользовательского интерфейса приложения -
- Экраны управления Покупателями - Для создания стандартных экранов просмотра и редактирования Покупателей необходимо выделить класс com.sample.sales.entity.Customer на вкладке Entities панели навигатора и нажать на кнопку Create standard screens. После этого на экране отобразится окно Create standard screens. Все поля этого окна заполнены значениями по умолчанию, менять их не нужно. Нажмите на кнопку Create. Во вкладке Screens панели навигатора в модуле GUI Module появятся файлы customer-edit.xml и customer-browse.xml. Для этих файлов следует задать локализацию заголовков. Для этого выделите один из файлов и нажмите на кнопку Edit. Отобразится страница Screen designer, вкладка Properties. Нажмите на кнопку ... рядом с полем Caption и задайте локализованные названия экрана. Повторите те же действия для другого экрана. -
-
- Экраны управления Заказами - Сущность Заказ (Order) имеет следующую особенность: так как среди прочих атрибутов существует ссылочный атрибут Order.customer, требуется определить представление сущности Order, включающее этот атрибут (стандартные представления _local и _minimal не включают ссылочных атрибутов). Для этого перейдите на вкладку Entities на панели навигатора, выделите сущность Order и нажмите на кнопку New view. Отобразится страница View designer, в которой определяется представление. В качестве имени введите orderWithCustomer, в списке атрибутов нажмите два раза на атрибут customer и на отобразившейся справа панели выберите представление _minimal для сущности Customer. Нажмите на кнопку Apply в верхнем правом углу. - Далее выделите сущность Order и нажмите на кнопку Create standard screens. В отобразившемся окне Create standard screens в качестве Browse view и Edit view выберите значение orderWithCustomer и нажмите на кнопку Create. Студия сгенерирует файлы экранов в пакете GUI Module. -
-
- Создание пунктов меню - Чтобы вызывать экраны из главного меню приложения, добавьте новые пункты в меню. Для этого перейдите на вкладку Main menu на панели навигатора и нажмите на кнопку Edit. Отобразится страница Menu configuration. Нажмите на кнопку New. Отобразится окно Create menu item. - Создадим меню верхнего уровня. С помощью переключателя в верхней части окна выберите значение Menu. В поле Id введите значение идентификатора меню − shop, нажмите на кнопку Caption edit и задайте локализованное название пункта меню. Нажмите на кнопку Add. - Далее выделите созданный пункт меню и нажмите на кнопку New. В поле Id выберите из списка экран sales$Customer.lookup, нажмите на кнопку Caption edit и задайте локализованные названия пункта меню. Нажмите на кнопку Add. - Аналогичным образом создайте пункт меню для экрана sales$Order.lookup. - После создания пунктов меню нажмите на кнопку Apply в верхнем правом углу рабочей панели. -
-
- Экран редактирования Покупателя со списком Заказов - Займемся задачей отображения списка Заказов в окне редактирования Покупателя. - - - Перейдите на вкладку Screens на панели навигатора. Выделите файл customer-edit.xml и нажмите на кнопку Edit. - - - На странице Screens designer перейдите на вкладку Datasources и нажмите на кнопку New. - - - Выделите только что созданный источник данных в списке. В правой части страницы отобразятся его характеристики. - - - В поле Type укажите collectionDatasource. - - - В поле Id введите значение идентификатора источника данных − ordersDs. - - - В списке Entity выберите сущность com.sample.sales.entity.Order. - - - В списке View выберите представление _local. - - - В поле Query введите следующий запрос: select o from sales$Order o where o.customer.id = :ds$customerDs order by o.date. Здесь запрос содержит условие отбора Заказов с параметром ds$customerDs. Значением параметра с именем вида ds${datasource_name} будет идентификатор сущности, установленной в данный момент в источнике данных datasource_name, в данном случае − идентификатор редактируемого Покупателя. - - - Нажмите на кнопку Apply для сохранения изменений. - - - Далее перейдите на вкладку Layout в дизайнере экрана и в палитре компонентов найдите компонент Label. Перетащите этот компонент на панель иерархии компонентов экрана, между fieldGroup и windowActions. Перейдите на вкладку Properties на панели свойств. В качестве значения поля value введите msg://orders. Нажмите на кнопку ... рядом с полем value и задайте локализованное значение. - - Совет - Если разрабатываемое приложение не предполагает мультиязычности, в поле value можно ввести значение на требуемом языке. - - - - Перетащите компонент Table из палитры компонентов на панель иерархии компонентов между label и windowActions. Выделите компонент в иерархии и на панели свойств на вкладке Layout задайте размеры таблицы: в поле width укажите 100%, в поле height установите значение 200px. Перейдите на вкладку Properties. В качестве идентификатора укажите значение ordersTable, из списка доступных источников данных выберите orderDs. Далее нажмите на кнопку ..., относящуюся к columns. На экране отобразится окно управления колонками таблицы. В первой строке в колонке ID из выпадающего списка выберите значение date, во второй строке − amount. Далее нажмите на кнопку OK. - - - Для сохранения изменений в экране редактирования Покупателя нажмите на кнопку Apply в верхнем правом углу рабочей панели. - - - Посмотрим, как созданные нами экраны выглядят в работающем приложении. Для этого выполните Run −> Restart application. - Зайдите в систему, выбрав русский язык в окне логина. Откройте пункт меню Продажи −> Покупатели. Экран списка покупателей показан на - Нажмите на кнопку Создать. Экран создания нового покупателя показан на - Откройте пункт меню Продажи −> Заказы. Экран списка заказов показан на - Нажмите на кнопку Создать. Экран создания нового заказа показан на -
-
-
diff --git a/doc/content/manual/ru/chapter_setup.xml b/doc/content/manual/ru/chapter_setup.xml index 9d04ab9b84..b3b5a3ad7e 100644 --- a/doc/content/manual/ru/chapter_setup.xml +++ b/doc/content/manual/ru/chapter_setup.xml @@ -73,6 +73,9 @@ Интеграция с IDE Для интеграции с IntelliJ IDEA 12 выполните следующие шаги: + + Откройте или создайте новый проект в Studio + В главном меню Studio выберите пункт меню Build −> Create IDEA project files. В каталоге проекта будут созданы файлы *.ipr, *.iml