Отбор ( ПриОткрытии() ), сотрудников в справочнике по подразделению #536421


#0 by Mihandr
Помогите сделать отбор в типовой ЗУП 8 32.4. Надо чтоб у пользователя с ролью ТолькоТоЧтоНужно в справочнике при его открытиии отображались только те работники которые принадлежат к уже определенному подразделению. Нашел эту проц-ру, добавил условие но не соображу как описать после Иначе (в конце проц-ры), если здесь вообще реально это сделать... [1C]Процедура УстановитьОтборПоПодразделению    Если Не РольДоступна("ТолькоТоЧтоНужно") Тогда    //моё    мИспользоватьКешПриПолученииДанных = Ложь;        Элемент = ЭлементыФормы.ПодразделенияОрганизаций;        ДанныеСтроки = Элемент.ТекущиеДанные;    Если ДанныеСтроки = Неопределено Тогда        Если СправочникСписок.Отбор.ТекущееПодразделениеОрганизации.Использование Тогда            СправочникСписок.Отбор.ТекущееПодразделениеОрганизации.Использование    = Ложь;        КонецЕсли;        Если СправочникСписок.Отбор.ТекущееОбособленноеПодразделение.Использование Тогда            СправочникСписок.Отбор.ТекущееОбособленноеПодразделение.Использование    = Ложь;        КонецЕсли;        Возврат;    КонецЕсли;        Если Элемент.ТекущаяКолонка.Имя <> "Организация" Тогда        ТекущийОтбор = СправочникСписок.Отбор.ТекущееПодразделениеОрганизации;        Если Не ТекущийОтбор.Использование ИЛИ ТекущийОтбор.Значение <> ДанныеСтроки.Ссылка Тогда            СправочникСписок.Отбор.ТекущееОбособленноеПодразделение.Использование    = Ложь;            ТекущийОтбор.ВидСравнения    = ВидСравнения.ВСписке;                        Запрос = Новый Запрос;            Запрос.Текст =            "ВЫБРАТЬ            |    Спр.Ссылка            |ИЗ            |    Справочник.ПодразделенияОрганизаций КАК Спр            |ГДЕ            |    Спр.Родитель В (&Ссылка)";                        Ссылка = ?(ДанныеСтроки.Ссылка.Пустая, Неопределено, ДанныеСтроки.Ссылка);            СписокПодразделений = Новый СписокЗначений;            СписокПодразделений.Добавить(Ссылка);            Пока Ссылка <> Неопределено  Цикл                Запрос.УстановитьПараметр("Ссылка",    Ссылка);                СписокСсылок = Запрос.Выполнить.Выгрузить.ВыгрузитьКолонку("Ссылка");                Если СписокСсылок.Количество > 0 Тогда                    Для Каждого Ссылка Из СписокСсылок Цикл                        СписокПодразделений.Добавить(Ссылка);                    КонецЦикла;                    Ссылка = СписокСсылок;                Иначе                    Ссылка = Неопределено;                КонецЕсли;            КонецЦикла;                        ТекущийОтбор.Значение        = СписокПодразделений;            ТекущийОтбор.Использование    = Истина;        КонецЕсли;            Иначе        ТекущийОтбор = СправочникСписок.Отбор.ТекущееОбособленноеПодразделение;        Если Не ТекущийОтбор.Использование ИЛИ ТекущийОтбор.Значение <> ДанныеСтроки.Владелец Тогда            СправочникСписок.Отбор.ТекущееПодразделениеОрганизации.Использование    = Ложь;            ТекущийОтбор.Значение        = ДанныеСтроки.Владелец;            ТекущийОтбор.Использование    = Истина;        КонецЕсли;            КонецЕсли;    Иначе... // моё КонецПроцедуры[1C]
#1 by Mihandr
мля, извените за мой косяк с написанием...
#2 by Mihandr
удалите тему
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С