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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.03.2015, 12:35   #1  
ariesd is offline
ariesd
Участник
 
4 / 10 (1) +
Регистрация: 02.11.2012
Добрый день. Борюсь с проблемой создания PivotTable из навика с признаком добавления в модель данных.

Работаю с Dynamics Nav 2015 и Excel 2013.

Параметры в excel такие:[attachment=1445:Pivot.jpg]

Собственно выделенный признак отвечает за создание пивоттаблицы с использованием фильтров на полях.

Стандартный механизм выгрузки аналитического отчета этого не дает и выглядит так:

xlPivotCache :=
xlApp.ActiveWorkbook.PivotCaches.Add(1,STRSUBSTNO('%1!A1:%2%3',xlSheetName,ExcelBuffer.xlColID,NoOfRows + 1));
xlPivotCache.CreatePivotTable('','PivotTable1');
xlWorkSheet2 := xlApp.ActiveSheet;
xlPivotTable := xlWorkSheet2.PivotTables('PivotTable1');


Код Visual Basic при этом:

ActiveWorkbook.Worksheets("Сводная таблица_ПОДОТЧЕТ").PivotTables("PivotTable1" _
).PivotCache.CreatePivotTable TableDestination:="Лист1!R3C1", TableName:= _
"СводнаяТаблица1", DefaultVersion:=xlPivotTableVersion10


Мне же нужно преобразовать для навика код который создает пивот с признаком модуля данных:

Workbooks("pivot1111.xlsx").Connections.Add2 _
"WorksheetConnection_Данные_ПОДОТЧЕТ!R1C1:R6206C34", "", _
"WORKSHEET;D:\Documents\[pivot1111.xlsx]Данные_ПОДОТЧЕТ", _
"Данные_ПОДОТЧЕТ!R1C1:R6206C34", 7, True, False
Sheets.Add
ActiveWorkbook.PivotCaches.Create(SourceType:=xlExternal, SourceData:= _
ActiveWorkbook.Connections("WorksheetConnection_Данные_ПОДОТЧЕТ!R1C1:R6206C34") _
, Version:=xlPivotTableVersion15).CreatePivotTable TableDestination:= _
"Лист2!R3C1", TableName:="СводнаяТаблица2", DefaultVersion:= _
xlPivotTableVersion15


Если просто поменять 1 на 2 (SourceType:=xlExternal):
xlPivotCache :=
xlApp.ActiveWorkbook.PivotCaches.Add(2,STRSUBSTNO('%1!A1:%2%3',xlSheetName,ExcelBuffer.xlColID,NoOfRows + 1));

то ругается в строке xlPivotCache.CreatePivotTable('','PivotTable1'); как Исключение из HRESULT: 0x800A03EC

Если сделать например так xlPivotCache.CreatePivotTable(xlWorkSheet2.Name+'!A3','PivotTable1'); то тогда такая ошибка:
Вызов System.__ComObject.CreatePivotTable завершился ошибкой со следующим сообщением: Параметр задан неверно. (Исключение из HRESULT: 0x80070057 (E_INVALIDARG))

Проблема в этой строке. Какие бы я параметры выше не делал, даже connection добавил, все выдает или ту или другую ошибку.

Возможно ктото сталкивался с таким, и вообще возможно ли создать из навика таким образом пивот?
Изображения
 
 


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

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

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