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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.09.2007, 09:40   #1  
Daido is offline
Daido
Участник
Аватар для Daido
 
105 / 10 (1) +
Регистрация: 13.07.2007
открытия шаблона Word
привет всем, как использоват шаблон, думаю есть возможность закинуть шаблон на сервер и все клиенты обращается на сервер
куда и как это сделать ??? я пока на локале так делаю :
X++:
 word = new ComWordDocument_RU();
         word.newFile("C:\\Template.dot",false);

Последний раз редактировалось Daido; 13.09.2007 в 10:03.
Старый 13.09.2007, 11:20   #2  
Arahnid is offline
Arahnid
Участник
 
880 / 60 (4) ++++
Регистрация: 09.08.2005
Адрес: Moscow
X++:
static str fullTemplateName()
{
    return  #ReportTemplatePath_ru + ;
}
#ReportTemplatePath_ru -это сродни папке \\aos\Application\Share\Include\Template
Старый 13.09.2007, 11:30   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от Arahnid Посмотреть сообщение
#ReportTemplatePath_ru -это сродни папке \\aos\Application\Share\Include\Template
Ну, скажем, это не совсем так.

#ReportTemplatePath_ru - это макрос, и его содержимое можно посмотреть в АОТ.
Он возвращает путь к папке шаблонов в локальном формате, то есть
C:\Program Files\..

Сетевой путь он никак вернуть не может.

По вопросу:
Вижу здесь 3 варианта:

1. Дать доступ пользователям на какую-то папку на сервере определенную, и туда складывать шаблоны. Соответственно, в отчетак использовать путь к этой папке (сетевой путь).
2. При формировании отчета, в случае необходимости, копировать шаблон отчета на клиента, и потом обычный запуск отчета с использованием шаблона с клиента. При этом у пользователя должны иметься права на запись с соответствующую директорию.
3. 2ой вариант, только используется временная папка, на которую у пользователей всегда есть доступ. Но при этом шаблоны придется туда копировать при каждом формировании отчета.

В каждом из 3ех вариантов есть свои минусы.

Если кто-то додумался до варианта без минусов, поделитесь идеей
Старый 13.09.2007, 12:22   #4  
Kozerog is offline
Kozerog
Участник
 
