![]() |
|
пример по загрузке изображений в тч документа | ☑ | ||
---|---|---|---|---|
0
LivingStar
02.05.13
✎
14:13
|
Подскажите по коду: есть тч документа нужно сохранять в строках изображения и по наведению курсора на определенную строку показывать изображение. ожет у кого то есть что либо подобное?
|
|||
1
Wobland
02.05.13
✎
15:26
|
мда..
&НаКлиенте Процедура ФотоПриАктивизацииСтроки(Элемент) Если Элемент.ТекущиеДанные<>Неопределено Тогда АдресКартинки=ПолучитьНавигационнуюСсылку(Элемент.ТекущиеДанные.Фотография, "Фото"); КонецЕсли; КонецПроцедуры |
|||
2
LivingStar
02.05.13
✎
16:02
|
(1) ну так у вас ещё там что то наворочено
|
|||
3
Wobland
02.05.13
✎
16:13
|
тот же код при изменении. другого кода касательно (0) в модуле формы нет
|
|||
4
LivingStar
02.05.13
✎
17:32
|
(3) мне просто не понятна работа с картинкой, сейчас разбираю другой код
|
|||
5
LivingStar
02.05.13
✎
17:33
|
код работает но ничего не выводит (((
| &НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Автор = ПользователиИнформационнойБазы.ТекущийПользователь(); i = 0; Для Каждого Строка Из Объект.ФОТО Цикл Строка.АдресКартинки = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ФОТО.Картинка", i); i = i+1; КонецЦикла; КонецПроцедуры &НаКлиенте Процедура ОтветственныйПриИзменении(Элемент) Если Не Работающий() Тогда Сообщить("Вы выбради не работающего сотрудника!"); Отказ = Истина; КонецЕсли; КонецПроцедуры &НаСервере Функция Работающий() //_Ответственный = РеквизитФормыВЗначение("Ответственный"); //Если _Ответственный.Работает Тогда Если Объект.Ответственный.Работает Тогда Возврат Истина; Иначе Объект.Ответственный = Справочники.Пользователи.ПустаяСсылка(); Возврат Ложь; КонецЕсли; КонецФункции &НаКлиенте Процедура ФОТОПриАктивизацииСтроки(Элемент) Если Объект.ФОТО.Количество()>0 Тогда Объект.АдресКартинки = Элемент.ТекущиеДанные.АдресКартинки; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ФОТОКартинкаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) Перем ВыбранноеИмя,АдресВременногоХранилища; СтандартнаяОбработка = Ложь; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогОткрытияФайла.ПолноеИмяФайла = ""; ДиалогОткрытияФайла.Заголовок = "Выберите файлы изображений"; Если ДиалогОткрытияФайла.Выбрать() Тогда ИмяФайла = ДиалогОткрытияФайла.ПолноеИмяФайла; ТекущийЭлемент.ТекущиеДанные.Картинка = ИмяФайла; Если ПоместитьФайл(АдресВременногоХранилища, ИмяФайла, ВыбранноеИмя, Ложь, УникальныйИдентификатор) Тогда Изображение = АдресВременногоХранилища; ТекущийЭлемент.ТекущиеДанные.АдресКартинки = АдресВременногоХранилища; КонецЕсли; Модифицированность = Истина; КонецЕсли; КонецПроцедуры &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Для каждого Строка Из ТекущийОбъект.ФОТО Цикл Если ЭтоАдресВременногоХранилища(Строка.АдресКартинки) Тогда ДвоичныеДанные = ПолучитьИзВременногоХранилища(Строка.АдресКартинки); Строка.Картинка = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9)); КонецЕсли; КонецЦикла; КонецПроцедуры |
|||
6
Wobland
02.05.13
✎
17:39
|
беда..
|
|||
7
LivingStar
03.05.13
✎
09:30
|
подскажите по загрузке изображений?
вызываю диалог выбора изображения, куда потом нужно сохранять его? В УНФ используются и справочники и регистры для этого... можете подсказать по коду? |
|||
8
IamAlexy
03.05.13
✎
09:31
|
у меня такое есть.
в таблице заказа в каждой строке есть ссылка на объект к которому присоеденен файл картинки - сответственно клик на иконку открывает эту картинку объекта. собственно вот. работает без проблем |
|||
9
LivingStar
03.05.13
✎
09:50
|
(8) поделитесь как это у вас реализованно?
|
|||
10
LivingStar
03.05.13
✎
09:53
|
(8) видел на одной из веток вы показывали реализацию календаря, связанную с этой темой, если не ошибаюсь.
Я не давно бился с выводом картинки из номенклатуры в отчет СКД, в УТ, да и то выявил только что делать это можно с диска куда картинки сохраняются, из хранилища так и не получилось У вас есть какие нибудь доступные объяснения как картинку можно загрузить в тч, и вывести в определенное место на форме, ну или просто открыть? Сделать поняв как это работает можно как угодно, на данный момент мне просто не понятно как это реализовать, где хранить картинку((( |
|||
11
LivingStar
03.05.13
✎
09:54
|
(10+) Хочется понять саму суть работы с картинками, что бы уже сделать как нужно
|
|||
12
Wobland
03.05.13
✎
09:56
|
вот так я исследовал вопрос, когда писал это
v8: Картинка в УФ |
|||
13
LivingStar
03.05.13
✎
09:58
|
(12) Большое спасибо! Будет с чем поразбираться, не видел эту ветку !!!
|
|||
14
IamAlexy
03.05.13
✎
10:06
|
(9) в колонку выводится "истина" если есть картикна в объекте и "ложь" если картинки нет. По этому значению отображается иконка наличия картинки.
при клике на ТЧ определяется какая колонка активная и если в строке есть "Истина" в ячейке где обозначается наличие картинки - открывается форма отображения картинки. В форму передается ссылка на объект к которому привязана картинка и имя реквизита где лежит картинка (у меня это ия реквизита где лежит ссылка на справочник "Файлы") ну и далее берется актуальная версия картинки и отображается на форме. для пользователя это выглядит так: в форме заказа в некоторых строках отображается иконка о наличии картинки при клике на которую открывается картинка |
|||
15
LivingStar
03.05.13
✎
11:41
|
(14) мне нужно просто при активизации строки выводить картинку которая загружена в строке в поле на форме
|
|||
16
LivingStar
03.05.13
✎
11:42
|
(14) в процедуре начало выбора открывается диалог выбора картинки, я её выбираю, но не пойму куда сохранять, нужен справочник, да?
|
|||
17
LivingStar
03.05.13
✎
11:55
|
картинка в тч документа какого типа должна быть?
|
|||
18
LivingStar
03.05.13
✎
12:18
|
исследую пример http://infostart.ru/public/73821/
|
|||
19
Wobland
03.05.13
✎
12:23
|
я испорчен. в первых двух картинках мне мерещится невесть что
|
|||
20
LivingStar
03.05.13
✎
19:21
|
Почему когда я загружаю картинки, они появляются в поле, перемещаюсь по строкам они меняются!!! Но при повторном открытии они уже не отображаются (((( Картинки храню в строках документа!
|
|||
21
LivingStar
03.05.13
✎
19:22
|
// ОБРАБОТКА ИЗОБРАЖЕНИЙ
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) Автор = ПользователиИнформационнойБазы.ТекущийПользователь(); //АдресКартинки = Объект.ФОТО[0].АдресКартинки; АдресКартинки = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ФОТО.АдресКартинки",1);; //i = 0; //Для Каждого Строка Из Объект.ФОТО Цикл //Строка.АдресКартинки = ПолучитьНавигационнуюСсылку(Строка, "ФОТО.АдресКартинки", i); // Строка.АдресКартинки = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ФОТО.АдресКартинки", i); // i = i+1; //КонецЦикла; КонецПроцедуры &НаКлиенте Процедура ФОТОПриАктивизацииСтроки(Элемент) Если Объект.ФОТО.Количество()>0 Тогда АдресКартинки = Элемент.ТекущиеДанные.АдресКартинки; КонецЕсли; КонецПроцедуры &НаКлиенте Процедура ФОТОКартинкаНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка) Перем ВыбранноеИмя,АдресВременногоХранилища; СтандартнаяОбработка = Ложь; ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Открытие); ДиалогОткрытияФайла.ПолноеИмяФайла = ""; ДиалогОткрытияФайла.Заголовок = "Выберите файлы изображений"; Если ДиалогОткрытияФайла.Выбрать() Тогда ИмяФайла = ДиалогОткрытияФайла.ПолноеИмяФайла; // ТекущийЭлемент.ТекущиеДанные.ИмяФайла = ИмяФайла; ТекущийЭлемент.ТекущиеДанные.Картинка = ПолучитьНавигационнуюСсылку(Объект.Ссылка, "ФОТО.АдресКартинки",ТекущийЭлемент.ТекущиеДанные.НомерСтроки); // //ТекущийЭлемент.ТекущиеДанные.Картинка = ИмяФайла; Если ПоместитьФайл(АдресВременногоХранилища, ИмяФайла, ВыбранноеИмя, Ложь, УникальныйИдентификатор) Тогда //ЭтаФорма.Элементы.Изображение = АдресВременногоХранилища; ТекущийЭлемент.ТекущиеДанные.АдресКартинки = АдресВременногоХранилища; АдресКартинки = АдресВременногоХранилища; КонецЕсли; Модифицированность = Истина; КонецЕсли; КонецПроцедуры &НаСервере Процедура ПередЗаписьюНаСервере(Отказ, ТекущийОбъект, ПараметрыЗаписи) Для каждого Строка Из ТекущийОбъект.ФОТО Цикл Если ЭтоАдресВременногоХранилища(Строка.АдресКартинки) Тогда ДвоичныеДанные = ПолучитьИзВременногоХранилища(Строка.АдресКартинки); Строка.ХранилищеКартинки = Новый ХранилищеЗначения(ДвоичныеДанные, Новый СжатиеДанных(9)); КонецЕсли; КонецЦикла; КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |