AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 15.01.2007, 10:43   #1  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
Размножение таблицы Word
Помогите, пожалуйста, размножить обычную word таблицу в шаблоне *.dot. Наверняка кто-нибудь сталкивался с проблемой отгружать данные в отчет word, причем количество этих данных не было известно, и данные эти должны находится в разных таблицах в Word документе... На данный момент есть два решения:
1) выделение необходимой таблицы в шаблоне, а затем обычное копирование и вставка через буфер обмена.
НЕ ГОДИТСЯ - поскольку затирается буфер обмена.
2) сделать шаблон с n-м количеством этих самых таблиц, а затем после подсчета количества данных удалить с конца ненужное количество.
НЕ ГОДИТСЯ - поскольку количество данных во многих случаях остается неизвестным и может превысить количество уже созданных в шаблоне. К тому же черезчур громоздко...

Вообщем, помогите найти более изящный способ
Alt 15.01.2007, 11:08   #2  
Ashir ist offline
Ashir
Участник
 
45 / 22 (1) +++
Registriert seit: 27.10.2005
можно сделать макрос в шаблоне, который будет создавать нужную таблицу с нужным форматированием в нужном месте, ну и вызывать его по мере необходимости
Alt 15.01.2007, 11:50   #4  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
так в том и дело, что ничего создавать не нужно, просто напросто необходимо копирнуть существующую таблицу (будет вернее сказать некоторый Range, в который входит она, еще 2 таблицы и некоторые другие элементы) после нее самой несколько раз, и насчет макроса, ведь можно его же написать в коде X++... К тому же создавать ту самую таблицу по элементарным кирпичикам - это гора работы: невидимые линии, и т.п., и еще копировать нужно не одну таблицу а целых три поэтому такое решение усложняется трижды, кроме таблиц, там еще и линия с надписью ниже...
2 Belugin честно говоря даже не знаю, помоему это даже более громоздко чем куча таблиц, с последующим удалением...
Alt 15.01.2007, 12:11   #5  
belugin ist offline
belugin
Участник
Benutzerbild von belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4.622 / 2925 (107) +++++++++
Registriert seit: 16.01.2004
Blog-Einträge: 5
Я в-общем так, для обозначения возможности.

С точки зрения "громоздко" есть 2 аспекта:
*Разработка: можно позльзоваться XSLT внутри ворда, при этом использовать ворд как визуальный редактор - в некоторых случаях так может
*при генерации отчета ворд вообще не нужен - только XSLT процессор. Таким образом, всё пролисходит очень быстро и может осуществляться вообще без наличия ворда - например, на сервере

Но недостатков тоже полно
Alt 15.01.2007, 12:27   #6  
e@gle ist offline
e@gle
MCTS
MCBMSS
 
164 / 72 (3) ++++
Registriert seit: 11.04.2005
Ort: Минск
А как насчет варианта сохранить нужные данные из буфера обмена, покопировать таблички, восстановить данные в буфер обмена?
Alt 15.01.2007, 12:58   #7  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
2 E@gle: То есть, что то типа Buffer.Push() и Buffer.Pop()? Была такая идея, если в курсе как реализовать, то подскажите пожалуйста
2 Belugin: спасибо, обязательно попробую эту штуку...

таким образом, если это возможно (сохр/вост) буфера, то выходит, это единственное простейшее решение...

Geändert von Eldar9x (15.01.2007 um 13:10 Uhr)
Alt 15.01.2007, 13:25   #8  
e@gle ist offline
e@gle
MCTS
MCBMSS
 
164 / 72 (3) ++++
Registriert seit: 11.04.2005
Ort: Минск
Тогда вопрос: вам надо сохранить весь буфер обмена или какой-нибудь определенный тип (формат) буфера?
Как выпонимаете сохранить весь будет сложнее.
This post has been rated by: Eldar9x (1).
Alt 15.01.2007, 13:39   #9  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
в буфере обмена может быть все что угодно, отсюда вывод: либо сохранить весь, либо сделать так Сохранение/восстановление буфера обмена думаю это и есть решение
Alt 15.01.2007, 13:51   #10  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
только что вспомнил, буфер обмена - опасная вещица, представляете что будет, если во время формирования отчета пользователь нажмет Copy в другом приложении...
Alt 15.01.2007, 14:17   #11  
e@gle ist offline
e@gle
MCTS
MCBMSS
 
164 / 72 (3) ++++
Registriert seit: 11.04.2005
Ort: Минск
Наша компания достаточно широко использует буфер обмена при формировании отчетов (кстати и вашу задачу решали именно таким способом). Многими такими отчетами пользуются уже больше года. Нареканий пока нет.
Если найдете решение в обход буфера обмена - напишите.
Alt 15.01.2007, 14:41   #12  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
решили оставить метод с удалением лишних таблиц, + применение эвристики Судя по всему, если не учитывать поэлементное рисование необходимого интервала (что весьма муторно), то это наиболее оптимальное решение. Хотя, конечно, и не очень красивое, но что поделаешь...
Alt 16.01.2007, 10:13   #13  
Ashir ist offline
Ashir
Участник
 
