Имя: Пароль:
1C
1С v8
Программный вызов отчета (СКД)
0 Doman26
 
13.09.11
12:38
вызываю из справочника

 СхемаКомпоновкиДанных  = Отчеты.ОтчетПоШинамНаТС.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
   КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
   КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
   КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновкиДанных.НастройкиПоУмолчанию);
   ДатаП = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Дата"));
   МашинаП = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Машина"));
 ДатаП.Использование = Истина;
МашинаП.Использование = Истина;
ДатаП.Значение = ТекущаяДата();
МашинаП.Значение = Ссылка;
ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;  
   МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,КомпоновщикНастроек.Настройки,ДанныеРасшифровки);
   ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
   ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,ДанныеРасшифровки, Истина);  
   ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
   ФормаОтчета = Отчеты.ОтчетПоШинамНаТС.ПолучитьФорму();
   ПроцессорВывода.УстановитьДокумент(ФормаОтчета.ЭлементыФормы.Результат);
   ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
   ФормаОтчета.Открыть();

пишет ошибку

Неверные параметры в операции сравнения. Нельзя сравнивать поля
неограниченной длины и поля несовместимых типов.
РегистрСведений.ШиныНаМашине.СрезПоследних(&Дата, Машина <<?>>= &Машина) КАК ШиныНаМашинеСрезПоследних
Хотя параметр типа ссылка этого справочника
1 Axel2009
 
13.09.11
12:39
Список?
2 Doman26
 
13.09.11
13:19
(1) согласен, убрал, другой вопрос а какие есть методы вывода по всем значениям параметры если они не заполнены.
попытался сделать  через параметр, но не знаю где давать ему значения по заполненности(незаполненности параметра)
3 Doman26
 
13.09.11
13:19
ВЫБОР
               КОГДА &МашинаЗаполнена
                   ТОГДА Машина В ИЕРАРХИИ (&Машина)
               ИНАЧЕ ИСТИНА
           КОНЕЦ) КАК ШиныНаМашинеСрезПоследних


но где заполнять этот МашинаЗаполнена?
4 Defender aka LINN
 
13.09.11
13:25
(3) Какая прелесть... В СКД эмулировать отбор параметрами...
5 Doman26
 
13.09.11
13:29
(4) убрал уже и это, но как тогда сделать что если параметр ММАШИНА(как список значений) пуст то тогда выводить по ввсем?
6 Axel2009
 
13.09.11
13:31
(5) Использование = Ложь?
7 Axel2009
 
13.09.11
13:32
ЗЫ фигурные скобки {Машина КАК Машина}
8 Doman26
 
13.09.11
13:33
(6) в смысле где?
(7) тот же вопрос, где и зачем?
9 Doman26
 
13.09.11
13:43
так как все таки по пустом значению параметра выводить все?
10 Axel2009
 
13.09.11
13:45
(9) убери параметры. задай фигурные скобки вместо условия и задавай отбор компоновщиканастроек. читай справку
11 Doman26
 
13.09.11
13:53
(10 ) в запросе вместо условия в виртуальной таблице?
12 Axel2009
 
13.09.11
14:01
да
13 Doman26
 
13.09.11
15:23
а как остаить отбор и параметры такими какими я их передаю программно?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший