ПриЗаполненииСпискаТекущихДел (БСП)

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

При заполнении списка текущих дел. См. ТекущиеДелаПереопределяемый.ПриОпределенииОбработчиковТекущихДел.

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

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

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

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

ПриЗаполненииСпискаТекущихДел (БСП)

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