45 / 22 (1) +++
Registriert seit: 27.10.2005
Вот именно для того, чтоб не было "так муторно" предлагаю делать именно макрос в шаблоне. Так попроще создать новую таблицу по образу и подобию уже существующей.
Alt 16.01.2007, 10:20   #14  
blokva ist offline
blokva
Пенсионер
Benutzerbild von blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Registriert seit: 04.06.2003
Ort: Беларусь
Я на форуме уже говорил как мы решали эту проблемму:
Надо просто создать файл Word из шаблона, и просто этот же шаблин вставлять в этот файл столько раз сколько нужно экземпляров...

но придется доработать методы работы с таблицами Word на предмет навигации с использованием параметров: таблица, строка, столбец
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Alt 16.01.2007, 10:51   #15  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
2 Ashir: а таким образом можно копировать целые интервалы в документе?, если да, то, пожалуйста напишите как (или дайте ссылку)
2 blokva: а поподробней насчет этого способа, как реализовать?
Alt 16.01.2007, 12:19   #16  
Ashir ist offline
Ashir
Участник
 
45 / 22 (1) +++
Registriert seit: 27.10.2005
Я имею в виду не копирование а создание (ведь любое копирование будет осуществляться через буфер) новой таблички по заранее определённому формату. Этот подхед не универсален, но в данном слечае может подойти.
Начните запись макроса и создайте таблицу с требуемым форматированием. Потом этот макрос просто надо будет вызвать из AxЫ.

Geändert von Ashir (16.01.2007 um 12:27 Uhr)
Alt 16.01.2007, 13:44   #17  
blokva ist offline
blokva
Пенсионер
Benutzerbild von blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Registriert seit: 04.06.2003
Ort: Беларусь
Zitat:
Zitat von Eldar9x Beitrag anzeigen
2 Ashir: а таким образом можно копировать целые интервалы в документе?, если да, то, пожалуйста напишите как (или дайте ссылку)
2 blokva: а поподробней насчет этого способа, как реализовать?
1. Имеем шаблон с таблицей
2. создаем на его основе файл, получаем таблицу 1, которую заполняем данными
3 вставляем в данный файл тот же файл шаблона функцией ComWordDocument_RU.insertDocFile
4. в результате получаем таблицу 2 в этом же файле, которую тоже заполняем.
5. и т.д. с п.3
5. для заполнения каждой таблицы необходима правильная навигация, т.к. букмарки не подходят из-за того, что они всегда будут ссылаться на 1-ую таблицу.
6. для этого надо создать свои методы вставления данных в ячейки таблицы (для того, чтобы понять как, посмотрите методы getPosEndOfTable и tableInsertValue того же класса)

зы: я просто не могу найти код, который мы делали в 2.5
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/

Geändert von blokva (16.01.2007 um 13:51 Uhr)
This post has been rated by: Eldar9x (1).
Alt 16.01.2007, 15:29   #18  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
и (или)
Б.
















(ежегодный дополнительный оплачиваемый отпуск, учебный, без сохранения заработной платы и другие (указать))

На
календарных дней


с


по

Alt 16.01.2007, 15:36   #19  
Eldar9x ist offline
Eldar9x
MCTS
Benutzerbild von Eldar9x
Oracle
MCBMSS
 
1.064 / 166 (8) ++++++
Registriert seit: 29.09.2006
Ort: Казань
вообщем вот такой интервал должен копироваться, причем Б меняется, кроме того над строкой должна быть линия и еще 3 таблицы со сложным форматированием (здесь не удалось отобразить). Как все это создавать по формату и как вообще создать такой формат даже не представляю...
2 blokva: действительно, решение лишено перегруженности, но есть один минус: придется таскать два шаблона для одного документа. По-поводу навигации нет проблем, ведь достаточно знать порядковый номер первой таблицы...
Alt 16.01.2007, 16:16   #20  
blokva ist offline
blokva
Пенсионер
Benutzerbild von blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Registriert seit: 04.06.2003
Ort: Беларусь
Zitat:
Zitat von Eldar9x Beitrag anzeigen
вообщем вот такой интервал должен копироваться, причем Б меняется, кроме того над строкой должна быть линия и еще 3 таблицы со сложным форматированием (здесь не удалось отобразить). Как все это создавать по формату и как вообще создать такой формат даже не представляю...
2 blokva: действительно, решение лишено перегруженности, но есть один минус: придется таскать два шаблона для одного документа. По-поводу навигации нет проблем, ведь достаточно знать порядковый номер первой таблицы...
2 шаблона, т.е. документ еще имеет общую шапку? Так я думаю, что это совсем не проблемма, даже наоборот, документ создается по одному шаблону, а табличка по другому... Если несколько разных табличек, то для каждой свой шаблон, очень логично получается!
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Управление форматом строки таблицы в Word формируемой в АХ 4.0 pwp DAX: Программирование 6 17.11.2009 11:28
Пересоздание таблицы при синхронизации Serg16 DAX: Администрирование 1 26.08.2009 13:55
Вставка строк в таблицы Аксапты сторонними средствами Андре DAX: База знаний и проекты 1 07.05.2009 16:49
Получение из поля Map кода поля реальной таблицы, к ней привязанной (Mappings) vey DAX: Функционал 5 16.03.2005 11:16
Как импортировать из Word chuf DAX: Программирование 4 21.06.2003 15:33

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 02:31 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.