Вход | Регистрация


1С:Предприятие ::

Метки: 

v7: Хранение картинок, непосредственно в БД 1с 77

Я
   CepeLLlka
 
25.12.17 - 13:58
Добрый день. Необходимо реализовать хранение изображений в БД на платформе 1С 77.

Погуглив понял что вариантов решения много, решил спросить старожилов и гуру, совета, каким инструментом лучше воспользоваться, чтобы более быстро и корректно это всё работало?
 
 
   Злопчинский
 
Ведущий
1 - 25.12.17 - 13:59
Вотипрям стопудово именно в базе? Снаружи не устроит?
   vde69
 
2 - 25.12.17 - 14:10
binfile.dll

и учти, что в 7.7 ограничение на размер строк, более 4 метров не влезет
   CepeLLlka
 
3 - 25.12.17 - 14:12
(1)Не-а, надо именно в базе. Снаружи механизм есть, отработан, всё ок. Надо именно в базе, штатными средствами я так понял никак, поэтому вот и спрашиваю :)
   CepeLLlka
 
4 - 25.12.17 - 14:14
(2)Спасибо, сейчас погуглим
   Базис
 
5 - 25.12.17 - 14:47
Умные люди и в восьмёрке серверной часто снаружи держат, а ты семёрку хочешь ненужным нагрузить. На 90% задача неправильная.
   Aleksey
 
6 - 25.12.17 - 14:52
(5) ну может они проблему синхронизации картинок при использовании урбд хотят решить
   ADirks
 
7 - 25.12.17 - 14:56
Если нештатными, то можно использовать объект BinaryData (1С++). Например, как тут: http://www.1cpp.ru/forum/YaBB.pl?num=1280497111/5#5
   Базис
 
8 - 25.12.17 - 14:56
Даже если и РИБ - он не один в распределёнке работает. В новом тыщелетии пора уже синхронизацию каталогов освоить.
   CepeLLlka
 
9 - 25.12.17 - 14:59
(5)Большое спасибо, приму ваш комментарий во внимание. Очень рад, что вы проявили интерес к моей теме.

А вообще вот вам вопрос:

В 1С БП 3.0, к документам в базе можно прикреплять различные файлы и хранятся они в БД, а не в каталоге БД. Решение хранить файлы в базе принимали разработчики конфигурации. Верно ли было их решение, и как вы считаете, почему они решили эту задачу хранения документов в базе именно таким способом?
   D3O
 
10 - 25.12.17 - 15:03
(9) во всех типовых, а не только в БП, есть возможность прикрепления файлов. а вот варианты размещения - в базе или... в томах на диске ))
так что, кто ССЗБ тот так и будет делать.
 
 
   CepeLLlka
 
11 - 25.12.17 - 15:11
(10)Да, нашёл такую настройку :) Виноват, принимаю :)

Постараюсь донести до заказчиков, что лучше бы таки хранить не в базе, спасибо :)
   Базис
 
12 - 25.12.17 - 15:22
(9) Тут совершенно верно ответили в (10), кроме того - было немало случаев, когда разработчики типовых принимали (или получали) решение, забивающее на надёжность и удобство поддержки и эксплуатации. Так что воспринимать их поступки как подходящие для фикси-админов БД - необоснованный оптимизм.
   Aleksey
 
13 - 25.12.17 - 15:29
(11) Даже более не только на внешних томах но даже можно хранить прикрепленные файлы на яндекс диске
   vde69
 
14 - 25.12.17 - 15:50
мое ЛИЧНОЕ мнение по поводу хранения картинок в базе

если рост базы из-за картинок прогнозируем и устраивает на 5 лет вперед - то предпочтительно хранить в базе (например стоит ограничение 300кб на 1 файл, и файлов в день добавляется около сотни)

а вот если рост базы НЕ ПРОГНОЗИРУЕТСЯ - тогда только во внешнем хранилище
   Сияющий в темноте
 
15 - 25.12.17 - 16:54
семерошная база-это каталог,создайте в нем подкаталог images,а в нем пишите файлы картинок,вместо имени указывая код справочника,в котоом уже в базе будут жить все данные о картинке(наименование и разрешение)
   CepeLLlka
 
