Тема: OLAP in AX4
Показать сообщение отдельно
Старый 22.09.2008, 17:10   #2  
zelibobis is offline
zelibobis
Участник
 
71 / 24 (1) +++
Регистрация: 15.10.2007
Адрес: Kiev
Проблема решена - вопрос снят
Приношу свои извинения за некокретное описание проблемы, у меня была ошибка только при попытке просмотреть Итоги по налоговым регистрам: Главная книга/Журналы/Журналы налоговых регистров/Итоги по кодам/Показать. Вываливалось сообщение приведенное в первом посте. При просмотре сводных таблиц из модуля Администрирования все работало на ура.

Дело окзалалось в строке подключения(sConnectionString), которая формировалась в классе RTax25OLAPPivotTable.(В классе OLAPPivotTable, который используется в модуле Администрирование, в строке подключения параметр Location вообще отсутсвует).

X++:
#define.ConnectionString("Provider=MSOLAP;Integrated Security=SSPI;Persist Security Info=False;Data Source=\%1;Initial Catalog=\%2;Location=\%3;Client Cache Size=25;Auto Synch Period=10000")
protected void initCube()
{
    RTax25Parameters    parameters = RTax25Parameters::find();

    sDataSource     = parameters.OLAPServer;
    sInitialCatalog = parameters.OLAPCubeDatabase;
    
    // -->
    sLocation       = parameters.OLAPServer;
    //  параметр  Location  должен содержать путь к фалу БД или наименование
    //  серевера БД или может быть опущен, но не в коем случае имя БД OLAP, 
    //  как было в исходном коде 
    //  sLocation        = parameters.OLAPCubeDatabase;
    //<--
    sDataMember     = parameters.OLAPCubeName;
    
    if (! sDatamember || ! sDataSource || ! sInitialCatalog || ! sLocation)
        throw error("@GEE9943");

    sConnectionString = strfmt(#ConnectionString, sDataSource, sInitialCatalog, sLocation);

    try
    {
        pivotTable.connectionString(sConnectionString);
        pivotTable.dataMember(sDataMember);

        view = pivotTable.activeView();

        columnAxis = view.columnAxis();
        rowAxis    = view.rowAxis();
        filterAxis = view.filterAxis();
        dataAxis   = view.dataAxis();

        pivotFieldSets = view.fieldSets();
        viewLabel      = view.titlebar();

        pivotTotal = view.totals();
    }
    catch (Exception::Error)
    {
        error("@GEE10038");
        info("@SYS74590" + "@SYS35675"+"@GEE8263" + sDataSource);
        info("@SYS56297" + "@SYS35675"+"@GEE8263" + sInitialCatalog);
        info("@GEE10039" + "@SYS35675"+"@GEE8263" + sDataMember);
        throw error("@SYS81186");
    }

}
Надеюсь мои изыскания будут кому-то полезны.
За это сообщение автора поблагодарили: belugin (5), propeller (1).