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

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

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



тко о главном. Новые возможности версии 8.2- М.: 1С-Паблишинг, 2009.

. Методические материалы слушателя Сертифицированного курса фирмы 1С. Введение в конфигурирование в системе 1С: Предприятие 8. Основные объекты. Версия 8.2. - М.: 1С-Учебный центр №3, 2010.

. Методические материалы слушателя Сертифицированного курса фирмы 1С. Конфигурирование в системе 1С: Предприятие 8. Решение оперативных задач. Версия 8.2. - М.: 1С-Учебный центр №3, 2011.

12. Клуб профессионалов 1С - Все об 1С. ">www.1c.proclub.ru

. Фирма 1С [Электронный ресурс]. ">www.1c.ru

Приложения

Приложение 1. Программный код общих модулей

// Возвращает список доступных видов поиска контактов //

Функция Получить Список Доступных Поисков (ППД Включен, Параметры, Элементы Формы, Для Адресной Книги) Экспорт

Все Списки Поиска = Новый Структура;

Если Для Адресной Книги Тогда

Адрес = "";

Доменный Адрес = "";

Варианты Поиска По Строке = "";

Представление = "";

Иначе

Адрес = Параметры. Адрес;

Доменный Адрес = Получить Доменный Адрес Для Поиска (Параметры. Адрес);

Варианты Поиска По Строке = Получить ВариантыПоискаПоСтроке(Параметры.Представление, Параметры.Адрес);

Представление = Параметры. Представление;

КонецЕсли;

ДобавитьВариантПоиска(ВсеСпискиПоиска, ЭлементыФормы, "ПоEmail", НСтр("ru = По email"), Адрес);

ДобавитьВариантПоиска(ВсеСпискиПоиска, ЭлементыФормы, "ПоДомену", НСтр("ru = По доменному имени"), ДоменныйАдрес);

Если Не ДляАдреснойКниги Тогда

ДобавитьВариантПоиска(ВсеСпискиПоиска, ЭлементыФормы, "ПоТелефону", НСтр("ru = По телефону"), Адрес);

КонецЕсли;

Если ППДВключен Тогда

ДобавитьВариантПоиска(Все Списки Поиска, Элементы Формы, "ПоСтроке", НСтр("ru = По строке"), ВариантыПоискаПоСтроке);

КонецЕсли;

ДобавитьВариантПоиска(ВсеСпискиПоиска, ЭлементыФормы, "НачинаетсяС", НСтр("ru = Начинается с"), Представление);

Возврат ВсеСпискиПоиска;

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

// Добавляет вариант поиска в список доступных поисков//

Процедура ДобавитьВариантПоиска(ВсеСпискиПоиска, ЭлементыФормы, ИмяВарианта, Представление, Значение)

ЭлементыФормы.ВариантыПоиска.СписокВыбора.Добавить(ИмяВарианта, Представление);

ВсеСпискиПоиска.Вставить(ИмяВарианта, Значение);

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

// Устанавливает текущим контакт в форме "Адресной книге" и "Выборе контактов".//

Процедура УстановитьТекущимКонтакт(Контакт, Форма) Экспорт

Если ТипЗнч(Контакт) = Тип("СправочникСсылка.Пользователи") Тогда

Форма.Элементы.Страницы.ТекущаяСтраница = Форма.Элементы.СтраницаПользователей;

Форма.Элементы.СписокПользователей.ТекущаяСтрока = Контакт;

Иначе

МассивОписанийКонтактов = Взаимодействия КлиентСервер.ПолучитьМассивОписанияВозможныхКонтактов();

ИмяМетаданныхКонтакта = Контакт.Метаданные().Имя;

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

Если ЭлементМассиваОписания.Имя = ИмяМетаданныхКонтакта Тогда

Форма.Элементы.Страницы.ТекущаяСтраница = Форма.Элементы["Страница_" + ?(ЭлементМассиваОписания.ЕстьВладелец,ЭлементМассиваОписания.ИмяВладельца,ЭлементМассиваОписания.Имя)];

Форма.Элементы["Таблица_" + ЭлементМассиваОписания.Имя].ТекущаяСтрока = Контакт;

Если ЭлементМассиваОписания.ЕстьВладелец Тогда

Форма.Элементы["Таблица_" + ЭлементМассиваОписания.ИмяВладельца].ТекущаяСтрока = Контакт.Владелец;

ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Форма["Список_" + ЭлементМассиваОписания.Имя]. Отбор,"Владелец",Контакт.Владелец,,,Истина);

КонецЕсли;

ИначеЕсли ЭлементМассиваОписания.ИмяВладельца = ИмяМетаданныхКонтакта Тогда

Форма.Элементы.Страницы.ТекущаяСтраница = Форма.Элементы["Страница_" + ЭлементМассиваОписания. ИмяВладельца];

ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(Форма["Список_" + ЭлементМассиваОписания.Имя].Отбор,"Владелец",Контакт,,,Истина);

КонецЕсли;

КонецЦикла;

КонецЕсли;

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

// Получает доменный адрес из адреса электронной почты //

Функция ПолучитьДоменныйАдресДляПоиска(Адрес)

Стр = Адрес;

Поз = Найти(Стр, "@");

Возврат ?(Поз = 0, "", Сред(Стр, Поз+1));

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

// Формирует варианты поиска по строке //

Функция ПолучитьВариантыПоискаПоСтроке(Представление, Адрес)

Если ПустаяСтрока(Представление) ИЛИ ПустаяСтрока(Адрес) Тогда

Возврат Представление + Адрес;

КонецЕсли;

стрВариантыПоиска = Новый СписокЗначений;

стрВариантыПоиска.Добавить(Представление + " ИЛИ " + Адрес);

стрВариантыПоиска.Добавить(Представление + " И " + Адрес);

Возврат стрВариантыПоиска;

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

//Устанавливает предмет взаимодействия //

Процедура УстановитьПредмет(Ссылка, Предмет) Экспорт

Если ЗначениеЗаполнено(Ссылка) Тогда

Объект = Ссылка.ПолучитьОбъект();

Объект.Заблокировать();

Объект.Предмет = Предмет;

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

КонецЕсли;

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

// Заполняет таблицу значений "Найденные контакты" общих форм "Адресная книга" и "Выбора контактов"//

Процедура ЗаполнитьНайденныеКонтакты(ТабКонтакты,НайденныеКонтакты) Экспорт

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

новСтр = НайденныеКонтакты.Добавить();

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

новСтр