Стандартный механизм 1С Бухгалтерия 8 дает возможность хранить данные изображений
«Непосредственно в базе» или на «В файлах на файловом сервере», вариант «Непосредственно в базе», увеличивает объем базы и уменьшает ее быстродействие, вариант «В файлах на файловом сервере» не
так тормозит базу, не требует особых знаний администратора БД, может быть реализован обычным пользователем, но когда файлов станет много – более 10 тыс в каждой папке такой объем медленнее обрабатывать, сложнее хранить, создавать бекапы. Вручную открыть папку с 10-12 тыс файлов может быть даже проблематично. Решением может быть автоматизация организации хранения файлов на отдельном сервере SQL и в отдельной базе.
Настройки
- Настройка на стороне SQL сервера
Чтобы создать базы необходимо иметь полномочия администратора SQL сервера
открываем Microsoft SQL Management Studio и выбираем New Query
File->Open выбираем скрипт CreateTable1CDatabaseFile
Устанавливаем параметр на какой год нужно создать базы, если у вас уже есть заполненная база документами с прикрепленными изображениями, то базы нужно создать за все года, которые вы хотите сбросить на SQL сервер,
Каждый год этот скрипт нужно выполнять для новой базы на каждый новый год.
Вот парамер который нужно менять для инициализации базы для каждого года:
SET @YEAR_DATA=2020
И нажимаем Execute , все действия по подготовке новой базы и прописыванию в нее хранимой процедуры скрипт выполнит автоматически.
Список программного обеспечения на котором выполнялась настройка системы хранения
SQL Server Management Studio 15.0.18206.0
Microsoft Analysis Services Client Tools 15.0.1567.0
Microsoft Data Access Components (MDAC) 10.0.18362.1
Microsoft MSXML 3.0 6.0
Microsoft Internet Explorer 9.11.18362.0
Microsoft .NET Framework 4.0.30319.42000
Operating System 10.0.18363
- Настройка на стороне 1С (Конфигуратор)
Открываем Конфигуратор, открываем конфигурацию-
Меню Конфигурация- Расширение Конфигурации
Нажимаем кнопку добавить – расширение
Назначение расширения – испрявление
Далее наводим на строку расширения – правую клавиши мыши -в открывшемся меню выбираем Конфигурация –> Загрузить конфигурацию из файла и выбираем конфигурацию расширения , находящуюся в комплекте поставки.
В расширении конфигурации выключаем флажки «Безопасный режим» и «Защита от опасных действий»
- Настройка на стороне 1С Режим Предприятие
Входим в режим Предприятие с правами администратора
Администрирование->Настройка работы с файлами -> переключаем на -> Во внешней базе SQL
Переходим в тома для хранения файлов
Добавляем новую строчку , выбираем флажок SQL сервер
В поля вводим название сервера SQL
что необходмо создать отдельные базы за все года хранения
Общее имя баз на сервере, тут важный момент база на сервере хранится по формату ОбщееИмяГГГГ где ГГГГ год к примеру: FIletables2020 , необходимо указать только Общее имя, необходимую базу с именем к примеру FIletables2020 программа найдет на сервере самостоятельно, в зависимости от даты документа, понимаем что нам нужны базы за все года документов к которым прикреплены изображения
Вот как выглядят базы хранения файлов и таблицы на сервере SQL
Аналогично заносим общее имя таблиц, заносим только общее имя, номер месяца и года программа найдет самостоятельно.
В данном случае как на картинке нужно указать только имя FileTable
Такой принцип системы хранения нужен для максимально более гибкого управления большими объемами данных, чтобы своевременно создавать бэкапы и при необходимости удалять ненужные данные.
Обработка перенос файлов на SQL
Для того чтобы перенести уже имеющиеся файлы(в базе или на дисках) прикрепленные к документам на SQL разработана обработка Перенос файлов на SQL , запустить ее можно из формы «настройки работы с файлами» или из меню Администрирование
Обработка имеет три режима работы
- Перенос файлов хранимых непосредственно в базе данных
Для старта процесса необходимо выбрать место хранения файла на SQL
- Удаление файлов (для уменьшения объема базы)
Удаление файлов производится только после того как вы убедитесь что файлы сброшены на SQL , во избежание потери данных.
- Перенос файлов, хранимых в каталогах на дисках на сервер SQL
В случае если файлы хранятся не в базе , а в каком то каталоге и они прикреплены к документам, то мы можем их перенести на сервер SQL
Для этого необходимо заполнить место хранения на SQL сервере и Том хранения файлов.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.157.32, 3.0.138.24, 3.0.112.34, 3.0.88.32, 3.0.87.28, 3.0.77.78