Автоматизация директ-маркетинга (на примере ООО "Дело Системы")
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
;
КонецПроцедуры
&НаКлиенте
Процедура СохранитьВложениеВыполнить()
ТекущиеДанные = Элементы.Вложения.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
ДанныеФайла = ПрисоединенныеФайлы.ПолучитьДанныеФайла(ТекущиеДанные.Ссылка,УникальныйИдентификатор);
ПрисоединенныеФайлыКлиент.СохранитьФайлКак(ДанныеФайла);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ДополнительноВыполнить()
Текст = Новый ТекстовыйДокумент;
Текст.ДобавитьСтроку(ДополнительнаяИнформацияОПисьме);
Текст.ДобавитьСтроку("");
Текст.ДобавитьСтроку("");
Текст.ДобавитьСтроку("-------------------------------------------------");
Текст.ДобавитьСтроку(Объект.ВнутреннийЗаголовок);
Текст.Показать();
КонецПроцедуры
&НаКлиенте
Процедура СвязанныеВзаимодействияВыполнить()
ОткрытьФормуМодально("ЖурналДокументов.Взаимодействия.ФормаСписка",
Новый Структура("ОбъектОтбора", Объект.Предмет));
КонецПроцедуры
&НаКлиенте
Процедура ИзменитьКодировку(Команда)
СписокКодировок = УправлениеЭлектроннойПочтой.ПолучитьСписокКодировок();
ВыбраннаяКодировка = СписокКодировок.ВыбратьЭлемент("ВыберитеКодировку",СписокКодировок.НайтиПоЗначению(НРег(Объект.Кодировка)));
Если ВыбраннаяКодировка <> Неопределено Тогда
ПреобразоватьКодировкуПисьма(ВыбраннаяКодировка.Значение);
КонецЕсли;
КонецПроцедуры
Приложение 5. Программный код формы документа Электронное письмо исходящее
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
// Пропускаем инициализацию, чтобы гарантировать получение формы при передаче параметра "АвтоТест".
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
Если Объект.Ссылка.Пустая() Тогда
Если Параметры.Свойство("Вложения") Тогда
Для каждого "ожение Из Параметры.Вложения Цикл
новСтр = "ожения.Добавить();
новСтр.Расположение = 2;
новСтр.ИмяФайлаНаКомпьютере = "ожение.Значение;
ИмяФайла = "";
Расширение = "";
ВзаимодействияКлиентСервер. ПолучитьКаталогИИмяФайла(Вложение.Значение, "", ИмяФайла);
новСтр.ИмяФайла = "ожение.Представление;
Расширение = ВзаимодействияКлиентСервер.ПолучитьРасширениеФайла(ИмяФайла);
новСтр.ИндексКартинки = ФайловыеФункцииКлиентСервер.ПолучитьИндексПиктограммыФайла(Расширение);
КонецЦикла;
КонецЕсли;
Если Параметры.Свойство("Тема") Тогда
Объект.Тема = Параметры.Тема;
КонецЕсли;
Если Параметры.Свойство("Тело") Тогда
Объект.Текст = Параметры.Тело;
КонецЕсли;
Если Параметры.Свойство("УчетнаяЗапись") Тогда
Объект.УчетнаяЗапись = Параметры.УчетнаяЗапись;
РеквизитыОтправителя = ОбщегоНазначения.ПолучитьЗначенияРеквизитов(Параметры.УчетнаяЗапись,"Ссылка,ИмяПользователя,АдресЭлектроннойПочты");
Объект.ОтправительПредставление = УправлениеЭлектроннойПочтой.ПолучитьПредставлениеАдресата(РеквизитыОтправителя.ИмяПользователя,РеквизитыОтправителя.АдресЭлектроннойПочты,"");
КонецЕсли;
КонецЕсли;
// Заполним список кодировок
СписокКодировок = УправлениеЭлектроннойПочтой.ПолучитьСписокКодировок();
Для Каждого Элемент Из СписокКодировок Цикл
Элементы.Кодировка.СписокВыбора.Добавить(Элемент.Значение);
КонецЦикла;
Если Объект.СтатусПисьма <> Перечисления.СтатусыИсходящегоЭлектронногоПисьма.Черновик Тогда
Элементы.Отправить.Доступность = Ложь;
Элементы.ОтправительПредставление.ТолькоПросмотр = Истина;
Элементы.ГруппаДоступныТолькоДляЧерновика.ТолькоПросмотр = Истина;
Элементы.СписокПолучателейПисьма.РедактированиеТекста = Ложь;
Элементы.СписокПолучателейКопий.РедактированиеТекста = Ложь;
Элементы.СписокПолучателейСкрытыхКопий.РедактированиеТекста = Ложь;
Элементы.ГруппаДоступныТолькоДляЧерновика.ТолькоПросмотр = Истина;
Элементы.ДобавитьВложение.Доступность = Ложь
Иначе
// Заполним список выбора учетных записей
УправлениеЭлектроннойПочтой.ПолучитьДоступныеУчетныеЗаписиДляОтправки(Элементы.ОтправительПредставление.СписокВыбора);
КонецЕсли;
Для Каждого Стр Из Объект.ПолучателиПисьма Цикл
Если ЗначениеЗаполнено(Стр.Контакт) Тогда
СоответствияАдресовИКонтактов.Добавить(Стр.Контакт, Стр.Адрес);
КонецЕсли;
КонецЦикла;
// Заполним вложения
табВложения = УправлениеЭлектроннойПочтой.ПолучитьВложенияЭлектронногоПисьма(Объект.Ссылка);
Для Каждого Стр Из табВложения Цикл
новСтр = "ожения.Добавить();
новСтр.Ссылка = Стр.Ссылка;
новСтр.ИмяФайла = Стр.ИмяФайла;
новСтр.ИндексКартинки = Стр.ИндексКартинки;
новСтр.Размер = Стр.Размер;
новСтр.Расположение = 0;
КонецЦикла;
Взаимодействия.ЗаполнитьСписокВыбораДляОтработатьПосле(Элементы.ОтработатьПосле.СписокВыбора);
// Если письмо отправлено, переименуем команду "ПодобратьКонтакты"
Если Объект.СтатусПисьма <> Перечисления.СтатусыИсходящегоЭлектронногоПисьма.Черновик Тогда
Элементы.ПодобратьКонтакты.Видимость = Ложь;
Иначе
Элементы.УточнитьКонтакты.Видимость = Ложь;
КонецЕсли;
//подготовить оповещения взаимодействий
Взаимодействия.ПодготовитьОповещения(ЭтаФорма,Параметры);
КонецПроцедуры
&НаКлиенте
Процедура КнопкаДополнительноВыполнить()
Текст = Новый ТекстовыйДокум