Имя: Пароль:
1C
 
адресация задач и фильтр по пользователю
0 andrewrocker
 
03.07.25
15:17
Добрый день,

Сделали бизнес-процесс в соответствии с мануалом
https://infostart.ru/pm/1156040/

Вывели список на рабочий стол, меняем динамически пользователя в списке Пользователь, устанавливая отбор как указано ниже. При этом задачи пользователя2 из-под пользователя1 - не видно, хотя отбор - сброшен.

Как быть в этой ситуации? Задачи адресуются только по ФИО, не по должности.

&НаКлиенте
Процедура ОтветственныйПриИзменении(Элемент)
	
	Список.Отбор.Элементы.Очистить();
	Если ЗначениеЗаполнено(Ответственный) Тогда	
		ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных") ) ;
		ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Пользователь");
		ЭлементОтбора. ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
		ЭлементОтбора.ПравоеЗначение = Ответственный;	
	КонецЕсли
	
КонецПроцедуры
1 andrewrocker
 
03.07.25
14:21
Такое ощущение, что у задач какой-то другой реквизит работает как фильтр
2 Мультук
 
гуру
03.07.25
15:16
(0)

А под полными правами ?
Статью не читал -- много букв.
3 youalex
 
03.07.25
15:28
Можно посмотреть ПолучитьИсполняемыеНастройкиКомпоновкиДанных (), это метод таблицы формы с ДС
4 andrewrocker
 
03.07.25
17:49
Моя всё понял, твоя (3) умный.
Динамический мой список формируется не отбором, а параметром.

Вопрос - как передать в форму отключение параметра? Назначить параметр я справился, я не могу понять, как отключить параметр отбора.

Если ЗначениеЗаполнено(Ответственный) Тогда
Список.Параметры.УстановитьЗначениеПараметра("Исполнитель", Ответственный);
Иначе
Список.Отбор.Элементы.Очистить();
КонецЕсли;

Вместо Список.Отбор.Элементы.Очистить(), что нужно написать, чтобы передать отключение параметра?
5 youalex
 
03.07.25
18:25
Условие с параметром - в фигурные скобки, типа {ГДЕ Исполнитель = &Исполнитель}, тогда можно отключать,  типа

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

Или можно вообще без кода - включить этот параметр в польз. настройки, быстрый выбор - он будет выводиться в группе настроек
6 andrewrocker
 
03.07.25
18:51
Оба этих варианта не отключают использование самого параметра. Бред какой-то

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

Список.КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Исполнитель").Использование = Ложь;
7 Мультук
 
гуру
03.07.25
19:17
(6)

1) Ты и дальше не показывай свой текст запроса из ДС

ИЛИ

2) Просто переделай "ГДЕ &параметр" в отбор из (0)
8 andrewrocker
 
03.07.25
19:28
(7) сделано так, как на скриншотах.

Запрос не писал никакой
9 andrewrocker
 
03.07.25
19:30
Если нажать "ПроизвольныйЗапрос", тогда текст запроса такой:

ВЫБРАТЬ
    ЗадачаЗадачаЗадачиПоИсполнителю.Ссылка,
    ЗадачаЗадачаЗадачиПоИсполнителю.ПометкаУдаления,
    ЗадачаЗадачаЗадачиПоИсполнителю.Номер,
    ЗадачаЗадачаЗадачиПоИсполнителю.Дата,
    ЗадачаЗадачаЗадачиПоИсполнителю.БизнесПроцесс,
    ЗадачаЗадачаЗадачиПоИсполнителю.ТочкаМаршрута,
    ЗадачаЗадачаЗадачиПоИсполнителю.Наименование,
    ЗадачаЗадачаЗадачиПоИсполнителю.Выполнена,
    ЗадачаЗадачаЗадачиПоИсполнителю.РезультатДиалогаСКонтрагентом,
    ЗадачаЗадачаЗадачиПоИсполнителю.РезультатДатаСледующегоКонтакта,
    ЗадачаЗадачаЗадачиПоИсполнителю.ЧерезСколькоДнейКасатьсяКлиента,
    ЗадачаЗадачаЗадачиПоИсполнителю.Контрагент,
    ЗадачаЗадачаЗадачиПоИсполнителю.КонтактныеЛицаКонтрагентов,
    ЗадачаЗадачаЗадачиПоИсполнителю.ДокументОснование,
    ЗадачаЗадачаЗадачиПоИсполнителю.ДополнительнаяИнформация,
    ЗадачаЗадачаЗадачиПоИсполнителю.Подразделение,
    ЗадачаЗадачаЗадачиПоИсполнителю.Должность,
    ЗадачаЗадачаЗадачиПоИсполнителю.РольПользователяБизнесПроцессов,
    ЗадачаЗадачаЗадачиПоИсполнителю.Пользователь,
    ЗадачаЗадачаЗадачиПоИсполнителю.Представление
ИЗ
    Задача.Задача.ЗадачиПоИсполнителю КАК ЗадачаЗадачаЗадачиПоИсполнителю
10 andrewrocker
 
03.07.25
19:50
Может быть этот скриншот поможет?
Задача по исполнителю
11 youalex
 
03.07.25
20:49
(10) с этой вирт. таблицей не получится видимо отключать отбор по исполнителю, вот что в СП

Исполнитель (необязательный)
Тип параметра: Произвольный.
Если не указан, то выбирается из параметра сеанса, установленного в свойстве "Текущий исполнитель" объекта метаданных задачи.
12 andrewrocker
 
03.07.25
22:01
(11) спасибо тебе, значит код мы писали правильный, тут не баг, а фича такая
Основная теорема систематики: Новые системы плодят новые проблемы.