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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.01.2021, 23:13   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,719 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
А при чем здесь initSectionMap()? Это же просто список констант, которые записываются в MAP. Идентификаторы полос отчета. Там просто инициализация и наполнение MAP

Я не очень понимаю, зачем Вам вообще вот эти 2 команды

document.copyDefineNames(1, i);
this.initSectionMap();

Физически же работа происходит так

1. По именам ячеек заполняются ячейки в ШАБЛОНЕ
2. По именам полосы (вот то, что в initSectionMap задается) выделяется секция из шаблона и копируется в итоговый отчет в конце

Т.е. я вообще не понимаю какой смысл в этих играх с переименованием. В этом просто нет смысла. По логике, у Вас в методе CreateReport должно быть что-то вроде такого

X++:
// Инициализация MAP с именами секций отчета
// Один раз в самом начале
this.initSectionMap();

// Выбор первой записи таблиц-источников

// Заполнение первого листа
execute(#header);
execute(#body);
execute(#footer);

// Выбор следующей записи таблиц-источников

// Создаем новый лист
document.insertSheet(0, i, sheetName);  // Метод есть и на самом документе
// Выбор листа - не уверен, что это нужно
this.setCurrentWorksheetNum(i);

execute(#header);
execute(#body);
execute(#footer);

// Ну и далее цикл продолжаем

// Выбор следующей записи таблиц-источников

(...)
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 21.01.2021, 02:21   #2  
DesparioN is offline
DesparioN
Участник
 
86 / 15 (1) ++
Регистрация: 21.10.2014
Можно и не копировать. Просто тогда изначально создавать новый лист с именем шаблонного, а в конце переименовывать. Иначе Система не сможет сопоставить лист и метку.

Если создавать новый лист, то форматы меток не переносятся.
Как их перенести отдельно я не в курсе.
Старый 21.01.2021, 15:08   #3  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,719 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от DesparioN Посмотреть сообщение
Можно и не копировать. Просто тогда изначально создавать новый лист с именем шаблонного, а в конце переименовывать. Иначе Система не сможет сопоставить лист и метку.
Вы опять не о том говорите. Есть шаблон и есть текущий лист итогового отчета. Ему совершенно без разницы, какое имя у листа. Ему важно знать, какой именно лист текущий

Далее тупо выделяется полоса шаблона и вот "как есть", со всем форматированием, копируется в конец текущего листа итогового отчета

Т.е. у Вас стоит задача не просто создать новый лист отчета, но и как-то "убедить" объект document считать этот созданный лист текущим. Как это сделать я не в курсе. Теоретически, новый лист и так должен стать текущим. Но, мало ли...

Цитата:
Сообщение от DesparioN Посмотреть сообщение
Если создавать новый лист, то форматы меток не переносятся.
Как их перенести отдельно я не в курсе.

Так нет в отчете никаких форматов меток. Совсем нет. Все эти метки и форматы - это только в шаблоне. В итоговом отчете они появляются как результат копирования. Просто копирование идет со всеми форматами
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Теги
dax2012, xmlexcelreport

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Падение DAX при формировании отчета в Excel Storaenso DAX: Прочие вопросы 16 06.07.2011 15:57
Копирование листов в Excel с шаблоном Zoe DAX: Программирование 8 20.11.2008 15:50
Поймать SQL запрос при формировании отчета Qaz Qwerty DAX: Программирование 7 12.06.2008 01:46
Копирование листов в Excel Андрей К. DAX: База знаний и проекты 12 30.08.2007 08:44
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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