Этапы процессов продаж / Модуль менеджера

файл
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ПрограммныйИнтерфейс

// Определяет настройки начального заполнения элементов
//
// Параметры:
//  Настройки - Структура - настройки заполнения:
//   * ПриНачальномЗаполненииЭлемента - Булево - Если Истина, то для каждого элемента будет
//      вызвана процедура индивидуального заполнения ПриНачальномЗаполненииЭлемента.
Процедура ПриНастройкеНачальногоЗаполненияЭлементов(Настройки) Экспорт
	
	Настройки.ПриНачальномЗаполненииЭлемента = Истина;
	
КонецПроцедуры

// Вызывается при начальном заполнении справочника.
//
// Параметры:
//  КодыЯзыков - Массив - список языков конфигурации. Актуально для мультиязычных конфигураций.
//  Элементы   - ТаблицаЗначений - данные заполнения. Состав колонок соответствует набору реквизитов, содержит:
//    * Наименование - Строка -
//    * Описание     - Строка -      
//  ТабличныеЧасти - Структура - Ключ - Имя табличной части объекта.
//                               Значение - Выгрузка в таблицу значений пустой табличной части.
//
Процедура ПриНачальномЗаполненииЭлементов(КодыЯзыков, Элементы, ТабличныеЧасти) Экспорт

	КодОсновногоЯзыка = ОбщегоНазначения.КодОсновногоЯзыка();

	#Область ПроцессыПродаж
	Элемент = Элементы.Добавить();
	Элемент.ИмяПредопределенныхДанных = "ПроцессыПродаж";
	Элемент.Наименование = НСтр("ru = 'Процессы продаж'", КодОсновногоЯзыка);
	Элемент.РеквизитДопУпорядочивания = 0;
	#КонецОбласти

	#Область ВыполнениеОбязательств
	Элемент = Элементы.Добавить();
	Элемент.ИмяПредопределенныхДанных = "ВыполнениеОбязательств";
	Элемент.Родитель = Справочники.СостоянияПроцессов.ПроцессыПродаж;
	Элемент.Наименование = НСтр("ru = 'Выполнение обязательств'", КодОсновногоЯзыка);
	Элемент.Описание = НСтр("ru = 'На данном этапе должны быть оплачены и отгружены все товары по сделке.'", КодОсновногоЯзыка);
	Элемент.РеквизитДопУпорядочивания = 9;
	#КонецОбласти

	#Область ДоработкаПредложения
	Элемент = Элементы.Добавить();
	Элемент.ИмяПредопределенныхДанных = "ДоработкаПредложения";
	Элемент.Родитель = Справочники.СостоянияПроцессов.ПроцессыПродаж;
	Элемент.Наименование = НСтр("ru = 'Доработка предложения'", КодОсновногоЯзыка);
	Элемент.Описание = НСтр("ru = 'Данный этап посвящен доработке коммерческого предложения, если таковая необходима.'", КодОсновногоЯзыка);
	Элемент.РеквизитДопУпорядочивания = 6;
	#КонецОбласти

	#Область КвалификацияКлиента
	Элемент = Элементы.Добавить();
	Элемент.ИмяПредопределенныхДанных = "КвалификацияКлиента";
	Элемент.Родитель = Справочники.СостоянияПроцессов.ПроцессыПродаж;
	Элемент.Наименование = НСтр("ru = 'Квалификация клиента'", КодОсновногоЯзыка);
	Элемент.Описание = НСтр("ru = 'На данном этапе клиент должен быть определен и зарегистрирован в качестве партнера.'", КодОсновногоЯзыка);
	Элемент.РеквизитДопУпорядочивания = 3;
	#КонецОбласти

	#Область НоваяСделка
	Элемент = Элементы.Добавить();
	Элемент.ИмяПредопределенныхДанных = "НоваяСделка";
	Элемент.Родитель = Справочники.СостоянияПроцессов.ПроцессыПродаж;
	Элемент.Наименование = НСтр("ru = 'Новая сделка'", КодОсновногоЯзыка);
	Элемент.Описание = НСтр("ru = 'Данный этап отражает факт того, что сделка была зарегистрирована, но никаких других работ по не не проводилось'", КодОсновногоЯзыка);
	Элемент.РеквизитДопУпорядочивания = 1;
	#КонецОбласти

	#Область ПервичныйКонтакт
	Элемент = Элементы.Добавить();
	Элемент.ИмяПредопределенныхДанных = "ПервичныйКонтакт";
	Элемент.Родитель = Справочники.СостоянияПроцессов.ПроцессыПродаж;
	Элемент.Наименование = НСтр("ru = 'Первичный контакт'", КодОсновногоЯзыка);
	Элемент.Описание = НСтр("ru = 'На данном этапе необходимо зарегистрировать первичное взаимодействие с клиентом.'", КодОсновногоЯзыка);
	Элемент.РеквизитДопУпорядочивания = 2;
	#КонецОбласти

	#Область ПодготовкаКВыполнениюОбязательств
	Элемент = Элементы.Добавить();
	Элемент.ИмяПредопределенныхДанных = "ПодготовкаКВыполнениюОбязательств";
	Элемент.Родитель = Справочники.СостоянияПроцессов.ПроцессыПродаж;
	Элемент.Наименование = НСтр("ru = 'Подготовка к выполнению обязательств'", КодОсновногоЯзыка);
	Элемент.Описание = НСтр("ru = 'Данный этап посвящен подготовке к выполнению обязательств по сделке.'", КодОсновногоЯзыка);
	Элемент.РеквизитДопУпорядочивания = 8;
	#КонецОбласти

	#Область Презентация
	Элемент = Элементы.Добавить();
	Элемент.ИмяПредопределенныхДанных = "Презентация";
	Элемент.Родитель = Справочники.СостоянияПроцессов.ПроцессыПродаж;
	Элемент.Наименование = НСтр("ru = 'Презентация'", КодОсновногоЯзыка);
	Элемент.Описание= НСтр("ru = 'Данный этап посвящен презентации, если таковая необходима.'", КодОсновногоЯзыка);
	Элемент.РеквизитДопУпорядочивания = 5;
	#КонецОбласти

	#Область СогласованиеУсловий
	Элемент = Элементы.Добавить();
	Элемент.ИмяПредопределенныхДанных = "СогласованиеУсловий";
	Элемент.Родитель = Справочники.СостоянияПроцессов.ПроцессыПродаж;
	Элемент.Наименование = НСтр("ru = 'Согласование условий'", КодОсновногоЯзыка);
	Элемент.Описание = НСтр("ru = 'На данном этапе должно быть определено соглашение с клиентом, определяющее условия продаж.'", КодОсновногоЯзыка);
	Элемент.РеквизитДопУпорядочивания = 7;
	#КонецОбласти

	#Область ФормированиеПредложения
	Элемент = Элементы.Добавить();
	Элемент.ИмяПредопределенныхДанных = "ФормированиеПредложения";
	Элемент.Родитель = Справочники.СостоянияПроцессов.ПроцессыПродаж;
	Элемент.Наименование = НСтр("ru = 'Формирование предложения'", КодОсновногоЯзыка);
	Элемент.Описание = НСтр("ru = 'Данный этап посвящен формированию коммерческого предложения.'", КодОсновногоЯзыка);
	Элемент.РеквизитДопУпорядочивания = 4;
	#КонецОбласти

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

