Имя: Пароль:
1C
 
Картинки в УТ по ссылкам на файл
0 Nikart
 
17.05.10
11:47
УТ работает в файловом режиме. Нужно товарам поставить картинку. Не хотелось бы сохранять картинки в базе, а сохранять только пути к файлам и открывать картинку при открытии карточки товара.
С изображениями в 1С работать не приходилось, поэтому немного теряюсь в с реализацией задачи..
1 YHVVH
 
17.05.10
11:49
(0) запихни картинки в каталог куданибудь и называй их по коду товара, тогда и пути привязывать не надо будет.
2 Композитор
 
17.05.10
11:53
+(1) Путь лучше прописать. И при выборе картинки пользователем и сохранении в соответствующем реквизите пути к файлу пропиши автозамену имени исходного файла на имя, связанное как-то с артикулом или кодом.
3 Nikart
 
17.05.10
11:55
(1) И (2) хорошая идея
4 Nikart
 
18.05.10
09:42
Никак не соображу как сделать при открытии, чтобы отображалась картинка на карточке номенклатуры.

       мТекущееОсновноеИзображение = ОсновноеИзображение.Хранилище.Получить();
   
   
   ПоказыватьКартинку = "F:\Сайт\Дизайны\РПК ПРОМО\1.JPG";

   // Если сохраненного значения нет - режим показа картинки оставим по умолчанию.
   Если ПоказыватьКартинку <> Неопределено Тогда
       ЭлементыФормы.ДействияФормы.Кнопки.Изображение.Пометка = ПоказыватьКартинку;
   КонецЕсли;

   ПоказатьСпрятатьПанельОсновногоИзображения();

   ОбновитьДанные();
5 Nikart
 
18.05.10
09:54
ссылками по работе с изображениями в 1С может кто поделиться?
6 Nikart
 
18.05.10
11:10
даже никак не разберусь как вывести картинку при открытии карточки номенклатуры в миниатюру
7 agarych
 
18.05.10
11:13
Файл = Новый Файл(ИмяФайла);
   
Если Файл.Существует() Тогда
   ВыбранноеИзображение = Новый Картинка(ИмяФайла,Ложь);
   ЭлементыФормы.ПолеИзображения.Картинка = ВыбранноеИзображение;
КонецЕсли;
8 Nikart
 
18.05.10
11:35
(7) не открылось изображение.. может его как-то обновить надо
9 vasilii85
 
18.05.10
11:38
закладка
10 Nikart
 
18.05.10
11:41
(9) т.е.?
11 agarych
 
18.05.10
12:42
(8) а оно есть?
12 Nikart
 
18.05.10
12:53
(11) изображение есть.. вывел
ЭлементыФормы.ПанельОсновногоИзображения.Картинка = ВыбранноеИзображение;

а на
ЭлементыФормы.ОсновноеИзображение.Картинка = ВыбранноеИзображение;

не выводится
13 IronDemon
 
18.05.10
12:56
Процедура ФайлыПриАктивизацииСтроки(Элемент)
   
   ТекущаяСтрока = ЭлементыФормы.Файлы.ТекущиеДанные;
   
   Если ТекущаяСтрока<>Неопределено Тогда
        ТекущаяКартинка = Новый Картинка (ТекущаяСтрока.Путь);
   КонецЕсли;
   
   ЭлементыФормы.ПолеКартинки.Картинка = ТекущаяКартинка;
       
КонецПроцедуры
14 Nikart
 
18.05.10
12:59
(13)да вот на внешней обработке для примера получилось вывести.. почему в УТ не выводит в поле картинки с названием ОсновноеИзображение не понимаю
15 Cube
 
18.05.10
13:01
(14) А ты уверен, что после того, как ты картинку вывел, дальше в коде нет манипуляций с ней? Может там типовой код её вывести пытается, а изображение-то в базу не загружено...
16 hmmm
 
18.05.10
13:03
(15) а оно там пытается )))
17 Nikart
 
21.05.10
14:52
Получилось разобраться, всё работает идеально.. реализовал предложенный механизм в (1) и (2)... Вот только для полного счастья хотелось бы делать приведение картинок в формат jpg, если это не jpg, а также преобразование картинки к заданному размеру  автоматически.. получится ли сделать без внешних библиотек только средствами 1С?
18 IronDemon
 
21.05.10
14:54
19 Nikart
 
25.05.10
10:59
пользователи работают как в терминале, так и могут зайти просто непосредственно через свой компьютер. Думаю как сделать сохранение файлов, чтобы был универсальный путь. Пока был локальный пусть на экспериментальном компьютере, было всё замечательно. решил поменять на сетевой путь, теперь при вызове функции КопироватьФайл выдает сообщение "Ошибка доступа к файлу.....".
В чём может быть косяк?

       //переместим файл в каталог с ИБ
           ПутьКфайлу = ДиалогОткрытияФайла.ПолноеИмяФайла;
           ПутьДляКопирования = "\\Server\D\1CBase\Trade\img\" + Строка(ЭтотОБъект.Код) + Прав(ДиалогОткрытияФайла.ПолноеИмяФайла,4);
       
           //удалим файл-цель, если существует
           Если НайтиФайлы(ПутьДляКопирования) <> Неопределено Тогда
               УдалитьФайлы(ПутьДляКопирования);
           КонецЕсли;
       
           Если НайтиФайлы(ПутьКфайлу) <> Неопределено Тогда
               КопироватьФайл(ПутьКфайлу, ПутьДляКопирования);
           Иначе
               Сообщить("Сохранить файл не получилось! Ошибка при копировании.");
           КонецЕсли;
20 Nikart
 
25.05.10
11:11
(18) как в 1С вызвать команды для работы с этим приложением?
21 Nikart
 
25.05.10
11:34
c (19) разобрался.. ступил просто.. разрешения не стояли нужные на папку
22 Nikart
 
25.05.10
12:58
по поводу (18) кто-нибудь подскажет? а то не лады с английским немного и с использованием COM
23 Nikart
 
26.05.10
09:03
ап