AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.08.2012, 01:17   #1  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Angry 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  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Товарищи дорогие!
Кажися, отбой.
Глупый, я глупый.
Нет, чтобы исходники готовых контролов посмотреть, где кнопочки используются.

А выглядит это примерно так:
Title="<%$ AxLabel:@SYS74095 %>"

Аксапта в очередной раз мне доказала, что она намного умнее меня... гы... ))
Старый 12.08.2012, 10:15   #3  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Какой-то поток сознания...
Вы бы хоть расписали подробнее, что делаете, некий туторчик сделали бы, другим опять же было бы интереснее и позновательнее.
__________________
Axapta book for developer
Старый 12.08.2012, 13:20   #4  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Цитата:
Сообщение от MikeR Посмотреть сообщение
Какой-то поток сознания...
Вы бы хоть расписали подробнее, что делаете, некий туторчик сделали бы, другим опять же было бы интереснее и позновательнее.

Ну, да, согласен, писал немного на нервной почве.
Сейчас, наверное, еще нет смысла описывать тонкости технологии, так как нет ощущения достаточной освоенности среды разработки.
Но, как только закончу первую очередь разработки, обязательно напишу и выложу скрины.

Единственное, что могу сказать, что после всего этого разработка в традиционном интерфейсе Аксапты кажется просто раем.

Во-первых, разработка портала практически не документированна, хотя, среда разработки вполне продуманная и полная. Раньше мне казалось, что портал, это так для отмазки. Типа, чтоб было. Ан нет. Вещь очень полезная и хорошо проработанная.

Во-вторых, конечно, очень тяжело одновременно врубаться в .asp , C# и Х++
С# намного более гибкий, чем X++, но в то же время размазанный по всей Винде, включая документацию.

В-третьих, с отладкой беда. Или, просто говоря, ее в портале совсем нету.
При возникновении ошибки браузер выкидывает десяток строк вызовов из сборок дот-нета, которые обычно ни о чем особенно не говорят.
При этом возникает сообщение, что отключен отладчик Аксапты, хотя он вполне себе подключен.

В-четвертых, беда с тем, что после каждого внесения изменений приходится то перзагружать AOS, то IIS, то, вообще, компьютер перезагружать. Что-нибудь обязательно сидит где-то в кэше и непонятно где.

В общем, усилий приходится прикладывать больше в три-четыре раза по сравнению с внутренней разработкой в Аксапте.

Но, есть и положительные моменты.
После освоения технологии веб-разработки поверх Аксапты появляется просто безбрежные возможности создания любых деловых веб-приложений.
Традиционным считаются три слоя в разработке: слой данных, слой бизнес-логики и слой пользовательского интерфейса. В ситуации с вебом над Аксаптой, Аксапта просто становится слоем данных и слоем бизнес-логики. Даже независимо от собственного функционала.
А шэйр-поинт, судя по всему, довольно скоро станет самой популярной средой создания сайтов, потому как реально удобная штука и реально работает. Хотя и сложная. Честно говоря, меня сильно напрягало то, что весь каталог сайта лежит в базе данных и не имеет папочек на диске компьютера. Потом как-то привык.
Старый 12.08.2012, 23:59   #5  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
Цитата:
Сообщение от Narayana Посмотреть сообщение
В-третьих, с отладкой беда. Или, просто говоря, ее в портале совсем нету.
При возникновении ошибки браузер выкидывает десяток строк вызовов из сборок дот-нета, которые обычно ни о чем особенно не говорят.
При этом возникает сообщение, что отключен отладчик Аксапты, хотя он вполне себе подключен.
Слишком громкое заявление, вам не кажется? Все там есть, и код контрола дебажить можно и код в 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
За это сообщение автора поблагодарили: Logger (1), gl00mie (2), Narayana (1).
Старый 13.08.2012, 00:07   #6  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
Цитата:
Сообщение от Narayana Посмотреть сообщение
В-четвертых, беда с тем, что после каждого внесения изменений приходится то перзагружать AOS, то IIS, то, вообще, компьютер перезагружать. Что-нибудь обязательно сидит где-то в кэше и непонятно где.
Если меняете объекты в АОТ, то обычно достаточно на главной странице нажать ссылку "Обновить AOD", возможно, еще "Обновить словарь", "Обновить данные".

Если меняете код в юзерконтроле, то используйте утилиту AxUpdatePortal.

Следуя этим правилам, что-либо перезагружать еще не приходилось.
Старый 13.08.2012, 08:09   #7  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Narayana Посмотреть сообщение
В-третьих, с отладкой беда. Или, просто говоря, ее в портале совсем нету.
По крайней мере, для кода X++ отладка вроде есть:
За это сообщение автора поблагодарили: Narayana (1), pedrozzz (0).
Старый 13.08.2012, 14:57   #8  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Часть сообщений выделена в ветку: Для решения каких задач нужен портал Dynamics AX?

С Уважением,
Георгий
Старый 13.08.2012, 16:03   #9  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Thumbs up
Цитата:
Сообщение от 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  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Цитата:
Сообщение от gl00mie Посмотреть сообщение
По крайней мере, для кода X++ отладка вроде есть:
Да, эту документацию я уже читал, но конкретно у меня это почему-то не работает. Внутри виндового интерфейса работает, а с порталом нет. Просто пишет, что отладка не включена и показывает где в настройках нужно включить. Туда лезешь, а там галочка стоит и показывает, что все включено. Возможно, глюк.
Старый 13.08.2012, 16:09   #11  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
:)
Цитата:
Сообщение от George Nordic Посмотреть сообщение
Часть сообщений выделена в ветку: Для решения каких задач нужен портал Dynamics AX?

С Уважением,
Георгий

