Имя: Пароль:
1C
1С v8
1с получить почту - как испольщовать массив вместо ТЗ
0 Roma1314704
 
08.02.18
19:23
Настраиваю получения почты в 1с 8.3 управляемые формы

Только проблема есть  - ТЗ значений в форму напрямую не потянуть
С массивом еще нету опыта работы.
Подскажите как это все реализовать через массив
вот часть кода

Заголовки=Почта.ПолучитьЗаголовки();
//Если Заголовки.Количество()=0 Тогда
//    Предупреждение("В почтовом ящике нет входящих сообщений!", ,"Нет сообщений");
//КонецЕсли;


Сообщения = Почта.Выбрать(Истина,Заголовки);

Для каждого Сообщение Из Сообщения Цикл
    СтрокаТП = ТабличноеПолеИнтернетПочта.Добавить();
    СтрокаТП.Дата = Сообщение.ДатаОтправления;
    СтрокаТП.ОтКого = Сообщение.Отправитель.Пользователь + " <" + Сообщение.Отправитель.Адрес + "> ";
    СтрокаТП.Тема = Сообщение.Тема;

    // Перебираем получателей сообщения
    Для каждого Получатель Из Сообщение.Получатели Цикл
        КомуВходящие = КомуВходящие + Получатель.Пользователь + " <" + Получатель.Адрес + "> ";
    КонецЦикла;
    СтрокаТП.Кому = КомуВходящие;

    // Перебираем тексты сообщения
    Для каждого ТекстСообщения Из Сообщение.Тексты Цикл
        ТекстВходящие = ТекстВходящие + ТекстСообщения.Текст;
    КонецЦикла;
    СтрокаТП.Текст = ТекстВходящие;

    // Перебираем вложения письма
    //Для каждого Вложение Из Сообщение.Вложения Цикл
    //    Вложение.Данные.Записать(Вложение.Name);
    //    СправочникВложения.РеквизитВложение = новый ХранилищеЗначения(Новый ДвоичныеДанные(Вложение.Name));
    //    СправочникВложения.ИмяВложения=Вложение.Name;
    //КонецЦикла;
1 hawksib
 
08.02.18
19:25
в чем проблема? код не работает?
2 hawksib
 
08.02.18
19:27
я живу в лесу, копаю огород лопатой, только есть проблема - морковка плохо растет, с огурцами пока не пробовал, подскажите как быть, вот гусли
3 Roma1314704
 
08.02.18
19:34
неа ))))
вот
{Обработка.ОтправкаИмейл.Форма.Форма.Форма(5)}: Ошибка при вызове метода контекста (ПолучитьПрофиль)
      ПолучитьПрофиль();
по причине:
Ошибка передачи данных между клиентом и сервером. Значение недопустимого типа.
по причине:
Ошибка преобразования данных XDTO:
Запись значения свойства 'ret':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/managed-application/modules}ret
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ИнтернетПочтовыйПрофиль'
4 breezee
 
08.02.18
19:48
(3) Попробуйте созранить в реквизит обработки. А потом на ервере ДанныеПрофиля = Реквизитформывзначение("моиданные")
5 Roma1314704
 
08.02.18
20:05
( Не уловил мыслю
Что сохранить ?
6 Мимохожий Однако
 
08.02.18
20:10
Преобразуй таблицу значений в массив, где каждая запись структура или соответствие
7 Roma1314704
 
08.02.18
20:13
Вот именно этого и не понимаю. как ?
Напишите для примера пару строк.
8 Alex87r
 
08.02.18
20:35
(7)
Функция ТаблицаЗначенийВМассив(ТаблицаЗначений) Экспорт
    
    Массив = Новый Массив();
    СтруктураСтрокой = "";
    НужнаЗапятая = Ложь;
    Для Каждого Колонка Из ТаблицаЗначений.Колонки Цикл
        Если НужнаЗапятая Тогда
            СтруктураСтрокой = СтруктураСтрокой + ",";
        КонецЕсли;
        СтруктураСтрокой = СтруктураСтрокой + Колонка.Имя;
        НужнаЗапятая = Истина;
    КонецЦикла;
    Для Каждого Строка Из ТаблицаЗначений Цикл
        НоваяСтрока = Новый Структура(СтруктураСтрокой);
        ЗаполнитьЗначенияСвойств(НоваяСтрока, Строка);
        Массив.Добавить(НоваяСтрока);
    КонецЦикла;
    Возврат Массив;


КонецФункции
9 Roma1314704
 
10.02.18
16:58
Спасибо, буду разбираться.
Еще вопрос на форме тип реквизита каким должен быть? - Таблица Значений?
10 h-sp
 
10.02.18
17:35
(9) если тип реквизита ТаблицаЗначений, то всю эту хрень с массивами нужно выкинуть. С реквизитом типа таблица значений и так всё будет прекрасно работать.
11 Roma1314704
 
10.02.18
17:39
Да как то не получается с ТЗ  - если есть подсказка  - буду рад
12 h-sp
 
10.02.18
17:41
(11) у вас не получается 'ИнтернетПочтовыйПрофиль', причем тут ТЗ?
13 Roma1314704
 
10.02.18
18:06
правильно - напрямую значение ТЗ не потянуть на форму
14 glebgleb
 
10.02.18
18:13
(13) Рома. Тебе платформа русским языком говорит, что при предаче возвращаемого значения из функции ПолучитьПрофиль она не может передать объект типа ИнтернетПочтовыйПрофиль между клиентом и сервером.

Что ты к таблице значений пристал?