Имя: Пароль:
1C
1С v8
в форме выбора справочника отбор по реквизиту документа из которого он выбирается
,
0 elsakovm
 
28.07.20
12:22
Здравствуйте. Как сделать в форме выбора справочника отбор по реквизиту документа из которого он выбирается?
1 Ц_У
 
28.07.20
12:24
2 elsakovm
 
28.07.20
15:32
&НаКлиенте
Процедура ТранспортноеСредствоНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
    СтандартнаяОбработка = Ложь;
    
    ПараметрыФормы = Новый Структура;
    
    Отборы = Новый Структура;
    Отборы.Вставить("Контрагент", Объект.Контрагент);
    //Отборы.Вставить("Контрагент", Объект.Контрагент);
    
    ПараметрыФормы.Вставить("Отбор", Отборы);
    
    ОткрытьФорму("Справочник.ТранспортныеСредства.ФормаВыбора",ПараметрыФормы,);
КонецПроцедуры

Отбор работает, но выбрать не могу ни одно из значений. Что не правильно?
3 Ёпрст
 
28.07.20
16:06
(2) форме нужно сказать что она открыта для выбора + ловить событие в обработкаВыбора
4 Ц_У
 
28.07.20
16:16
5 elsakovm
 
28.07.20
17:18
(3) (4)        
        
        СтандартнаяОбработка = Ложь;    
    ПараметрыФормы = Новый Структура;
    
    Отборы = Новый Структура;
    Отборы.Вставить("Контрагент", Объект.Контрагент);
    
    ПараметрыФормы.Вставить("Отбор", Отборы);
    ПараметрыФормы.Вставить("РежимВыбора", Истина);
        ПараметрыФормы.Вставить("ЗакрыватьПриВыборе", Истина);
    
    ОткрытьФорму("Справочник.ТранспортныеСредства.ФормаВыбора",ПараметрыФормы,ЭтаФорма);

(3) ловить событие в обработкаВыбора - а что там конкретно ловить? РежимВыбора стоит истина
6 Kondarat
 
28.07.20
17:26
(5) И что не получается? Отбор не устанавливается?
7 elsakovm
 
28.07.20
17:36
(6) отбор устанавливается. С этим все хорошо. Но когда я пытаюсь "выбрать" (двойной щелчок мыши или кнопка выбрать) оно не выбирается. Это значение не подставляется в документ, остается старое.
8 acht
 
28.07.20
17:40
(7) Пушо в открытие формы надо владельца передавать
9 elsakovm
 
28.07.20
17:50
(8) точно! спасибо! заработало!
10 elsakovm
 
28.07.20
21:56
отбор работает в форме выбора, а если начать вводить наименование справочника сразу в поле выбора, не открывая форму выбора, то понятно дает выбрать минуя отбор. Как это можно обойти?
11 Uzyf
 
29.07.20
06:52
используй параметры выбора, а не этот колхоз
12 Uzyf
 
29.07.20
06:52
НовыйМассив = Новый Массив();
НовыйМассив.Добавить(ПлынСчетов.Хозрасчетный.НайтиПоКоду("10.08"));
НовыйМассив.Добавить(ПлынСчетов.Хозрасчетный.НайтиПоКоду("10.09"));
НовыеЗначения = Новый ФиксированныйМассив(НовыйМассив);

НовыйПараметр = Новый ПараметрВыбора("Отбор.Ссылка", НовыеЗначения);

НовыйМассив = Новый Массив();
НовыйМассив.Добавить(НовыйПараметр);

НовыеПараметры = Новый ФиксированныйМассив(НовыйМассив);

Элементы.СчетУчета.ПараметрыВыбора = НовыеПараметры;
13 Uzyf
 
29.07.20
06:55
Вместо НовыйПараметр = Новый ПараметрВыбора("Отбор.Ссылка", НовыеЗначения);
надо
НовыйПараметр = Новый ПараметрВыбора("Отбор.НужныйРеквизит", Объект.НужныйРеквизит);
14 elsakovm
 
29.07.20
08:44
(11) так не работает

    НовыйПараметр = Новый ПараметрВыбора("Контрагент", Объект.Контрагент);
    
    НовыйМассив = Новый Массив();
    НовыйМассив.Добавить(НовыйПараметр);

    НовыеПараметры = Новый ФиксированныйМассив(НовыйМассив);

    Элементы.ТранспортноеСредство.ПараметрыВыбора = НовыеПараметры;
15 Ц_У
 
29.07.20
08:49
НовыйПараметр = Новый ПараметрВыбора("Контрагент", Объект.Контрагент);
"Отбор.Контрагент" не?
16 Ц_У
 
29.07.20
08:50
или из (13) "отбор.Ссылка"
17 Uzyf
 
29.07.20
08:51
открой параметры выбора в свойствах элемента формы и посмотри доступные поля и как они заносятся в параметры
18 Uzyf
 
29.07.20
08:53
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.