Имя: Пароль:
1C
 
Как установить отбор в открываемой форме?
0 program345
 
14.03.25
08:42
Всем привет,

Из документа открываю формусписка договоры, нужно установить условие чтобы договоры были только выбранного контрагента и содержали в названии "ССГ". Куда копать?
1 Волшебник
 
14.03.25
08:51
Добавьте ещё режим выбора
2 program345
 
14.03.25
08:56
(1) что значит режим выбора?
3 Волшебник
 
14.03.25
08:59
(2) Вы же отключили стандартную обработку, должны знать
4 program345
 
14.03.25
09:12
(3) П.Вставить("РежимВыбора",Истина);
ты про это?
5 Волшебник
 
14.03.25
09:21
(4) Вы случайно буквы переставляете или пытаетесь думать?
https://its.1c.ru/db/metod8dev/content/2222/hdoc
6 Мультук
 
гуру
14.03.25
09:23
(0)

google:
1C+УФ+формы+выбора

https://infostart.ru/1c/articles/1233756/

>>только выбранного контрагента и содержали в названии "ССГ"
Пример 6 в указанной ваше статье
7 program345
 
14.03.25
13:31
(6) а как смотреть какие есть параметры для отбора? интересуют точные названия.

вопрос про ЭлементОтбора.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Владелец"); Кроме владелец по каким полям еще возможен отбор?





///////////////////////////////////////////////////////////////////////////////////////////////









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


    НастройкиКомпоновки = Новый НастройкиКомпоновкиДанных;


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

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

    ОткрытьФорму("Справочник.Договоры.ФормаВыбора",ПараметрыФормы,
            ЭтаФорма, , , , ОбработкаВыбора);    
    
    
        

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

&НаКлиенте
Процедура ПриЗакрытииФормыВыбора(Значение, ДопПараметры) Экспорт
    Если Значение = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    Объект.Договор = Значение;
    
КонецПроцедуры
8 program345
 
14.03.25
13:36
неужели надо заходить в форму подбора и смотреть там в отладчике?
9 Волшебник
 
14.03.25
13:40
"Наименованее" - хе-хе
10 program345
 
14.03.25
13:46
(9) это то понятно, вопрос как раз в том, чтобы копировать параметры для отбора, а не писать...
11 Волшебник
 
14.03.25
13:55
(10) Только не говорите, что этот программный код запускался
12 Мультук
 
гуру
14.03.25
14:12
(10)

>>неужели надо заходить в форму подбора и смотреть там в отладчике
Можно зайти в нужную форму, в динамический "Список" и копировать поля оттуда


>>чтобы копировать параметры для отбора
Эта имена полей
13 program345
 
14.03.25
15:24
(12) понял, спасибо за помощь, руку пожал.
14 program345
 
14.03.25
15:25
(11) почему?
15 Волшебник
 
14.03.25
15:27
(14) потому что поля "Наименованее" не существует
16 program345
 
14.03.25
15:41
(15) ааа, пятнично.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс