8.х Вопрос по справочнику Доп.Информация?

Тема в разделе "Общие вопросы "1С:Предприятие 8"", создана пользователем wary, 21 янв 2010.

  1. TopicStarter Overlay
    wary
    Offline

    wary Опытный в 1С

    Регистрация:
    5 авг 2009
    Сообщения:
    139
    Симпатии:
    1
    Баллы:
    26
    1CПредприятие 8,1
    УПП 1.2 (1.2.22.4)
    Добрый день!

    Есть справочник Дополнительная информация. В нем хранятся объекты. В каждом объекте хранятся прикрепленные файлы (doc, pdf, итд). Файлы прикрепляются постоянно, и размер базы соотв. от этого растет. Скажите есть ли возможность сделать что-то вроди ссылки на эти файлы, чтобы они не хранились в самой базе??????


    Заранее спасибо!
  2. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    конечно... )) Так и желательно делать чтоб сама база не росла...
    потом просто выполняете командаСистемы(ВашаСсылка) и будет открываться ну или как в стандарте))
  3. TopicStarter Overlay
    wary
    Offline

    wary Опытный в 1С

    Регистрация:
    5 авг 2009
    Сообщения:
    139
    Симпатии:
    1
    Баллы:
    26
    А не могли бы Вы поподробнее описать как это сделать? :)
  4. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    что именно?
    Убираете штатный механизм записи в хранилище...

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

    когда надо просмотреть
    делаете КомандаСистемы(СсылкаНаФайлИзСправочника) и он откроется в программе по умолчанию..
  5. TopicStarter Overlay
    wary
    Offline

    wary Опытный в 1С

    Регистрация:
    5 авг 2009
    Сообщения:
    139
    Симпатии:
    1
    Баллы:
    26
    Вы конечно меня извените, но ничего не понял.....

    Мне нужно сделать эти изменения в Конфигураторе???
    В модуле справочника???
    Или где?????


    Поясните пож. более детально...
  6. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    Под рукой нет УПП , только завтра , но на примере Ут...
    в ФормеЭлемента вашего справочника пощите что то типо этого
    Код:
    // Запишем в хранилище выбранный файл
    Попытка
    Если ВыбираемИзображение Тогда
    Хранилище = Новый ХранилищеЗначения(Новый Картинка(Диалог.ПолноеИмяФайла));
    Иначе
    Хранилище = Новый ХранилищеЗначения(Новый ДвоичныеДанные(Диалог.ПолноеИмяФайла), Новый СжатиеДанных());
    КонецЕсли;
    ВыбранныйФайл = Новый Файл(Диалог.ПолноеИмяФайла);
    ИмяФайла = ВыбранныйФайл.Имя;
    Исключение
    Предупреждение(ОписаниеОшибки());
    КонецПопытки;
    
    а для чтения
    Код:
    	Если Не ПроверитьДанныеХранилища(Истина) Тогда
    Возврат;
    КонецЕсли;
    
    Данные = Хранилище.Получить();
    Если ТипЗнч(Данные) = Тип("Картинка") Тогда
    УниверсальныеМеханизмы.ОткрытьФормуИзображения(ЭтаФорма, Ссылка, Неопределено);
    
    ИначеЕсли ТипЗнч(Данные) = Тип("ДвоичныеДанные") Тогда
    Если ПустаяСтрока(ИмяФайла) Тогда
    Предупреждение("Просьба заполнить имя и расширение файла");
    Возврат;
    КонецЕсли;
    
    УниверсальныеМеханизмы.ОткрытьФайлы(ТекущийЭлемент, глЗначениеПеременной("глТекущийПользователь"), ПолучитьСсылкуНаФайл(), Ложь);
    Иначе
    Предупреждение("Не верный тип данных: " + ТипЗнч(Данные));
    
    КонецЕсли;
    
    

    Тут поробовать так...
    Данные = Новый Файл(СсылкаНаФайл);
  7. TopicStarter Overlay
    wary
    Offline

    wary Опытный в 1С

    Регистрация:
    5 авг 2009
    Сообщения:
    139
    Симпатии:
    1
    Баллы:
    26
    Спасибо! Буду пробовать!
    Скажите а как можно реализовать следующее: каким-то образом из объектов в которых лежат файлы - выгрузить их, и вместо них оставить только ссылку на место куда выгрузили.

    ======
    Заранее спасибо!
  8. tirk
    Offline

    tirk Опытный в 1С

    Регистрация:
    1 сен 2008
    Сообщения:
    1.142
    Симпатии:
    0
    Баллы:
    26
    Да... можешь вручную)) а можешь обработку навоять...
    которая Хранилище.Получить()
    Файл = НовыйфАЙЛ(иМЯфАЙЛА);

    Файл.Записать();

    и тут тебе важно имяФайла... записть туда куда надо))

Поделиться этой страницей