Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Загрузка изображений номенклатуры в базу
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Пользователю 1С 8.3, 8.2, 8.1, 8.0 > 1С Управление торговлей 8 > Управление торговлей для Украины редакция 2 (Управление торговлей для России редакция 10)
Fabri
Доброго времени суток ув. форумчане. Итересует такой вопрос:
Имеется конфа УТ 2.3, номеклатуры в базе примерно 8000+

В перспективе планируется создание инет.магазиа на битриксе. Собственно вопрос, если загрузить изображения к каждой номенклатуре
200-300 кб. каждое, не будет ли база тупить? Так как и щас уже размер базы около 1.2 Гб, есть сомения стоит ли загружать в базу изображения или лучьше ручками залить на сервак, вырузить csv файлик и добавить для каждой номенклатур ссылку на фото.

И выружаются ли фото номенклатуры из 1с на сайт (на битриксе)? Просто клиент стоит перед выбором, взять webasyst shop-script (который дешевле битрикса, но фото выружать нет возможности), либо взять битрикс?
Ardi
На битриксе картинки выгружается.

Можно создать тестовый сайт/магазин
необходимо зарегистрироваться для просмотра ссылки
Fabri
Я скачал демо дистрибутив малый бизнес, залил на денвер, проинсталил, в 1с настроил обмен данных с веб-сайтом, поставил флажек - полная выгрузка, и вылетает ошибка:
Изменения товаров не зарегистрированы. Выгрузка товаров не произведена.
Может проблема конфы,"Управление торговлей для Украины", редакция 2.3.
Разработка конфигурации: "ABBYY Ukraine", 2003-2008 (2.3.2.6)
Версия старая, ещё не обновлял.

Ardi
Поставить в 1с галку "Полная выгрузка".
Fabri
Цитата(Ardi @ 26.10.12, 15:01) необходимо зарегистрироваться для просмотра ссылки
Поставить в 1с галку "Полная выгрузка".


внимательно прочитайте предыдущий пост smile.gif

Да и это не важно, это другой вопрос.
Я прошу подсказать, если заливать фоты в базу 1с не начнет ли она дольше обрабатывать информацию (т.е. тупить)?
Так как клиент желает чтобы ему дописать отчет с печатной формой - каталог продукции с фото.
logist
Цитата(Fabri @ 26.10.12, 15:06) необходимо зарегистрироваться для просмотра ссылки
Я прошу подсказать, если заливать фоты в базу 1с не начнет ли она дольше обрабатывать информацию (т.е. тупить)?

Возьмите копию базы, набросайте обработку которая загонет одну и ту же картинку в 8000 элементов справочника номенклатуры - и проведите исследование нагрузки. Буду благодарен если разместите тут отчет об этом.
Fabri
Ок, на следующей неделе сообщу результат.
zay
Стоит ли хранить изображения номенклатуры непосредственно в базе ?
Я считаю что хранить изображения номенклатуры надо просто в каком-то защищенном каталоге, а в базе держать только ссылки на файлы. И не потому что база "начнет тупить". Насколько я знаю, большие бинарные объекты (например картинки) SQL-Server физически хранит в отдельных таблицах. Поэтому скорость выполнения запросов из таблиц, где есть картинки, не должна существенно изменится после загрузки картинок.
Проблема в другом. Если картинки будут получены сканированием - то пользаватели обычно особо не заморачиваются установкой параметров сканирования или сжатия полученых изображений. Вместо 200-300 кб вы можете легко получить 8000+ изображений на 20 Мб каждое. У меня так пользователи за две недели увеличили одну из баз с 600 Мб до 4 Гб, начав сканировать и сохранять в базе документы. В срочном порядке пришлось менять Microsoft SQL-EXPRESS (ограничение база до 4 Гб).
Fabri
Создал общую форму для заполения фото каждой номенклатуре, но столкнулся с ошибкой:

Процедура Кнопка1Нажатие(Элемент)

    Запрос = Новый Запрос;
    Запрос.Текст =
        "ВЫБРАТЬ
        |    Номенклатура.Ссылка,
        |    Номенклатура.Код
        |ИЗ
        |    Справочник.Номенклатура КАК Номенклатура
        |ГДЕ
        |    Номенклатура.ЭтоГруппа = ЛОЖЬ";

    Результат = Запрос.Выполнить();

    ВыборкаДетальныеЗаписи = Результат.Выбрать();


    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Номенклатура = Справочники.Номенклатура.Выбрать(,ВыборкаДетальныеЗаписи.Ссылка);
        Выборка = Номенклатура.ПолучитьОбъект(); //Тут выскакивает ошибка
        Выборка.ОсновноеИзображение = ЗарузитьИзображение(Выборка.Ссылка);
        Выборка.Записать();
    КонецЦикла;

КонецПроцедуры

Функция ЗарузитьИзображение(ОбъектВладелец)
ВыбранноеИзображение = Новый Картинка("c:\foto.jpg", Ложь);

НовыйОбъект = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент();
НовыйОбъект.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение;
НовыйОбъект.Хранилище = Новый ХранилищеЗначения(ВыбранноеИзображение, Новый СжатиеДанных);
НовыйОбъект.Объект = ОбъектВладелец;
НовыйОбъект.Записать();

Возврат НовыйОбъект.Ссылка;

КонецФункции


Ошибка: {ОбщаяФорма.ЗаполенениеФото(21)}: Ошибка при вызове метода контекста (ПолучитьОбъект)
Выборка = Номенклатура.ПолучитьОбъект();
по причине:
Элемент не выбран!

Поставил точку останова на Выборка = Номенклатура.ПолучитьОбъект();, переменная Номенклатура получает значение.
В чем может быть проблема?

Vofka
Оёёшеньки. faceoff.gif

Такой цикл сделайте:

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Выборка = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
        Выборка.ОсновноеИзображение = ЗарузитьИзображение(Выборка.Ссылка);
        Выборка.Записать();
    КонецЦикла;
Ardi
   Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
        Номенклатура = ВыборкаДетальныеЗаписи.Ссылка.ПолучитьОбъект();
        Номенклатура .ОсновноеИзображение = .............;
        Номенклатура .Записать();
    КонецЦикла;
Fabri
Итак отчет о времени выполнения запросов на платформе 1С:Предприятие 8.2 (8.2.16.352)
Конфигурация: "Управление торговлей для Украины", редакция 2.3. Разработка конфигурации: "ABBYY Ukraine", 2003-2008 (2.3.2.6)
в базах данных с фото для номенклатуры и без фото.

Режим: Файловый

Конфигурация ПК (Ноутбук Asus X80L):
Проц.: Intel Pentium T2390 - 1.86 Ghz
ОЗУ: 2 Gb DDR2
Винт: 160 Gb SATA150 Seagate Momentus 5400 rpm 8Mb


База без фото:
Общий размер - 1 213 180 Кб
Количество записей номенклатуры - 10381
Количество фото для номенклатуры - 0

База с фото:
Общий размер - 2 914 420 Кб
Количество записей номенклатуры - 10381
Количество фото для номенклатуры - 10381

Размер загружаемого фото для каждой номенклатуры - 167 Кб (разрешение 800х600)

Показатели производителности:

1. Отчет - Ведомости по товарам на складах (время открытия):

База с фото - 13,86 сек.
База без фото - 11,41 сек.

2. Отчет - Анализ продаж (с 01.01.2012 по 30.09.2012):

База с фото - 8,34 сек.
База без фото - 7,68 сек.

3. Отчет - Ведомость по взаиморасчетам с контрагентами (за все время):

База с фото - 2,07 сек.
База без фото - 1,66 сек.

4. Отчет - Анализ (закупок за все время):

База с фото - 4,87 сек.
База без фото - 4,85 сек.

5. Отчет - Рапорт руководителю:

База с фото - 8,15 сек.
База без фото - 7,34 сек.


Итог:

Как видим с результатов замера производительности, после загрузки изображений для номенклатуры, производительность
ощутимо не снизилась и заметного "торможения" при работе с базой не наблюдалось.
Думаю при работе базы в серверном режиме (т.е. на сервере) разница в производительности базы с фото и без фото была бы ещё заметно меньшей.
Ardi
А теперь делаем полную выгрузку номенклатуры с фото в магазин на реальном хостинге.

rulez.gif
Fabri
Я б с радостью, но почему-то полная выгрузка не работает, я писал об этом в статье выше.
А обновить не получается, клиент коробочку от 1с загубил, а сам подписку на ИТ не имею, чтоб загрузить обовы с сайта.
Ardi
А в файл выгружает?
Fabri
Нет, аналогично. Ошибка: Изменения товаров не зарегистрированы. Выгрузка товаров не произведена.


 ! 

Правила, п.18
 
Vofka
По-моему, мы отходим от изначальной темы. Я ж так понимаю изначальный вопрос решен? Значит тема закрывается.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.