Имя: Пароль:
1C
1С v8
ПВХ - отбор по справочнику
0 Масянька
 
12.08.19
11:01
День добрый!
Внешний отчет. Задается группа номенклатуры и свойство (ПВХ).
Свойство - поле ввода.
Как сделать отбор в свойстве? Чтобы были свойства только (!!!) справочника номенклатуры.
Спасибо.
1 НадюшаЯ
 
12.08.19
11:03
Какая конфа?
2 Масянька
 
12.08.19
11:08
(1) УТ 10.3
3 НадюшаЯ
 
12.08.19
11:10
ну наверно отбор по реквизиту назначениеСвойства
4 Масянька
 
12.08.19
11:24
(3) Процедура СвойстваНоменклатурыНачалоВыбора(Элемент, СтандартнаяОбработка)

    СвойстваНоменклатуры.Отбор.НазначениеСвойства.Установить(Реквизит1);

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

Поле объекта не обнаружено (Отбор)
5 Мимохожий Однако
 
12.08.19
11:26
СвойстваНоменклатуры какого типа?
6 Мимохожий Однако
 
12.08.19
11:27
ПланВидовХарактеристикСсылка.СвойстваОбъектов
7 Масянька
 
12.08.19
11:27
(5) ПланВидовХарактеристикСсылка.СвойстваОбъектов
8 Мимохожий Однако
 
12.08.19
11:28
Кнопка Выбора есть у реквизита?
9 Мимохожий Однако
 
12.08.19
11:30
ПараметрыВыбора в свойствах реквизита Назначение..
10 Масянька
 
12.08.19
11:32
https://pastenow.ru/fe4185ec6f069676a8aa8c164cec9bc0
Красным - СвойстваОбъектов
Зеленым - НазначенияСвойствКатегорийОбъектов (уже от отчаяния воткнула)
11 Масянька
 
12.08.19
11:32
(9) Пусто.
12 НадюшаЯ
 
12.08.19
11:33
СтандартнаяОбработка = Ложь;
    ФормаВыбора = ПланыВидовХарактеристик.СвойстваОбъектов.ПолучитьФормуВыбора("ФормаВыбора");
    ФормаВыбора.ПланВидовХарактеристикСписок.Отбор.НазначениеСвойства.Значение = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура;
    Реквизит1 = ФормаВыбора.ОткрытьМодально();
13 Мимохожий Однако
 
12.08.19
11:33
(11) Попробуй там выбрать
14 Масянька
 
12.08.19
11:33
(13) Там вылазит - ПустаяСсылка.
15 Масянька
 
12.08.19
11:35
(12) Ошибок нет, но выводит всё.
16 Мимохожий Однако
 
12.08.19
11:36
Попробуй выбрать в планах вида характеристик Назначение...вместо просто справочника
17 Мимохожий Однако
 
12.08.19
11:37
18 НадюшаЯ
 
12.08.19
11:38
(17) это только для управляемых форм, в обычных постаринке как в (12)
19 Масянька
 
12.08.19
11:39
(17) Ошибок нет, но выводит всё.
20 Масянька
 
12.08.19
11:40
(18) Здесь винегрет: платформа 8.3.8.1784, УТ - 10.3.26.2
21 НадюшаЯ
 
12.08.19
11:42
(20) без разницы каков винигрет, если форма "обычная", то только как в (12) если управляемая то можно и как в (17)
22 Масянька
 
12.08.19
11:44
(21) Так какого банана не работает?
23 НадюшаЯ
 
12.08.19
11:45
Читать (21) по появления просветления)
24 Мимохожий Однако
 
12.08.19
11:48
Можно попробовать при открытии формы заполнять реквизит формы списком значений, который получить запросом.
25 Масянька
 
12.08.19
11:50
(24) Да, понятно, что можно много чего. Но почему стандарт (это же стандарт?) не работает?
26 Масянька
 
12.08.19
11:51
(23) (12) не работает. Я же написала.
27 НадюшаЯ
 
12.08.19
11:56
(26) Предлагаю исправить самостоятельно) подход думаю понятен. Даю наводку, не установлено одно свойство отбора, которое включает и отключает отбор)
28 Масянька
 
12.08.19
11:58
(27) Спасибо за наводку. Но только там 2 свойства.
29 НадюшаЯ
 
12.08.19
12:04
ФормаВыбора.ПланВидовХарактеристикСписок.Отбор.НазначениеСвойства.Использование = Истина;
30 Масянька
 
12.08.19
12:09
(29)     ФормаВыбора.Отбор.НазначениеСвойства.Использование     = Истина;
    ФормаВыбора.Отбор.НазначениеСвойства.ВидСравнения     = ВидСравнения.Равно;
    ФормаВыбора.Отбор.НазначениеСвойства.Значение         = ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура;
31 bootini
 
12.08.19
12:13
&НаКлиенте
Процедура СписокСкладовDepartmentНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)

    ВыбратьПВХ("Department", Элемент, ДанныеВыбора, СтандартнаяОбработка);
    
КонецПроцедуры

&НаКлиенте
Процедура ВыбратьПВХ(ЗаголовокПВХ, Элемент, ДанныеВыбора, СтандартнаяОбработка)

    СтандартнаяОбработка = Ложь;
      
    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("РежимВыбора", Истина);

    ЗначениеПВХ = ПолучитьЗначениеПВХ(ЗаголовокПВХ);

    Если ЗначениеЗаполнено(ЗначениеПВХ) Тогда
        
        фиксНастройки = Новый НастройкиКомпоновкиДанных;
        эОтбор = фиксНастройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
        эОтбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Владелец");
        эОтбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
        эОтбор.ПравоеЗначение = ЗначениеПВХ;
        эОтбор.Применение = ТипПримененияОтбораКомпоновкиДанных.Элементы;
        эОтбор.Использование = Истина;
        
        ПараметрыФормы.Вставить("ФиксированныеНастройки", фиксНастройки);
        ПараметрыФормы.Вставить("Свойство", ЗначениеПВХ);
    КонецЕсли;
    
    ПараметрыФормы.Вставить("РежимоткрытияОкна" , РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
    ОткрытьФорму("Справочник.ЗначенияСвойствОбъектов.ФормаВыбора", ПараметрыФормы, Элемент);
    

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