Имя: Пароль:
1C
1С v8
Инициализировать программно отбор в отчете на СКД
0 shlyahtich
 
05.04.16
17:39
Создан внешний отчет на СКД
В СКД определено, что поле для отбора доступно, но не заполнено

Форма создана на основе СКД

В этой форме программно определяю значение для отбора, но оно на форме все равно пустое

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    ОтчетЗначение =  РеквизитФормыВЗначение("Отчет");
    СхемаКомпоновкиДанных = ОтчетЗначение.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    Отбор = СхемаКомпоновкиДанных.ВариантыНастроек.сиб_ПрибыльПоРеализациямПоМенеджерам.Настройки.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    Отбор.ЛевоеЗначение         = Новый ПолеКомпоновкиДанных("Менеджер");
    Отбор.ПравоеЗначение         = Пользователи.ТекущийПользователь();
    Отбор.ВидСравнения         = ВидСравненияКомпоновкиДанных.Равно;
    Отбор.Использование         = Истина;
    Отбор.РежимОтображения     = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.БыстрыйДоступ;
        
КонецПроцедуры
1 Timon1405
 
05.04.16
17:41
может быть ЗначениеВРеквизитФормы добавить?
2 shlyahtich
 
05.04.16
17:45
(1)     ЗначениеВРеквизитФормы(ОтчетЗначение,"Отчет") ?

не помогает
3 Defender aka LINN
 
05.04.16
17:45
(0) "В этой форме программно определяю" - нифига подобного
4 Defender aka LINN
 
05.04.16
17:46
+(3) Ты меняешь настройки варианта отчета. Какого-то варианта.
5 shlyahtich
 
05.04.16
17:48
(4) по умолчанию который
6 shlyahtich
 
05.04.16
17:50
(4) в СКД один вариант с названием сиб_ПрибыльПоРеализациямПоМенеджерам
вот его и меняю
7 Defender aka LINN
 
05.04.16
17:51
(5) Полагаешь, есть разница? Так я тебя расстрою.
8 shlyahtich
 
05.04.16
17:53
(7) Хорошо - вариант настроек один и он выводится на форму
В нем есть Отбор
его программно пытаюсь установить
9 shlyahtich
 
05.04.16
17:56
СКД = ПолучитьМакет("СКД");
    
    ТекстЗапроса = СформироватьТекстЗапроса();
    
    НаборДанных = СКД.НаборыДанных.Найти("ОсновнойНаборДанных");
    НаборДанных.Запрос = ТекстЗапроса;
    
    НаборДанных.ИсточникДанных ="ОсновнойИсточникДанных";
    
    НаборДанных.АвтоЗаполнениеДоступныхПолей = Истина;
    
    КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СКД));
10 shlyahtich
 
05.04.16
17:57
11 shlyahtich
 
05.04.16
17:58
Но у меня СКД не программно создана, а есть в наличие в макете

как в ней отбор добавить?
12 shlyahtich
 
05.04.16
18:00
13 Zhuravlik
 
05.04.16
18:03
(0) Нужно получить настройки компоновщика, затем установить настройки компоновщика. Используя одноименные методы одноименных объектов...
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс