|   |   | 
| 
 | УТ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 | 
        ПутьКартинки = Выборка.ФайлКартинки;
  Если ЗначениеЗаполнено(ПутьКартинки) Тогда Картинка = ПрисоединенныеФайлы.ПолучитьДвоичныеДанныеФайла(ПутьКартинки); Картинка.Записать(КаталогКартинок + КодНоменклатуры + "." + ПутьКартинки.Расширение); КонецЕсли; Всем спасибо огромное! Вот так получилось. | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |