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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.09.2010, 11:56   #1  
AlexeyVS is offline
AlexeyVS
Участник
 
103 / 31 (2) +++
Регистрация: 02.04.2010
Хранение файлов
Доброго дня!
Есть некоторые трудности с хранением файлов в аксе.
Проблема в том, что прикрепляемые к записям аксапты файлы, должны поддерживать версионирование. Эту проблему решили, настроив хранение файлов в библиотеке документов SharePoint. Но если идти по этому пути, то придется разграничивать права доступа к файлам на самом узле SharePoint. Из этого вопросы.
1. Можно ли настроить версионирование в аксе? Например хранить документы в БД с поддержкой версий (это идеальный вариант использования, т.к. не придется возиться с SharePoint).
2. Можно ли как-то прокидывать права пользователя аксы на SharePoint?
3. Можно ли писать файлы в SharePoint от не от имени текущего пользователя, а от имена пользователя AOS, например?

Может быть кто-нибудь решал подобные задачи?
Спасибо за внимание!
Старый 02.09.2010, 13:20   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,319 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
1. Нет, т.к. БД не поддерживает версионность. Точнее даже так - AX кладет файлы в БД не задумываясь о том, что кладет (exe-шник, jpg, doc, txt и т.д.). А БД в свою очередь даже если бы и умела сравнивать - она должна была понимать - что за файл ей дают. А так ей тупо скармливают какой-то бинарный код, который до кучи еще обрамляется дополнительными служебными байтами
2. Нет. Права в АХ вообще ну никак с AD (Active Directory) не связаны.
3. Тут вряд ли. Как я понимаю смысл связи АХ с Sharepoint состоит в том, чтобы обеспечить ролевой (т.е. индивидуально для каждого пользователя) интерфейс. Отсюда вывод - что скорее всего АХ вряд ли будет связываться через учетную запись АОСа. А если вспомнить реализацию - что вся интеграция Sharepoint ->AX "висит" на коннекторе АХ, в котором задается АХ-вые логин и пароль - то думаю что скорее всего об учетной записи АОСа никто и не думал.
__________________
Возможно сделать все. Вопрос времени
Старый 02.09.2010, 13:28   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от AlexeyVS Посмотреть сообщение
1. Можно ли настроить версионирование в аксе? Например хранить документы в БД с поддержкой версий (это идеальный вариант использования, т.к. не придется возиться с SharePoint).
Включить журнал базы данных на таблицу DocuValue (или только на поле file в этой таблице)

2. но (!):
2.1. хоть файлы и хранятся в контейнерах (memo-полях), хранение большого колиества файлов может убить вашу аксапту (растет transaction log, растет размер базы)
2.2. будет сильно затруднено архивирование базы средствами SQL. где-то здесь были обсуждения, как выделить подобные мемо-поля в отдельную схему архивирования
2.3. где-то были обсуждения, что документооборот не может хранить файлы в базе объемом больше 5Мб (не знаю, победили ли эту багу в последних версиях).

Будьте внимательны и осторожны.
__________________
полезное на axForum, github, vk, coub.
Старый 02.09.2010, 13:39   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,319 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от mazzy Посмотреть сообщение
Включить журнал базы данных на таблицу DocuValue (или только на поле file в этой таблице)
Формально - да. Но.... эта версионность будет видна только из журнала БД. И это будет версионность не документа, а значения поля, т.е. если я файл прикрепил, затем, другой переприкрепил - это все будет большим списком в истории. В любом случае а-ля Sharepoint не получится
__________________
Возможно сделать все. Вопрос времени
За это сообщение автора поблагодарили: mazzy (2).
Старый 02.09.2010, 13:52   #5  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Я бы зранил в sharepoint получив все плюсы интеграции с офисом
- список версий прям из ворда
- сравнение версий
- чекин /чекаут
- вебредактирование

Я бы сформулировал ограниченную задачу по настройке прав и написал бы скрипт/пакетное задание по их синхронизации
За это сообщение автора поблагодарили: mazzy (2).
Старый 03.09.2010, 10:12   #6  
BOAL is offline
BOAL
Участник
Аватар для BOAL
MCBMSS
Злыдни
1C
Лучший по профессии 2015
 
621 / 453 (17) +++++++
Регистрация: 28.04.2003
Адрес: Москва
Мы версионность сделали простую на базе АХ таблички аттачей, добавив туда галку Устаревший и по умолчанию отфильтровав только не устаревшие.
По сути сами версии ведут люди (а не робот), но внешне сразу доступны актуальные доки, а версии в кучу списком. В грид выведены доп поля, кто когда аттачил и изменял.
При этом правами запрещено тереть файлы, только добавлять.

Но да, АХ не анализирует содержимое, а текст описания может быть произвольным, потому тут все на совести пользователей и аудита за ними.
Впрочем, проблема "не тех файлов" и для шарепоинта актуальна.

Проблема хранения в БД файла более 5мб на АХ4 не побеждена (хотя кому-то везет, после танца с бубном). В АХ2009 исправлено (я не тестил).
У хранения в БД есть один плюс - запрет на редактирование файла, тогда как хранимый в папке может быть перезаписан изменением в него.
Частично лечится настройкой доступа к файлам и их сокрытием в папке через права AD

Хранение в БД сопряжено с распуханием БД, нужно настраивать таблицу аттачей на отдельный диск и делать отдельный бакап для нее.

Так как врезка аттача в АХ сквозная, то можно там в одном месте написать свой код поверх\вместо родного.
Например, хранить в папке, но по доступу через АОС, а не с правами пользователя (как в оригинале), на просмотр делать копию файла, что бы нельзя было его пересохранить.
Этот сценарий мы держим про запас, когда припрет так и поступим.
Либо уже тесная интеграция с шарепоинт.
Старый 03.09.2010, 11:27   #7  
AlexeyVS is offline
AlexeyVS
Участник
 
103 / 31 (2) +++
Регистрация: 02.04.2010
Всем спасибо за консультации. Подумав, решили хранить все в SharePoint. Права выставлять в нем же. Разнести разные типы документов (Основное - Управление документами - Типы документов) по разным папкам, либо создать под каждый тип документа свою библиотеку документов на SharePoint. А аксе настроить права доступа на таблицу DocuType, следовательно, пользователи будут видеть в меню "Создать" только доступные им типы документов (т.к. меню набирается динамически из этой таблицы). Затем привязать в аксе каждый тип документа к своей папке/библиотеке на SharePoint.
Теги
axapta, dynamics ax, sharepoint

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Хранение документов в SharePoint AlexeyVS DAX: Функционал 0 03.08.2010 16:27
ответственное хранение LEO DAX: Функционал 11 08.02.2010 12:05
Передача товара на ответственное хранение Maxim Gorbunov DAX: Функционал 30 08.06.2005 10:32
Учет накладных расходов на хранение joshua DAX: Функционал 4 01.10.2003 23:13
MS SQL и хранение в них файлов blacky DAX: Программирование 10 29.11.2002 12:35
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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