В начало

Видимость задач по роли исполнителя

 

 

Листинг. Функции в общем модуле расширения

&НаСервере

Функция ПолучитьОбъектыПоРолиИсполнителя(Знач РольИсполнителя) Экспорт //Слава КПСС

            Запрос = Новый Запрос;

            Запрос.Текст =

            "ВЫБРАТЬ

            |           ЗадачаИсполнителя.Ссылка КАК Ссылка

            |ИЗ

            |           Задача.ЗадачаИсполнителя КАК ЗадачаИсполнителя

            |ГДЕ

            |           ЗадачаИсполнителя.РольИсполнителя = &РольИсполнителя

            |           И ЗадачаИсполнителя.Выполнена = ЛОЖЬ";

           

 

            Запрос.УстановитьПараметр("РольИсполнителя", РольИсполнителя);

 

            Результат = Запрос.Выполнить();

    Выгрузка = Результат.Выгрузить().ВыгрузитьКолонку("Ссылка");

 

            Возврат Выгрузка;

 

 

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

 

&НаСервере

Функция ПолучитьРольПоИсполнителю(Знач Исполнитель) Экспорт

            Запрос = Новый Запрос;

            Запрос.Текст =

            "ВЫБРАТЬ

            |ИсполнителиЗадач.РольИсполнителя КАК РольИсполнителя,

            |ИсполнителиЗадач.Исполнитель КАК Исполнитель

            |ИЗ

            |РегистрСведений.ИсполнителиЗадач КАК ИсполнителиЗадач

            |ГДЕ

            |ИсполнителиЗадач.Исполнитель = &Исполнитель

            |";

           

            Запрос.УстановитьПараметр("Исполнитель", Исполнитель);

            Результат = Запрос.Выполнить();  

            Выборка = Результат.Выбрать();

           

            Если Выборка.Следующий() Тогда

                        Возврат Выборка.РольИсполнителя;

            Иначе

                        Возврат Неопределено;

            КонецЕсли;

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

 

Листинг. Модуль формы «РаботаСЗаявками» бизнес-процесса «нсиЗаявкаНаИзменение»

&НаСервере

Функция бит_ПриОткрытииПослеНаСервере()

                                

            //+++Слава КПСС   

            Для Каждого Эл Из ЭтаФорма.Список.Отбор.Элементы Цикл

                        Если Эл.Представление = "Слава КПСС" Тогда

                                   ЭтаФорма.Список.Отбор.Элементы.Удалить(Эл);

                КонецЕсли;

            КонецЦикла;

 

           

            Если НЕ СлаваКПСС.ДоступнаРоль("АдминистраторСистемы") Тогда

                        Список.КомпоновщикНастроек.Настройки.Отбор.Элементы.Очистить();

                       

                        //Для Юридического отдела видимость задачь по Роли исполнителя, задание №7

                        РольИсполнителя = СлаваКПСС.ПолучитьРольПоИсполнителю(Пользователи.АвторизованныйПользователь());

                        Если РольИсполнителя.Наименование = "Юридический отдел" Тогда

                                   СписокОбъектовОграничения = СлаваКПСС.ПолучитьОбъектыПоРолиИсполнителя(РольИсполнителя);

                        Иначе

                                    СписокОбъектовОграничения = СлаваКПСС.ПолучитьОбъектыПоАвторуИИсполнителю(Пользователи.АвторизованныйПользователь());

                        КонецЕсли;  

                       

                        ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

                       

                        ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");

                        ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;

                        ЭлементОтбора.Использование = Истина;

                        ЭлементОтбора.Представление = "Слава КПСС";

                        ЭлементОтбора.ПравоеЗначение = СписокОбъектовОграничения;

                       

            КонецЕсли;  

            //---Слава КПСС

           

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

 

&НаКлиенте

Процедура бит_ПриОткрытииПосле(Отказ)

           

            бит_ПриОткрытииПослеНаСервере();//---Слава КПСС           

           

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

 

&НаКлиенте

&После("ОбновитьСписок")

Процедура бит_ОбновитьСписок(Команда)

                       

            бит_ПриОткрытииПослеНаСервере();

 

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

 

Листинг. Модуль формы «нсиМоиЗадачи»

&НаСервере

Процедура бит_ПриОткрытииПеред(Отказ)

           

            //+++Слава КПСС   

 

            Для Каждого Эл Из ЭтаФорма.Список.Отбор.Элементы Цикл

                        Если Эл.Представление = "Слава КПСС" Тогда

                                   ЭтаФорма.Список.Отбор.Элементы.Удалить(Эл);

                КонецЕсли;

            КонецЦикла;

           

                        Если НЕ СлаваКПСС.ДоступнаРоль("АдминистраторСистемы") Тогда

                        Список.КомпоновщикНастроек.Настройки.Отбор.Элементы.Очистить();

                       

                        //Для Юридического отдела видимость задачь по Роли исполнителя, задание №7

                        РольИсполнителя = СлаваКПСС.ПолучитьРольПоИсполнителю(Пользователи.АвторизованныйПользователь());

                        Если РольИсполнителя.Наименование = "Юридический отдел" Тогда

                                   СписокОбъектовОграничения = СлаваКПСС.ПолучитьОбъектыПоРолиИсполнителя(РольИсполнителя);

                        Иначе

                                   СписокОбъектовОграничения = СлаваКПСС.ПолучитьОбъектыПоАвторуИИсполнителю(Пользователи.АвторизованныйПользователь());

                        КонецЕсли;  

                       

                        ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));

                       

                        ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка");

                        ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке;

                        ЭлементОтбора.Использование = Истина;

                        ЭлементОтбора.Представление = "Слава КПСС";

                        ЭлементОтбора.ПравоеЗначение = СписокОбъектовОграничения;

                       

            КонецЕсли;  

            //---Слава КПСС

 

           

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

 

&НаКлиенте

&После("ОбновитьСписок")

Процедура бит_ОбновитьСписок(Команда)

           

            бит_ПриОткрытииПеред(Ложь);//Слава КПСС

 

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