Имя: Пароль:
1C
1С v8
Отбор в СКД
,
0 Max2021
 
01.08.18
10:52
Добрый день!
Возникла проблема при создании отчета.

В отчете используется несколько отборов. Отбор по периоду и документу работает отлично, но при использовании отбора по ответственному (СправочникСсылка.Пользователи) выдает следующую ошибку: Ошибка в элементе отбора: глобальные элементы отбора обязательно должны использовать поля " Равно Иванов Иван Иванович"

Сами параметры заполняются на форме и потом записываются, используя процедуры следующего вида:
&НаСервере
Процедура УстановитьОтветственный()
Настройки = Отчет.КомпоновщикНастроек.Настройки;
Параметр4 = Настройки.ПараметрыДанных.Элементы.Найти("Ответственный");
Параметр4.Значение = Отчет.Ответственный.Ссылка;
Параметр4.Использование = Истина;
КонецПроцедуры
1 aleks_default
 
01.08.18
11:13
Ну вид сравнения в параметре наверное не указан. И это "Отчет.Ответственный.Ссылка" замени на Отчет.Ответственный и больше никогда так не делай, палишься.
2 Малыш Джон
 
01.08.18
11:25
(0) открой для себя функцию УстановитьЗначениеПараметра()
3 Max2021
 
01.08.18
11:50
(1) А где настраивается вид сравнения в параметре? Ссылка от безысходности.

(2) Отличная функция, но к сожалению не помогла.
4 Малыш Джон
 
01.08.18
11:54
(3) она в этом вопросе тебе и не поможет

просто вместо вот этого:

Параметр4 = Настройки.ПараметрыДанных.Элементы.Найти("Ответственный");
Параметр4.Значение = Отчет.Ответственный.Ссылка;
Параметр4.Использование = Истина;

используй:
Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("отвественный", Отчет.Ответственный.Ссылка);
5 Малыш Джон
 
01.08.18
11:55
(3) а по твоему вопросу: в настройках СКД перетащи "Ответственного" из Отборов в Параметры, и тогда (4) тебе поможет
6 Малыш Джон
 
01.08.18
11:56
ну или не перетаскивай - тогда устанавливай отбор, а не параметр
7 Max2021
 
01.08.18
12:02
(4) Пробовал использовать:

Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Ответственный", Отчет.Ответственный);

и

ЭтаФорма.Отчет.КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Ответственный", Отчет.Ответственный);

К сожалению не помогло.

В настройках все в параметрах, отборы вообще не задействованы.
8 Малыш Джон
 
01.08.18
12:03
(7) "Ошибка в элементе отбора: глобальные элементы отбора обязательно должны использовать поля"

если вообще по-простому: тебе ругается на отборы, не на параметры.
9 Малыш Джон
 
01.08.18
12:04
поэтому ты конечно можешь и дальше мучить параметры, но с ошибкой в отборах это тебе не поможет
10 Max2021
 
01.08.18
12:17
(9) Но ведь в отборах вообще ничего нет. Откуда там ошибка?
11 Малыш Джон
 
01.08.18
12:20
(10) ну тут я тебе уже не подскажу.

бери отладчик, вставай на строку с компоновщиком - и смотри, что у него там в отборах.
Скорее всего на каком-нибудь уровне группировки свой отбор стоит, недовведенный(поле отбора выбрано, а вида сравнения например нет)
12 Малыш Джон
 
01.08.18
12:21
+(11) "Скорее всего на каком-нибудь уровне группировки свой отбор стоит, недовведенный(поле отбора выбрано, а вида сравнения например нет)" - это в настройках СКД уже
13 aleks_default
 
01.08.18
13:00
попробуй Установить стандартные настройки
14 bvb
 
01.08.18
13:05
(0) Тебе нужна функция программной установки отбора ?