Имя: Пароль:
1C
1С v8
Помогите доделать отбор
0 Sintez123
 
19.11.12
14:39
Весь день маюсь, у меня раб.день уже кончился :)

Есть отчет, вставил там поле, тип "Отбор". При запуске отчета, могу нажать на выбор значений в поле, открывается окно настройки отбора. Сойдет. Но как его отредактировать кодом непонятно. Этот код по идее должен работать, но вылетает с ошибкой:

{Форма.ФормаОтчета.Форма(241)}: Ошибка при вызове метода контекста (Добавить)
   сзОтбор.Добавить("СтатьяЗатрат");
по причине:
Недопустимое значение параметра (параметр номер '1')


   сзОтбор = ЭтаФорма.Отбор;    
   сзОтбор.Добавить("СтатьяЗатрат");
   сзОтбор["СтатьяЗатрат"].Использование = Истина;
   сзОтбор["СтатьяЗатрат"].ВидСравнения = ЭтаФорма.Отбор.СтатьяЗатрат.ВидСравнения;
   сзОтбор["СтатьяЗатрат"].Значение = ЭтаФорма.Отбор.СтатьяЗатрат.Значение;
1 palpetrovich
 
19.11.12
14:41
ВидСравнения - как-то выглядит недоделанным, к примеру ВидСравнения.ВИерархии
2 Maxus43
 
19.11.12
14:42
сзОтбор = ЭтаФорма.Отбор;    
    сзОтбор.СтатьяЗатрат.Использование = Истина;
и т.д.
3 palpetrovich
 
19.11.12
14:42
+1 не, пальцем в небо, это-ж на форме...
4 Sintez123
 
19.11.12
14:44
(2) не, не тут ругается, ругается на эту строку:
сзОтбор.Добавить("СтатьяЗатрат");
5 palpetrovich
 
19.11.12
14:45
(4)
6 palpetrovich
 
19.11.12
14:45
сзОтбор = ЭтаФорма.Отбор.Найти("СтатьяЗатрат");
   Если сзОтбор = Неопределено Тогда
       сзОтбор.Добавить("СтатьяЗатрат");
   КонецЕсли;
7 Sintez123
 
19.11.12
14:47
Вот так заработало:)

   ДоступныеПоляОтбора = Отбор.ПолучитьДоступныеПоля();
   Поле = ДоступныеПоляОтбора.Добавить("Контрагент", "Контрагент",
   Новый ОписаниеТипов("СправочникСсылка.Контрагенты"));
   Поле.Отбор = Истина;
   Поле = ДоступныеПоляОтбора.Добавить("Номенклатура", "Номенклатура",
   Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
   Поле.Отбор = Истина;
   Отбор.УстановитьДоступныеПоля(ДоступныеПоляОтбора);
8 palpetrovich
 
19.11.12
14:48
(7) пипец, и как это связано с (0) :)
9 Maxus43
 
19.11.12
14:50
(4) где ты в (2) увидел "добавить" вобще?
(8) + 1, ппц
10 Sintez123
 
19.11.12
15:10
в (0) изначально была строка  

сзОтбор.Добавить("СтатьяЗатрат");

на нее и ругалось сразу же.
11 Sintez123
 
19.11.12
15:11
(2) не подойдет, потому надо сначала добавить фильтры отбора, которых вообще нет ни одного