|
Подскажите по приведению типов | ☑ | ||
---|---|---|---|---|
0
LivingStar
18.04.13
✎
15:07
|
Хочу вывести изображение в СКД, на одной строке справа тип:
"Картинка" слева тип: "СправочникСсылка.НоменклатураПрисоединенныеФайлы" (на форме отображается загруженное изображение) | Ошибка при установке значения атрибута контекста (Картинка) ДокументРезультат.Рисунки[Индекс].Картинка = ЗначениеВыводимыхДанных; по причине: Несоответствие типов | Как загруженное изображение с формы справочника привести к типу Картинка? |
|||
1
LivingStar
18.04.13
✎
15:49
|
никто не знает?
|
|||
2
olegves
18.04.13
✎
15:56
|
(0) приведение типов - это немного другое - назначение типа для реквизита составного типа
|
|||
3
LivingStar
18.04.13
✎
15:58
|
(2) как мне быть в этой ситуации? как вывести картинку?
|
|||
4
olegves
18.04.13
✎
16:01
|
(3) должен быть реквизит с типом Поле картинки - туда и выводить файл картинки
|
|||
5
acsent
18.04.13
✎
16:03
|
какого типа ЗначениеВыводимыхДанных
|
|||
6
Miss1C
18.04.13
✎
16:05
|
У картинки и ЗначениеВыводимыхДанных - разные типы, тебе нужно привести их к одному типу
|
|||
7
LivingStar
18.04.13
✎
16:06
|
(6) я об этом и хочу узнать, как это сделать если это поможет
|
|||
8
LivingStar
18.04.13
✎
16:07
|
(5)
Это я сам задаю поле из запроса | Если ПолеРасшифровки.Поле = ПолеПоКоторомуНеобходимоПолучитьЗначение Тогда ЗначениеВыводимыхДанных = ПолеРасшифровки.Значение; Прервать; КонецЕсли; |
|||
9
LivingStar
18.04.13
✎
16:07
|
(8+)
| ПолеПоКоторомуНеобходимоПолучитьЗначение = "НоменклатураФайлКартинкиСсылка"; |
|||
10
Miss1C
18.04.13
✎
16:10
|
У тебя ЗначениеВыводимыхДанных с типом справочник ссылка, тогда у тебя в этом справочнике должен быть реквизит с типом хранилище значения, где хранятся все твои картинки, методом получить() получаешь из хранилища картинку и присваиваешь ее. ДокументРезультат.Рисунки[Индекс].Картинка = ЗначениеВыводимыхДанных.ХранилищеЗначения.Получить();
|
|||
11
LivingStar
18.04.13
✎
16:13
|
(10) Ок, сейчас попробую!!!!
|
|||
12
LivingStar
18.04.13
✎
16:18
|
пробую так
| Картинка = ЗначениеВыводимыхДанных.ФайлХранилище.Получить(); Если Картинка <> неопределено Тогда ДокументРезультат.Рисунки[Индекс].Картинка = ЗначениеВыводимыхДанных.ФайлХранилище.Получить(); КонецЕсли; | так как уже руганулось, там было значение "неопределено" |
|||
13
LivingStar
18.04.13
✎
16:21
|
выводится текст, название картинки
при нажатии на этом поле открывается окно с гиперссылкой но по ней ничего не открывается подскажите как за места текста выводить саму картинку что я не так делаю? |
|||
14
LivingStar
18.04.13
✎
16:24
|
делаю по подобию
| http://help1c.com/faq/view/1234.html | Если начинаю выводить ПолеКартинки то выводится значение %Картинка% в каждом поле. Изображение из номенклатуры так же не отображается ((( |
|||
15
Miss1C
18.04.13
✎
16:27
|
Картинку ты как получаешь? И запрос в студию)
|
|||
16
LivingStar
18.04.13
✎
16:29
|
по циклу в условие не заходит (((
| Картинка = ЗначениеВыводимыхДанных.ФайлХранилище.Получить(); Если Картинка <> неопределено Тогда ДокументРезультат.Рисунки[Индекс].Картинка = Картинка; КонецЕсли; | |
|||
17
LivingStar
18.04.13
✎
16:29
|
[jnz yfpdfybt jlyjq rfhnbyrb dsdjlbn
|
|||
18
LivingStar
18.04.13
✎
16:29
|
хотя название одной картинки выводит
| Запрос | ВЫБРАТЬ РАЗРЕШЕННЫЕ ТоварыНаСкладахОстаткиИОбороты.Номенклатура КАК Номенклатура, ТоварыНаСкладахОстаткиИОбороты.Характеристика КАК Характеристика, ТоварыНаСкладахОстаткиИОбороты.Серия, ТоварыНаСкладахОстаткиИОбороты.Склад КАК Склад, ТоварыНаСкладахОстаткиИОбороты.Помещение КАК Помещение, ВЫБОР КОГДА ТоварыНаСкладахОстаткиИОбороты.Регистратор = НЕОПРЕДЕЛЕНО ТОГДА NULL ИНАЧЕ ТоварыНаСкладахОстаткиИОбороты.Регистратор КОНЕЦ КАК Регистратор, ТоварыНаСкладахОстаткиИОбороты.ПериодСекунда КАК ПериодСекунда, ТоварыНаСкладахОстаткиИОбороты.ПериодДень КАК ПериодДень, ТоварыНаСкладахОстаткиИОбороты.ПериодНеделя КАК ПериодНеделя, ТоварыНаСкладахОстаткиИОбороты.ПериодДекада КАК ПериодДекада, ТоварыНаСкладахОстаткиИОбороты.ПериодМесяц КАК ПериодМесяц, ТоварыНаСкладахОстаткиИОбороты.ПериодКвартал КАК ПериодКвартал, ТоварыНаСкладахОстаткиИОбороты.ПериодГод КАК ПериодГод, ТоварыНаСкладахОстаткиИОбороты.ВНаличииКонечныйОстаток КАК КонечныйОстаток, ТоварыНаСкладахОстаткиИОбороты.ВНаличииОборот КАК Оборот, ТоварыНаСкладахОстаткиИОбороты.ВНаличииПриход КАК Приход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииРасход КАК Расход, ТоварыНаСкладахОстаткиИОбороты.ВНаличииНачальныйОстаток КАК НачальныйОстаток, ТоварыНаСкладахОстаткиИОбороты.Номенклатура.ФайлКартинки ИЗ РегистрНакопления.ТоварыНаСкладах.ОстаткиИОбороты(, , Авто, , ) КАК ТоварыНаСкладахОстаткиИОбороты |
|||
19
Miss1C
18.04.13
✎
16:31
|
(16) Ну давай еще и цикл
|
|||
20
LivingStar
18.04.13
✎
16:31
|
если картинка есть на форме, то должна же она быть доступна по
ЗначениеВыводимыхДанных.ФайлХранилище.Получить(); |
|||
21
LivingStar
18.04.13
✎
16:32
|
(19)
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) Картинка = неопределено; СтандартнаяОбработка = Ложь; ДокументРезультат.Очистить(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(Макет, , ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); //ПроцессорВывода.Вывести(ДокументРезультат); // 2013_04_18 -> ПолеПоКоторомуНеобходимоПолучитьЗначение = "НоменклатураФайлКартинки"; //ПолеПоКоторомуНеобходимоПолучитьЗначение = "НоменклатураФайлКартинкиТекстХранилище"; // 2013_04_18 <- ПроцессорВывода.НачатьВывод(); Пока истина Цикл ЭлементРезультата = ПроцессорКомпоновки.Следующий(); Если ЭлементРезультата = Неопределено Тогда прервать; КонецЕсли; ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); Если ЭлементРезультата.ЗначенияПараметров.Количество() > 0 Тогда ЗначениеВыводимыхДанных = Неопределено; Для каждого ЗначениеПараметра из ЭлементРезультата.ЗначенияПараметров Цикл Если ТипЗнч(ЗначениеПараметра.Значение) = Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда ПоляРасшифровки = ДанныеРасшифровки.Элементы[ЗначениеПараметра.Значение].ПолучитьПоля(); Для Каждого ПолеРасшифровки из ПоляРасшифровки Цикл Если ПолеРасшифровки.Поле = ПолеПоКоторомуНеобходимоПолучитьЗначение Тогда ЗначениеВыводимыхДанных = ПолеРасшифровки.Значение; Прервать; КонецЕсли; КонецЦикла; КонецЕсли; КонецЦикла; Если ЗначениеЗаполнено(ЗначениеВыводимыхДанных) Тогда Рис = ДокументРезультат.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); Рис.РазмерКартинки = РазмерКартинки.РеальныйРазмер; Индекс = ДокументРезультат.Рисунки.Индекс(Рис); // 2013_04_18 -> Картинка = ЗначениеВыводимыхДанных.ФайлХранилище.Получить(); Если Картинка <> неопределено Тогда ДокументРезультат.Рисунки[Индекс].Картинка = Картинка; КонецЕсли; //Если ЗначениеВыводимыхДанных.ЭтоГруппа Тогда // ДокументРезультат.Рисунки[Индекс].Картинка = БиблиотекаКартинок.ГруппаИЭлемент; //Иначе // ДокументРезультат.Рисунки[Индекс].Картинка = БиблиотекаКартинок.Сформировать; //КонецЕсли; // 2013_04_18 <- ВысотаТабДок = ДокументРезультат.ВысотаТаблицы; ОбластьДляКартинки = ДокументРезультат.НайтиТекст("%Картинка%"); Если ОбластьДляКартинки <> Неопределено Тогда ДокументРезультат.Рисунки[Индекс].Расположить(ОбластьДляКартинки); ОбластьДляКартинки.Текст = "%КартинкаДобавлена%" КонецЕсли; КонецЕсли; КонецЕсли; КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); КонецПроцедуры |
|||
22
Miss1C
18.04.13
✎
16:32
|
(20) В событиях картинки посмотри куда она записывается, если в хранилище, тогда должна быть
|
|||
23
Miss1C
18.04.13
✎
16:35
|
У тебя отладка доходит Картинка = ЗначениеВыводимыхДанных.ФайлХранилище.Получить(); ?
|
|||
24
LivingStar
18.04.13
✎
16:36
|
(23) доходит но там всегдая неопределено
|
|||
25
LivingStar
18.04.13
✎
16:39
|
записывается она в поле ФайлКартинки наверное
типа СправочникСсылка.НоменклатураПрисоединенныеФайлы у этого справочника есть поле ФайлХранилище типа ХранилищеЗначения данных, так же есть поле ТекстХранилище типа ХранилищеЗначения |
|||
26
LivingStar
18.04.13
✎
16:41
|
при открытии номенклатуры, вот такой адрес картинки
| Если Не Объект.ФайлКартинки.Пустая() Тогда АдресКартинки = НавигационнаяСсылкаКартинки(Объект.ФайлКартинки, УникальныйИдентификатор) Иначе АдресКартинки = ""; Конецесли; | "e1cib/tempstorage/ffb81830-17e9-480c-8ac2-89c6c38f62b9" |
|||
27
Miss1C
18.04.13
✎
16:42
|
(25) Реквизит или поле?
|
|||
28
LivingStar
18.04.13
✎
16:42
|
вот как она записывается
| Если ИмяСобытия = "Запись_ПрисоединенныйФайл" Тогда СсылкаНаФайл = ?(ТипЗнч(Источник) = Тип("Массив"), Источник[0], Источник); Если ВыборИзображения Тогда Объект.ФайлКартинки = СсылкаНаФайл; АдресКартинки = НавигационнаяСсылкаКартинки(Объект.ФайлКартинки, УникальныйИдентификатор); Модифицированность = Истина; ИначеЕсли ВыборФайлаОписания Тогда Объект.ФайлОписанияДляСайта = СсылкаНаФайл; ПутьКФайлуОписанию = СсылкаНаФайл; Модифицированность = Истина; КонецЕсли; КонецЕсли; КонецПроцедуры | (27) реквизит в смысле |
|||
29
LivingStar
18.04.13
✎
16:48
|
дошел до формы ПрисоединяемыйФайл, возможно в ней ещё как то записывается
|
|||
30
Miss1C
18.04.13
✎
16:51
|
Тебе с СправочникСсылка.НоменклатураПрисоединенныеФайлы Нужно вытянуть картинку?
|
|||
31
LivingStar
18.04.13
✎
16:54
|
УТ 11, справочник номенклатура, у него есть поле типа справочника номенклатура присоединенные файлы, есть отчет ведомость товаров на складах, я пытаюсь с выводом номенклатуры в отчет вывести и картинки! которые подгружены в справочник номенклатура, но пока вот не разобрался.
|
|||
32
LivingStar
18.04.13
✎
16:55
|
(30) видимо да
|
|||
33
LivingStar
18.04.13
✎
16:57
|
блин тупую ссылку выводит нза место картинки и все,
если в это условие не заходит, значит нет её в хранилище ((( | Картинка = ЗначениеВыводимыхДанных.ФайлХранилище.Получить(); Если Картинка <> неопределено Тогда ДокументРезультат.Рисунки[Индекс].Картинка = Картинка; КонецЕсли; |
|||
34
Miss1C
18.04.13
✎
17:00
|
(33) То есть Картинка это Справочник ссылка?
|
|||
35
LivingStar
18.04.13
✎
17:03
|
тип хранения ссылка стоит в информационной базе
|
|||
36
LivingStar
18.04.13
✎
17:04
|
(34) вы про эту? ДокументРезультат.Рисунки[Индекс].Картинка
это тип картинка, наверное это значение в вычисляемых полях СКД, как в http://help1c.com/faq/view/1234.html |
|||
37
LivingStar
18.04.13
✎
17:12
|
картинка имеется, но в ЗначениеВыводимыхДанных.ФайлХранилище.Получить() пусто, не пойму что делать, у элемента номенклатуры на форме она выводится
|
|||
38
LivingStar
18.04.13
✎
17:13
|
(37) а элемент сам картинки в ЗначениеВыводимыхДанных есть
|
|||
39
LivingStar
19.04.13
✎
10:48
|
Кто нибудь может подсказать как вывести картинку в отчет СКД, я не могу получить её из хранилища.
|
|||
40
LivingStar
19.04.13
✎
11:55
|
так делаю, тоже не получается
Картинка = ПолучитьИзВременногоХранилища( НавигационнаяСсылкаКартинки(ЗначениеВыводимыхДанных, Новый УникальныйИдентификатор)); Если Картинка <> неопределено Тогда ДокументРезультат.Рисунки[Индекс].Картинка = Картинка; КонецЕсли; |
|||
41
LivingStar
19.04.13
✎
12:00
|
подскажите кто знает !
|
|||
42
LivingStar
19.04.13
✎
12:33
|
up!
|
|||
43
LivingStar
19.04.13
✎
12:53
|
работающий вывод ДокументРезультат.Рисунки[Индекс].Картинка = БиблиотекаКартинок.BCGВопросы;
как получить картинку загруженную в номенклатуре что бы она была типа картинка? |
|||
44
LivingStar
19.04.13
✎
13:47
|
почему не вывел картинку?
Путь = Путь(); ОтносительныйПуть = ПолучитьИдентификаторОбъекта(ЗначениеВыводимыхДанных.ФайлКартинки.ВладелецФайла) + "\"; ИмяФайла = ЗначениеВыводимыхДанных.ФайлКартинки.Наименование + "." + ЗначениеВыводимыхДанных.ФайлКартинки.Расширение; ПолноеИмяФайлаНаКлиенте = Путь + ОтносительныйПуть + ИмяФайла; ИзображениеНаДиске = Новый Файл("C:\Users\admin\AppData\Roaming\1C\Файлы\УправлениеТорговлей\БОСС\0000000004\07A_thm.jpg"); Если ИзображениеНаДиске.Существует() Тогда Картинка = Новый Картинка (ПолноеИмяФайлаНаКлиенте); ДокументРезультат.Рисунки[Индекс].Картинка = Картинка; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |