Показать сообщение отдельно
Старый 22.07.2013, 20:41   #8  
Narayana is offline
Narayana
Участник
 
241 / 100 (4) +++++
Регистрация: 05.01.2009
Адрес: Москва
Цитата:
Сообщение от IKA Посмотреть сообщение
Как при этом достучаться до текущей сессии(чтобы вызывать методы AX классов)?
То есть, судя по мануалам, чтобы вызывать методы классов, нужно получить тек сессию след образом :
X++:
private ISession AxSession
    {
        get
        {
            AxBaseWebPart webpart = AxBaseWebPart.GetWebpart(this);
            return webpart == null ? null : webpart.Session;
        }
    };
но, если на страницу просто кинуть axDataDource и AxGridView, то getWebpart всегда возвращается Null(тк webpart ест-но никто не создавал)
Вы,может быть, используете "Dynamics Ax webpart page" как шаблон для страниц сайта?
Последние свои эксперименты закончил как раз на этом месте разбирательств с сессиями, но уже забыл, чем они закончились.
Перестал экспериментировать, потому что понял, что делать сайты с прямым доступом в АОС или базу Аксапты, это не очень хорошая идея.
Все разумное, что можно сделать напрямую в Аксапте через веб, более-менее охвачено в портале. Что не охвачено, довольно просто дописать в том же портале.
А вот делать интернет-магазин или сайт общего пользования, который просто отображает данные из Аксапты, это не есть гуд.
Сейчас думаю, что самое лучшее, это все-таки синхронизация отдельного решения интернет-магазина с Аксаптой.
Если у вас даже маленькая задача с очень узким функционалом, то сдается мне, что лучше сделать для него свою базу, написать странички стандартными и простыми ASP.NET приемами, а потом сделать простую отдельную утилитку, которая таскает данные из одной базы в другую. Может быть, даже через АОС.

Но, в любом случае, если вспомню что-то про сессии, напишу. Как-то там все не очень сложно оказалось. Мало того, если вы добавляете на страницу элементы, которые изначально есть на шаблонах AxWebPartPage, то сессия открывается автоматически. Или, может быть, открывается, когда вы добавляете Аксаптовский ДатаСорс... не помню... Смешное в другом месте. Если вы страницу обновляете, то добавляются новые сессии, а старые не закрываются. Кстати, в Аксапте есть форма текущих пользователей, - там можно посмотреть открытые сессии.

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