IE2017

Перенос присоединенных файлов в тома

Администрирование - Сервисные утилиты

Обработка для переноса присоединенных файлов в тома.

Объем присоединенных файлов достиг 75% от объема БД. Резервное копирования и разворачивание БД для разработчиков стало занимать много времени. Принято решение перенести все присоединенные файлы в тома.

Обработка написана на основе типовой обработки "Перенос файлов в тома" конфигурации УТ 11.1.10.94.

Типовая обработка переносит файлы по справочнику «Версии файлов» из регистра сведений «Хранимые файлы версий», а предлагаемая по всем справочникам присоединенных файлов из регистра сведений «Присоединенные файлы». В обработке формируется текст запроса по метаданным, содержащим "Присоединенные файлы" в наименовании и типом хранения в информационной базе. По всем присоединенным файлам двоичные данные регистра сведений "Присоединенные файлы" переносятся в том.

 Версия платформы 8.3.5.1486. Сервер 1С x32 Linux Debian.

 Для настройки хранения

  1. Создать общий ресурс на файловом сервере. Например \\FILESERVER\SHARE\

  2. В 1С настроить работу с файлами. Меню Администрирование - Настройки работы с файлами — Включить параметр «Хранить файлы в томах на диске».

    В 

  3. Создать в 1С том для хранения файлов.
    Для сервера 1С под управлением Windows указать путь к общему ресурсу для хранения файлов. Для сервера под управлением Linux можно указать только локальный путь. Для этого нужно создать каталог на сервере 1С, в который будет монтироваться общий ресурс.

    mkdir /mnt/files/.

    И примонтировать к созданному каталогу общий ресурс:

    mount -t cifs -o username=
    DOMAIN\\USER,password=USER_PASSWORD,dir_mode=0777,file_mode=0777 //FILESERVER/SHARE/ /mnt/files/

    Указать для тома локальный путь /
    mnt/files/. Теперь все файлы будут храниться в томе на общем ресурсе

В обработке формируется текст запроса по метаданным, содержащим "ПрисоединенныеФайлы" в наименовании и типом хранения в информационной базе. По всем присоединенным файлам двоичные данные регистра сведений "Присоединенные файлы" переносятся в том.

Обработка запускалась на конфигурации УТ 11.1.10.94.

После выполнения обработки нужно выполнить shrink на MS SQL или vacuum на Postgresql. На файловой версии БД выполнить тестирование и исправление с включенным сжатием таблиц.

Скачать файлы

Наименование Файл Версия Размер
Перенос присоединенных файлов в том
.epf 7,15Kb
15.08.17
106
.epf 1 7,15Kb 106 Скачать

См. также

Комментарии
1. Сергей Михеев (Rezident495) 6 19.08.15 13:45 Сейчас в теме
2. Тарас Будько (BudkoT) 23.10.15 03:47 Сейчас в теме
Бяда...
{Форма.Форма.Форма(59)}: Метод объекта не обнаружен (ДобавитьФайлВТом)
СведенияОФайле = ФайловыеФункцииСлужебный.ДобавитьФайлВТом(ХранилищеФайла.Получить(), ОбрабатываемыйФайл.ДатаМодификацииУниверсальная,
3. Илья Паршин (parshin) 30 23.10.15 09:44 Сейчас в теме
(2) BudkoT,

Какая версия конфигурации?
4. Артём Рогов (ben_art) 12 21.12.15 15:34 Сейчас в теме
а после переноса ссылки в объектах останутся ?
5. Илья Паршин (parshin) 30 22.12.15 06:45 Сейчас в теме
(4) ben_art,
Ссылки не меняются. Ссылки в объектах на справочник "ПрисоединенныйФайлы", В тома переносится хранилище значения.
6. Артём Рогов (ben_art) 12 22.12.15 11:40 Сейчас в теме
ещё вопрос. где то в базе засели битые или потертые файлы и при переносе выскакивает окошко "невозможно обработать файл "-_trashes"
как этого избежать, может как-то пропускать этот файл или ещё чего нибудь ?
7. Илья Паршин (parshin) 30 23.12.15 09:59 Сейчас в теме
(6) ben_art,
Приведите весь текст ошибки, пожалуйста.
8. Артём Рогов (ben_art) 12 23.12.15 11:51 Сейчас в теме
вот скрин ошибки
Прикрепленные файлы:
9. Илья Паршин (parshin) 30 25.12.15 12:05 Сейчас в теме
(8) ben_art,
Корректно ли настроены права пользователя, от которого запущен сервер 1с или запущена файловая БД , на каталог где расположен том для хранения данных? На каких операционных системах развернут сервер 1с и файловый сервер?
10. Артём Рогов (ben_art) 12 25.12.15 15:11 Сейчас в теме
(9) parshin, ДА всё правильно, вернее уже правильно.
файлы побились давно , теперь их не удалить не перенести.
Вот и вопрос как в Вашей обработке можно игнорировать исключения записи ?
11. Илья Паршин (parshin) 30 28.12.15 12:17 Сейчас в теме
(10) ben_art,
В вызываемой функции ДобавитьФайлВТом есть обработка исключения в случае неудачи переноса файла в том. Должны перенестись все небитые файлы. Не могу понять что значит "Битые файлы". Как они появились? Можете написать строку кода где происходит ошибка?
12. Александр Забалуев (zabaluev) 318 28.12.15 14:25 Сейчас в теме
Исправил ошибку в данной функции и заработало в 1С Бухгалтерии 3.0.43
Я перенес часть кода в цикле создания запроса.


Процедура ПеренестиФайлыНаСервере(Оценка = Истина)

Запрос = Новый Запрос();
ТекстЗапроса = "ВЫБРАТЬ
| ВложенныйЗапрос.Ссылка
|ИЗ
| (";
Инд = 0;
КолСправочников = Метаданные.Справочники.Количество();
Для Каждого Спр Из Метаданные.Справочники Цикл
Инд = Инд + 1;


Если Найти(Спр.Имя, "ПрисоединенныеФайлы") > 0 Тогда

Если Инд > 1 Тогда
ТекстЗапроса = ТекстЗапроса + "
|
|ОБЪЕДИНИТЬ ВСЕ
|";
КонецЕсли;

ТекстЗапроса = ТекстЗапроса + "ВЫБРАТЬ
| " + Спр.Имя + ".Ссылка КАК Ссылка
|ИЗ
| Справочник." + Спр.Имя + " КАК " + Спр.Имя;
КонецЕсли;
КонецЦикла;
apd1c; ben_art; +2 Ответить 2
13. Артём Рогов (ben_art) 12 28.12.15 16:55 Сейчас в теме
(12) zabaluev, я уже исправил.
правда пришлось перенести процедуру из общего модуля в обработку
14. rasdag ххх (rasdag) 77 07.03.16 01:17 Сейчас в теме
Если в наименовании номенклатуры содержатся символы: "/" или "\" - то выдается ошибка
15. Xer shi (Xershi) 274 07.03.16 10:34 Сейчас в теме
(14) rasdag, в файле таких символов не должно быть, вот и ошибка.
16. rasdag ххх (rasdag) 77 07.03.16 13:41 Сейчас в теме
Это понятно что не должно быть, но по факту как видите бывает. Так же на такой символ ругается - "*". Неплохо бы дописать в код замену таких символов. А так на УТ 11.2 тоже полет нормальный.
17. Marina Sc (user689645_gb) 18.04.17 09:53 Сейчас в теме
Добрый день! Подскажите ,пожалуйста, как для файловой базы как перенести файлы в тома?
18. Marina Sc (user689645_gb) 18.04.17 20:17 Сейчас в теме
Добрый день!Купила обработку,сделала перенос файлов на том,все прошло,файлы появились в томе,но размер базы не уменьшился,с чем это может быть связано,пожалуйста,подскажите? Тестирование и исправление со всеми галочками делала несколько раз.База файловая.
19. Илья Паршин (parshin) 30 19.04.17 16:54 Сейчас в теме
(18)Добрый день! Как вариант попробовать выгрузить базу в DT, потом загрузить обратно.
20. Marina Sc (user689645_gb) 20.04.17 13:32 Сейчас в теме
(19) Добрый день!Не помогло,есть еще какие-то способы?Заранее благодарю.
21. Евгений (realEvgenius) 01.08.17 11:01 Сейчас в теме
Интересно, для комплексной 2.2. подойдет?
22. Илья Паршин (parshin) 30 02.08.17 08:33 Сейчас в теме
(21) К сожалению, у меня нет возможности проверить.
23. Евгений (realEvgenius) 03.08.17 11:38 Сейчас в теме
(22) Свою задачу я решил, обработку сам написал... Обсуждение тут https://forum.infostart.ru/forum105/topic167472/
Если хотите, могу Вашу проверить на конфе КА2.2. у меня есть копия базы напичканная картинками
24. Илья Паршин (parshin) 30 07.08.17 13:07 Сейчас в теме
(23) А проверьте, было бы неплохо.
25. Евгений (realEvgenius) 15.08.17 03:22 Сейчас в теме
(24) Не смог запустить ни в КА2.2, ни в УТ11. Исправил, как написано в (12). Стала открываться, но при запуске ошибка скуль - нет памяти, видимо запрос здоровенный получился или у меня реально база здоровенная ,много слишком мусора
26. Илья Паршин (parshin) 30 15.08.17 13:30 Сейчас в теме
(25) А в каком месте ошибка? При формировании запроса или при переносе файла? Может быть где-то присоединен особо крупный файл?
27. Евгений (realEvgenius) 15.08.17 16:44 Сейчас в теме
(26) При выполнении... Доооолго саабражает, вылетает с ошибкой скуль - не хватило памяти... Памяти на тестовом серваке 16 гб, в принципе - не много...
Оставьте свое сообщение