Имя: Пароль:
1C
1С v8
Вывести картинку в форму подчиненного справочника
0 logo23
 
05.06.13
16:53
Добрый день.
Два справочника, второй подчиненный. В первый вставляется картинка, вот так

&НаКлиенте
Процедура ДобавитьКартинку(Команда)

ИмяФайла = "";
ПутьФайла = "";
ПоместитьФайл(ПутьФайла, , ИмяФайла, Истина);
Картинка = ПутьФайла;
УстановитьКартинку();

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

&НаСервере
Процедура УстановитьКартинку()

НовыйФайлКартинки = Справочники.Файлы.СоздатьЭлемент();
НовыйФайлКартинки.Файл = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Картинка));
Картинка = ПоместитьВоВременноеХранилище(НовыйФайлКартинки.Файл.Получить());
НовыйФайлКартинки.Записать();
Объект.Картинка = НовыйФайлКартинки.Ссылка;

ПоместитьФайлОбъекта(Картинка)

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

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Картинка = ПолучитьНавигационнуюСсылку(Объект.Картинка, "Файл");

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

Есть еще справочник Файлы, в нем реквизит файл - ХранилищеЗначений.

Вопрос как сделать, чтобы в подчиненном(втором) справочнике открывалась картинка, загруженная в первый справочник? Реквизит с типом ХранилищеЗначений не пихнешь в форму. Дайте хотя бы направление куда копать, где читать.
8.2 Формы управляемые
1 zladenuw
 
05.06.13
17:04
(0) а кто тебе мешает получить рисунок через владельца ?
2 logo23
 
05.06.13
17:24
(1)  из хранилища значений?
3 zladenuw
 
05.06.13
17:25
(2)
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Картинка = ПолучитьНавигационнуюСсылку(Объект.Владелец.Картинка, "Файл");

КонецПроцедуры
4 logo23
 
05.06.13
17:40
(3) Переменная не определена (Объект)
   Картинка = ПолучитьНавигационнуюСсылку(<<?>>Объект.Картинка, "Файл"); (Проверка: Сервер)
5 zladenuw
 
05.06.13
17:42
(4) ну так в подчиненной форме какой основной
6 logo23
 
05.06.13
17:51
это в подчиненном справочнике такая ошибка, в форме списка. Код из основного в первом сообщении, он работает.
7 zladenuw
 
05.06.13
17:53
(6) а при чем тут форма списка ? ты куда хочешь вывести то ?
8 logo23
 
05.06.13
17:58
(7) В форму Списка подчиненного справочника, но разумеется не в список, а отдельным реквизитом формы
9 zladenuw
 
05.06.13
18:08
(8) а подумать ? не ?
как то так
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
   СписокПриАктивизацииСтрокиНаСервере(Элемент.ТекущаяСтрока);
КонецПроцедуры

&НаСервере
Процедура СписокПриАктивизацииСтрокиНаСервере(ТекущаяСтрока)
   Картинка = ПолучитьНавигационнуюСсылку(ТекущаяСтрока.Владелец.Картинка, "Файл");
     
КонецПроцедуры

Хотя могу и ошибаться.
10 zladenuw
 
05.06.13
18:09
(0) а вообще купи книгу по УФ и читай ее. сразу многие вопросы отпадут и поймешь какая должна быть методика разработки для УФ
11 logo23
 
07.06.13
12:44
Сделал так:

&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элементы)
   СписокПриАктивизацииСтрокиНаСервере(Элементы.ТекущаяСтрока);
КонецПроцедуры

&НаСервере
Процедура СписокПриАктивизацииСтрокиНаСервере(ТекущаяСтрока)
   
   Если ТекущаяСтрока.Владелец.Адрес <> ""  тогда
       Картинка = ТекущаяСтрока.Владелец.Адрес;
       НовыйФайлКартинки = Справочники.Файлы.СоздатьЭлемент();
       НовыйФайлКартинки.Файл = Новый ХранилищеЗначения(ПолучитьИзВременногоХранилища(Картинка));
       Картинка = ПоместитьВоВременноеХранилище(НовыйФайлКартинки.Файл.Получить());
       НовыйФайлКартинки.Записать();
       Элементы.Реквизит1 = НовыйФайлКартинки.Ссылка; //Доходит до сюда и возвращается в первую процедуру
  КонецЕсли;

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

Подскажите почему после выполнения строки Элементы.Реквизит1 = НовыйФайлКартинки.Ссылка; происходит возврат в первую процедуру и все по новой?
12 logo23
 
07.06.13
12:45
Реквизит1 это Поле Картинки созданное в форме списка
13 logo23
 
10.06.13
09:28
Все заработало.
Создал в дереве объектов конфигурации у 1 справочника Команду, в ней:


&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
   //Вставить содержимое обработчика.
   Картинка = ПолучитьАдресФайла( ПараметрКоманды);
   
   Отбор = Новый Структура("Владелец", ПараметрКоманды);
   
   ПараметрыФормы = Новый Структура("Отбор, АдресФайла", Отбор, Картинка );
   ОткрытьФорму("Справочник.ОтветыТесты.ФормаСписка", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно);
КонецПроцедуры

&НаСервере
Функция ПолучитьАдресФайла( ПараметрКоманды)
   Возврат ПараметрКоманды.Картинка    
КонецФункции


В форме списка 2 справочника(подчиненного) так:

&НаСервере
Процедура СписокПриАктивизацииСтрокиНаСервере(ТекущаяСтрока)
   
       Реквизит1 = ПолучитьНавигационнуюСсылку(Параметры.АдресФайла, "Файл");
 
       
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)

       СписокПриАктивизацииСтрокиНаСервере(Элементы.Список.ТекущаяСтрока);

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

Спасибо всем, кто старался помочь)
14 logo23
 
10.06.13
10:47
А на веб-клиенте не работает(

Кто сталкивался?
В тонком клиенте все Оk.
Через браузер картинка загружается, пояляется, записываю в базу, закрываю, снова открываю и пусто.
1С:Предприятие 8.2 (8.2.18.82)
Подскажите, в чем может быть проблема?
15 logo23
 
10.06.13
11:29
никто в веб-клиенте не загружает картинки?
16 logo23
 
10.06.13
11:49
Хэлп плиз
17 logo23
 
10.06.13
12:25
Нашел такое
При использовании в web-клиенте
Стояла следующая задача: отправлять уведомления о изменениях в документах на почту и вкладывать в письмо гиперссылку на измененный документ. База опубликована на web-севере. Полученная в 1С ссылка методом ПолучитьНавигационнуюСсылку() имела следующий вид
https://localhost/#e1cib/data/Документы.Счет?ref="ab99005056c0000811e00f627bcddd55"

Вложенная в таком виде ссылка не открывала нужный документ, а лишь инициировала переход в базу.
Как оказалось проблема была в следующем, в URL-адресах не должны присутствовать кавычки, их заменяем на %22
https://localhost/#e1cib/data/Документы.Счет?ref=%22ab99005056c0000811e00f627bcddd55%22

Но у меня в отладчике вроде без ковычек получается.

Дописал
АдресКовычки = ПолучитьНавигационнуюСсылку(Объект.Картинка, "Файл");
   Картинка = СтрЗаменить(АдресКовычки, "", "%22" );

и все равно пусто(

мож кто знает, почему на веб-клиенте не работает?
18 logo23
 
10.06.13
16:15
вверх
19 logo23
 
11.06.13
09:48
хэлп плиз
20 logo23
 
01.07.13
16:37
up
Проблема с отображением картинок в веб-клиенте, в тонком все отображается, в веб нет. Картинки загружаются через браузер, потом открывал базу в тонком клиенте, загруженные через браузер картинки отображаются, в веб-клиенте нет. В чем может быть проблема?
Ошибка? Это не ошибка, это системная функция.