Автоматизация директ-маркетинга (на примере ООО "Дело Системы")

Дипломная работа - Компьютеры, программирование

Другие дипломы по предмету Компьютеры, программирование



;

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

&НаКлиенте

Процедура СохранитьВложениеВыполнить()

ТекущиеДанные = Элементы.Вложения.ТекущиеДанные;

Если ТекущиеДанные <> Неопределено Тогда

ДанныеФайла = ПрисоединенныеФайлы.ПолучитьДанныеФайла(ТекущиеДанные.Ссылка,УникальныйИдентификатор);

ПрисоединенныеФайлыКлиент.СохранитьФайлКак(ДанныеФайла);

КонецЕсли;

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

&НаКлиенте

Процедура ДополнительноВыполнить()

Текст = Новый ТекстовыйДокумент;

Текст.ДобавитьСтроку(ДополнительнаяИнформацияОПисьме);

Текст.ДобавитьСтроку("");

Текст.ДобавитьСтроку("");

Текст.ДобавитьСтроку("-------------------------------------------------");

Текст.ДобавитьСтроку(Объект.ВнутреннийЗаголовок);

Текст.Показать();

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

&НаКлиенте

Процедура СвязанныеВзаимодействияВыполнить()

ОткрытьФормуМодально("ЖурналДокументов.Взаимодействия.ФормаСписка",

Новый Структура("ОбъектОтбора", Объект.Предмет));

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

&НаКлиенте

Процедура ИзменитьКодировку(Команда)

СписокКодировок = УправлениеЭлектроннойПочтой.ПолучитьСписокКодировок();

ВыбраннаяКодировка = СписокКодировок.ВыбратьЭлемент("ВыберитеКодировку",СписокКодировок.НайтиПоЗначению(НРег(Объект.Кодировка)));

Если ВыбраннаяКодировка <> Неопределено Тогда

ПреобразоватьКодировкуПисьма(ВыбраннаяКодировка.Значение);

КонецЕсли;

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

Приложение 5. Программный код формы документа Электронное письмо исходящее

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

// Пропускаем инициализацию, чтобы гарантировать получение формы при передаче параметра "АвтоТест".

Если Параметры.Свойство("АвтоТест") Тогда

Возврат;

КонецЕсли;

Если Объект.Ссылка.Пустая() Тогда

Если Параметры.Свойство("Вложения") Тогда

Для каждого "ожение Из Параметры.Вложения Цикл

новСтр = "ожения.Добавить();

новСтр.Расположение = 2;

новСтр.ИмяФайлаНаКомпьютере = "ожение.Значение;

ИмяФайла = "";

Расширение = "";

ВзаимодействияКлиентСервер. ПолучитьКаталогИИмяФайла(Вложение.Значение, "", ИмяФайла);

новСтр.ИмяФайла = "ожение.Представление;

Расширение = ВзаимодействияКлиентСервер.ПолучитьРасширениеФайла(ИмяФайла);

новСтр.ИндексКартинки = ФайловыеФункцииКлиентСервер.ПолучитьИндексПиктограммыФайла(Расширение);

КонецЦикла;

КонецЕсли;

Если Параметры.Свойство("Тема") Тогда

Объект.Тема = Параметры.Тема;

КонецЕсли;

Если Параметры.Свойство("Тело") Тогда

Объект.Текст = Параметры.Тело;

КонецЕсли;

Если Параметры.Свойство("УчетнаяЗапись") Тогда

Объект.УчетнаяЗапись = Параметры.УчетнаяЗапись;

РеквизитыОтправителя = ОбщегоНазначения.ПолучитьЗначенияРеквизитов(Параметры.УчетнаяЗапись,"Ссылка,ИмяПользователя,АдресЭлектроннойПочты");

Объект.ОтправительПредставление = УправлениеЭлектроннойПочтой.ПолучитьПредставлениеАдресата(РеквизитыОтправителя.ИмяПользователя,РеквизитыОтправителя.АдресЭлектроннойПочты,"");

КонецЕсли;

КонецЕсли;

// Заполним список кодировок

СписокКодировок = УправлениеЭлектроннойПочтой.ПолучитьСписокКодировок();

Для Каждого Элемент Из СписокКодировок Цикл

Элементы.Кодировка.СписокВыбора.Добавить(Элемент.Значение);

КонецЦикла;

Если Объект.СтатусПисьма <> Перечисления.СтатусыИсходящегоЭлектронногоПисьма.Черновик Тогда

Элементы.Отправить.Доступность = Ложь;

Элементы.ОтправительПредставление.ТолькоПросмотр = Истина;

Элементы.ГруппаДоступныТолькоДляЧерновика.ТолькоПросмотр = Истина;

Элементы.СписокПолучателейПисьма.РедактированиеТекста = Ложь;

Элементы.СписокПолучателейКопий.РедактированиеТекста = Ложь;

Элементы.СписокПолучателейСкрытыхКопий.РедактированиеТекста = Ложь;

Элементы.ГруппаДоступныТолькоДляЧерновика.ТолькоПросмотр = Истина;

Элементы.ДобавитьВложение.Доступность = Ложь

Иначе

// Заполним список выбора учетных записей

УправлениеЭлектроннойПочтой.ПолучитьДоступныеУчетныеЗаписиДляОтправки(Элементы.ОтправительПредставление.СписокВыбора);

КонецЕсли;

Для Каждого Стр Из Объект.ПолучателиПисьма Цикл

Если ЗначениеЗаполнено(Стр.Контакт) Тогда

СоответствияАдресовИКонтактов.Добавить(Стр.Контакт, Стр.Адрес);

КонецЕсли;

КонецЦикла;

// Заполним вложения

табВложения = УправлениеЭлектроннойПочтой.ПолучитьВложенияЭлектронногоПисьма(Объект.Ссылка);

Для Каждого Стр Из табВложения Цикл

новСтр = "ожения.Добавить();

новСтр.Ссылка = Стр.Ссылка;

новСтр.ИмяФайла = Стр.ИмяФайла;

новСтр.ИндексКартинки = Стр.ИндексКартинки;

новСтр.Размер = Стр.Размер;

новСтр.Расположение = 0;

КонецЦикла;

Взаимодействия.ЗаполнитьСписокВыбораДляОтработатьПосле(Элементы.ОтработатьПосле.СписокВыбора);

// Если письмо отправлено, переименуем команду "ПодобратьКонтакты"

Если Объект.СтатусПисьма <> Перечисления.СтатусыИсходящегоЭлектронногоПисьма.Черновик Тогда

Элементы.ПодобратьКонтакты.Видимость = Ложь;

Иначе

Элементы.УточнитьКонтакты.Видимость = Ложь;

КонецЕсли;

//подготовить оповещения взаимодействий

Взаимодействия.ПодготовитьОповещения(ЭтаФорма,Параметры);

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

&НаКлиенте

Процедура КнопкаДополнительноВыполнить()

Текст = Новый ТекстовыйДокум