Имя: Пароль:
1C
 
Как сохранить значение на форме?
0 pro3ri
 
21.01.16
10:20
Добрый день!
Есть код:

&НаКлиенте
Процедура Получение(Команда)
    
    Почта = Новый ИнтернетПочта;
    Профиль = Новый ИнтернетПочтовыйПрофиль;
    

    Профиль.АдресСервераIMAP = "imap.yandex.ru";
    Профиль.ПользовательIMAP = Мойемаил;
    Профиль.ПарольIMAP = "*************";
    Профиль.ПортIMAP = 993;
    Профиль.ИспользоватьSSLIMAP = Истина;
    
    Попытка
        Почта.Подключиться(Профиль,ПротоколИнтернетПочты.IMAP);
    Исключение
        Сообщить(ОписаниеОшибки());
        Возврат;
    КонецПопытки;
    
    Сообщения = Почта.Выбрать(Ложь);
    Для каждого Мессадж Из Сообщения Цикл
    
        Строка = Письма.Добавить();
        Строка.Тема = Мессадж.Тема;
        
    КонецЦикла;
    
КонецПроцедуры

&НаСервере
Процедура СерверныйВызов(ХТМЛ, Картинки)

    Текст.УстановитьHTML(ХТМЛ,Картинки);

КонецПроцедуры // СерверныйВызов()


&НаКлиенте
Процедура ПисьмаПриАктивизацииСтроки(Элемент)
    Для каждого Мессадж Из Сообщения Цикл
    
        Если Элемент.ТекущиеДанные.Тема = Мессадж.Тема Тогда
            
            ХТМЛ = Мессадж.Тексты[0].Текст;
            Картинки = Новый Структура;
            Для каждого Картинка Из Мессадж.Вложения Цикл
                ИмяКартинки = Лев(Картинка.Имя,СтрНайти(Картинка.Имя,".",НаправлениеПоиска.СКонца)-1);
                Картинки.Вставить(ИмяКартинки,Новый Картинка(Картинка.Данные));            
            КонецЦикла;  
            СерверныйВызов(ХТМЛ, Картинки);
        
        КонецЕсли;
            
    КонецЦикла;

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

Форма:
https://s.mail.ru/4CW5HMrMSTwW/img-2016-01-21-12-17-48.png

Как сделать чтобы после нажатия на получить то сообщение на  которое установлен курсор показывалось в форматированном документе. Попробовал сделать реквизит формы с произвольным типом и положить туда Почта.Выбрать(Ложь); но система заругалась что не может положить массив в реквизит формы. Как победить?
1 FIXXXL
 
21.01.16
10:27
Текст - это что? Реквизит формы?
2 pro3ri
 
21.01.16
10:30
(1) да, Реквизит формы с типом форматированный документ
3 pro3ri
 
21.01.16
10:34
попробовал сделать реквизит обработки https://s.mail.ru/2Q3yeQDhvzbE/img-2016-01-21-12-34-08.png в результате получил
{Форма.Форма.Форма(73)}: Ошибка при установке значения атрибута контекста (СоообщенияНаОбъекте)
    Объект.СоообщенияНаОбъекте = Сообщения;
по причине:
Тип "Массив" не может использоваться в данных формы
4 FIXXXL
 
21.01.16
10:39
(2) я в управлялках только учусь, делал так:

СерверныйВызов(Текст, ХТМЛ, Картинки);

&НаСервере
Процедура СерверныйВызов(РеквизитСФормы, ХТМЛ, Картинки)

    РеквизитСФормы.УстановитьHTML(ХТМЛ,Картинки);

КонецПроцедуры// СерверныйВызов()

мож и неправильно, гуры управленок поправят
5 pro3ri
 
21.01.16
10:46
(4) благодарю. Только зачем передавать "Текст", если в контексте &НаСервере он и так доступен?
6 pro3ri
 
21.01.16
10:59
Свой вопрос решил создав
&НаКлиенте
Перем СообщенияФорма;

    Сообщения = Почта.Выбрать(Ложь);
    //Объект.СоообщенияНаОбъекте = Сообщения;
    СообщенияФорма = Сообщения;


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

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



Переменная модуля формы с директивой на клиенте живут до закрытия формы, в отличие от серверных, которые каждый раз затираются, поэтому обратился к ним.
7 pro3ri
 
21.01.16
11:02
https://s.mail.ru/4LxCJNahG1qo/img-2016-01-21-13-00-19.png - это 1с
https://s.mail.ru/48GwEXfC3xZX/img-2016-01-21-13-00-44.png браузер
Как сделать чтобы было как в браузере?
8 FIXXXL
 
21.01.16
11:26
(5) у меня задача была несколько реквизитов обновлять, ну и написал одну процедуру для нескольких