Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
18 апр 2024, 14:18

Отслеживание изменений документа WORD из 1С + ограничение прав.

Автор mixqn, 13 сен 2012, 15:01

0 Пользователей и 1 гость просматривают эту тему.

mixqn

Коллеги, стоит такая задача: необходимо прикреплять к объекту 1С (договор контрагента) вордовский документ, далее надо ограничить права на редактирование этого документа + отслеживать его изменения, осуществляя определенные действия, если произошли изменения в документе WORD.
Проще всего это реализовать через хранилище значения, но специалисты клиента считают, что это плохой путь, потому что файлов будет много, база будет расти и тормозить. База на сервере.
Вопрос: насколько опасения обоснованы? Есть ли реальная опасность того, что база начнет тормозить из-за того, что в ней хранится много файлов?
На строй работе мы прикрепляли файлы к куче объектов и не парились – все прекрасно хранилось в базе и ничего не тормозило. Хотя конечно, я допускаю мысль, что тут файлов будет на порядок больше.
Предлагается сделать так: в базе 1С хранить ссылку на файл, а сам файл – на файловом хранилище.
Понятно, что при таком подходе придется ограничивать права на каталог с файлом. Я себе это вижу примерно так: права на запись в этот каталог должны быть только у пользователя сервера 1С, больше ни у кого, далее при создании договора файл изначально прикрепляется с компьютера пользователя (по кнопке «загрузить» пишется сервером 1С в нужный каталог), затем при необходимости чтения/редактирования файла, он копируется в папку временных файлов на клиенте, там редактируется и отправляется в файловое хранилище опять же через сервер 1С.

Есть еще предложение сделать все примерно тоже самое, но через отдельную базу sql. Как мне кажется, это еще сложнее, чем с файловым хранилищем, но непонятно, чем лучше.
Может кто предложит альтернативные, более простые и/или эффективные варианты?

sadovod

Можно попробовать соорудить тестовую базу с предлагаемым Вами вариантом (т.е. хранить договора в базе 1С). программно напихать туда тысяч сто файлов типового договора (да ещё кратного размера для уверенности :) ) и посмотреть, как всё это будет крутиться...

Slin

Имхо, если вариант клиент-серверный, а размер файлов небольшой (скорее так оно и есть. ибо договора), то лучше хранить в базе. Главное тут - хранить эти файлы в отдельном регистре сведений. Если конфа типовая, то скорее так и сделано. Тогда производительность практически не будет зависеть от количества файлов. Разумеется предполагается, что сервер адекватен задаче.
skype: slin-dev

mixqn

Айтишники заказчика оказались непреклонны: в базе ничего хранить не будем.

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

Так что файлы будут храниться в специальном каталоге, на который права будут у USR1CV82 - как-то так примерно.

sadovod

Непонятно, зачем людям нужна лишняя головная боль с администрированием этого "специального каталога". Но, как говорится, "любой каприз за ваши деньги"? :)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск