Заказы на доработку 1С (сервис удаленной работы)

Хранилище

База знаний
Неназначенных незавершенных заказов: 1
Бесплатные отчеты, обработки, конфигурации, внешние компоненты для 1С Статьи, описание работы, методики по работе с 1С

Здравствуйте, гость ( Вход | Зарегистрироваться )



> Использование электронной почты для обмена данными          
Batchir Подменю пользователя
сообщение 08.02.09, 22:16
Сообщение #1

Живет на форуме
Иконка группы
Группа: Команда
Сообщений: 3568
Из: Киев
Спасибо сказали: 1443 раз
Рейтинг: 0

Использование электронной почты для обмена данными

В демонстрационную конфигурацию "Обмен данными" помещен пример обмена данными с удаленными складами по электронной почте. Для использования электронной почты в обмене данными нужно в настройках узлов выбрать "Обмен по электронной почте". Для двух узлов, участвующих в обмене, публичный адрес обмена должен быть одинаков. В качестве иллюстрации использования электронной почты был выбран план обмена УдаленныеСклады.

При выгрузке данных формируется файл с именем, в котором указывается отправляющий и принимающий узлы, а также порядковый номер сообщения обмена. Это имя также указывается в теме электронного письма с префиксом "СООБЩЕНИЕ_ОБМЕНА".


// Формируем сообщение обмена
Сообщение = Новый ИнтернетПочтовоеСообщение;
Сообщение.Тема = "СООБЩЕНИЕ_ОБМЕНА: " + ИмяФайлаСообщения;



Сформированный файл прикрепляется к письму и отправляется на указанный в поле "Адрес обмена" адрес.


ФайлСообщения = Новый Файл(ИмяФайлаСообщения);

// Создаем вложение с файлом обмена
Сообщение.Вложения.Добавить(ИмяФайла, ФайлСообщения.Имя);

Почта = Новый ИнтернетПочта;

Попытка

Почта.Подключиться(Профиль);
// Отправляем сообщение с файлом обмена
Почта.Послать(Сообщение);

Исключение

Сообщить(ОписаниеОшибки());

КонецПопытки;

Почта.Отключиться();



Для приема сообщений обмена из почтового ящика выбираются все письма без удаления их с сервера.


// Получаем все сообщения из почтового ящика
МассивСообщений = Почта.Выбрать(Ложь); // Ложь = без удаления сообщений с сервера



Далее, по теме письма ищутся письма с префиксом "СООБЩЕНИЕ_ОБМЕНА", которые проверяются на принадлежность этого сообщения участвующих в обмене узлов. Все эти сообщения копируются в отдельный массив (МассивСообщенийОбмена) для последующего удаления их с сервера. Данный метод гарантирует сохранность личных писем, а также сообщений обмена относящихся к другим узлам, что позволяет использовать один и тот же почтовый ящик, как для личной переписки, так и для обмена данными с разными узлами.

Поскольку сообщений обмена для двух узлов может быть больше одного, сразу же ищется сообщение с максимальным порядковым номером. Затем файл обмена сохраняется из вложения во временный файл, откуда и происходит загрузка данных. Делается допущение, что в сообщении обмена одно вложение.


// Записываем файл обмена во временный файл
МассивСообщений[ИндексСообщения].Вложения[0].Данные.Записать(ИмяФайла);

// Удаляем все сообщения обмена с сервера для узлов, участвующих в обмене
Почта.УдалитьСообщения(МассивСообщенийОбмена);
Почта.Отключиться();



Перед загрузкой данных происходит выборочное удаление отобранных писем с сервера.

Дополнительную информацию об обмене данными можно найти в помощнике настройки механизма обмена в демонстрационной конфигурации "Обмен данными".

Не нашли ответа на свой вопрос?
Зарегистрируйтесь и задайте новый вопрос.


Ответить Новая тема
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия Сейчас: 21.06.25, 17:16
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!