8.х Как хранится картинка

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем AlenkaInt, 28 фев 2014.

  1. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Здравствуйте. Есть задача, не хранить в базе картинки, а только ссылки на них. Я создала справочник, картинки сами сохраняю в РС.
    Код:
    МенеджерЗаписи=РегистрыСведений.Картинки.СоздатьМенеджерЗаписи();
        МенеджерЗаписи.Наименование = Ссылка;
        МенеджерЗаписи.Прочитать();   
        МенеджерЗаписи.Наименование = Ссылка;
        МенеджерЗаписи.Картинка = Новый ХранилищеЗначения(ЭлементыФормы.ПолеКартинки1.Картинка,Новый СжатиеДанных(6));
        МенеджерЗаписи.Записать();
    Только вот не понимаю, в каком виде сейчас хранятся картинки?
    Смотрю в отладчике тип МенеджерЗаписи.Картинка - Картинка. Получается я не решила задачу? Как сделать, чтобы хранилось в в ввиде ссылки, а не картинки.
    Спасибо.
  2. jonsony
    Offline

    jonsony Опытный в 1С Заблокирован

    Регистрация:
    16 апр 2009
    Сообщения:
    224
    Симпатии:
    25
    Баллы:
    29
    в конфигурации УТ там в настройках задаётся где хранить файлы, в базе или где то на диске
    upload_2014-3-1_9-50-37.png
  3. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Спасибо, это не УТ, а переписанная УПП. Есть РС(не типовой), где хранятся картинки в ХЗ, код выше это как раз запись в него. А потом из РС добавляю записи в справочник хранилище дополнительной информации. Так вот, к одной картинке может быть прикреплено несколько объектов и вообще очень много объектов с картинками. И чтобы занимало меньше места, попросили в справочнике хранилище дополнительной информации хранить ссылки.
  4. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    картинку хранить не в регистре, а в справочнике, а в регистре - ссылку на этот справочник
  5. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Вы имеете в ввиду справочник хранилище дополнительной информации? В этом справочнике точно надо хранить ссылки на изображения, потому что в этом и есть смысл, чтобы места меньше занимало. В типовой так и есть, в этом справочнике хранятся изображения, но просили изменить это. У меня реализовано не совсем только с помощью РС, у меня еще есть справочник Изображения. В регистре хранятся картинки, а с помощью справочника Изображения я в него записываю. А потом в справочнике хранилище дополнительной информации выбираю нужные изображения из справочника Изображения.
  6. jonsony
    Offline

    jonsony Опытный в 1С Заблокирован

    Регистрация:
    16 апр 2009
    Сообщения:
    224
    Симпатии:
    25
    Баллы:
    29
    увы, конфы УПП нету, но по идее там механиз должен быть такой же, можно в типовой глянуть
  7. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    закрутили неслабо :)
    достаточно в справочнике хранить картинки, не привязывая их к конкретной номенклатуре (реквизит Объект в Неопределено), а в регистре - уже делать связь.
  8. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    В каком справочнике хранить картинки? Мне нужно чтобы в справочнике хранилище дополнительной информации изображения были не в ввиде картинок, а ссылок. Я сделала, что туда записывается изображение, но не могу проверить в ввиде чего.
  9. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Я выяснила. Как я реализовала это не правильно. Добавила в типовой 15 картинок одинаковых. И в мой вариант тоже самое. Базы по размеру идентичные на выходе. Всем спасибо. Создам новую тему.
  10. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Что для Вас будет ссылкой?
    В данном случае ссылка для Вас это простая строка, т.е. все что Вам нужно хранить это строку - путь к картинке. Хранилище это бинарные данные, т.е. любые данные и посему для данной задачи не подходят.
    Когда мы храним строку мы всегда можем проверить есть ли по указанному пути (ссылке) нужный файл, если нет, то ссылка уже битая, если есть,читаем и загружаем. Вообще в 1С грузить картинки это есть маразм, т.к. они дописываются бинарными файлами к базе данных и это глупость от 1с.
  11. nickpugachev
    Offline

    nickpugachev Профессионал в 1С Команда форума

    Регистрация:
    28 май 2012
    Сообщения:
    3.266
    Симпатии:
    131
    Баллы:
    104
    с файловой - да, маразм. с серверной - зависит от размера. тот же filestream (это примерно аналог хранения картинок в файле) в sql server рекомендуется включать при среднем размере blob'а более 1Мб, иначе проще и быстрее прочитать 16 блоков страниц блоба, чем иметь лишний геморрой с файлами, безопасностью и резервным копированием
  12. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Mialord, я правильно вас поняла, что хранение изображений как ссылки это только хранить путь к файлу?
  13. mialord
    Offline

    mialord Модераторы Команда форума Модератор

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Вообще то это я у Вас спрашивал что Вы имеете ввиду, хранить в виде ссылки. Посмотрите решение 1С: Документооборот по хранению данных как в базе, так и в отдельных каталогах, так что пользователь даже и не догадывается о том что каждый раз файлы открываются с рабочих каталогов.
    AlenkaInt нравится это.
  14. TopicStarter Overlay
    AlenkaInt
    Offline

    AlenkaInt Опытный в 1С

    Регистрация:
    26 фев 2012
    Сообщения:
    1.008
    Симпатии:
    4
    Баллы:
    29
    Спасибо.

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