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

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

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



;

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

// Осуществляет поиск контактов по доменному имени или по адресу электронной почты. //

&НаСервере

Функция НайтиПоEmail(ПоДомену)

Возврат Взаимодействия.НайтиПоEmail(СтрокаПоиска,ПоДомену,ЭтаФорма);

КонецФункции

// Осуществляет поиск контактов по строке //

&НаСервере

Функция ОсуществитьПоискКонтактовПоСтроке()

Возврат Взаимодействия. ОсуществитьПоискКонтактовПоСтроке(ЭтаФорма,Истина);

КонецФункции

// Осуществляет поиск контактов по началу наименования //

&НаСервере

Функция НайтиПоНачалуНаименования()

Возврат Взаимодействия.ПолучитьВсеКонтактыПоНачалу Наименования САдресамиЭлектроннойПочты(СтрокаПоиска,ЭтаФорма);

КонецФункции

// Выбирает файл почтовик

&НаКлиенте

Процедура ВыбратьФайл(Команда)

Режим = РежимДиалогаВыбораФайла.Открытие;

ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);

ДиалогОткрытияФайла.ПолноеИмяФайла = "";

Фильтр = "Файл(*.xml)|*.xml";

ДиалогОткрытияФайла.Фильтр = Фильтр;

ДиалогОткрытияФайла.МножественныйВыбор = Ложь;

ДиалогОткрытияФайла.Заголовок = "Выберите файл для отправки";

Если ДиалогОткрытияФайла.Выбрать() Тогда

Элементы.ОтправитьФайлИмя.Заголовок = ДиалогОткрытияФайла.ПолноеИмяФайла;

КонецЕсли;

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

// Заполняет адреса из файла почтовика

&НаКлиенте

Процедура ЗаполнитьАдреса(Команда)

ПолучателиПисьма.Очистить();

ФайлСАдресами = Новый ЧтениеXML;

Попытка

ФайлСАдресами.ОткрытьФайл(Элементы.ОтправитьФайлИмя.Заголовок);

Пока ФайлСАдресами.Прочитать() Цикл

Если ФайлСАдресами.ТипУзла=ТипУзлаXML.НачалоЭлемента Тогда

Сообщить(Строка(ФайлСАдресами.ЛокальноеИмя)+" тип: "+Строка(ФайлСАдресами.ТипУзла));

Если ФайлСАдресами.имя = "Mail" Тогда

Пока ФайлСАдресами.ПрочитатьАтрибут() Цикл

Сообщить("Атрибут: "+Строка(ФайлСАдресами.Значение));

Если ФайлСАдресами.Имя = "Adress" Тогда

Адрес = ФайлСАдресами.Значение;

КонецЕсли;

Если ФайлСАдресами.Имя = "Company" Тогда

Представление = ФайлСАдресами.Значение;

КонецЕсли;

Если ФайлСАдресами.Имя = "Mail Name" Тогда

Контакт = ФайлСАдресами.Значение;

КонецЕсли;

КонецЦикла;

Строка = ПолучателиПисьма.Добавить();

Строка.Адрес = Адрес;

Строка.Представление = Представление;

Строка.Контакт = Контакт;

Настройки = Истина

КонецЕсли;

КонецЕсли;

КонецЦикла;

ФайлСАдресами.Закрыть();

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

Приложение 3. Программный код формы журнала документов Взаимодействия

&НаСервереБезКонтекста

//установить флаг "отработано" в выбранных взаимодействиях - серверная часть //

Процедура УстановитьФлагОтработано(Знач Взаимодействия)

ТипГруппировка = Тип("СтрокаГруппировкиДинамическогоСписка");

Для Каждого Взаимодействие Из Взаимодействия Цикл

Если ЗначениеЗаполнено(Взаимодействие)

И ТипЗнч(Взаимодействие) <> ТипГруппировка Тогда

Объект = Взаимодействие.ПолучитьОбъект();

Объект.Отработано = Истина;

Объект.Записать();

КонецЕсли;

КонецЦикла;

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

&НаСервереБезКонтекста

//установить ответственного в выбранных взаимодействиях - серверная часть //

Процедура УстановитьОтветственного(Знач Взаимодействия, Знач Ответственный)

ТипГруппировка = Тип("СтрокаГруппировкиДинамическогоСписка");

Для Каждого Взаимодействие Из Взаимодействия Цикл

Если ЗначениеЗаполнено(Взаимодействие)

И ТипЗнч(Взаимодействие) <> ТипГруппировка

И Взаимодействие.Ответственный <> Ответственный Тогда

Объект = Взаимодействие.ПолучитьОбъект();

Объект.ОтработатьПосле = 0001.01.01;

Объект.Ответственный = Ответственный;

Объект.Записать();

КонецЕсли;

КонецЦикла;

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

&НаСервереБезКонтекста

//установить предмет в выбранных взаимодействиях - серверная часть //

Процедура УстановитьПредмет(Знач МассивВзаимодействия, Знач Предмет)

Для Каждого Взаимодействие Из МассивВзаимодействия Цикл

Если ЗначениеЗаполнено(Взаимодействие)

И ТипЗнч(Взаимодействие) <> Тип("СтрокаГруппировкиДинамическогоСписка")

И Взаимодействие.Предмет <> Предмет Тогда

Взаимодействия.УстановитьПредмет (Взаимодействие, Предмет);

КонецЕсли;

КонецЦикла;

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

&НаСервереБезКонтекста

//устанавливает реквизит "отработать после" в выбранных взаимодействиях - серверная часть //

Процедура ОтложитьОбработку(Знач Взаимодействия, Знач ДатаОтработки)

Для Каждого Взаимодействие Из Взаимодействия Цикл

Если ЗначениеЗаполнено(Взаимодействие)

И ТипЗнч(Взаимодействие) <> Тип("СтрокаГруппировкиДинамическогоСписка")

И Взаимодействие.ОтработатьПосле <> ДатаОтработки Тогда

Объект = Взаимодействие.ПолучитьОбъект();

Объект.ОтработатьПосле = ДатаОтработки;

Объект.Записать();

КонецЕсли;

КонецЦикла;

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

&НаКлиенте

Функция ВыборКорректен()

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

Если ТипЗнч(Элемент) <> ТипГруппировка Тогда

Возврат Истина;

КонецЕсли;

КонецЦикла;

Возврат Ложь;

КонецФункции

&НаКлиенте

//получить входящую электронную почту

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

УправлениеЭлектроннойПочтойКлиент.ЗагрузитьПочтуПользователя(Элементы.Список)