// Вызывается при начальном заполнении создаваемого элемента.
//
// Параметры:
//  Объект                  - СправочникОбъект.СостоянияПроцессов - заполняемый объект.
//  Данные                  - СтрокаТаблицыЗначений - данные заполнения.
//  ДополнительныеПараметры - Структура - Дополнительные параметры.
//
Процедура ПриНачальномЗаполненииЭлемента(Объект, Данные, ДополнительныеПараметры) Экспорт
	
	
	
КонецПроцедуры

#КонецОбласти
	
#Область СлужебныеПроцедурыИФункции

#Область ОбновлениеИнформационнойБазы

// Заполняет реквизиты дополнительного упорядочивания этапов процессов продаж.
// Вызывается при первоначальном заполнении ИБ.
//
Процедура НачальноеЗаполнениеПоследовательностиЭтаповПроцессовПродаж() Экспорт
	
	Этапы = Новый Соответствие;
	Этапы.Вставить(Справочники.СостоянияПроцессов.НоваяСделка,                       1);
	Этапы.Вставить(Справочники.СостоянияПроцессов.ПервичныйКонтакт,                  2);
	Этапы.Вставить(Справочники.СостоянияПроцессов.КвалификацияКлиента,               3);
	Этапы.Вставить(Справочники.СостоянияПроцессов.ФормированиеПредложения,           4);
	Этапы.Вставить(Справочники.СостоянияПроцессов.Презентация,                       5);
	Этапы.Вставить(Справочники.СостоянияПроцессов.ДоработкаПредложения,              6);
	Этапы.Вставить(Справочники.СостоянияПроцессов.СогласованиеУсловий,               7);
	Этапы.Вставить(Справочники.СостоянияПроцессов.ПодготовкаКВыполнениюОбязательств, 8);
	Этапы.Вставить(Справочники.СостоянияПроцессов.ВыполнениеОбязательств,            9);
	
	Для Каждого Этап Из Этапы Цикл
		ЭтапОбъект = Этап.Ключ.ПолучитьОбъект();
		ЭтапОбъект.РеквизитДопУпорядочивания = Этап.Значение;
		ЭтапОбъект.Описание                  = ОписаниеПредопределенногоСостоянияПроцесса(Этап.Ключ);
		ЭтапОбъект.Записать();
	КонецЦикла;
	