16 - 25.12.17 - 17:12
(15)А при выгрузке/загрузке всё сохранится? :)
   vde69
 
17 - 25.12.17 - 17:12
(16) нет
   vde69
 
18 - 25.12.17 - 17:13
(15) и оставить их доступными для шифровальщиков :)
   CepeLLlka
 
19 - 25.12.17 - 17:14
(18)Так файлы БД тоже никак не защищены от этого :)
   Вафель
 
20 - 25.12.17 - 17:16
(18) Архивы картинок однако тоже нужно делать
   vde69
 
21 - 25.12.17 - 17:18
(20) я буду шифровать по 10 файлов в день, через сколько времени ты поймешь, что в твоем бекапе больше половины картинок восстановить нельзя?
   vde69
 
22 - 25.12.17 - 17:18
(19) для SQL варианта - защищены
   Вафель
 
23 - 25.12.17 - 17:19
(21) Ты только 1 бэкап делаешь?
   CepeLLlka
 
24 - 25.12.17 - 17:21
В плане SQL, да, норм тема ваще. Работа через посредника с базой считай, ты его только спрашиваешь, а он уже сам читает базу и отвечает тебе.
   vde69
 
25 - 25.12.17 - 17:22
(23) я про то и говорю, если портить по чуть чуть - ты заметишь только через несколько месяцев...

по этому хранение всего вместе в едином виде куда более безопасно чем кусками
   vcv
 
26 - 25.12.17 - 19:41
Смотря, что за файлы, смотря какое количество...
Чем больше файлов и чем они меньше, тем выгоднее их хранить в базе. Я перевёл внешние файлы в базу, когда количество файлов размером порядка 5-10 килобайт стало измеряться сотнями тысяч. Сканы размером сотни килобайт остались внешними.
   Сияющий в темноте
 
27 - 25.12.17 - 21:08
Файлы картинок обычно не маленькие,так что в базе им будет тесно.
опять же,бекап можно делать только измененных и добавленных
   Z1
 
