Имя: Пароль:
1C
1С v8
открыть справочник в подсистеме с отбором
0 winterbear
 
13.04.18
13:58
Имеется подсистема, на которой выведен справочник Партнеры. Можно ли седлать, чтобы открывался справочник с отбором по родителю, и в самом подсистеме было не название справочника, а название родителя элемента, по которому отбор
1 tesseract
 
13.04.18
13:59
(0) Можно.
2 winterbear
 
13.04.18
14:05
Как это сделать ?
3 winterbear
 
13.04.18
14:05
через команду ?
4 winterbear
 
13.04.18
14:15
ПараметрыОтбора = Новый Структура("Родитель", ПолучитьГруппуПациенты());
    
    ОткрытьФорму("Справочник.Партнеры.ФормаСписка",
    Новый Структура("Отбор", ПараметрыОтбора),
    ПараметрыВыполненияКоманды.Источник,
    Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000003"),
    ПараметрыВыполненияКоманды.Окно);
5 winterbear
 
13.04.18
14:17
Так Выводит пустую форму
6 novichok79
 
13.04.18
14:20
так сделано в УТ 11, открытие формы записей регистра

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

            ФормаРегистра = ПолучитьФорму(СтрокаТабличнойЧасти.ИмяФормыРегистра);
            
            ПараметрыОтбора = Новый Структура;
            
            ПараметрыОтбора.Вставить("Поле", "Регистратор");
            ПараметрыОтбора.Вставить("Значение", Объект.ИсправляемыйДокумент);
            ПараметрыОтбора.Вставить("ВидСравнения", ВидСравненияКомпоновкиДанных.Равно);
            ПараметрыОтбора.Вставить("Использование", Истина);
            
            ДополнительныеПараметры = Новый Структура;
            
            ДополнительныеПараметры.Вставить("ВПользовательскиеНастройки", Истина);
            ДополнительныеПараметры.Вставить("ЗаменятьСуществующий", Истина);
            
            ДобавитьОтбор(ФормаРегистра.Список.КомпоновщикНастроек, ПараметрыОтбора, ДополнительныеПараметры);
            
            ФормаРегистра.Открыть();
7 novichok79
 
13.04.18
14:21
&НаКлиенте
Функция ДобавитьОтбор(ЭлементСтруктуры, ПараметрыОтбора, ДополнительныеПараметры = Неопределено)
    
    Если ДополнительныеПараметры = Неопределено Тогда
        ДополнительныеПараметры = Новый Структура;
        ДополнительныеПараметры.Вставить("ВПользовательскиеНастройки", Ложь);
        ДополнительныеПараметры.Вставить("ЗаменятьСуществующий",       Истина);
    Иначе
        Если Не ДополнительныеПараметры.Свойство("ВПользовательскиеНастройки") Тогда
            ДополнительныеПараметры.Вставить("ВПользовательскиеНастройки", Ложь);
        КонецЕсли;
        Если Не ДополнительныеПараметры.Свойство("ЗаменятьСуществующий") Тогда
            ДополнительныеПараметры.Вставить("ЗаменятьСуществующий", Истина);
        КонецЕсли;
    КонецЕсли;
    
    Если ТипЗнч(ПараметрыОтбора.Поле) = Тип("Строка") Тогда
        НовоеПоле = Новый ПолеКомпоновкиДанных(ПараметрыОтбора.Поле);
    Иначе
        НовоеПоле = ПараметрыОтбора.Поле;
    КонецЕсли;
    
    Если ТипЗнч(ЭлементСтруктуры) = Тип("КомпоновщикНастроекКомпоновкиДанных") Тогда
        Отбор = ЭлементСтруктуры.Настройки.Отбор;
        
        Если ДополнительныеПараметры.ВПользовательскиеНастройки Тогда
            Для Каждого ЭлементНастройки Из ЭлементСтруктуры.ПользовательскиеНастройки.Элементы Цикл
                Если ЭлементНастройки.ИдентификаторПользовательскойНастройки =
                    ЭлементСтруктуры.Настройки.Отбор.ИдентификаторПользовательскойНастройки Тогда
                    Отбор = ЭлементНастройки;
                КонецЕсли;
            КонецЦикла;
        КонецЕсли;
    
    ИначеЕсли ТипЗнч(ЭлементСтруктуры) = Тип("НастройкиКомпоновкиДанных") Тогда
        Отбор = ЭлементСтруктуры.Отбор;
    Иначе
        Отбор = ЭлементСтруктуры;
    КонецЕсли;
    
    ЭлементОтбора = Неопределено;
    Если ДополнительныеПараметры.ЗаменятьСуществующий Тогда
        Для каждого Элемент Из Отбор.Элементы Цикл
    
            Если ТипЗнч(Элемент) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда
                Продолжить;
            КонецЕсли;
    
            Если Элемент.ЛевоеЗначение = НовоеПоле Тогда
                ЭлементОтбора = Элемент;
            КонецЕсли;
    
        КонецЦикла;
    КонецЕсли;
    
    Если ЭлементОтбора = Неопределено Тогда
        ЭлементОтбора = Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    КонецЕсли;
    ЭлементОтбора.Использование  = ПараметрыОтбора.Использование;
    ЭлементОтбора.ЛевоеЗначение  = НовоеПоле;
    ЭлементОтбора.ВидСравнения   = ?(ПараметрыОтбора.ВидСравнения = Неопределено, ВидСравненияКомпоновкиДанных.Равно,
        ПараметрыОтбора.ВидСравнения);
    ЭлементОтбора.ПравоеЗначение = ПараметрыОтбора.Значение;
    
    Возврат ЭлементОтбора;
    
КонецФункции
8 novichok79
 
13.04.18
14:21
(0) по типу (6) и (7) делаешь открытие формы списка с отбором