В конфигурации «1С:Управление производственным предприятием» ред. 1.3 (УПП) пользователи часто сталкиваются с необходимостью прикреплять к документам и справочникам файлы большой массы (например, сканы договоров, спецификаций или первичных документов). При попытке вынести их хранение из базы данных на файловый сервер стандартная настройка томов часто не приносит ожидаемого результата.
Рассмотрим подробнее, почему так происходит, проанализируем архитектурные ограничения платформы и разберем проверенные способы решения этой задачи.
Выясним причину, по которой включение опций хранения файлов в томах не оказывает эффекта на обычные вложения. Причиной является архитектурное разграничение подсистем в 1С:УПП 1.3:
ХранилищеДополнительнойИнформации. Содержимое файлов сохраняется непосредственно в реквизит с типом ХранилищеЗначений. Это означает, что бинарные данные физически записываются в таблицы СУБД, увеличивая размер информационной базы.Настройка программы -> Электронные документы -> Хранить файлы в томах на диске распространяются исключительно на подсистему **Электронного документооборота (ЭДО)** (например, при обмене электронными счетами-фактурами или актами с контрагентами). Обычные сканы документов не относятся к подсистеме ЭДО, поэтому программа игнорирует данные константы при загрузке обычных вложений.Разберем основные варианты решения задачи по выгрузке файлов из базы данных на внешний диск или в сторонние системы.
Посмотрим на вариант с минимальной модификацией типового функционала. В этом случае мы изменяем структуру справочника ХранилищеДополнительнойИнформации и логику работы с ним:
ХранилищеЗначений очищается или не заполняется.Если требуется сохранить типовой справочник без изменений, создаем отдельный регистр сведений (например, ПрикрепленныеФайлыДокументов):
ОбъектСсылка (ссылка на документ УПП) и ИмяФайла.ПутьКФайлу (текстовая строка с UNC-путем) и ДатаЗагрузки.Наиболее масштабируемый и архитектурно правильный вариант — использование веб-сервиса интеграции DMService для связи 1С:УПП 1.3 с базой «1С:Документооборот»:
Проанализируем технические нюансы, которые необходимо учесть при настройке работы с внешними каталогами:
rphost). Пользователь ОС (например, USR1CV8), под которым запущена служба сервера 1С, должен иметь полные права (чтение, запись, изменение) на расшаренную сетевую папку.\\server\share\folder. Диски, подключенные под буквами (например, Z:\...) на пользовательских ПК, сервер 1С распознать не сможет./mnt/storage), а в программе указывается локальный POSIX-путь к смонтированной директории.