|
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, 16:03 | #6 |
Участник
|
Цитата:
Сообщение от 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:00 | #7 |
Участник
|
Цитата:
Сообщение от 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, 00:07 | #8 |
Молодой, подающий надежды
|
Цитата:
Если меняете код в юзерконтроле, то используйте утилиту AxUpdatePortal. Следуя этим правилам, что-либо перезагружать еще не приходилось. |
|
02.08.2013, 10:56 | #9 |
Участник
|
Цитата:
Сообщение от pedrozzz
Если меняете объекты в АОТ, то обычно достаточно на главной странице нажать ссылку "Обновить AOD", возможно, еще "Обновить словарь", "Обновить данные".
Если меняете код в юзерконтроле, то используйте утилиту AxUpdatePortal. Следуя этим правилам, что-либо перезагружать еще не приходилось. Допустим я меняю в VS юзерконтрол AddressOverview, добавляю поля, предварительно добавив их в АОТ в таблицу в новую группу. Что мне нужно обновить и в каком порядке, чтобы ничего не перезагружать и не словить неизвестную ошибку в SP? |
|
13.08.2012, 08:09 | #10 |
Участник
|
Цитата:
|
|
|
За это сообщение автора поблагодарили: Narayana (1), pedrozzz (0). |
13.08.2012, 16:08 | #11 |
Участник
|
Да, эту документацию я уже читал, но конкретно у меня это почему-то не работает. Внутри виндового интерфейса работает, а с порталом нет. Просто пишет, что отладка не включена и показывает где в настройках нужно включить. Туда лезешь, а там галочка стоит и показывает, что все включено. Возможно, глюк.
|
|
13.08.2012, 14:57 | #12 |
Модератор
|
Часть сообщений выделена в ветку: Для решения каких задач нужен портал Dynamics AX?
С Уважением, Георгий |
|
13.08.2012, 16:09 | #13 |
Участник
|
Цитата:
Сообщение от George Nordic
Часть сообщений выделена в ветку: Для решения каких задач нужен портал Dynamics AX?
С Уважением, Георгий ...ох, богатая тема, однако...! ) |
|
20.08.2012, 16:23 | #14 |
Banned
|
Крайне рекомендую использовать виртуальную машину для разработки. Пару лет назад вешался с в среде которой не владел как админ. Сейчас использую свою собственную VM c нативной загрузкой (Native boot from VHD) для разработки EP AX 2009 и счастлив Клиенту сразу объяснил что его security policy это замечательно но тогда я просто увеличиваю время разработки в разы без такой моей собственной среды с его приложением и данными. Теперь программирую даже в поезде и сплю спокойно так как просто копирую VHD как файл в качестве бэкапа.
Пойнт в том что в EP шаг в сторону и ты в канаве и очень полезно сделать шаг назад. Также все в одной коробке и под одним пользователем сильно упрощает жизнь на этапе разработки. Просто опыт. |
|
|
За это сообщение автора поблагодарили: Logger (1), gl00mie (2). |
|
|