Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

открыть справочник в подсистеме с отбором

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

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

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

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