Имя: Пароль:
1C
1С v8
Картинка из таблички на форму
,
0 espanol
 
24.05.12
16:09
&НаКлиенте
Процедура ОстаткиПриАктивизацииСтроки(Элемент)
   
   Элементы.Картинка.КартинкаЗначений = Новый Картинка();
   Элементы.Картинка.КартинкаЗначений = Элементы.Остатки.ТекущиеДанные.Изображение;



Ругается на ошибку. Есть картинка в табличке (дерево значений), как при активации строки чтобы этоже изображение отображалось на тойже форме в отдельном поле?
1 espanol
 
24.05.12
16:18
{Справочник.Номенклатура.Форма.ФормаВыбораУправляемая.Форма(299)}: Ошибка при установке значения атрибута контекста (КартинкаЗначений)
   Элементы.Картинка.КартинкаЗначений = мКартинка;
по причине:
Недопустимое значение
2 espanol
 
24.05.12
16:34
Когда так делаю: Картинка = Элементы.Остатки.ТекущиеДанные.Изображение;  отображаются только картинки их библиотек, а те что загрузили из файлов, не показываются...

Никто не знает?
3 vudo
 
24.05.12
16:38
4 espanol
 
24.05.12
16:42
(3) не подходит
5 vudo
 
24.05.12
16:50
(4) Что не подходит?
6 espanol
 
24.05.12
16:51
(5) там идет обращение к серверу, а мне надо чтобы при активации строки это было
7 espanol
 
24.05.12
16:54
в моем случае получится рекурсия без выхода
8 vudo
 
24.05.12
16:55
(6) Ты же сам пишешь "а те что загрузили из файлов, не показываются..." Ты же должен извлечь эти файлы. А тут только сервер дергать!
Вот и пиши процедуру в форме перед которой ставь &НаСервере и там картинку извлекай и реквизит формы заполняй. Как читай в (3)
9 vudo
 
24.05.12
16:56
(7) Какая рекурсия? :)))
10 espanol
 
25.05.12
09:08
(9) ну попробуй

ТаблицаФормы (FormTable)
ПриАктивизацииСтроки (OnActivateRow)
Синтаксис:

ПриАктивизацииСтроки()
Описание:

Вызывается при активизации строки таблицы.
Примечание:

В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.
11 vudo
 
25.05.12
21:19
(10) дико извиняюсь, но вот из работающего кода:


&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
   
   // Вставить содержимое обработчика.
   ИнформацияПоСчетам.Параметры.УстановитьЗначениеПараметра("МассивСчетов", Элемент.ВыделенныеСтроки);
   
   Если Элемент.ВыделенныеСтроки.Количество() = 1 Тогда
       
       Если ЕстьПодакцизныйТовар(Элемент.ВыделенныеСтроки[0]) Тогда
           
           Элементы.КнопкаФискальныйЧек.Доступность = Истина;
           
       Иначе
           
           Элементы.КнопкаФискальныйЧек.Доступность = Ложь;
           
       КонецЕсли;
       
   Иначе
       
       Элементы.КнопкаФискальныйЧек.Доступность = Ложь;
       
   КонецЕсли;
   Если ОбработаннаяСтрока <> Элемент.ТекущаяСтрока Тогда
       ЗаполнитьКалькуляцию(Элемент.ТекущаяСтрока);
   КонецЕсли;    
   
КонецПроцедуры

&НаСервере
Процедура ЗаполнитьКалькуляцию(ТекущийСчет)
   
   ОбработаннаяСтрока = ТекущийСчет;
   ОтчетКалькуляция = Отчеты.КалькуляцияСырья.Создать();
   ОтчетКалькуляция.Счет = ТекущийСчет;
   ОтчетКалькуляция.СтруктурнаяЕдиница = УправлениеНебольшойФирмойПовтИсп.ПолучитьЗначениеПоУмолчаниюПользователя(ОбщегоНазначения.ТекущийПользователь(), "ОсновнойСклад");
   ТабличныйДокумент = ОтчетКалькуляция.СформироватьОтчет();
   Калькуляция.Очистить();
   Калькуляция.Вывести(ТабличныйДокумент);
   Калькуляция.Защита = Истина;
   Калькуляция.Вывод = ИспользованиеВывода.Запретить;
   
   ТабличныйДокумент = Документы.ДокументСчетНаОплатуРесторанБар.ПолучитьПечатьСчета(ТекущийСчет);
   
   ПечатьСчета.Очистить();
   ПечатьСчета.Вывести(ТабличныйДокумент);
   ПечатьСчета.Защита = Истина;
   ПечатьСчета.Вывод = ИспользованиеВывода.Запретить;
   
КонецПроцедуры    

Извини друг, что возможно поздно, но работает! ;)