12.08.2012, 01:17 | #1 |
Участник
|
Ax2009, Портал, разработка контролов в VS2008
Axapta 2009, билд 5.0.1500.3761
Занимаюсь расширением стандартного портала для небольшого увеличения функционала. Все бы ничего, конечно. Наверное, и к разработке одновременно в четырех средах можно привыкнуть (Axapta + VS2008 + SharePoint Designer + SharePoint-IE), хотя это, конечно, занятие не для слабонервных. Но, случился у меня таки глюк, через который я никак не могу переползти. А дело вот в чем... Берем и создаем новый юзер-контрол в VS2008. Для тех, кто с этим уже познакомился, не нужно объяснять запутанность ходов разработчика в тумане последовательностей шагов, чтобы, наконец, нужный контрол как шэйр-поинтовская веб часть был прицеплен к порталу. Суть в том, что в конечном счете готовый контрол нужно из VS2008-проекта экспортировать в репозиторий объектов Аксапты. В asp-файле контрола есть тэги, обозначающие кнопочки в контроле. А надписи на этих кнопочках должны быть на русском языке. Но, беда в том, что в среде VS2008 эти надписи нельзя прицепить к кнопочкам из меточных файлов как в основном виндовом пользовательском интерфейсе Аксапты. В контролах надписи на русском языке возникают либо из названия полей автоматом, либо прописываются ручками непосредственно в свойствах кнопочек при редактировании asp-файла. И прописываются они, конечно, на русском языке в моем случае. Дак вот, после создания файла с надписями на русском на кнопочках делаем экспорт файла контрола в Аксапту и ...все надписи, когда мы смотрим asp-файл в Аксапте, превращаются из русского языка в крокозябру. Ну, все, какие сообразил, настройки облазил. Шрифты менял. Расширение VS2008 для работы с Аксаптой переустанавливал. И вдруг, раз, один раз русский язык передался в Аксапту нормально, но при отображении контрола на портале все-равно принял вид ромбиков. Снес и переустановил VS2008 c обновлениями и снова накатил расширение для разработки в Аксапте. Один фиг, - крокозябра. Товарищи дорогие, мы люди не местные, но без человеческих надписей на кнопочках никакой человеческой жизни. Вспоможите кто чем может!!! Может быть, я не туда копаю и есть путь, как меточные файлы к надписям на кнопочках в контролах портала можно прицепить?! А-а-а...! Проект почти готов, а я из-за этой фигни уже два дня на месте топчусь! )) |
|
12.08.2012, 01:41 | #2 |
Участник
|
Товарищи дорогие!
Кажися, отбой. Глупый, я глупый. Нет, чтобы исходники готовых контролов посмотреть, где кнопочки используются. А выглядит это примерно так: Title="<%$ AxLabel:@SYS74095 %>" Аксапта в очередной раз мне доказала, что она намного умнее меня... гы... )) |
|
12.08.2012, 10:15 | #3 |
MCT
|
Какой-то поток сознания...
Вы бы хоть расписали подробнее, что делаете, некий туторчик сделали бы, другим опять же было бы интереснее и позновательнее.
__________________
Axapta book for developer |
|
12.08.2012, 13:20 | #4 |
Участник
|
Цитата:
Ну, да, согласен, писал немного на нервной почве. Сейчас, наверное, еще нет смысла описывать тонкости технологии, так как нет ощущения достаточной освоенности среды разработки. Но, как только закончу первую очередь разработки, обязательно напишу и выложу скрины. Единственное, что могу сказать, что после всего этого разработка в традиционном интерфейсе Аксапты кажется просто раем. Во-первых, разработка портала практически не документированна, хотя, среда разработки вполне продуманная и полная. Раньше мне казалось, что портал, это так для отмазки. Типа, чтоб было. Ан нет. Вещь очень полезная и хорошо проработанная. Во-вторых, конечно, очень тяжело одновременно врубаться в .asp , C# и Х++ С# намного более гибкий, чем X++, но в то же время размазанный по всей Винде, включая документацию. В-третьих, с отладкой беда. Или, просто говоря, ее в портале совсем нету. При возникновении ошибки браузер выкидывает десяток строк вызовов из сборок дот-нета, которые обычно ни о чем особенно не говорят. При этом возникает сообщение, что отключен отладчик Аксапты, хотя он вполне себе подключен. В-четвертых, беда с тем, что после каждого внесения изменений приходится то перзагружать AOS, то IIS, то, вообще, компьютер перезагружать. Что-нибудь обязательно сидит где-то в кэше и непонятно где. В общем, усилий приходится прикладывать больше в три-четыре раза по сравнению с внутренней разработкой в Аксапте. Но, есть и положительные моменты. После освоения технологии веб-разработки поверх Аксапты появляется просто безбрежные возможности создания любых деловых веб-приложений. Традиционным считаются три слоя в разработке: слой данных, слой бизнес-логики и слой пользовательского интерфейса. В ситуации с вебом над Аксаптой, Аксапта просто становится слоем данных и слоем бизнес-логики. Даже независимо от собственного функционала. А шэйр-поинт, судя по всему, довольно скоро станет самой популярной средой создания сайтов, потому как реально удобная штука и реально работает. Хотя и сложная. Честно говоря, меня сильно напрягало то, что весь каталог сайта лежит в базе данных и не имеет папочек на диске компьютера. Потом как-то привык. |
|
12.08.2012, 23:59 | #5 |
Молодой, подающий надежды
|
Цитата:
Сообщение от Narayana
В-третьих, с отладкой беда. Или, просто говоря, ее в портале совсем нету.
При возникновении ошибки браузер выкидывает десяток строк вызовов из сборок дот-нета, которые обычно ни о чем особенно не говорят. При этом возникает сообщение, что отключен отладчик Аксапты, хотя он вполне себе подключен. - Чтобы дебажить код юзерконтрола: 1. Заходите на портал, на страницу, которую хотите отлаживать, ну или на ту, с которой хотите начать, и копируете URL 2. Идете в VS, в верхнем меню Website - Start Options ..., выбираете радиокнопку Start URL: и вставляете в поле скопированный URL. Это в группе Start action 3. В группе Server выбираете радиокнопку Use custom server и в поле Base URL: вписываете адрес портала разработки. Кнопка ОК 4. Идете в Solution Explorer в VS, правая кнопка - Enable Debugging in SharePoint. Если Enable Debugging in SharePoint нет, значит, кто - то уже разрешил отладку. 5. Теперь в коде юзерконтрола ставите breakpoints, идете в Debug - Start Debugging 6. Профит. - Чтобы дебажить X++ код, вызываемый из портала: Отличная пошаговая инструкция расположена тут: How to debug x++ code for Microsoft Dynamics AX Enterprise Portal |
|
|
За это сообщение автора поблагодарили: Logger (1), gl00mie (2), Narayana (1). |
13.08.2012, 00:07 | #6 |
Молодой, подающий надежды
|
Цитата:
Если меняете код в юзерконтроле, то используйте утилиту AxUpdatePortal. Следуя этим правилам, что-либо перезагружать еще не приходилось. |
|
13.08.2012, 08:09 | #7 |
Участник
|
Цитата:
|
|
|
За это сообщение автора поблагодарили: Narayana (1), pedrozzz (0). |
13.08.2012, 14:57 | #8 |
Модератор
|
Часть сообщений выделена в ветку: Для решения каких задач нужен портал Dynamics AX?
С Уважением, Георгий |
|
13.08.2012, 16:03 | #9 |
Участник
|
Цитата:
Сообщение от pedrozzz
Слишком громкое заявление, вам не кажется? Все там есть, и код контрола дебажить можно и код в X++. Итак:
- Чтобы дебажить код юзерконтрола: 1. Заходите на портал, на страницу, которую хотите отлаживать, ну или на ту, с которой хотите начать, и копируете URL 2. Идете в VS, в верхнем меню Website - Start Options ..., выбираете радиокнопку Start URL: и вставляете в поле скопированный URL. Это в группе Start action 3. В группе Server выбираете радиокнопку Use custom server и в поле Base URL: вписываете адрес портала разработки. Кнопка ОК 4. Идете в Solution Explorer в VS, правая кнопка - Enable Debugging in SharePoint. Если Enable Debugging in SharePoint нет, значит, кто - то уже разрешил отладку. 5. Теперь в коде юзерконтрола ставите breakpoints, идете в Debug - Start Debugging 6. Профит. - Чтобы дебажить X++ код, вызываемый из портала: Отличная пошаговая инструкция расположена тут: How to debug x++ code for Microsoft Dynamics AX Enterprise Portal Несмотря на то, что описанные вами приемы отладки не очень простые, все-равно очень приятно, что в ответ на лохопетские заявления обязательно найдется хороший человек, который спокойно подскажет как правильно )). В ближайшее время попробую. А в общем-то, я привык уже к тому, что если в Аксапте что-то не получается, то обязательно нужное найдется. В случае с выводом названий кнопочек, думаю, специально сделали, чтобы прямой текст не через меточные файлы ломался. Тогда разработчик задумается и вспомнит про метки... ) |
|
13.08.2012, 16:08 | #10 |
Участник
|
Да, эту документацию я уже читал, но конкретно у меня это почему-то не работает. Внутри виндового интерфейса работает, а с порталом нет. Просто пишет, что отладка не включена и показывает где в настройках нужно включить. Туда лезешь, а там галочка стоит и показывает, что все включено. Возможно, глюк.
|
|
13.08.2012, 16:09 | #11 |
Участник
|
Цитата:
Сообщение от George Nordic
Часть сообщений выделена в ветку: Для решения каких задач нужен портал Dynamics AX?
С Уважением, Георгий ...ох, богатая тема, однако...! ) |
|
20.08.2012, 12:05 | #12 |
Участник
|
Для отладки попробуй сделать файл rdp и запустить его в административном консольном режиме
"С:\MyRDP.rdp" /admin /console - должно все заработать Вот в первой инструкции как раз написано: If you are debugging on a remote system, you must use console mode when connecting. Otherwise, debugging will not work. |
|
20.08.2012, 16:23 | #13 |
Banned
|
Крайне рекомендую использовать виртуальную машину для разработки. Пару лет назад вешался с в среде которой не владел как админ. Сейчас использую свою собственную VM c нативной загрузкой (Native boot from VHD) для разработки EP AX 2009 и счастлив Клиенту сразу объяснил что его security policy это замечательно но тогда я просто увеличиваю время разработки в разы без такой моей собственной среды с его приложением и данными. Теперь программирую даже в поезде и сплю спокойно так как просто копирую VHD как файл в качестве бэкапа.
Пойнт в том что в EP шаг в сторону и ты в канаве и очень полезно сделать шаг назад. Также все в одной коробке и под одним пользователем сильно упрощает жизнь на этапе разработки. Просто опыт. |
|
|
За это сообщение автора поблагодарили: Logger (1), gl00mie (2). |
02.08.2013, 10:56 | #14 |
Участник
|
Цитата:
Сообщение от pedrozzz
Если меняете объекты в АОТ, то обычно достаточно на главной странице нажать ссылку "Обновить AOD", возможно, еще "Обновить словарь", "Обновить данные".
Если меняете код в юзерконтроле, то используйте утилиту AxUpdatePortal. Следуя этим правилам, что-либо перезагружать еще не приходилось. Допустим я меняю в VS юзерконтрол AddressOverview, добавляю поля, предварительно добавив их в АОТ в таблицу в новую группу. Что мне нужно обновить и в каком порядке, чтобы ничего не перезагружать и не словить неизвестную ошибку в SP? |
|
05.08.2013, 10:17 | #15 |
Участник
|
Цитата:
Вот как бы с этим разобраться в каких случаях что именно нужно делать?
Enterprise Portal caches resources from the AOT and data from tables in Microsoft Dynamics AX. If you make changes in the AOT, the changes may not be reflected immediately in Enterprise Portal. In a similar way, data that has been changed in tables for Microsoft Dynamics AX may not immediately be seen in Enterprise Portal. Stale data in these caches could cause unexpected results in Enterprise Portal. Three commands are available in the Administration group at the bottom of the main page for Enterprise Portal to refresh these caches. The commands are described in the following table. Refresh AOD - Flushes cached application object information for all items in the AOT. Use this when changes you made in the AOT are not immediately reflected in Enterprise Portal. Refresh data - Flushes cached database records. Use this when changes in the database are not immediately reflected in Enterprise Portal. Refresh dictionary - Flushes cached application object information for items in the Data Dictionary node of the AOT. Use this when you have made changes to resources in the Data Dictionary node, such as tables or extended data types, but the changes are not immediately reflected in Enterprise Portal. источник |
|
19.09.2013, 11:00 | #16 |
Участник
|
Цитата:
Сообщение от pedrozzz
Слишком громкое заявление, вам не кажется? Все там есть, и код контрола дебажить можно и код в X++. Итак:
- Чтобы дебажить код юзерконтрола: 1. Заходите на портал, на страницу, которую хотите отлаживать, ну или на ту, с которой хотите начать, и копируете URL 2. Идете в VS, в верхнем меню Website - Start Options ..., выбираете радиокнопку Start URL: и вставляете в поле скопированный URL. Это в группе Start action 3. В группе Server выбираете радиокнопку Use custom server и в поле Base URL: вписываете адрес портала разработки. Кнопка ОК 4. Идете в Solution Explorer в VS, правая кнопка - Enable Debugging in SharePoint. Если Enable Debugging in SharePoint нет, значит, кто - то уже разрешил отладку. 5. Теперь в коде юзерконтрола ставите breakpoints, идете в Debug - Start Debugging 6. Профит. - Чтобы дебажить X++ код, вызываемый из портала: Отличная пошаговая инструкция расположена тут: How to debug x++ code for Microsoft Dynamics AX Enterprise Portal Нажимаю начать отладку и выдает ошибку Цитата:
Не удается запустить отладку на веб-сервере. Настройка веб-сервера выполнена неверно.
|
|
19.09.2013, 11:39 | #17 |
Молодой, подающий надежды
|
Цитата:
Быть может здесь найдете ответ: http://msdn.microsoft.com/ru-ru/libr...e%28v=vs.90%29
__________________
Кононов Пётр |
|
|
За это сообщение автора поблагодарили: IvanS (1). |
19.09.2013, 12:01 | #18 |
Участник
|
Цитата:
Сообщение от pedrozzz
Да. Но он не всегда и не у всех отображался. Закономерность мне неизвестна.
Быть может здесь найдете ответ: http://msdn.microsoft.com/ru-ru/libr...e%28v=vs.90%29 |
|
19.09.2013, 12:49 | #19 |
NavAx
|
Вы должны входить в группу администраторов сайтов Sharepoint - поэтому и не появляется.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты... |
|
|
За это сообщение автора поблагодарили: gl00mie (1), pedrozzz (1). |
19.09.2013, 13:08 | #20 |
Участник
|
|
|
|
|