КонецПроцедуры

Функция ОписаниеПредопределенногоСостоянияПроцесса(ЭтапПроцесса);
	
	Если ЭтапПроцесса = Справочники.СостоянияПроцессов.НоваяСделка Тогда
	
		Возврат НСтр("ru = 'Данный этап отражает факт того, что сделка была зарегистрирована, но никаких других работ по не не проводилось'");
	
	ИначеЕсли ЭтапПроцесса = Справочники.СостоянияПроцессов.ПервичныйКонтакт Тогда
	
		Возврат НСтр("ru = 'На данном этапе необходимо зарегистрировать первичное взаимодействие с клиентом.'");
		
	ИначеЕсли ЭтапПроцесса = Справочники.СостоянияПроцессов.КвалификацияКлиента Тогда
	
		Возврат НСтр("ru = 'На данном этапе клиент должен быть определен и зарегистрирован в качестве партнера.'");
		
	ИначеЕсли ЭтапПроцесса = Справочники.СостоянияПроцессов.ФормированиеПредложения Тогда
	
		Возврат НСтр("ru = 'Данный этап посвящен формированию коммерческого предложения.'");
		
	ИначеЕсли ЭтапПроцесса = Справочники.СостоянияПроцессов.Презентация Тогда
	
		Возврат НСтр("ru = 'Данный этап посвящен презентации, если таковая необходима.'");
		
	ИначеЕсли ЭтапПроцесса = Справочники.СостоянияПроцессов.ДоработкаПредложения Тогда
	
		Возврат НСтр("ru = 'Данный этап посвящен доработке коммерческого предложения, если таковая необходима.'");
		
	ИначеЕсли ЭтапПроцесса = Справочники.СостоянияПроцессов.СогласованиеУсловий Тогда
	
		Возврат НСтр("ru = 'На данном этапе должно быть определено соглашение с клиентом, определяющее условия продаж.'");
		
	ИначеЕсли ЭтапПроцесса = Справочники.СостоянияПроцессов.ПодготовкаКВыполнениюОбязательств Тогда
	
		Возврат НСтр("ru = 'Данный этап посвящен подготовке к выполнению обязательств по сделке.'");
		
	ИначеЕсли ЭтапПроцесса = Справочники.СостоянияПроцессов.ВыполнениеОбязательств Тогда
	
		Возврат НСтр("ru = 'На данном этапе должны быть оплачены и отгружены все товары по сделке.'");
	
	Иначе
	
		Возврат "";
	
	КонецЕсли;
	
КонецФункции

#КонецОбласти

#КонецОбласти

#КонецЕсли

Связанные материалы