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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.09.2006, 16:21   #1  
lwg22 is offline
lwg22
Участник
Аватар для lwg22
 
4 / 10 (1) +
Регистрация: 24.07.2006
Тупо выкладываю весь кусок создания сводной таблицы. Может не все надо (в плане примера), зато точно будет понятно:

Код:
// ========= Сводная таблица по артикулам =======================

  xlPivotCache := xlApp.ActiveWorkbook.PivotCaches.Add(1,STRSUBSTNO('%1!A1:%2%3','Строки', 'G', RowNo));

  xlPivotCache.CreatePivotTable('','PivotTable1');

  xlWorkSheet2 := xlApp.ActiveSheet();
  xlPivotTable := xlWorkSheet2.PivotTables('PivotTable1');
  xlWorkSheet2.Name := 'Сводная Артикулы';

  // Делаем строки
  xlPivotField := xlPivotTable.PivotFields('Код товара');
  xlPivotField.Orientation := 1; //xlRowField
  xlPivotField.Position := 1;
  xlPivotField.Subtotals(1,FALSE);

  xlPivotField := xlPivotTable.PivotFields('Наименование');
  xlPivotField.Orientation := 1; //xlRowField
  xlPivotField.Position := 2;
  xlPivotField.Subtotals(1,FALSE);

  xlPivotField := xlPivotTable.PivotFields('Артикул');
  xlPivotField.Orientation := 1; //xlRowField
  xlPivotField.Position := 3;
  xlPivotField.Subtotals(1,FALSE);

  xlPivotField := xlPivotTable.PivotFields('Кол-во склады');
  xlPivotField.Orientation := 1; //xlRowField
  xlPivotField.Position := 4;
  xlPivotField.Subtotals(1,FALSE);

  // Делаем столбцы
  xlPivotField := xlPivotTable.PivotFields('Транзит');
  xlPivotField.Orientation := 2; //xlColumnField
  xlPivotField.Position := 1;

  // Делаем странички
  xlPivotField := xlPivotTable.PivotFields('Куда');
  xlPivotField.Orientation := 3; //xlPageField
  xlPivotField.Position := 1;

  // Делаем данные
  xlPivotField := xlPivotTable.PivotFields('Кол-во транзит');
  xlPivotField.Orientation := 4; //xlDataField
  xlPivotField.Position := 1;

  xlPivotTable.SmallGrid := FALSE;

  xlWorkSheet2.Range('A:D').Columns.AutoFit;
  xlWorkSheet2.Range('C:D').HorizontalAlignment := 3;
 

Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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