И снова о хранении файлов, и о том, как быстро найти нужное

в 10:49, , рубрики: BI Share, sharepoint, sharepoint 2013, архивация, документооборот, файлохранилища

Предпосылка

Что самое нужное в критический момент, например, когда ты собрался идти на тренировку, а у тебя спрашивают Word версию файла договора по проекту 2012 года с фирмой Васи Пупкина? Правильно – этот самый Word файл.

Мы разрослись — ну, не Мы конкретно, а фирма в головном офисе, где я работаю: личным помощником Шефа, IT менеджером, системным администратором (только, что на баяне не играю), тут вам и юридическая компания, и пара ресторанов, и строительная компания, и железнодорожные грузоперевозки.

Соответственно начались проблемы с обменом файлами между головным офисом и дочерними фирмами, и чтобы экономить время себе любимому (лень тот еще двигатель прогресса), я решил внедрить общий документооборот, и не просто документооборот, а что бы огого!

Поискав и почитав статьи "Большое файловое хранилище для маленькой такой компании" и "Идеальное хранилище документов", я понял, что простого решения нет…

ТЗ

А ведь мне хотелось бы чего-нибудь:

  • Дешёвого – Кризис, однако! (еще не наступил, но звериный оскал был уже виден)
  • Универсального
  • И если надо, то прикрутить еще чего-нибудь по-быстрому и…
  • Удобного
  • И чтобы не только веб интерфейс
  • И быстрый поиск

В общем, если бы я озвучивал все свои хотелки, я бы задохнулся… Не буду лукавить, в Головном офисе у меня был развернут документооборот, но он стоил нехилых денег, и удовлетворял всего одному требованию – Удобство, но как шаблон основной идеи он у меня был перед глазами.

Итого платформу выбрал SharePoint 2013 Foundation:

  • Дешево — нужна только лицензия SQL, сам продукт бесплатный
  • Универсально – понятно, что портальное решение не только закроет потребность в обмене файлами, но и даст возможность реализовать практически любую задачу совместной работы распределенных офисов, ну и при необходимости есть куда расти.

А вот остальные хотелки я собирался закрыть:

  • Удобство — чтобы всегда можно было определить с какого источника и какая версия файла у меня открыта. И чтобы быстро объяснить коллективу бухгалтеров как этим пользоваться. (Да-да мы все еще воюем (тут должен был быть смайлик))
  • Интеграция с офисом — чтобы пользователь для сохранения, открытия, поиска файла делал минимальное количество действий
  • Быстрый поиск
  • Удаленное подключение, и возможность работы из дома.

Так же нужно было закрыть недостатки платформы SharePoint:

  • Невозможность хранения файла с одним и тем же именем (файл просто перезаписывается как версия)
  • Практически нереально работать с файлом, если к Библиотеке Документов добавить дополнительные поля
  • Скорость работы

И общие вопросы документооборота: у каждого департамента свои задачи, файлы и типы документов, иногда нужно залезть в документы соседнего департамента и быстро там найти нужное.

Решение

«Если бы губы Никанора Ивановича да приставить к носу Ивана Кузьмича...»
*- Из пьесы «Женитьба» Н. В. Гоголя (1809—1852), слова невесты Агафьи Тихоновны

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

Проблему хранения файлов SharePoint — решить автоматически создаваемой иерархией папок на основе фиксированных списков, что сразу добавляло атрибутов к документу для дальнейшего поиска — и в этот момент случилось практически чудо. Оказалось, что для всех департаментов, филиалов, дочерних фирм подходит трехуровневая структура хранения файлов, если представить работу департамента как работу над проектами.

Получается такая каталожная структура:

  • Проект
  • ПодПроект (относится, фильтруется по Проекту)
  • Тип Документа

На SharePoint это выглядело так:

image

При этом каждый проект/подпроект/тип документа получил собственный код, для каждой компании разработали собственную систему кодировки, и эту же кодовую систему перенесли в 1С – что, в общем, упростило в будущем реализацию системы отчетов. Решить проблемы скорости — кешированием справочников, списков документов, настроек.

Реализация

Первым делом сделал проводник документов для SharePoint, с основным расположением элементов интерфейса как в Outlook, левая часть — навигация, список с файлами и описание файла.

Навигация

«Последние редактируемые документы» — отображает последние 30 документов за последние 30 дней.
«Шаблоны» — фильтрует документы по типу Шаблон, к примеру, бланки организации, шаблоны писем или отчетов.
Также пришлось реализовать возможность просмотра Библиотеки как в проводнике (особо одарённые никак не могли понять, как пользоваться фильтрами для поиска документов).

Дополнения

