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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.12.2009, 10:17   #1  
Freeangel is offline
Freeangel
Участник
 
173 / 55 (2) ++++
Регистрация: 01.04.2005
Использование OWC
Добрый день.

Помогите решить проблему. Добавил на форму ActiveX компонент Office PivotTable 11.0 (AX 3.0 SP3). Добавляю поля в фильтр, устанавливаю значения фильтра, а вот не могу добавить поля из [MEASURE] в DataAxis. Код следующий:
X++:
    view      = ActiveX.ActiveView();
    DataAxis  = view.DataAxis();
    constants = ActiveX.Constants();

    fieldSets = view.fieldSets();
    fieldSets = fieldSets.item("MEASURES");

    pivotField = fieldSets.fields();
    pivotItem  = COM::CreateFromVariant(pivotField.Item("[MEASURES].[Продажи]"));

    total = View.addTotal("My total", pivotItem, constants.plFunctionSum());
    DataAxis.insertTotal(total);
При выполнении выдается следующая ошибка:
Метод 'item' в COM-объекте класса 'PivotFieldSets' возвратил код ошибки 0x80028CA1 (<неизвестно>), который означает: <неизвестно>.
Если кто сталкивался, помогите, плиз
Старый 29.12.2009, 11:21   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,319 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Как вариант - написать
X++:
pivotField.Item(ComVariant::createFromStr("[MEASURES].[Продажи]"))
, либо
X++:
pivotField.Item(1)
__________________
Возможно сделать все. Вопрос времени
Старый 29.12.2009, 11:35   #3  
Freeangel is offline
Freeangel
Участник
 
173 / 55 (2) ++++
Регистрация: 01.04.2005
Не помогает. Видимо это из-за того, что агрегаты расположены в папках с различными названиями, а в ActiveX компоненте в списке полей они отображаются в группе Итоги, но почему-то по данному названию доступ получить не получается
Старый 29.12.2009, 11:51   #4  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
А в "большом" Excel в сводной таблице пробовали эти операции выполнить? Получается задуманное?
Старый 29.12.2009, 11:56   #5  
Freeangel is offline
Freeangel
Участник
 
173 / 55 (2) ++++
Регистрация: 01.04.2005
Если вы имеете в виду VBA, то там другие методы, да и OWC используется версии 12
Старый 29.12.2009, 13:42   #6  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от Freeangel Посмотреть сообщение
Если вы имеете в виду VBA, то там другие методы, да и OWC используется версии 12
OWC в Excel не используется никакой - там же свой собственный Pivot.

Попробуйте посадить свой OWC на лист Excel и по аналогии объявите для него переменную, как описано здесь: http://www.axforum.info/forums/blog.php?b=48 . По сравнению с Аксаптой будет преимущество в том, что Вы сможете пользоваться подсказкой IntelliSense. Отладьте VBA-код в Excel и потом портируйте на X++. По крайней мере, перевод отлаженного кода VBA - это задачка более низкого порядка сложности, чем "слепое гадание" на коде сразу в Аксапте.
Старый 29.12.2009, 15:28   #7  
Freeangel is offline
Freeangel
Участник
 
173 / 55 (2) ++++
Регистрация: 01.04.2005
Спасибо за совет, попробую. Скажите, а можно где-нибудь посмотреть список методов COM объекта PivotTable, например?
Старый 29.12.2009, 15:48   #8  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,319 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Вот что нашел: http://msdn.microsoft.com/en-us/libr...ffice.11).aspx
__________________
Возможно сделать все. Вопрос времени
Старый 29.12.2009, 15:58   #9  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Можно так далеко не ходить

Цитата:
Сообщение от Gustav Посмотреть сообщение
Файлы ... которые наверняка есть на вашем компутере:
..........
  • OWCVBA11.CHM - "Microsoft Office 2003 Web Components Visual Basic Reference" - справочник по программированию (всех компонентов семейства OWC, не только Spreadsheet)
Вместо 11 могут быть еще файлы по 10 (просто подравьте цифру в поиске файлов), или даже по 12
И все равно я бы записал весь пассаж макрорекордером для сводной таблицы Excel, потом подогнал бы его под OWC на листе Excel и наконец перевел на X++.

Последний раз редактировалось Gustav; 29.12.2009 в 16:01.
Старый 29.12.2009, 16:48   #10  
Freeangel is offline
Freeangel
Участник
 
173 / 55 (2) ++++
Регистрация: 01.04.2005
Спасибо большое за помощь
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
использование forcepalceholders Eldar9x DAX: Программирование 14 23.10.2008 10:20
Создание номенклатуры с использ. axInventTable класса. Можно ли запретить использование шаблонов записей? Hub DAX: Программирование 2 03.09.2008 15:12
Использование контейнеров и полей с неограниченными строками (текстом) в выражении WHERE не допускается. cutter DAX: Программирование 4 07.12.2007 11:16
Использование OLAP-кубов MS AS. Help ! se2003 DAX: Функционал 7 19.07.2005 07:05
Использование OWC.Spreadsheet для ускорения экспорта/импорта в/из Excel. storer DAX: Программирование 24 28.03.2005 19:10

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

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

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