26.10.2005, 18:19 | #1 |
Участник
|
Экспорт таблиц и форм с указанием слоя
(Axapta 3.0 SP3 CU1)
Есть проект в который из AOT помещены форма и таблица. Проект экспортируется с указанием слоя прикладных объектов (usp). Если в форме на слое sysесть два метода, а на слое uspредактируется один из них, то при экспорте слоя uspв xpo-файле оказываются оба метода. Если в таблице на слое sysесть два метода, а на слое uspредактируется один из них, то при экспорте слоя uspв xpo-файле оказывается только один метод, который редактировался на слое usp. Вопрос к знатокам: Почему при экспорте таблицы с указанием слоя, экспортируются только измененные на данном слое элементы таблицы, а при экспорте формы - все элементы формы, в том числе, которые не редактировались? Это затрудняет импорт проектов, содержащие формы, в новую версию системы. Ведь при импорте проектов в новую версию системы методы новой версии перекрываются методами старой версии (а методы у формы не изменялись). В этом есть какой-то сакральный смысл? Какой? Или просто разработчикам было лень сделать такой же механизм слоев у формы, как и у таблицы? Будет ли это когда-либо сделано? |
|
26.10.2005, 19:15 | #2 |
Member
|
Почитайте руководство пользователя. В части, где написано о слоях и о том, как объекты хранятся по слоям.
Потом еще поэкспериментируйте. В руководстве, по-моему, написано не все.
__________________
С уважением, glibs® |
|
26.10.2005, 19:19 | #3 |
Moderator
|
Цитата:
Сообщение от Zepp
Или просто разработчикам было лень сделать такой же механизм слоев у формы, как и у таблицы? Будет ли это когда-либо сделано?
|
|
27.10.2005, 16:29 | #4 |
Участник
|
Руководство разработчика:
During export and import, tables and classes are handled differently than other application object. When you export a table or a class, only the members (fields, field groups, indexes, relations, and methods) that have been created or modified in the layer you are exporting from are included in the export. When you later import such objects, you should make sure that the Delete table and class members check box is not selected. As opposed to tables and classes, application objects like forms, reports, and queries are always fully exported. This means that for example all methods, controls and so on are exported, whether or not they have been created or modified in the current layer. |
|
27.10.2005, 17:16 | #5 |
Участник
|
Как ведет себя Axapta при экспорте/импорте ясно. И в документации написано, и эксперимент это подтверждает. Вопрос был в другом - Почему разработчики Axapta не сделали для форм такой же механизм экспорта и хранения элементов по слоям, как и для таблиц?
Если бы механизм был бы такой же, то переходить на новую версию системы, по-моему, было бы несколько легче, так как не приходилось бы в формах сравнивать методы, которые изменениям при доработках не подвергались. |
|
28.10.2005, 09:45 | #6 |
Administrator
|
Если порассуждать с точки зрения разработчиков - то формы, отчеты и запросы (собсно то чего не хранится по слоям) - гораздо сложнее, как объекты в АОТ, нежели остальные элементы. Во-первых они позволяют сделать переменную многоуровневую вложенность (как дерева АОТ). Во-вторых они состоят из существенно большего количества элементов нежели та же таблица.
И вот получается ответ. Экономически было дешевле.
__________________
Возможно сделать все. Вопрос времени |
|
28.10.2005, 17:26 | #7 |
SAP
|
Цитата:
Сообщение от sukhanchik
Если порассуждать с точки зрения разработчиков - то формы, отчеты и запросы (собсно то чего не хранится по слоям) - гораздо сложнее, как объекты в АОТ, нежели остальные элементы.
... И вот получается ответ. Экономически было дешевле. |
|
28.10.2005, 21:21 | #8 |
Участник
|
насколько я помню, и в конкорде формы и отчеты по слоям не разбивались.
В Конкорде не разбивались и таблицы. Тут правильно отсылают к документации и бестпрактису. Дело в том, что формы и отчеты отличаются от остальных объектов не только слоями. Формы и отчеты ВСЕГДА выполняются на клиенте. Формы и отчеты должны содержать только ПРЕЗЕНТАЦИОННУЮ логику - только показывать/скрывать данные и контролы. А бизнес-логика должна содержаться в классах. Поэтому формы и отчеты имеют смысл только в целом. Поэтому и передаются из слоя в слой целиком. Логика была такая. Однако, Pavel правильно вспомнил Конкорд. Там точно такие же доводы были и про таблицы с группами и индексами. Но ничего таблицы ведь разнесли на разные слои |
|
31.10.2005, 20:16 | #9 |
Участник
|
Довольно часто возникает необходимость исправить дизайн формы или отчета (например, запретить редактирование поля, изменить размер). Содержащиеся в них методы при этом не затрагиваются. Если бы элементы форм и отчетов были бы разделены по слоям, то переходить на новую версию системы было бы легче.
|
|