Номер документа — ID файла Библиотеки.
Все остальные поля – lookup к справочникам.
Короткое имя Библиотеки – каждая Библиотека обозначается коротким кодом, который потом используется в имени файла.
Версионность – мне не нравилось, что SharePoint делает каждый раз при сохранении версию документа, я переделал алгоритм сохранения документа, где версионность стала управляемой, т.е. версия документа создается с возможностью комментирования, когда это нужно, или, когда документ приходит из внешнего источника.

Главный интерфейс

image

Поиск

Поиск реализован на CAML-запросах, и позволяет производить поиск по множеству полей за раз, последние пять запросов сохраняются. Так же были сделаны фильтры приложений.

Карточка поиска и результат

image

Сохранение документа

image

Чтобы сохранить документ в систему, теперь нужно дать имя документу и заполнить три поля. Так же можно дать описание документу и ограничить доступ к нему. Для удобства работы предусмотрен импорт документа или папки.

И все это интегрировано с Microsoft Office 2010/2013/2016. Теперь при работе с документом в имени присутствуют: короткое имя Библиотеки, номер документа и версии. Эта интеграция позволяет работать с документооборотом, не выходя из привычного интерфейса.

image

<р4>Печеньки
В общем, что вкусного мы получили:

  • Дешево – даже дешевле чем планировали, т.к. решение оказалось очень гибким, при этом быстрым. Скорость работы позволила подключить некоторые удаленные офисы к нашему центральному порталу, что позволило сэкономить на паре Window/SQL лицензий. А где нужно было, разворачивали свой внутренний портал.
  • Универсальность — закрыли потребности общего файлового хранилища для всех департаментов и дочерних фирм.
  • И если надо, то прикрутить еще чего-нибудь по-быстрому и… — кто-то добавил себе полей на списки проектов/подпроеков — получили CRM решение департамента, кто-то добавил дополнительных (необязательных) полей на Библиотеку документов для отслеживания исполнения договоров и т.д.
  • Удобство — пользователю не нужно задумываться, куда сохранить файл, главное — дать осмысленное имя документа. А централизованное именование/заполнение справочников проектов/подпроектов минимизирует ошибки сотрудников, такие как неправильное размещения файла, создание папок и т.п.
  • И чтобы не только веб интерфейс – размер дистрибутива около двух мегабайт. Пользователи, которые активно работают из дома, просто устанавливают его на домашнем компьютере, это же касается мобильных пользователей. Для подключения к системе нужно только знать URL рабочего портала, все остальные настройки будут загружены. Через SSL протокол работает веб интерфейс SharePoint и программа, поэтому проблем с удаленным подключением пока не замечено.
  • Быстрый поиск – дополнительные атрибуты документа позволяют искать документы быстро, с большой эффективностью выхода результата. Полнотекстовый поиск SharePoint закрывает все остальные запросы.

Пример – как поменялась работа финансового департамента и HR

Мы создали одну Библиотеку Документов для финансового и HR департамента, и удаленно подключили всех бухгалтеров из дочерних фирм. Ограничили доступ на определенные папки.

Теперь, когда HR департамент сохраняет документ, относящийся к личному делу сотрудника, он заполняет (для примера):

  • Имя файла: Договор с сотрудником Ивановым — 2016 год

Выбирает из списков:

  • Проект – Сотрудники Компании 1
  • ПодПроект – ФИО Сотрудника
  • Тип документа — Договор

Или табель рабочего времени:

  • Имя файла: Табель учета рабочего времени – январь 2016

Выбирает из списков:

  • Проект – Рестораны
  • ПодПроект – Имя ресторана
  • Тип документа – Табель учета рабочего времени

Бухгалтер ресторана сохраняет отчет об ежедневной выручке:

  • Имя файла: cache report 05012016

Выбирает из списков:

  • Проект – Рестораны
  • ПодПроект – Имя ресторана
  • Тип документа – Cache Report

И главное каждый выбрал себе собственный стиль работы: кто-то работает напрямую с Библиотекой Документов, кто-то сохраняет файлы локально на компьютере, а в конце дня импортирует ее в документооборот. Главный бухгалтер настроила автоматическую сводку по изменениям в определенных папках.

И вот – все счастливы, документы хранятся централизованно, прозрачны для всех у кого есть доступ, при изменении шаблонов документов или отчетности, их нужно изменить в одном месте, при необходимости создаются отчеты.
Также программу оценил Юридический департамент – основной генератор документов.

Заключение

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

У нас все прошло под девизом: «Агркх» – давайте же наконец наведем порядок с файлами, и я пойду на тренировку.

Программу отдаю совершенно бесплатно, ее можно скачать по адресу:

Скачать
Презентация

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

Автор: Aickis

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js