28 - 25.12.17 - 21:35
(0) Делал и как 2 и как 7
2 это скорее всего мой объект ну или у меня такой же.
Преимущество 2 храниться в документе или в справочнике и передается по УРБД
Преимущество 7  более грамотное решение.
Если картинок много и большой размер то 
делай как 7 и заведи отдельную sql бд и храни все там ( со ссылкой на iddoc ( это индекс )
вроде все
   Z1
 
29 - 25.12.17 - 21:39
(15) Когда будет картинок более 50 000 тормозить будет по черному. Минус этого решения что  на хвосты файлов
много места теряется и нет никакой логической целостности такого подхода.
но если файлов будет до 50 000 и надо очень  быстро развернуть
то только в этом случае так надо делать
   VladZ
 
30 - 26.12.17 - 04:17
Мое мнение: задача изначально неправильная. Ибо нефиг хранить в базе всякий лишний хлам.

(9) Это всего лишь пример того, как можно сделать. "Можно делать" и "нужно делать" - это разные вещи. Простой пример: можно ковыряться в ухе отверткой, но лучше так не делать.
   Aleksey
 
31 - 26.12.17 - 04:43
(16) сохраниться
   VladZ
 
32 - 26.12.17 - 05:20
(15) Я бы не стал привязываться к коду. Код может измениться. Есть внутренний идентификатор объекта. Он неизменен. Вот к нему можно привязаться. Т.е. полный путь для файла будет: Константа.КаталогХраненияФайлов \ ИдентификаторОбъектаВБазе \ имяФайла.
   Aleksey
 
33 - 26.12.17 - 05:27
(32) если базы "разные" например обмен по modу, то и id разные. короче нет универсального совета, нужно по месту смотреть
 
 
   Z1
 
34 - 26.12.17 - 08:21
(30) У нас сертификаты ( их изображения ) привызаны к прихбн.
для этого и был сделан bfile где то в 2001-2002 году.
И как ты будешь решать такую задачу при условии что база УРБД распределеная.
   nicesc
 
35 - 26.12.17 - 08:39
Картинки можно хранить на яндекс диске или т.п. сервисе. Бесплатные объемы около 30Гб (более чем достаточно). На точках так же ставится клиент, всё само синхронизируется. У меня так настроено у пары клиентов.
   Aleksey
 
36 - 26.12.17 - 08:46
(35) не всякий окажется ставить сомнительный авнософт на сервере.
Сами юзаем дроббокс. Для домашнего использования - классная вещь, но на сервере который работает 24/7 постоянные косяки с обновлением
   Z1
 
37 - 26.12.17 - 08:47
(35)в 20001 году этого не было.
Что будешь делать если интернет в филиале пропадет дня на три-четыре ?
   nicesc
 
38 - 26.12.17 - 10:14
(36) Ставить или не ставить это конечно субъективно. У меня работает пару лет. Есть нюансы, но они решаемы.

(37) Если интернета нет, то и обмен не будет работать. Какие тут обходные пути? Отправлять курьера с флэшкой?
   Сияющий в темноте
 
39 - 26.12.17 - 10:36
Если кому-то мешает много файлов в директории,то можно или по папкам раскладывать или обьединять несколько файлов в один,но если у вас нтфс,то там каталог в виде индексированного дерева и на скорость работы количество файлов сильно влиять не должно
   aka AMIGO
 
41 - 26.12.17 - 10:53
У нас инфа по номенклатуре, в т.ч. картинки, хранятся на одном из хардов серверной.
Ёмкость 73Гб.
Доступ к БД - Терминальный, 4 филиала в разных городах. Так что все видят одно и то-же.
В Справочнике "Товары" показывается фото.
Хранение (и показ) организованы через константу - "Постоянная часть пути к файлам", папка типа I:/RTFM
В папке содержатся подпапки с именами = коду Товара (ну, Номенклатуры, если так понятнее ТиС-овцам). В подпапках с кодами товаров содержится любая инфа, в основном это файлы с сертификатами *.pdf и фото, если оно нужно.
Т.о. в инете ничего не хранится, ибо что в инет попало - стало чужим.. Это на считая отрубов от инета.
В Справочнике есть реквизит "НазваниеПапки", в нём - полный путь к картинке. Если реквизит не пустой - в карточке товара показывается картинка/фото. Заполнение реквизита - по нажатию кнопки "Выбрать". Ниже - кн удалить фото.

https://i.paste.pics/97842675c0725d8192e08b2997f7e17f.png

Это я к тому, что вариантов много, все индивидуальны, в функции предпочтений предприятия.

Облако? - За ради Бога!..
   aka AMIGO
 
42 - 26.12.17 - 10:56
   Z1
 
43 - 26.12.17 - 11:39
(38) В УРБД работает передали сертификат один раз и все работает.
Т.е. клиент пришел и просит сертификат за  01.07.2017
нет интернета ничего дать не сможешь
в моем случае для выдачи переданного в филиал сертификата интернет не нужен
   Z1
 
44 - 26.12.17 - 11:41
(39) Можешь поверить влияет и сильно. не зависит  фат или нтфс
но хотите идти таким путем то идите.
опять же при большом количестве файл сбой по диску и получишь непредсказуемое состояние в этих файлах.
sql гарантирует целостность данных.
насколько важна целостность зависит от задачи.
   aka AMIGO
 
45 - 26.12.17 - 12:15
(44) Количество папок у нас - огромно, и при непосредственном просмотре тормозиииит.. Это - да, не отнять. Но непосредственно  на этом диске делать нечего, всё организовано обработками.
Но на работу БД не влияет, 9 лет с лишним менеджеров радуют фотки в карточках товара :)
   Kigo_Kigo
 
46 - 26.12.17 - 12:31
Если использовать УРБД, то есть такая программка УРБД мастер, у меня обменя через нее настроены, так вот там можно в выгрузки включить дополнительно файлы и каталоги, настрока -  что только новые или новые и измененые, при загрузке- указать куда его класть, швыряйте свои фотки из каталога сколько хотите
   Z1
 
47 - 26.12.17 - 13:59
(46) Ну может такой вариант и имеет право на жизнь при небольшом количестве филиалов и документов.
При больших объемах не уследишь за рассинхранизацией таких далнных.Здесь также разные механизмы разрешения
колизий а значит данные могут разъехаться.

У меня сертификаты хранятся в самом документе что гарантирует
соответсвие документа и самого сертификата(картинки сертификата)



Список тем форума
  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует