Имя: Пароль:
1C
1С v8
8.3 , УФ, СКД, программно заполнить отбор, ПриКомпоновкеРезультата
0 Geroy
 
30.03.16
14:45
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
Если Константы.РИБТекущийМагазин.Получить() <> Справочники.Склады.ПустаяСсылка() тогда
    ДляОтбораСклад = Константы.РИБТекущийМагазин.Получить();
               ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(СхемаКомпоновкиДанных.ВариантыНастроек.СводныйКонтрольОформленияДокументовТовародвижений.Настройки.Отбор,"Склад",ДляОтбораСклад,ВидСравненияКомпоновкиДанных.Равно);
        
СхемаКомпоновкиДанных.ВариантыНастроек.СводныйКонтрольОформленияДокументовТовародвижений.Настройки.Отбор.Элементы[0].Использование = Истина;
КонецЕсли;
    
СхемаКомпоновкиДанных.НаборыДанных.СводныйКонтрольОформленияДокументов.Запрос = ТекстЗапросаСводныйКонтрольОформленияДокументов();
        
КонецПроцедуры


Отбор меняется,но результат отчета не правильный
1 Geroy
 
30.03.16
14:48
Формы отчета НЕТ, только СКД
Пробывал и так
КомпоновщикНастроек.Настройки.Отбор.Элементы[0].ПравоеЗначение = ДляОтбораСклад;
        КомпоновщикНастроек.Настройки.Отбор.Элементы[0].Использование  = Истина;

Все равно не работает
2 Geroy
 
30.03.16
14:49
Задача, чтоб при нажатии Сформировать подставлялись всегда одни и те же отборы
3 Geroy
 
30.03.16
14:54
Что не так в коде?
4 George Wheels
 
30.03.16
15:13
СтандартнаяОбработка = Ложь
5 Geroy
 
30.03.16
15:15
(4) отчет тогда вообще не формируется
6 Defender aka LINN
 
30.03.16
15:22
(1) Какие ваши доказательства, что первый элемент отбора - тот самый?
А вообще, еще пользователские настройки есть.
7 Geroy
 
30.03.16
15:28
(6) Уже разобрался написал само формирование отчета


СтандартнаяОбработка = Ложь;

    НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки();
    
    Если Константы.РИБТекущийМагазин.Получить() <> Справочники.Склады.ПустаяСсылка() тогда
        ДляОтбораСклад = Константы.РИБТекущийМагазин.Получить();
        
        ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбора(НастройкиОтчета.Отбор,"Склад",ДляОтбораСклад,ВидСравненияКомпоновкиДанных.Равно);
        НастройкиОтчета.Отбор.Элементы[0].Использование = Истина;
    КонецЕсли;

    СхемаКомпоновкиДанных.НаборыДанных.СводныйКонтрольОформленияДокументов.Запрос = ТекстЗапросаСводныйКонтрольОформленияДокументов();
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки);
    
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки, Истина);
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
8 George Wheels
 
30.03.16
15:32
(7) Да, но вопрос (6) остался.
9 Geroy
 
30.03.16
16:11
(8) Какой вопрос? теперь при каждом нажатии Сформировать не зависимо от того какой отбор указал пользователь Формируется только согласно программному отбору
10 Pro-tone
 
модератор
30.03.16
16:16
(9) покажи скриншот таблицы элементов отбора (КомпоновщикНастроек.Настройки.Отбор.Элементы) из отладчика при заполненных пользовательских отборах вплоть до

ПроцессорВывода.Вывести(ПроцессорКомпоновки);
11 Geroy
 
30.03.16
16:45
(10) да все там правильно, до программного заполнения отборов
Я Вижу отборы которые указал пользователь и их меняю
12 Pro-tone
 
модератор
30.03.16
16:49
(11) никто не знает и не видит что у тебя там, пытаясь понять я предложил (10), раз, ты пишешь, что все правильно у тебя, то ты сам все знаешь, и зачем тогда просишь помощи. Итог, ветку можно закрывать, верно?
13 Geroy
 
30.03.16
16:55
(12) да, спасибо
Просто не сразу смекнул написать свое формирование отчета и не использовать стандартную
14 EvgeniuXP
 
30.03.16
18:16
[0] - ищи другие способы, так не пишут
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс