Версия для печати темы (https://pro1c.org.ua/index.php?s=d65faf563b1e3ef9d711a3dd2bab42bb&showtopic=33093)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование обычных форм 1С 8.2 и не интерфейсной логики _ «Мусор» при отборе в форме справочника

Автор: yw_prog 10.11.16, 10:30

Добрый день!
Нужно сделать отбор справочника по одной группе.
Например: справочник «Контрагенты» имеет три группы «Поставщики», «Покупатели», «Банки». Необходимо установить фильтр и работать только с группой «Банки».

Константы.Ф1_Банки  тип (СправочникСсылка.Контрагенты). 

РодительСсылка = Константы.Ф1_Банки.Получить().Ссылка;  
    Форма = Справочники.Контрагенты.ПолучитьФормуСписка("ФормаСпискаБанки");
            спсКодыГрупп = Новый СписокЗначений;
            спсКодыГрупп.Добавить(РодительСсылка.Ссылка);
                Запрос = Новый Запрос;
                Запрос.УстановитьПараметр("отбор", спсКодыГрупп );
                Запрос.Текст =
                "ВЫБРАТЬ
                |    Контрагенты.Ссылка,
                |    Контрагенты.Родитель
                |ИЗ
                |    Справочник.Контрагенты КАК Контрагенты
                |ГДЕ
                |    Контрагенты.Ссылка В ИЕРАРХИИ(&отбор) ";
                
                
                РезультатЗапроса = Запрос.Выполнить().Выгрузить();
                
                Форма.Отбор.Ссылка.Использование=Истина;

                Форма.Отбор.Ссылка.ВидСравнения=ВидСравнения.ВСписке;
                Форма.Отбор.Ссылка.Значение.ЗагрузитьЗначения(РезультатЗапроса.ВыгрузитьКолонку("Ссылка"));
        
            СтандартнаяОбработка = Ложь;
            Форма.Открыть();


При просмотре справочника в режиме «Без иерархии» - видим только нужны группы, подгруппы и элементы, но когда включаем иерархию видим пусты папки «Покупатели» и «Постащики».


 ! 

http://pro1c.org.ua/index.php?act=announce&id=2: 9
 

Автор: sava1 10.11.16, 11:01

И не ЭтоГруппа

Автор: yw_prog 10.11.16, 11:23

Тогда не видно все группы, но мне нужно видеть подгруппы в выбранной группе «Банки».

Может : ВидСравнения
ВСпискеПоИерархии или ВИерархии ?

Автор: bakalavr 14.11.16, 21:51

1. При открытии списка контрагентов развернуть группу Банки.
2. В обработчике ПередИзменениемРодителя табличного поля контрагентов устанавливать Отказ=Истина, если пользователь захочет перейти на уровень выше группы Банки.

Автор: yw_prog 17.11.16, 15:11

bakalavr @ 14.11.16, 21:51 * ,
В группе Банки есть подгруппы по городам, их нужно видеть.

Автор: sava1 17.11.16, 15:18

yw_prog @ Сегодня, 15:11 * ,
Где Контрагент.Родитель = ......

Автор: bakalavr 17.11.16, 15:30

yw_prog @ Сегодня, 15:11 * ,
а что вам мешает их видеть?

Автор: Vladal 29.11.16, 17:58

Цитата(bakalavr @ 17.11.16, 15:30) *
а что вам мешает их видеть?
У некоторых работодателей есть желание в том, чтобы сотрудник вообще видел только те данные, с которыми он работает. Например:
- бухгалтер по зарплате не должен видеть ОС и НМА;
- кассир имеет право видеть остатки и документы только по своей кассе своей организации;
- оператор клиент-банка может видеть только свои рассчетные счета, а номерклатуру не видит;
- бухгалтер по взаиморасчетам с клиентами не видит взаиморасчеты с поставщиками;
- менеджер по продажам видит взаиморасчеты толко по контрагентам, с которыми работает, а из номенклатуры только готовую продукцию и товары, а сырье не видит;
- каждый мастер смены видит заказы и калькуляции только по продукции своего цеха;
и так далее.
В этом случае помогает волшебство RLS.

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua