Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 2
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Подскажите внешнюю компоненту для работы с изображениями , Конфигурация УТ 2.3 для Украины          
Fabri Подменю пользователя
сообщение 27.03.14, 17:34
Сообщение #1

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0

Подскажите, возможно кто-то встречался. Нужно изменять размер изображения при выводе на печать. На макете объект Картинка, туда выводится основное изображение номенклатуры из базы , т.е.
ОбластьМакета.Рисунки.РисунокНоменклатуры.Картинка = Номенклатура.ОсновноеИзображение.Хранилище.Получить();

Все бы ничего, если б не одно НО. В макете выводятся не одно изображение, а 200-300, это каталог товаров. При сохранении данного каталога в pdf для пересылке клиентам
к примеру, получается что в поле картинки выводится все изображение, размером по 300-400 кб, и вместе все картинки создают нехилый такой pdf на 100-200 Мб, что вызывает неудобства.

Возможно кто-то встречал внешнюю компоненту, которая работает не только с файлами с диска, ато все которые перебирал работают только с файлами (изображениями) с диска, но никак не могут работать с получаемыми
Номенклатура.ОсновноеИзображение.Хранилище.Получить();

Заранее спасибо.

P.S. Конечно можно сохранять изображения номенклатуры во временную папку на диске, потом изменять и выводить в макет, потом удалять с диска изображение, но это приведет к медлительному процессу и фрагментации диска.

Ardi Подменю пользователя
сообщение 27.03.14, 17:51
Сообщение #2

Живет на форуме
***********
Гений телепатии и социального моделирования
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0

можно ж уменьшенные копии хранить в базе.
если отсутствует при печати - генерировать и добавлять в базу.
а при изменении основного изображения удалять автоматом.
--
А еще пдф принтеры умеют сжимать картинки в файле.

Сообщение отредактировал Ardi - 27.03.14, 17:52


Signature
Услуги 1С программиста 8.2, 7.7 (Плохо, дорого, очередь). Киев.

zetovich Подменю пользователя
сообщение 27.03.14, 18:30
Сообщение #3

Почти ветеран
Иконка группы
Группа: Местный
Сообщений: 718
Из: Северодонецк
Спасибо сказали: 121 раз
Рейтинг: 0

+ТС у меня наблюдается проблема когда количество картинок в документе > 1000. Картинки маленькие. Но на последних начинает выводить пустые картинки. Беда просто sad.gif

Fabri Подменю пользователя
сообщение 28.03.14, 7:41
Сообщение #4

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0

Цитата(Ardi @ 27.03.14, 17:51) *
можно ж уменьшенные копии хранить в базе.

В смысле паралельно основным? Основные у меня хранятся в разрешении 1024х768 так как выгружаются на сайт. Естественно размер 200-300 кб.
В базе около 17000 товаров и она и так весит уже более 3.5 Гб. Если я ещё начну миниатюры создавать для каждого изображения, то одно что база увеличится, так ещё
и "загадится" лишними миниатюрами и производительность упадет.

Vofka Подменю пользователя
сообщение 28.03.14, 8:58
Сообщение #5

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4521 раз
Рейтинг: 3644.1

Fabri, считается, можно сказать, стандартным решением, когда картинки хранятся не непосредственно в базе, а хранятся где-то отдельно в файловом хранилище. Это решает те проблемы, которые вы озвучиваете.

Сообщение отредактировал Vofka - 28.03.14, 10:02

Fabri Подменю пользователя
сообщение 28.03.14, 9:53
Сообщение #6

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0

Vofka, я это понимаю, но сейчас уже менять что-то не очень хочется...

onsamuy Подменю пользователя
сообщение 28.03.14, 11:34
Сообщение #7

Оратор
Иконка группы
Группа: Местный
Сообщений: 264
Спасибо сказали: 69 раз
Рейтинг: 0

На Вашем месте я бы все таки прислушался к советам Vofka...

Fabri Подменю пользователя
сообщение 28.03.14, 14:35
Сообщение #8

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0

Ок. В типовой конфигурации УТ 2.3 для Украины присоединенные файлы хранятся в базе данных. Если есть мануал, описание или другая информация по переносу прикрепленных файлов на диск, буду рад получить ссылку. Спасибо.
Самое главное чтобы это было "безболезненно" и в дальнейшем файлы выгружались с 1С на сайт и т.д.

Vofka Подменю пользователя
сообщение 28.03.14, 14:51
Сообщение #9

У нас здесь своя атмосфера...
***********
Группа: Основатель
Сообщений: 13955
Из: Киев
Спасибо сказали: 4521 раз
Рейтинг: 3644.1

Fabri, какой мануал? Пишете обработку, которая обходит справочник номенклатуры, смотрит есть ли там картинка, если есть - ложит её куда-то и из справочника удаляет. После этого (или перед этим) дорабатываете формы, где используется показ картинки, чтобы картинка бралась не из справочника, а откуда-то и показывалась. Вот это куда-то - это будет, например, какая-то константа в которой будет храниться путь каталогу картинок.

Fabri Подменю пользователя
сообщение 28.03.14, 14:57
Сообщение #10

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0

Это конечно не вопрос сделать, но вот если бы только переписать код на формах где выводятся изображения. Тут ещё прийдется и обработку ОбменССайтом менять, искать и т.д.
Хотя если канеш база начнет "тупить" до невозможности, то прийдется так сделать, а если чисто для того, что я писал выше, из-за чего начинал данную тему, то мне проще уже будет -
Цитата
P.S. Конечно можно сохранять изображения номенклатуры во временную папку на диске, потом изменять и выводить в макет, потом удалять с диска изображение.
.
Спасибо всем.

Fabri Подменю пользователя
сообщение 28.03.14, 16:30
Сообщение #11

Завсегдатай
Иконка группы
Группа: Местный
Сообщений: 188
Спасибо сказали: 55 раз
Рейтинг: 0

Если кому-то интересно, расскажу как решил данную задачу.
Для изменения размера изображения использовал ActiveX-библиотеку GflAx.
Получается немного через ж.., но все ж работает.
Код:
        Картинка = Новый Картинка;
        Картинка = ТекущаяСтрока.Номенклатура.ОсновноеИзображение.Хранилище.Получить();
        ИмяВременногоФайла = Строка("c:\temp\" + ТекущаяСтрока.Номенклатура.УникальныйИдентификатор() + ".jpg");
        Картинка.Записать(ИмяВременногоФайла);
        Объект = Новый COMОбъект("GFLAX.GFLAX");
        Объект.LoadBitmap(ИмяВременногоФайла);
        Объект.Resize(200,200);
        Объект.SaveBitmap(ИмяВременногоФайла);
        Картинка = Новый Картинка(ИмяВременногоФайла);
        УдалитьФайлы(ИмяВременногоФайла);

        ОбластьКаталога.Рисунки.Рисунок.Картинка = Картинка;


Сообщение отредактировал Fabri - 28.03.14, 16:30

Спасибо сказали: andreykyiv@bigmir.net, Vofka,

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 17.05.24, 16:55
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!