|
Помогите доделать отбор |
☑ |
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) не подойдет, потому надо сначала добавить фильтры отбора, которых вообще нет ни одного
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой