Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Отбор в форме выбора справочника

Отбор в форме выбора справочника
Я
   JuixyJes
 
12.04.19 - 16:12
Недавно в 1С, помогите пожалуйста)) Имеется справочник Сотрудники, есть реквизит Должность, как сделать отбор по должности при открытии  справочника? Должность берется из другого справочника.
 
 
   user-ok
 
1 - 12.04.19 - 16:30
6.0?
7.5?
7.7?
8.х?

Если 8 - ОФ или УФ?
   dezss
 
2 - 12.04.19 - 16:31
Показывай код открытия справочника.
   JuixyJes
 
3 - 12.04.19 - 16:36
(1) 8.3 ОФ
   HardBall
 
4 - 12.04.19 - 16:48
ФормаСписка = Справочники.Персонал.ПолучитьФормуВыбора();
Отбор = ФормаСписка.Отбор;
   
    
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
                   |    Должности.Ссылка
                   |ИЗ
                   |    Справочник.Должности КАК Должности
                   |ГДЕ
                   |    Должности.Код В (4, 10, 13, 17)";
    Выборка = Запрос.Выполнить().Выбрать();
    
    СписокДолжностей = Новый СписокЗначений;
    
    Пока Выборка.Следующий() Цикл
        СписокДолжностей.Добавить(Выборка.Ссылка);    
    КонецЦикла; 
    
    Отбор.Должность.ВидСравнения = ВидСравнения.ВСписке;
    Отбор.Должность.Значение = СписокДолжностей;
    Отбор.Должность.Использование = Истина;
    
        
    РезультатВыбора = ФормаСписка.ОткрытьМодально();
   JuixyJes
 
5 - 12.04.19 - 17:06
(4)

ФормаСписка = Справочники.Сотрудники.ПолучитьФормуВыбора();
Отбор = ФормаСписка.Отбор;
        
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    Должности.Ссылка КАК Ссылка
        |ИЗ
        |    Справочник.Должности КАК Должности
        |ГДЕ
        |    Должности.Код В(2,3)";
    
        
    Выборка = Запрос.Выполнить().Выбрать();
    СписокДолжностей = Новый СписокЗначений;
        
    Пока Выборка.Следующий() Цикл
        
        СписокДолжностей.Добавить(Выборка.Ссылка);
        
    КонецЦикла;
    
    Отбор.Должность.ВидСравнения = ВидСравнения.ВСписке;
    Отбор.Должность.Значение = СписокДолжностей;
    Отбор.Должность.Использование = Истина;


Поле недоступно для записи (Отбор)
   sqr4
 
6 - 12.04.19 - 17:07
(5) замени переменную вместо Отбор используй ОтборСписка
   JuixyJes
 
7 - 12.04.19 - 17:10
(6) Заменила, результат пустой)
   sqr4
 
8 - 12.04.19 - 17:11
(7) раз заменила, то добавь еще фото в профиль
   Temai
 
9 - 12.04.19 - 17:12
ФормаСписка.ОтборСписка попробуй
   sqr4
 
10 - 12.04.19 - 17:14
(9) да ты на запрос погляди в отбор
   JuixyJes
 
11 - 12.04.19 - 17:17
(10) Совсем ничего не поняла, что мне сделать то?
   dezss
 
12 - 12.04.19 - 17:17
(11) в (8) написано)
   JuixyJes
 
13 - 12.04.19 - 17:25
(12) Как только так сразу))
   JuixyJes
 
14 - 12.04.19 - 17:34
Всем спасибо, проблема решилась вот так.
ФормаСписка = Справочники.Сотрудники.ПолучитьФормуВыбора();
ОтборСписка = ФормаСписка.Отбор;
        
    Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    Должности.Ссылка КАК Ссылка
        |ИЗ
        |    Справочник.Должности КАК Должности
        |ГДЕ
        |    Должности.Наименование = ""Менеджер""";
    
        
    Выборка = Запрос.Выполнить().Выбрать();
    СписокДолжностей = Новый СписокЗначений;
        
    Пока Выборка.Следующий() Цикл
        
        СписокДолжностей.Добавить(Выборка.Ссылка);
        
    КонецЦикла;
    
    Отбор.Должность.ВидСравнения = ВидСравнения.ВСписке;
    Отбор.Должность.Значение = СписокДолжностей;
    Отбор.Должность.Использование = Истина;
   JuixyJes
 
15 - 12.04.19 - 17:34
Только возник еще один вопрос, как вызвать эту процедуру только с определенной формы документа?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.