Имя: Пароль:
1C
 
Типовой отбор для неуправляемых форм.
0 Мисти
 
20.12.16
21:28
Как "прикрутить" типовой отбор с уже существующему отчету?
Отчет построен без всякого построителя, СКД - просто пешком (и им пользуются давно)
Возникла необходимость добавить отбор по номенклатуре как в типовых отчетах - чтоб выбрать "в группе, в списке, равно" и т.д. и набрать нужные списки.
В типовом отчете так:
// Процедура - обработчик изменения данных в поле значения отбора
//
Процедура ПолеНастройки1ПриИзменении(Элемент)

    УправлениеОтчетами.ПолеНастройкиПриИзменении(Элемент, ПостроительОтчета.Отбор);
    
КонецПроцедуры // ПолеНастройки1ПриИзменении()
Но у меня же нет построителя?
1 Мисти
 
20.12.16
21:50
Никто мне не поможет??
2 Garykom
 
гуру
20.12.16
21:51
Запрос покажи
3 Мисти
 
20.12.16
21:57
А нет запроса!
Т.е. их много, и я туда потом вставлю "Где номенклатура в СписокНоменклатуры", список создам на основании этого отбора "руками"
4 Мисти
 
20.12.16
21:59
ПолеНастройкиНоменклатура - у меня там всё соберется, потом я разберусь, что там и создам список.
5 Cyberhawk
 
20.12.16
22:08
Нужно перетащить реквизит формы (раскрыть узел дерева ОтчетОбъект) на форму
6 Мисти
 
20.12.16
22:14
Я его видела.
А дальше с ним что делать? Мне кажется, это другой совсем метод!
7 Мисти
 
20.12.16
22:33
Не-е, реквизит формы - на форму? В неуправляемых формах?
8 Мисти
 
20.12.16
22:35
Мне нужно, чтобы отработали все типовые методы подставления вариантов выбора и сбора потом выбранных данных, а уж с этим я потом как-нибудь разберусь
9 Мимохожий Однако
 
20.12.16
22:36
ОФФ: Неуправляемые формы...Прикольно.
10 Мисти
 
20.12.16
22:41
Пусть будет отдельно "Не на управляемых формах".
Так лучше?
А по сути?
11 Мисти
 
20.12.16
22:42
Аналогичный отбор уже и в 7 (в торговле) работал, там, помнится, мне удалось его "украсть" откуда-то из типового отчета.
12 Мисти
 
20.12.16
23:30
Процедура ПолеНастройки1ПриИзменении(Элемент)

    УправлениеОтчетами.ПолеНастройкиПриИзменении(Элемент, ЭлементыФормы);
    
КонецПроцедуры // ПолеНастройки1ПриИзменении()

можно обойтись и без построителя, оказывается!
Только всё равно чего-то не хватает.
13 Мисти
 
20.12.16
23:57
Ура! Удалось качественно украсть.
    Текст =     
    "ВЫБРАТЬ
    |    Номенклатура.Ссылка,
    |    NULL КАК Склад
    |ИЗ
    |    Справочник.Номенклатура КАК Номенклатура
    |{ГДЕ
    |    Номенклатура.Ссылка КАК Номенклатура}
    |
    |ОБЪЕДИНИТЬ ВСЕ
    |
    |ВЫБРАТЬ
    |    NULL,
    |    Склады.Ссылка
    |ИЗ
    |    Справочник.Склады КАК Склады
    |{ГДЕ
    |    Склады.Ссылка КАК Склады}";
    ПостроительОтчета.Текст=Текст;
    
    ОтборКоличество = ПостроительОтчета.Отбор.Количество();
    Для ном1 = 1 По ОтборКоличество Цикл
        ПостроительОтчета.Отбор.Удалить(ОтборКоличество - ном1);
    КонецЦикла;
    ПостроительОтчета.Отбор.Добавить("Номенклатура");
    //ПостроительОтчета.Отбор.Добавить("Подразделение");
    УправлениеОтчетами.УстановитьСвязьПолейБыстрогоОтбораНаФорме(ЭлементыФормы, ПостроительОтчета.Отбор, СтруктураСвязиЭлементовСДанными, "ОбработкаОбъект.ПостроительОтчета.Отбор");
    ЭлементыФормы.ПолеВидаСравненияНоменклатура.СписокВыбора.Добавить(ВидСравнения.НеСодержит);
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс