Имя: Пароль:
1C
1С v8
хранение файлов во вне базы
,
0 dron4ikkk
 
03.07.14
14:17
Всем привет! Кто знает, в какой конфе реализовано прикрепление и хранение файлов в каталогах ОС? хранение в базе 1с не предлагать.
1 anatoly
 
03.07.14
14:18
не понятен смысл вопроса...
2 dron4ikkk
 
03.07.14
14:20
(1) напиши название конфигурации где реализовано хранение файлов на диске операционной системы, т.е. файлы не хранятся в самой 1с в хранилище значений
3 Йохохо
 
03.07.14
14:20
докумнтооборот
4 anatoly
 
03.07.14
14:21
(2) зачем??
5 vlandev
 
03.07.14
14:23
Емнип , этот функционал реализуется через БСП , и , соответственно , где прикручена БСП там оно должно быть.
6 dron4ikkk
 
04.07.14
10:32
на клиенте написал:

Процедура Прикрепить_файл(Команда)
    
    // Вызываем диалог выбора файла на диске
    Режим = РежимДиалогаВыбораФайла.Открытие;
    ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
    ДиалогОткрытияФайла.Заголовок = "Выберите файл";
    мойпуть="";
    Если ДиалогОткрытияФайла.Выбрать() Тогда
        ПутьКФайлу = ДиалогОткрытияФайла.ПолноеИмяФайла;
        // Получаем имя файла (без пути к нему)
         ПутьИИмя=ПутьКФайлу;
        ПозСлэш = Найти(ПутьИИмя,"\");
         Пока ПозСлэш > 0 Цикл
        
         ПутьИИмя = Сред(ПутьИИмя,ПозСлэш+1);
         ПозСлэш = Найти(ПутьИИмя,"\");
         КонецЦикла;
         Имя = ПутьИИмя;
        Объект.ИмяФайла = КаталогВременныхФайлов()+Имя;
    Иначе
        Текст = "ru = ""Файл не выбран!""; en = ""File not selected!""";
        Предупреждение(НСтр(Текст));
        Возврат;
    КонецЕсли;
    // До этого вызов диалога выбора файла и установка расширения браузера
    // Для веб-клиента
    #Если НЕ ВебКлиент Тогда
        // Получаем двоичные данные файла
        ДвоичныеДанные = Новый ДвоичныеДанные(ПутьКФайлу);
        
        // Передаем данные файла на сервер для записи в базу данных
        ПрикрепитьФайлСервер(ДвоичныеДанные);
        // Для тонкого клиента
    #Иначе
            
    #КонецЕсли
    
КонецПроцедуры


т.е. выбираем файл и вызываем серверную функцию:


Процедура ПрикрепитьФайлСервер(Данные, ЭтоВебКлиент = Ложь)
     Об = РеквизитФормыВЗначение("Объект");
    // Записываем двоичные данные в реквизит "Хранилище"
    Об.Хранилище = Новый ХранилищеЗначения(Данные);
    ФайлПутьНаДиске = Новый Файл(Об.ИмяФайла);
    Об.ИмяФайла = ФайлПутьНаДиске.Имя;
    Об.Записать();
    Модифицированность = Ложь;
    УдалитьФайлИзВременногоХранилища(АдресВременногоХранилища);
    ЗначениеВРеквизитФормы(Об, "Объект");        
КонецПроцедуры

проблема, не понимаю как теперь на сервер сохранить файл выбранный пользователем? Имя файла записал в реквизит, но что дальше?
7 dron4ikkk
 
04.07.14
10:48
на сервере лучше расшарить папку для хранения там фото?
8 vlandev
 
04.07.14
10:52
(7) В типовых требуется указывать шареную папку , типа \\SEEVR\FOLDER , но ничто не мешает записывать и в обычные папки.
9 Segate
 
04.07.14
10:53
та хосспаде, напиши сам, там делов на 4 часа
10 dron4ikkk
 
04.07.14
10:57
(8) а как синтаксически правильно написать?

использовать ПолучитьФайл()