45 / 12 (1) ++
Регистрация: 22.05.2006
server static str fullTemplateName(){ return #ReportTemplatePath_ru + ИмяФайла;}Если вызвать метод на сервере, то он вернет путь к папке с шаблонами на сервере.
Старый 13.09.2007, 12:36   #5  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от Egoplast Посмотреть сообщение
server static str fullTemplateName(){ return #ReportTemplatePath_ru + ИмяФайла;}Если вызвать метод на сервере, то он вернет путь к папке с шаблонами на сервере.
Только толк от этого метода на клиенте будет лишь в том случае, если в настройках AOS путь к приложению указан через шару, доступную клиенту, а не через локальный каталог на сервере.
Старый 14.09.2007, 07:38   #6  
Daido is offline
Daido
Участник
Аватар для Daido
 
105 / 10 (1) +
Регистрация: 13.07.2007
привет всем, а че за макрос #ReportTemplatePath_ru, можно на код взглянуть, че то у ся не вижу
Старый 14.09.2007, 10:35   #7  
Mike2005 is offline
Mike2005
Участник
 
24 / 10 (1) +
Регистрация: 03.06.2005
Цитата:
Сообщение от kashperuk Посмотреть сообщение
1. Дать доступ пользователям на какую-то папку на сервере определенную, и туда складывать шаблоны. Соответственно, в отчетак использовать путь к этой папке (сетевой путь).
Мы используем именно такой вариант. Минусов пока не наблюдали. Пока было несколько таких отчетов, в коде прописывали полный путь. Потом создали макрос и в нем путь до шаблонов.
Старый 14.09.2007, 11:55   #8  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Макрос - это вариант прописывания константы напрямую в коде. Для локальных путей доступа такое еще годится, но для сетевых путей этого лучше не делать. Проблема в том, что сетевые адреса имеют свойтство меняться (комп накрылся, новый купили, перестроили сеть и т.п.). Причем, это не такое уж редкое событие, как может показаться.

Поэтому, все сетевые пути лучше выносить в поля настроечной таблицы соответствующего модуля. Как константы, использовать только имена файлов.

PS: макросы находятся в AOT\Macros\ReportTemplatePath_RU
Старый 14.09.2007, 12:16   #9  
petr is offline
petr
Участник
Соотечественники
 
561 / 201 (8) ++++++
Регистрация: 30.05.2005
Адрес: Швейцария
А почему никто не предлагает хранить шаблоны в самой аксапте, как храняться документы в документообороте. С точки зрения администрирования, по-моему, идеальный вариант. Или есть какие-то подводные камни?
Старый 14.09.2007, 12:22   #10  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от petr Посмотреть сообщение
А почему никто не предлагает хранить шаблоны в самой аксапте, как храняться документы в документообороте. С точки зрения администрирования, по-моему, идеальный вариант. Или есть какие-то подводные камни?
Да, кстати, так на одном проекте хранил.
Но это почти то же самое, что п.2 или п.3 в приведенных мной выше постах.
Потому как нам этот файл все равно перед использованием нужно сохранить на клиенте, а значит перетащить с сервера, сохранить куда-то. и только после этого запускать.
Старый 14.09.2007, 12:48   #11  
Daido is offline
Daido
Участник
Аватар для Daido
 
105 / 10 (1) +
Регистрация: 13.07.2007
а нельзя ли просто в таблице (на сервере) создать блоб поле создать и туда запихать файл шаблон ?
Старый 14.09.2007, 13:48   #12  
blokva is offline
blokva
Пенсионер
Аватар для blokva
SAP
NavAx Club
 
743 / 167 (7) ++++++
Регистрация: 04.06.2003
Адрес: Беларусь
Цитата:
Сообщение от Daido Посмотреть сообщение
а нельзя ли просто в таблице (на сервере) создать блоб поле создать и туда запихать файл шаблон ?
Можно, я так в свое время ТЗшки хранил ...
Но сиравно перед употреблением придется сохранять сначала во временную папку и только потом использовать как уже подсказал kashperuk
__________________
Законы природы еще никто не отменял!
А еще у меня растет 2 внучки!!! Кому интересно подробности тут:
http://www.baby-shine.com/
Старый 14.09.2007, 14:17   #13  
petr is offline
petr
Участник
Соотечественники
 
561 / 201 (8) ++++++
Регистрация: 30.05.2005
Адрес: Швейцария
Цитата:
Потому как нам этот файл все равно перед использованием нужно сохранить на клиенте, а значит перетащить с сервера, сохранить куда-то. и только после этого запускать.
Согласен, это недостаток данного подхода. Но думаю, что простота администрирования покрывает этот недостаток. На данный момент я считаю данный подход наиболее оправданным по соотношению достоинства / недостатки.
Старый 14.09.2007, 14:24   #14  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от petr Посмотреть сообщение
Согласен, это недостаток данного подхода. Но думаю, что простота администрирования покрывает этот недостаток. На данный момент я считаю данный подход наиболее оправданным по соотношению достоинства / недостатки.
А я на текущем проекте забил на таблицу - неудобно.
Чтоб отредактировать, нужно открывать форму, выгружать файл, менять, загружать назад.

А сейчас схема у меня проще
Захожу на сервер, меняю. Все.
(При след. использовании шаблон обновится на клиенте. (всем клиентам дали доступ на редактирование папки шаблонов у себя на компьютере))
Недостаток - доп. администативная мера по настйроке политики.
Старый 14.09.2007, 14:25   #15  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от petr Посмотреть сообщение
Согласен, это недостаток данного подхода. Но думаю, что простота администрирования покрывает этот недостаток. На данный момент я считаю данный подход наиболее оправданным по соотношению достоинства / недостатки.
Это не единственный недостаток данного подхода. Как раз именно процесс администрирования вызывает наибольшее количество проблем:

1) Как Вы представляете себе процесс внесения изменения в шаблон?

Его ведь надо выгрузить из поля, внести изменеия и снова загрузить. И все это должен делать администратор. Или будете писать специальный модуль по обслуживанию таблиц с шаблонами?

2) Неоправданное раздувание собственно базы данных.

Например, у нас все файлы шаблонов с разными пробными образцами и копиями уже сейчас занимают почти 1 ГБ. И все это добро пихать в базу данных?

Файлы должны, по-возможности, хранится именно как файлы. На диске. Затягивание файлов в базу данных - это, скорее, исключение. Следует очень серьезно подумать над необходимостью подобной операции.
Старый 14.09.2007, 14:46   #16  
petr is offline
petr
Участник
Соотечественники
 
561 / 201 (8) ++++++
Регистрация: 30.05.2005
Адрес: Швейцария
Во-первых, спасибо за ваши аргументы, далее:

Цитата:
Его ведь надо выгрузить из поля, внести изменеия и снова загрузить. И все это должен делать администратор. Или будете писать специальный модуль по обслуживанию таблиц с шаблонами?
Да, примерно так и будет. Плюс форма - интерфейс для администратора. А чего тут долгого? Выгрузил файл, внес изменения, загрузил обратно. С этого момента все пользователи, используют новый шаблон. Причем это может делать не только администратор, а и любой другой человек, если необходимо, ему только надо дать права на эту форму. Причем никаких дополнительных прав на записи в директорию на сервере для этого дополнительного пользователя.

Цитата:
Неоправданное раздувание собственно базы данных.
Ну вообще я не представлял себе, что шаблоны могут занимать столько места. Но как файлы они будут занимать столько-же. Можно, конечно настроить сжатие папки на сервере, чтобы снизить требуемое пространство. Но я думаю, что если есть необходимость то какое-либо сжатие можно, наверное, и в аксапте придумать.

Я считаю, что тут надо еще рассматривать такой аспект. Для программистов, работающих на клиете, проще сделать вариант с хранением шаблонов на сервере. Для тех, кто внедряем вариант хранения шаблонов в Аксапте, по-моему, предпочтительней. Один раз пишется решения и устанавливается для каждого клиента. Работатет всегда, даже если у клиента параноя и он не хочет давать своим пользователям права на доступ на любую папку на сервере или при еще каких-либо проблеммах.

Хотя я может и не вижу некоторых подводных камней, которые всегда существуют.
Старый 14.09.2007, 14:52   #17  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от petr Посмотреть сообщение
Работатет всегда, даже если у клиента параноя и он не хочет давать своим пользователям права на доступ на любую папку на сервере или при еще каких-либо проблеммах.

Хотя я может и не вижу некоторых подводных камней, которые всегда существуют.
В вашей схеме, я так полагаю, используется временная папка на клиентской машине для выгрузки туда шаблона из таблицы в момент выполнения отчета?

Такая схема требует постоянного копирования туда этого шаблона из таблицы.
Шаблоны - это конечно, файлы небольше обычно, но трафик это все равно создает неплохой.
Именно из-за этого трафика в свое время и перешли на вышеописанную схему (используемую мной сейчас). Каналы у клиента были ужасные, и ожидать даже самых простых отчетов приходилось довольно долго.
Старый 14.09.2007, 14:57   #18  
petr is offline
petr
Участник
Соотечественники
 
561 / 201 (8) ++++++
Регистрация: 30.05.2005
Адрес: Швейцария
Цитата:
Такая схема требует постоянного копирования туда этого шаблона из таблицы.
Шаблоны - это конечно, файлы небольше обычно, но трафик это все равно создает неплохой.
Именно из-за этого трафика в свое время и перешли на вышеописанную схему (используемую мной сейчас). Каналы у клиента были ужасные, и ожидать даже самых простых отчетов приходилось довольно долго.
Я так понимаю, будет проблеммы например при работе на узких каналах. А не пробовали кэшировать? В смысле пользовательсь запускает отчет первых раз - долго ждет, но шаблон закэшировался. Второй раз - уже быстро.
Старый 14.09.2007, 15:00   #19  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от petr Посмотреть сообщение
Я так понимаю, будет проблеммы например при работе на узких каналах. А не пробовали кэшировать? В смысле пользовательсь запускает отчет первых раз - долго ждет, но шаблон закэшировался. Второй раз - уже быстро.
Ну правильно, кэшировать - это я и делаю.
Но для того, чтобы он точно остался на месте и был нужной версии (а не устаревший, к примеру), нужно постоянно ложить в одно и то же место, и еще так, чтобы место это не чистилось всякими утилитками, которые тетя Маша наставила себе для "ускорения работы компьютера".
А временные папки как раз очень даже чистятся - всем, кому не лень.
А на невременную папку нужен доступ, и снова приходим к варианту 2, описанному мной изначально.
Старый 14.09.2007, 15:07   #20  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Petr

А Вы можете сказать какие преимущества дает хранение файлов внутри базы данных, по сравнению с их хранением в виде файлов в некоторой общедоступной сетевой директории?

Последний раз редактировалось Владимир Максимов; 14.09.2007 в 15:09.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибки Word 2003 при работе в терминальном режиме Владимир Максимов DAX: Программирование 17 03.07.2017 13:42
Открытие шаблона Word из серверного метода Freeangel DAX: Программирование 6 02.04.2009 12:34
axcoder: WordSL - Microsoft Word as a visual XSLT editor Blog bot DAX Blogs 0 26.01.2007 05:45
Создание нескольких экземпляров Word на основе шаблона axaLearner DAX: Программирование 5 03.01.2005 16:12
Как импортировать из Word chuf DAX: Программирование 4 21.06.2003 15:33

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

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

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