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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.10.2008, 11:04   #1  
Sergeyz_imported is offline
Sergeyz_imported
Участник
 
4 / 10 (1) +
Регистрация: 29.09.2008
Всем привет.
Возникла необходимость выгружать отчеты в Word.
можно конечно через объекты word-аб создовать док и т.п. . такое описывать в каждом отчете.

Но это не очень удобно.

Решил попробывать, выгружать в xml, и написать один раз функцию, которая это XML файл парсить и создавать файл

Но встал уже на первом этапе - выгрузке в xml.

если вызывать метод saveasXMl таким образом:

Report.SAVEASXML(Number, FileName [,SystemPrinter] [, Rec])

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

идиальмым, как мне кажеться вариантом, была бы конструкция currreport.saveasXML но и она не работает, выдает две ошибки, первая, отчет уже создан используйте CLEAR(отчет) вторая repot () не существует.

Может кто уже работал с экспортом в XML, подскажите плиз. В интее почти ничего нет
Старый 07.10.2008, 11:41   #2  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
1.
Какое-то время назад я написал целый трактат о передаче параметров в отчет http://apanko.ru/showthread.php?t=3497
Если в нем заменить все вызовы RUN и RUNMODAL на SAVAASXML, то это будет то, что Вам нужно.

2.
XML генерируемый данной функцией довольно специфичный:
Код:
<?xml version='1.0' encoding='windows-1251'?>
<Report xmlns="urn:www.navision.com:Report">
<Title>SXML</Title>
<HTMLHead>
<![CDATA[
<HTML>
<HEAD>
<TITLE>SXML</TITLE>
</HEAD>
<BODY BGCOLOR=ffffff>
]]></HTMLHead>
<Page PageNo="1">
<![CDATA[
<TABLE WIDTH="100%" BORDER=0 CELLSPACING=0 CELLPADDING=0>
<TR><TD>
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=0>
<TR>
<TD WIDTH="41%" VAlign=Middle><FONT SIZE=1 FACE="Helvetica">Товар</FONT></TD>
<TD WIDTH="42%"></TD>
<TD WIDTH="17%" Align=Right VAlign=Middle><FONT SIZE=1 FACE="Helvetica">7. Октябрь 2008</FONT></TD>
</TR>
</TABLE>
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=0>
<TR>
<TD WIDTH="41%" VAlign=Middle><FONT SIZE=1 FACE="Helvetica">CRONUS Россия ЗАО</FONT></TD>
<TD WIDTH="52%"></TD>
<TD WIDTH="5%" VAlign=Middle><FONT SIZE=1 FACE="Helvetica">Страница</FONT></TD>
<TD WIDTH="2%" Align=Right VAlign=Middle><FONT SIZE=1 FACE="Helvetica">1</FONT></TD>
</TR>
</TABLE>
Старый 07.10.2008, 11:48   #3  
Sergeyz_imported is offline
Sergeyz_imported
Участник
 
4 / 10 (1) +
Регистрация: 29.09.2008
Ооо, спасибо, то что нужно

Буду пробывать, хотя уже вижу, что границы у всех таблиц толщины 0 ((
Кто знает, может придумаю что ))
Старый 07.10.2008, 12:41   #4  
Sergeyz_imported is offline
Sergeyz_imported
Участник
 
4 / 10 (1) +
Регистрация: 29.09.2008
хмм, не получаеться, выдает ошибку: "Отчет уже был запущен. Используйте функцию CLAR(ОТЧЕТ)"

а вот так вызываю:
CurrForm.SETSELECTIONFILTER(sh);
myreport.setdate;
myreport.SETTABLEVIEW(sh);
myreport.SAVEASXML('c:\132.xml');
Кт что сможет подсказать?
Старый 07.10.2008, 13:15   #5  
apanko is offline
apanko
MCTS
MCBMSS
Лучший по профессии 2009
 
1,164 / 139 (7) +++++
Регистрация: 24.02.2005
Раз хочет, так напишите:
Clear(myreport);

Видимо myreport - глобальная переменная. Завели бы ее как локальную в соответствующем триггер, очищать при каждом нажатии на кнопку не надо было бы.
Старый 07.10.2008, 13:29   #6  
Sergeyz_imported is offline
Sergeyz_imported
Участник
 
4 / 10 (1) +
Регистрация: 29.09.2008
))
С различными экспериментами, оставил еще и в теле отчета вызов метода saveasxml. буду думать, как это xml в word канверртнуть можно )))
Старый 07.10.2008, 16:03   #7  
Иван33 is offline
Иван33
Участник
 
38 / 10 (1) +
Регистрация: 15.12.2007
Цитата:
Сообщение от Sergeyz Посмотреть сообщение
))
С различными экспериментами, оставил еще и в теле отчета вызов метода saveasxml. буду думать, как это xml в word канверртнуть можно )))
а зачем вам в ворд конвертить? если у вас открывается документ браузером то и откройте его, затем выберите файл - Править в майкрософт ворд (если этой опции нету то её надо настроить в настройках браузера) - самый незатратный способ.
 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 02:31.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.