Автоматизация директ-маркетинга (на примере ООО "Дело Системы")
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
;
КонецПроцедуры
// Осуществляет поиск контактов по доменному имени или по адресу электронной почты. //
&НаСервере
Функция НайтиПоEmail(ПоДомену)
Возврат Взаимодействия.НайтиПоEmail(СтрокаПоиска,ПоДомену,ЭтаФорма);
КонецФункции
// Осуществляет поиск контактов по строке //
&НаСервере
Функция ОсуществитьПоискКонтактовПоСтроке()
Возврат Взаимодействия. ОсуществитьПоискКонтактовПоСтроке(ЭтаФорма,Истина);
КонецФункции
// Осуществляет поиск контактов по началу наименования //
&НаСервере
Функция НайтиПоНачалуНаименования()
Возврат Взаимодействия.ПолучитьВсеКонтактыПоНачалу Наименования САдресамиЭлектроннойПочты(СтрокаПоиска,ЭтаФорма);
КонецФункции
// Выбирает файл почтовик
&НаКлиенте
Процедура ВыбратьФайл(Команда)
Режим = РежимДиалогаВыбораФайла.Открытие;
ДиалогОткрытияФайла = Новый ДиалогВыбораФайла(Режим);
ДиалогОткрытияФайла.ПолноеИмяФайла = "";
Фильтр = "Файл(*.xml)|*.xml";
ДиалогОткрытияФайла.Фильтр = Фильтр;
ДиалогОткрытияФайла.МножественныйВыбор = Ложь;
ДиалогОткрытияФайла.Заголовок = "Выберите файл для отправки";
Если ДиалогОткрытияФайла.Выбрать() Тогда
Элементы.ОтправитьФайлИмя.Заголовок = ДиалогОткрытияФайла.ПолноеИмяФайла;
КонецЕсли;
КонецПроцедуры
// Заполняет адреса из файла почтовика
&НаКлиенте
Процедура ЗаполнитьАдреса(Команда)
ПолучателиПисьма.Очистить();
ФайлСАдресами = Новый ЧтениеXML;
Попытка
ФайлСАдресами.ОткрытьФайл(Элементы.ОтправитьФайлИмя.Заголовок);
Пока ФайлСАдресами.Прочитать() Цикл
Если ФайлСАдресами.ТипУзла=ТипУзлаXML.НачалоЭлемента Тогда
Сообщить(Строка(ФайлСАдресами.ЛокальноеИмя)+" тип: "+Строка(ФайлСАдресами.ТипУзла));
Если ФайлСАдресами.имя = "Mail" Тогда
Пока ФайлСАдресами.ПрочитатьАтрибут() Цикл
Сообщить("Атрибут: "+Строка(ФайлСАдресами.Значение));
Если ФайлСАдресами.Имя = "Adress" Тогда
Адрес = ФайлСАдресами.Значение;
КонецЕсли;
Если ФайлСАдресами.Имя = "Company" Тогда
Представление = ФайлСАдресами.Значение;
КонецЕсли;
Если ФайлСАдресами.Имя = "Mail Name" Тогда
Контакт = ФайлСАдресами.Значение;
КонецЕсли;
КонецЦикла;
Строка = ПолучателиПисьма.Добавить();
Строка.Адрес = Адрес;
Строка.Представление = Представление;
Строка.Контакт = Контакт;
Настройки = Истина
КонецЕсли;
КонецЕсли;
КонецЦикла;
ФайлСАдресами.Закрыть();
КонецПроцедуры
Приложение 3. Программный код формы журнала документов Взаимодействия
&НаСервереБезКонтекста
//установить флаг "отработано" в выбранных взаимодействиях - серверная часть //
Процедура УстановитьФлагОтработано(Знач Взаимодействия)
ТипГруппировка = Тип("СтрокаГруппировкиДинамическогоСписка");
Для Каждого Взаимодействие Из Взаимодействия Цикл
Если ЗначениеЗаполнено(Взаимодействие)
И ТипЗнч(Взаимодействие) <> ТипГруппировка Тогда
Объект = Взаимодействие.ПолучитьОбъект();
Объект.Отработано = Истина;
Объект.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервереБезКонтекста
//установить ответственного в выбранных взаимодействиях - серверная часть //
Процедура УстановитьОтветственного(Знач Взаимодействия, Знач Ответственный)
ТипГруппировка = Тип("СтрокаГруппировкиДинамическогоСписка");
Для Каждого Взаимодействие Из Взаимодействия Цикл
Если ЗначениеЗаполнено(Взаимодействие)
И ТипЗнч(Взаимодействие) <> ТипГруппировка
И Взаимодействие.Ответственный <> Ответственный Тогда
Объект = Взаимодействие.ПолучитьОбъект();
Объект.ОтработатьПосле = 0001.01.01;
Объект.Ответственный = Ответственный;
Объект.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервереБезКонтекста
//установить предмет в выбранных взаимодействиях - серверная часть //
Процедура УстановитьПредмет(Знач МассивВзаимодействия, Знач Предмет)
Для Каждого Взаимодействие Из МассивВзаимодействия Цикл
Если ЗначениеЗаполнено(Взаимодействие)
И ТипЗнч(Взаимодействие) <> Тип("СтрокаГруппировкиДинамическогоСписка")
И Взаимодействие.Предмет <> Предмет Тогда
Взаимодействия.УстановитьПредмет (Взаимодействие, Предмет);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаСервереБезКонтекста
//устанавливает реквизит "отработать после" в выбранных взаимодействиях - серверная часть //
Процедура ОтложитьОбработку(Знач Взаимодействия, Знач ДатаОтработки)
Для Каждого Взаимодействие Из Взаимодействия Цикл
Если ЗначениеЗаполнено(Взаимодействие)
И ТипЗнч(Взаимодействие) <> Тип("СтрокаГруппировкиДинамическогоСписка")
И Взаимодействие.ОтработатьПосле <> ДатаОтработки Тогда
Объект = Взаимодействие.ПолучитьОбъект();
Объект.ОтработатьПосле = ДатаОтработки;
Объект.Записать();
КонецЕсли;
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Функция ВыборКорректен()
Для Каждого Элемент Из Элементы.Список.ВыделенныеСтроки Цикл
Если ТипЗнч(Элемент) <> ТипГруппировка Тогда
Возврат Истина;
КонецЕсли;
КонецЦикла;
Возврат Ложь;
КонецФункции
&НаКлиенте
//получить входящую электронную почту
Процедура ПолучитьПочтуВыполнить()
УправлениеЭлектроннойПочтойКлиент.ЗагрузитьПочтуПользователя(Элементы.Список)