ПриИзмененииОтбораТипВзаимодействий (БСП)

Автор: 1С
ОбщийМодуль.ВзаимодействияКлиентСервер
БСП

При изменении отбора тип взаимодействий. Обрабатывает изменение быстрого отбора по типу взаимодействий динамического списка документов взаимодействий.

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

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ОбработатьПодменюОтборПоТипуВзаимодействий (БСП)

СписокОтборовПоТипуВзаимодействий (БСП)

БыстрыйОтборСписокПриИзменении (БСП)

Отслеживание изменений отбора

ПриЗагрузкеТипаВзаимодействийИзНастроек (БСП)

НомерКартинкиПоВзаимодействию (БСП)

ЗаполнитьПодменюПоТипуВзаимодействия (БСП)

ТипВзаимодействияПоИмениКоманды (БСП)

Изменение событий в отборе СКД

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз