Подключение функционала БСП «Присоединенные файлы» к функционалу Диадок
Альтернативный вариант хранения файлов документов и подписей ЭДО Диадок на сетевом ресурсе.
- Описание
- Подробнее
Описание
Постановка задачи
После завершения основного этапа внедрения модуля Диадок в корпоративную систему принялись за оптимизацию модулей, в частности, вынести хранение файлов Диадок из СУБД в файловое хранилище, с использованием возможностей БСП.
Так же нам требовалось внедриться максимально аккуратно, чтобы иметь возможность максимально просто устанавливать обновления поставляемого модуля без риска поломать наш функционал.
Первым делом изучили штатный функционал. В обработке Диадока (на момент добавления функционала версия 4.10.6) есть настройка для хранения файлов документов и подписей на диске:
Но данная реализация нас не устроила т.к. нужно было вводить ещё один адрес хранения на сетевом ресурсе, осуществлять передачу нового ресурса системным администраторам для поддержки, организовать мероприятия, необходимые для корректной работы системы.
В своей работе уже используем функционал присоединенных файлов (версия БСП 2.3.3.66):
1. установлена настройка «хранить файлы в томах на диске»;
2. настроена работа с томом на сетевом диске: проверка на вирусы;
3. включен мониторинг объема занимаемых присоединённых файлов и контроль свободного места на диске;
4. штатный механизм очистки файлов для старых документов;
5. со временем планируется даже миграция файлов в облако (что БСПшным функционалом будет реализовать гораздо проще.
Реализация
За основу реализации задачи был взят механизм Диадок «Хранить файлы документов и подписей на диске» с небольшими дополнениями.
Можно выделить следующие доработки:
- Подключение подсистемы хранения вложенных файлов БСП
- Добавление настроек на форму НастройкиУправляемая;
- Сохранение значение настройки для использования в модулях;
- Изменение функций записи файлов на сетевой том;
- Изменение функция чтения файлов из сетевого тома;
Добавили механизм БСП «Присоединенные файлы» для справочника Диадок_Документы. Как это сделать подробно написано на сайте ИТС (инструкция для БСП версии 2.3).
Добавление опции хранения в присоединенных файлах
Далее уже правили обработку «КонтурЭДО». Тексты процедур и функций штатной обработки публиковать не буду, а только тот код, который сами добавляли.
Добавили настройку, которая переключает хранение файлов по нашему алгоритму. Для этого в обработке Диадок на форму «НастройкиУправляемая» добавили новый реквизит формы ХранитьДокументыВПрикрепленныхФайлах тип Булево.
И вынесли на форму рядом со штатной настройкой:
В обработчике события «При изменении» сохраняем значение нашего реквизита в настройках Диадок (был скопирован штатный код с небольшими правками):

