Загрузка картинки

1. Sorrov 18.07.07 20:08 Сейчас в теме
Привет программеры!
Скажите пожалуйста, если не затруднит:
Как мне загрузить картинку? Т.е. пользователь может выбрать путь картинки и она экспортируется в поле картинки.
Посмотрите скрин: http://kursach.tom.ru/uploads/1184772282_untitled1.jpg

Спасибо.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Очкарито 18.07.07 21:31 Сейчас в теме
ЭлементыФормы.<ИмяЭлементаФормыКартинка>.Картинка= Новый Картинка(ПолноеИмяФайла);
3. Sorrov 19.07.07 13:23 Сейчас в теме
Не, мне просто нужно, чтобы пользователь сам мог загружать картинку
Выбирать путь к картинке и она экспортируется в поле для картинки (и сохраняется)
4. Очкарито 19.07.07 22:02 Сейчас в теме
mamma mia! поюзай ДиалогВыбоаФайла, получи ПолноеИмяФайла, отобрази на форме, сохрани в ХранилищеЗначений
5. azernot 781 20.07.07 10:46 Сейчас в теме

Процедура ИмяФайлаНачалоВыбора(Элемент, СтандартнаяОбработка)

ДиалогФыбораФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогФыбораФайла.Фильтр = "Файл-образ документа (*.tif)|*.tif";
ДиалогФыбораФайла.Заголовок = "Выберите файл-образ документа";
ДиалогФыбораФайла.ПредварительныйПросмотр = Ложь;
ДиалогФыбораФайла.Расширение = "tif";
ДиалогФыбораФайла.ИндексФильтра = 0;
ДиалогФыбораФайла.ПолноеИмяФайла = Элемент.Значение;
ДиалогФыбораФайла.ПроверятьСуществованиеФайла = Ложь;

Если ДиалогФыбораФайла.Выбрать() Тогда
Элемент.Значение = ДиалогФыбораФайла.ПолноеИмяФайла;
ИмяФайлаПриИзменении(Элемент);
КонецЕсли;
КонецПроцедуры

Процедура ИмяФайлаПриИзменении(Элемент)
Если ЗначениеНеЗаполнено(Элемент.Значение) Тогда
ФайлОбраз = "";
Возврат;
КонецЕсли;
ФайлНаДиске = Новый Файл(Элемент.Значение);
Если Не ФайлНаДиске.Существует() Тогда
Предупреждение("Не найден файл!");
Возврат;
КонецЕсли;

Картинка = Новый Картинка(Элемент.Значение);
ЭлементыФормы.Картинка.Картинка = Картинка;
Сжатие = Новый СжатиеДанных(6);
ХранилищеКартинки = Новый ХранилищеЗначения(Картинка, Сжатие);
ФайлОбраз = ХранилищеКартинки;
КонецПроцедуры
6. poppy 23.07.07 14:31 Сейчас в теме
7. vasilykushnir 63 23.07.07 14:42 Сейчас в теме
Даа, Поппи, если Очкарито и Азернот выложили на тарелочке решение, то ты вообще разжевала и в рот положила... Но не об этом речь: напиши кто-нибудь человеку "кури документацию" - уверен, что обиделся бы.... Да еще обвинил в заносчивости... Жаль, что нельзя оценивать ответы в форуме - всем троим влепил бы по еденице (с плюсом впереди...).
8. poppy 23.07.07 15:24 Сейчас в теме
VasilyKushnir Написал:
-------------------------------------------------------
> напиши кто-нибудь человеку "кури документацию" - уверен, что
> обиделся бы.... Да еще обвинил в заносчивости...

Правильнее написать RTFM и (или) STFW. И это не повод для обид и обвинений.
Так ведут себя только беспредельщики (в смысле обижаются, обвиняют и огрызаются).
9. vasilykushnir 63 23.07.07 15:51 Сейчас в теме
poppy Написал:
-------------------------------------------------------

> Правильнее написать RTFM и (или) STFW. И это не
> повод для обид и обвинений.
> Так ведут себя только беспредельщики (в смысле
> обижаются, обвиняют и огрызаются).
>
> ______________________________________
> Самая короткая дорога - та, которую знаешь.

RTFM - refer to fucking manual (втрое в том же духе). Я правильно понял транскрипцию? Честно скажу -улыбнуло. 5 баллов. Первая приятность за весь этот сумашедший день... Подняла настроение.
См. http://infostart.ru/articles/157/ - в знак благодарности (хотя в 8-ке ни бум-бум).
10. poppy 23.07.07 16:39 Сейчас в теме
VasilyKushnir Написал:
-------------------------------------------------------
> RTFM - refer to fucking manual (втрое в том же
> духе). Я правильно понял транскрипцию?

В целом = правльно. Read The F...ing Manual и Search The F...ing Web.
Хотя, "кури документацию", тоже красиво, но как то не по хакерски.

> См. - в знак благодарности (хотя в 8-ке ни
> бум-бум).

Большой респект.

11. vasilykushnir 63 23.07.07 17:31 Сейчас в теме
12. Sorrov 23.07.07 21:36 Сейчас в теме
Ну дк кто-нибудь скажет все - таки как сделать, чтоб картинка при загрузке сохранялась?
13. poppy 23.07.07 21:44 Сейчас в теме
Sorrov Написал:
-------------------------------------------------------
> Ну дк кто-нибудь скажет все - таки как сделать,
> чтоб картинка при загрузке сохранялась?

