|
УТ11: Выгрузка картинки номенклатуры в файл | ☑ | ||
---|---|---|---|---|
0
Manonegro
02.11.12
✎
13:41
|
Всем форумчанам физкульт-привет!
Прошу помощи по выгрузке изображения элемента номенклатуры в файл. Пишу: ПутьКартинки = Выборка.ФайлКартинки; Если ЗначениеЗаполнено(ПутьКартинки) Тогда Картинка = ПутьКартинки.ФайлХранилище.Получить(); Картинка.Записать(ПутьВыгрузки + "\Pictures\" + КодНоменклатуры + "." + ПутьКартинки.Расширение); КонецЕсли; И... что-то не выходит! Прошу по голове сразу не бить. |
|||
1
Heckfy
02.11.12
✎
13:42
|
Постав в отладчике точку останова перед
Картинка.Записать(ПутьВыгрузки + "\Pictures\" + КодНоменклатуры + "." + ПутьКартинки.Расширение); посмотри, что там у тебя на самом деле. |
|||
2
Нуф-Нуф
02.11.12
✎
13:43
|
а что не выходит?
|
|||
3
Wobland
02.11.12
✎
13:46
|
>И... что-то не выходит!
явно где-то не так |
|||
4
banco
02.11.12
✎
13:49
|
что такое ФайлКартинки?
|
|||
5
Manonegro
02.11.12
✎
14:07
|
ФайлКартинки - реквизит справочника Номенклатура с типом СправочникСсылка.НоменклатураПрисоединенныеФайлы
|
|||
6
Manonegro
02.11.12
✎
14:11
|
Поставил точку останова: Картинка - тип значения Неопределено.
|
|||
7
banco
02.11.12
✎
14:13
|
сама картинка храниться в регистре сведений ПрисоединенныеФайлы
|
|||
8
Manonegro
02.11.12
✎
14:14
|
И далее следует: Значение не является значением объектного типа (Записать).
|
|||
9
Manonegro
02.11.12
✎
14:15
|
(7)
А как её оттуда достать? |
|||
10
Wobland
02.11.12
✎
14:17
|
(9) тебе дать пример того, как я файл из РС на форме элемента справочника достаю или всё же от УТ лучше не отходить?
|
|||
11
Manonegro
02.11.12
✎
14:26
|
(10)
Лучше не отходить. |
|||
12
banco
02.11.12
✎
14:28
|
(9) или запросом или
Картинка =ПрисоединенныеФайлы.ПолучитьДанныеФайла(ФайлКартинки); |
|||
13
Manonegro
02.11.12
✎
14:36
|
(12)
Извините, а как в целом это должно выглядеть? |
|||
14
jump if overflow
02.11.12
✎
14:38
|
Подход какой то древний:
&НаКлиенте Процедура СохранитьНаДиск(Команда) Если Объект.Ссылка.Пустая() Тогда Предупреждение(НСтр("ru = 'Данные не записаны'", "ru")); Возврат; КонецЕсли; Если ПустаяСтрока(Объект.ИмяФайла) Тогда Предупреждение(НСтр("ru = 'Имя не задано'", "ru")); Возврат; КонецЕсли; Адрес = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ДанныеФайла"); ПолучитьФайл(Адрес, Объект.ИмяФайла, Истина); КонецПроцедуры |
|||
15
Manonegro
02.11.12
✎
14:46
|
(14)
Что сие? |
|||
16
Wobland
02.11.12
✎
14:46
|
(15) лекарство. подставь свою ссылку
Адрес = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ДанныеФайла"); ПолучитьФайл(Адрес, Объект.ИмяФайла, Истина); |
|||
17
Manonegro
02.11.12
✎
14:54
|
(16)
Извините, а можно на примере моего кода? Что-то ничего не могу понять. |
|||
18
Wobland
02.11.12
✎
14:55
|
(17) не, я УТ11 не протелепатирую..
|
|||
19
Manonegro
02.11.12
✎
14:56
|
(18) ссылку на что надо подставить и куда?
|
|||
20
Wobland
02.11.12
✎
14:58
|
(19) да.. у (14) объект, а у тебя в РС всё лежит. а что, типовая сама не умеет сохранять? посмотри, как сделано
|
|||
21
Manonegro
02.11.12
✎
15:04
|
Всё перепробовал, весь инет перелопатил, не получается никак. Помогите!
|
|||
22
banco
02.11.12
✎
15:27
|
ПутьКартинки = Выборка.ФайлКартинки;
Если ЗначениеЗаполнено(ПутьКартинки) Тогда Картинка = ПрисоединенныеФайлы.ПолучитьДанныеФайла(ФайлКартинки).Получить(); Картинка.Записать(ПутьВыгрузки + "\Pictures\" + КодНоменклатуры + "." + ПутьКартинки.Расширение); КонецЕсли; вот так поменяй у себя в коде и не мучайся и научись смотреть как в типовой делается |
|||
23
Manonegro
02.11.12
✎
15:42
|
(22)
ПолучитьДанныеФайла(ФайлКартинки) в смысле ПолучитьДанныеФайла(ПутьКартинки) ??? |
|||
24
Manonegro
02.11.12
✎
15:44
|
Если так, то
Метод объекта не обнаружен (Получить) |
|||
25
Manonegro
02.11.12
✎
15:49
|
(22) Я бы рад не париться, но не работает...
|
|||
26
Manonegro
02.11.12
✎
16:06
|
Уважаемые знатоки, опять телезрители победили?
|
|||
27
banco
02.11.12
✎
16:11
|
(24) сложно псомотреть что тебе возвращает функция ПрисоединенныеФайлы.ПолучитьДанныеФайла ?
|
|||
28
Manonegro
02.11.12
✎
16:12
|
ПутьКартинки.ФайлХранилище - тип ХранилищеЗначения. А как из этого хранилища выдернуть картинку? Если ПутьКартинки.ФайлХранилище.Получить(), то возвращает тип Неопределено.
|
|||
29
Manonegro
02.11.12
✎
16:14
|
(27) возвращает тип Неопределено.
|
|||
30
banco
02.11.12
✎
16:14
|
(28)ПутьКартинки.ФайлХранилище - Служебное поле для обмена файлами в РИБ? двоичные данные картинки храниться в регисте сведений ПрисоединенныеФайлы
|
|||
31
Manonegro
02.11.12
✎
16:16
|
Если быть точным,
ПрисоединенныеФайлы.ПолучитьДанныеФайла(ФайлКартинки) возвращает тип Неопределено |
|||
32
banco
02.11.12
✎
16:19
|
ПрисоединенныеФайлы.ПолучитьДанныеФайла возвращает структуру, в этой структуре есть поле СсылкаНаДвоичныеДанныеФайла
|
|||
33
Manonegro
02.11.12
✎
16:27
|
ПрисоединенныеФайлы.ПолучитьДанныеФайла(Выборка.ФайлКартинки) возвращает Неопределено. Хорошо бы структуру возвращал...
|
|||
34
Wobland
02.11.12
✎
16:28
|
(33) дай своё творение, мне лениво компилировать всё в кучу из всех постов
|
|||
35
Aprobator
02.11.12
✎
16:29
|
(0) как минимум из хранилища не файл получен.
|
|||
36
Manonegro
02.11.12
✎
16:34
|
ПутьКартинки = Выборка.ФайлКартинки;
Если ЗначениеЗаполнено(ПутьКартинки) Тогда Картинка = ПрисоединенныеФайлы.ПолучитьДанныеФайла(ПутьКартинки); Картинка.Записать(ПутьВыгрузки + "\Pictures\" + КодНоменклатуры + "." + ПутьКартинки.Расширение); КонецЕсли; |
|||
37
Wobland
02.11.12
✎
16:35
|
(36) ладно, пойду поем. вдруг дождусь
|
|||
38
Manonegro
02.11.12
✎
16:42
|
(37) да я в (36) все написал...
|
|||
39
Aprobator
02.11.12
✎
16:46
|
ПутьКартинки - путь к файлу?
|
|||
40
Aprobator
02.11.12
✎
16:49
|
Вообще у Картинка тип должен быть двоичные данные, имхо.
|
|||
41
Manonegro
02.11.12
✎
16:56
|
(39) ПутьКартинки = Номенклатура.ФайлКартинки (тип Ссылка на справочник НоменклатураПрисоединенныеФайлы)
|
|||
42
Aprobator
02.11.12
✎
16:57
|
тип значения Картинка?
|
|||
43
Manonegro
02.11.12
✎
16:59
|
нет
|
|||
44
Aprobator
02.11.12
✎
17:00
|
млин, какой тип значения переменной Картинка.
|
|||
45
Manonegro
02.11.12
✎
17:02
|
Неопределено
|
|||
46
Aprobator
02.11.12
✎
17:08
|
ну так все правильно - у неопределено нет метода Записать(). Ковыряй модуль получения данных файла картинки.
|
|||
47
Wobland
02.11.12
✎
17:19
|
(38) гляжу, ты уже должен был понять, что не всё ;)
|
|||
48
Manonegro
04.11.12
✎
13:07
|
Извиняюсь, отсутствовал.
Кто-нибудь выгружал картинки номенклатуры из УТ? Неужели никто не выгружал? |
|||
49
Wobland
04.11.12
✎
13:25
|
(48) скажем так, я на такое способен
|
|||
50
Manonegro
04.11.12
✎
14:04
|
ПутьКартинки = Выборка.ФайлКартинки;
Если ЗначениеЗаполнено(ПутьКартинки) Тогда Картинка = ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(ПутьКартинки); Картинка.Записать(КаталогКартинок + КодНоменклатуры + "." + ПутьКартинки.Расширение); КонецЕсли; Всем спасибо огромное! Вот так получилось. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |