Имя: Пароль:
1C
1С v8
Хранение файлов во внешних томах на диске. УПП 1.3
0 Kennitt
 
23.10.13
12:36
УПП 1.3
Добрый день, видел несколько обсуждений по данному вопросу, некоторые даже совсем недавно, но только так и не пришел ни к какому выводу. Перед тем как глубоко погружаться в вопрос, хочу выбрать правильный вектор.
1С утверждает, что с использованием БСП можно хранить файлы вовне.

Сейчас накатываю себе новую базу, чтобы с ней пошаманить.
Пока БСП не ставил, хочу узнать, нужно ли ?
Тут писали, что мол хранение файлов вовне в УПП не работает, только в УТ11 и, видимо, в ERP2.0 будет. Чтобы не тратить зря время, прошу вашего совета и мнения на сей счет. Стоит ли морочиться с БСП или сразу самому писать ?

Задача у меня простая - в ХранилищеДополнительнойИнформации поменять механизм сохранения в базе на сохранение на внешнем томе на диске.

Заодно! Если БСП отпадает, я так понимаю надо вместо хранилища значения писать путь к файлу ? Т.е.
Вместо
// Сохранить файл на диске
    ВнешнийФайл = Хранилище.Получить();
    Попытка
        ВнешнийФайл.Записать(ИмяВнешнегоФайла);
    Исключение
        Сообщить("Ошибка при сохранении файла: " + ОписаниеОшибки(), СтатусСообщения.Важное);
        Возврат;
    КонецПопытки;


Сделать
        ХранилищеДополнительнойИнформации.УсловныйПуть = ПутьУказанныйКФайлуВФорме
а при открытии

ЗапуститьПриложение(ХранилищеДополнительнойИнформации.УсловныйПуть = ПутьУказанныйКФайлуВФорме)

Так что ли ?

Заранее благодарен!
1 Dima2012
 
23.10.13
13:01
Ну к УПП 1.3 БСП точно не прикрутишь, этот механизм действительно начал применяться только с УТ 11. А поводу конкрентых реализаций рекомендую по инфостарту пошариться, там  были наработки на эту тему.
2 Kennitt
 
23.10.13
13:15
(1) Дело в том что на инфостарте находил только решения либо для управляемых форм, либо хранение на отдельной скульной базе, либо какие-то обработки и подсистемы. А я хочу перепелить механизм сохранения/открытия файлов в Хранилище дополнительнойИнформации, т.е. сделать так, чтобы все файлы сохраняемые в системе хранились не в Хранилище, а на диске. В хранилище лежит лишь ссылка на путь к файлу, который через ЗапуститьПриложение() открывается к примеру.
Но тут встает вопрос, каким образом отображать картинку в карточке номенклатуры(ну это один из примеров). Она ведь не лежит в базе, через ЗапуститьПриложение() тут не прокатит. Как можно отобразить ассоциированный файл, если у нас есть лишь путь к нему? При активизации номенклатуры или ее открытии получается нужно лезть на диск, копировать файл в базу, отображать, а потом удалять?
Не будут ли плюсы от переноса файлов во внешнее хранение перекрываться минусами в таких ситуациях?
3 Maxus43
 
23.10.13
13:26
>>Как можно отобразить ассоциированный файл, если у нас есть лишь путь к нему?

Синтаксис:
Новый Картинка(<ИмяФайла>, <ПрозрачныйФон>)
и всё, ничего удалять не надо, лезть на винт конечно надо, дак и если в базе хранится - тоже самое, подгрузиьт из БД надо
4 Kennitt
 
23.10.13
13:35
(3) За это спасибо, запамятовал
5 mzelensky
 
23.10.13
13:39
(0) я делал похожую фишку у себя в базе. Создал регистр, где хранил Объект (некий объект в базе: документ .справочник и т.д.) и прикрепленные файлы. Указываешь нужный файл ,он автоматически копируется в нужное место по определенным правилам, а в регистр заносятся данные: "путь", "имя".

И все. Универсально и просто. Можно открывать файлы, копироватЬ .удалять и т.д.
6 Dima2012
 
23.10.13
13:39
(2) Минусы то конечно будут. Целостность хранения данных, надежность и все-такое. Обычно эта задача возникает, когда общий объем картинок и вложений начинает занимать значительную часть от общ. размера базы. Чаще всего, это когда электронную почту внутри 1с ведут. Если же речь идет только о картинках в номенклатуре, может проще заморочиться чтобы эти картинки менеджеры сохраняли в компактном разрешении и размере.
7 Kennitt
 
23.10.13
14:41
(6) База заказчика содержит около 25 тысяч позиций(и постоянно пополняется)номенклатуры, к каждой добавляется минимум 4 картинки. За нормальное решение со второй СУБД платить не хотят, т.к. на этапе анализа мы не предложили и не учли по затратам. В итоге выходит, даже с божескими картинками по 200 кб, около 20 гигов + еще сертификаты и ексели с предзаказами они хранят.

Морочиться с разрешениями и размерами они не хотят, китайцы присылают картинки им в самых разных форматах и размерах, их не переучишь.

(5) Получается для добавления файла нужно было открывать именно регистр и вносить сведения туда ? Или ты допилил во все документы, справочники и тд форму добавления файла ? Любое решение всегда достаточно просто, пока пользователь не придумает несовместимые с работоспособностью и простотой требования :-)
8 Dima2012
 
23.10.13
15:07
(7) Понятно, учти еще момент с разграничением прав доступа к общему каталогу файлов. А то влезет какой-нить ушлый менеджер, решит что-нибудь вручную покопировать, потом фиг разгребешь.