...ох, богатая тема, однако...! )
Старый 20.08.2012, 12:05   #12  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Для отладки попробуй сделать файл 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  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Крайне рекомендую использовать виртуальную машину для разработки. Пару лет назад вешался с в среде которой не владел как админ. Сейчас использую свою собственную VM c нативной загрузкой (Native boot from VHD) для разработки EP AX 2009 и счастлив Клиенту сразу объяснил что его security policy это замечательно но тогда я просто увеличиваю время разработки в разы без такой моей собственной среды с его приложением и данными. Теперь программирую даже в поезде и сплю спокойно так как просто копирую VHD как файл в качестве бэкапа.
Пойнт в том что в EP шаг в сторону и ты в канаве и очень полезно сделать шаг назад. Также все в одной коробке и под одним пользователем сильно упрощает жизнь на этапе разработки. Просто опыт.
За это сообщение автора поблагодарили: Logger (1), gl00mie (2).
Старый 02.08.2013, 10:56   #14  
alvares is offline
alvares
Участник
 
45 / 12 (1) ++
Регистрация: 27.10.2011
Цитата:
Сообщение от pedrozzz Посмотреть сообщение
Если меняете объекты в АОТ, то обычно достаточно на главной странице нажать ссылку "Обновить AOD", возможно, еще "Обновить словарь", "Обновить данные".

Если меняете код в юзерконтроле, то используйте утилиту AxUpdatePortal.

Следуя этим правилам, что-либо перезагружать еще не приходилось.
Вот как бы с этим разобраться в каких случаях что именно нужно делать?

Допустим я меняю в VS юзерконтрол AddressOverview, добавляю поля, предварительно добавив их в АОТ в таблицу в новую группу. Что мне нужно обновить и в каком порядке, чтобы ничего не перезагружать и не словить неизвестную ошибку в SP?
Старый 05.08.2013, 10:17   #15  
Dreadlock is offline
Dreadlock
Участник
Аватар для Dreadlock
 
298 / 224 (8) ++++++
Регистрация: 07.05.2009
Адрес: Москва
Цитата:
Вот как бы с этим разобраться в каких случаях что именно нужно делать?
Refreshing Caches


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  
IvanS is offline
IvanS
Участник
Аватар для IvanS
 
241 / 44 (2) +++
Регистрация: 30.06.2006
Адрес: Екатеринбург
Цитата:
Сообщение от 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
Сделал по этой инструкции. Кроме enable Debugginh in Sharepoint. Не нашел его. Этот пункт на чем должен быть, при нажатии на проект правой кнопки?
Нажимаю начать отладку и выдает ошибку
Цитата:
Не удается запустить отладку на веб-сервере. Настройка веб-сервера выполнена неверно.
Старый 19.09.2013, 11:39   #17  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
Цитата:
Сообщение от IvanS Посмотреть сообщение
Сделал по этой инструкции. Кроме enable Debugginh in Sharepoint. Не нашел его. Этот пункт на чем должен быть, при нажатии на проект правой кнопки?
Да. Но он не всегда и не у всех отображался. Закономерность мне неизвестна.
Цитата:
Сообщение от IvanS Посмотреть сообщение
Нажимаю начать отладку и выдает ошибку
Быть может здесь найдете ответ:
http://msdn.microsoft.com/ru-ru/libr...e%28v=vs.90%29
__________________
Кононов Пётр
За это сообщение автора поблагодарили: IvanS (1).
Старый 19.09.2013, 12:01   #18  
IvanS is offline
IvanS
Участник
Аватар для IvanS
 
241 / 44 (2) +++
Регистрация: 30.06.2006
Адрес: Екатеринбург
Цитата:
Сообщение от pedrozzz Посмотреть сообщение
Да. Но он не всегда и не у всех отображался. Закономерность мне неизвестна.

Быть может здесь найдете ответ:
http://msdn.microsoft.com/ru-ru/libr...e%28v=vs.90%29
А в этой теме Портал. Не грузится контрол. можете помочь? Вроде как это ваша разработка, думаю проще будет разобраться.
Старый 19.09.2013, 12:49   #19  
Maximin is offline
Maximin
NavAx
NavAx Club
 
412 / 346 (12) ++++++
Регистрация: 09.10.2002
Адрес: Москва
Цитата:
Сообщение от pedrozzz Посмотреть сообщение
Да. Но он не всегда и не у всех отображался. Закономерность мне неизвестна.
Вы должны входить в группу администраторов сайтов Sharepoint - поэтому и не появляется.
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
За это сообщение автора поблагодарили: gl00mie (1), pedrozzz (1).
Старый 19.09.2013, 13:08   #20  
IvanS is offline
IvanS
Участник
Аватар для IvanS
 
241 / 44 (2) +++
Регистрация: 30.06.2006
Адрес: Екатеринбург
Цитата:
Сообщение от Maximin Посмотреть сообщение
Вы должны входить в группу администраторов сайтов Sharepoint - поэтому и не появляется.
Я как под своим логином, так и под логином пользователя, который разворачивал портал заходил, все равно не видно это пункта
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Итератор с поддержкой методов обратного вызова для обработки контролов на форме gl00mie DAX: Программирование 18 06.08.2013 22:16
Dynamics AX Sustained Engineering: Individual patching for Dynamics AX2009 SP1 industry solutions Blog bot DAX Blogs 0 13.06.2012 10:11
dynamicscare: Understanding Production Postings in AX2009 Blog bot DAX Blogs 0 26.08.2011 21:13
axinthefield: Choosing a Single Deployment or Multiple Deployments of AX2009 Blog bot DAX Blogs 0 15.06.2011 03:25
Shekhar: Dynamics AX2009 : Standalone Installation on Vista with Role centres and workflow. Blog bot DAX Blogs 0 30.03.2010 15:05
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 06:34.