Что конкретно у тебя не получается?
14. Sorrov 23.07.07 22:50 Сейчас в теме
poppy Написал:
-------------------------------------------------------
> Sorrov Написал:
> --------------------------------------------------
> -----
> > Ну дк кто-нибудь скажет все - таки как
> сделать,
> > чтоб картинка при загрузке сохранялась?
>
> Что конкретно у тебя не получается?

У меня на форме картинка загружается, все ок.
Но она не сохраняется.
Я так думаю нужно ченить вписать в "ПриОткрытии()" вот только что?
Может кто сказать.

Пробовал вписывать вот это:
Картинка = РегистрСведенийМенеджерЗаписи.Изображение.Получить();
Если Картинка <> Неопределено Тогда
ЭлементыФормы.Картинка = Картинка;
КонецЕсли;
Выкидывает ошибку мол переменная не определена: РегистрСведенийМенеджерЗаписи.Изображение.Получить();
15. poppy 24.07.07 00:08 Сейчас в теме
2 Sorrov

Где ты хранишь (хочешь хранить) картинку?

Это можно сделать в реквизите справочника или в регистре сведений.
16. anpilogov 24.07.07 07:48 Сейчас в теме
это все делал в справочнике номенклатура, для отбражения картинки номенклатуры.

1) создай реквизит Изображение с типом данных ХранилищеЗначений
2) в форме размести картинку с именем Миниатюра

Эта кнопка загружает картинку
Процедура Кнопка1Нажатие(Элемент)
// Вставить содержимое обработчика.
// Вставить содержимое обработчика.
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие);
ДиалогОткрытияФайла.ПолноеИмяФайла="";
ДиалогОткрытияФайла.Фильтр = "Текст(*,*)|*.*";
ДиалогОткрытияФайла.МножественныйВыбор=ложь;
ДиалогОткрытияФайла.Заголовок="Выберите файл с картинкой";
Если ДиалогОткрытияФайла.Выбрать() тогда
ВыбКартинка = Новый Картинка(ДиалогОткрытияФайла.ПолноеИмяФайла);
Изображение = Новый ХранилищеЗначения(ВыбКартинка);
КонецЕсли;

Фото = Изображение.Получить();
Если Фото <> Неопределено тогда
ЭлементыФормы.Миниатюра.Картинка = Фото;
КонецЕсли;

КонецПроцедуры

Эта кнопка стирает картинку
Процедура Кнопка2Нажатие(Элемент)

Режим = РежимДиалогаВопрос.ДаНет;
Ответ = Вопрос("Вы действительно хотите удалить картинку ?",
Режим,0,, "Удалить картинку ?");
Если Ответ = КодВозвратаДиалога.Да Тогда
ВыбКартинка = Новый Картинка;
Изображение = Новый ХранилищеЗначения(ВыбКартинка);

Фото = Изображение.Получить();
ЭлементыФормы.Миниатюра.Картинка = Фото;
Иначе
Возврат;
КонецЕсли;

КонецПроцедуры


Что непотно пиши, может ошибся !!!

С уважением Дмитрий.
17. Sorrov 24.07.07 17:04 Сейчас в теме
poppy Написал:
-------------------------------------------------------
> 2 Sorrov
>
> Где ты хранишь (хочешь хранить) картинку?
>
> Это можно сделать в реквизите справочника или в
> регистре сведений.
>
>
> ______________________________________
> Самая короткая дорога - та, которую знаешь.

Ну т.к. в регистре сведений конфигуратор ошибку выкидывает, тогда чучше в реквизите :)
18. Sorrov 24.07.07 17:27 Сейчас в теме
anpilogov, СПАСИБО все работает, вот только у меня все один и тот же вопрос, почему она не сохраняется? Я думаю, что что-то нужно написать в "ПриОткрытии". Вот только что? Помогите люди добрые.
19. anpilogov 24.07.07 17:43 Сейчас в теме
Процедура ПриОткрытии()


Фото = Изображение.Получить();
Если Фото <> Неопределено тогда
ЭлементыФормы.Миниатюра.Картинка = Фото;
КонецЕсли;
КонецПроцедуры
20. Sorrov 24.07.07 18:09 Сейчас в теме
anpilogov Написал:
-------------------------------------------------------
> Процедура ПриОткрытии()
>
>
> Фото = Изображение.Получить();
> Если Фото <> Неопределено тогда
> ЭлементыФормы.Миниатюра.Картинка = Фото;
> КонецЕсли;
> КонецПроцедуры

Спасибо, но azernot подказал уже что :

Процедура ПриОткрытии()
Картинка = Изображение.Получить();
ЭлементыФормы.Миниатюра.Картинка = Картинка;
КонецПроцедуры

Ему тоже большое спасибо!
21. poppy 24.07.07 18:13 Сейчас в теме
Не советую отказываться от условия

Если Фото <> Неопределено тогда

Потому что если картинки нет, то на строчке ЭлементыФормы.Миниатюра.Картинка = Фото; получишь ошибку.
22. azernot 781 24.07.07 19:24 Сейчас в теме
Осмелюсь добавить, что я про условие на непустое хранилище говорил. Но говорил не в коде ;)
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот