Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

1с получить почту - как испольщовать массив вместо ТЗ

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

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

Заголовки=Почта.ПолучитьЗаголовки();
//Если Заголовки.Количество()=0 Тогда

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



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

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

    // Перебираем получателей сообщения

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

    // Перебираем тексты сообщения

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

    // Перебираем вложения письма

    //Для каждого Вложение Из Сообщение.Вложения Цикл

    //    Вложение.Данные.Записать(Вложение.Name);

    //    СправочникВложения.РеквизитВложение = новый ХранилищеЗначения(Новый ДвоичныеДанные(Вложение.Name));

    //    СправочникВложения.ИмяВложения=Вложение.Name;

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


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

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует