Имя: Пароль:
1C
1С v8
Добавление картинок к номенклатуре на УФ
0 Alekzander
 
08.12.12
19:03
Добрый вечер. Делаю обработку по загрузке прайса из Экселя с картинками, и встал вопрос - как проверить существование у позиции номенклатуры присоединённого файла, чтобы в случае отсутствия оного подгрузить из файла? Помогите плиз.
1 Alekzander
 
08.12.12
19:09
Например, наличие номенклатуры проверяется по артикулу:

Для Каждого Стр Из Объект.ТЧТовары Цикл
   Номенклатура = Справочники.Номенклатура.НайтиПоРеквизиту("Артикул",Стр.Артикул);
   Если НЕ ЗначениеЗаполнено(Номенклатура) Тогда
       ПоискИОбработкаНоменклатуры();
   КонецЕсли;

Где ПоискИОбработкаНоменклатуры собственно новую номенклатуру и создаёт. Но картинку мы не можем найти ни по реквизиту, ни по коду, и уж тем более ни по наименованию.
2 Jaap Vduul
 
08.12.12
19:11
ОсновноеИзображение?
3 Alekzander
 
08.12.12
19:18
(2) то есть проверить
Справочники.Номенклатура.ФайлКартинки на истину/ложь?
4 Alekzander
 
08.12.12
19:20
Вот ОсновноеИзображение что-то не нахожу в УТ-11, есть реквизит спр-ка Номенклатура ФайлКартинки
5 yuch
 
08.12.12
19:28
ФайлКартинки Єто ХранилищеЗначений?
Если єто так, значит:
Если ФайлКартинки.Получить() = Неопределено Тогда
//Там нисего нет
КонецЕсли
6 Alekzander
 
08.12.12
19:32
(5) Нет, ФайлКартинки не является хранилищем значений. Тогда может так прокатить?

   Картинка = Справочники.НоменклатураПрисоединенныеФайлы.ПолучитьСсылку();

Если Картинка = Неопределено Тогда
ЗаполнитьКартинку();
КонецЕсли;
7 Alekzander
 
08.12.12
21:05
Нет, пока никаких умных мыслей не приходит, может поможет кто?
8 Jaap Vduul
 
08.12.12
21:45
В УТ11
Если ФайлКартинки.Пустая() Тогда
9 Nexux
 
09.12.12
00:35
Справочник.НоменклатураПрисоединенныеФайлы не?
10 Alekzander
 
09.12.12
11:59
(9) сделал так:

   Картинка = Справочники.НоменклатураПрисоединенныеФайлы;
       
   Если Картинка.ПустаяСсылка() = Истина Тогда
       ЗаполнитьКартинку(Номенклатура, Картинка);
   КонецЕсли;

Всё равно что-то не так, ибо не добавляет картинку.
11 KUBIK
 
09.12.12
12:05
Может так:

   Картинка = Справочники.НоменклатураПрисоединенныеФайлы.СоздатьЭлемент();
       
//   Если Картинка.ПустаяСсылка() = Истина Тогда
       ЗаполнитьКартинку(Номенклатура, Картинка);
//   КонецЕсли;
12 Alekzander
 
09.12.12
12:19
(11) эмм... нет, не проходит так... вообще складывается ощущение, что обработка не замечает файл картинки
13 KUBIK
 
09.12.12
12:53
(12) Нет под рукой УТ11
Попробуй добавить: Картинка.Записать();

Вообще отладчик в руки и вперед
14 Alekzander
 
09.12.12
13:08
Что-то начало получаться, однако... Файл попадает в список присоединённых файлов, и его можно выбрать в качестве основного изображения, но он сразу не отображается в форме номенклатуры.
15 KUBIK
 
09.12.12
13:10
Надо картинку основной назначить
16 Alekzander
 
09.12.12
13:13
(15) Вот так?

   Номенклатура.ФайлКартинки = ОбъектСправочника.Ссылка;
17 Wobland
 
09.12.12
13:14
(16) ФайлКартинки ж строка, не? кто-то недавно воевал тут с картинками. попробую поискать
18 Alekzander
 
09.12.12
13:14
Ругается: Поле объекта недоступно для записи
19 Wobland
 
09.12.12
13:15
(18) в ссылку пишешь?
20 Alekzander
 
09.12.12
13:15
(17) я тут как-то воевал недельку назад с выводом картинок в прайс лист))))
21 Alekzander
 
09.12.12
13:16
(19) ааа.. Вот оно чё, Михалыч ©
22 KUBIK
 
09.12.12
13:16
(16) Посмотри как в типовой УТ сделано
23 Wobland
 
09.12.12
13:17
24 Alekzander
 
09.12.12
13:19
(23) даже не проходя по ссылке, скажу да))) Так, кстати, и не допетрил про ХранилищеЗначений, но это оказалось в итоге не так срочно, как обработка.
25 Wobland
 
09.12.12
13:22
(24) =новый картинка(какоетохз.получить())
26 Alekzander
 
09.12.12
13:22
Сколько с одиннадцатой ни разбирайся - всё равно что-то новое да вылазит, неизвестное, помню, с ВПФками корячился долго... сейчас вот с картинками)
27 Alekzander
 
09.12.12
13:25
(25) окей, там гляну попозже, сейчас главное с картинками номенклатуры довоевать, чтобы уж добить обработку.
28 Wobland
 
09.12.12
13:30
начало не читал, но сколько уже можно получать объект и присваивать ему ФайлКартинки?
29 KUBIK
 
09.12.12
13:32
Кури в сторону реквизита Номенклатуры: ОсновноеИзображение
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс