Имя: Пароль:
1C
1С v8
Навигационная ссылка на список с отбором
0 pavlushov
 
29.08.24
13:23
Нужно программно получить навигационную ссылку на список документов с отбором по автору. В справке для метода есть вариант синтаксиса: Ссылка на списки с заданными настройками
Синтаксис: ПолучитьНавигационнуюСсылку(<Объект>, <Настройки>, <ПредставлениеНавигационнойСсылки>,<ВнешниеДанныеНавигационнойСсылки>). Пишу так:
	НастройкиКД = Новый НастройкиКомпоновкиДанных;
	
	Отбор = НастройкиКД.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Автор");
	Отбор.ПравоеЗначение = Пользователь;
	Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	Отбор.Использование = Истина;

	Настройки = Новый НастройкиТаблицыДинамическогоСписка();
	Настройки.ФиксированныеНастройки = НастройкиКД;
	
	НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Документы.ЗаявкаНаРасходованиеДенежныхСредств.ПолучитьФорму("ФормаСпискаЗаявокКСогласованию"), Настройки, "Заявки по автору");


Дает ошибку, не нравится тип 2-го параметра в методе ПолучитьНавигационнуюСсылку()
1 PR
 
29.08.24
11:53
Плохо
2 Волшебник
 
29.08.24
14:46
попробуйте так:
НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Метаданные.Документы.ЗаявкаНаРасходованиеДенежныхСредств, Настройки, "Заявки по автору");
3 pavlushov
 
29.08.24
13:06
(2) точно так же ругается на 2-й параметр, как будто этот вариант синтаксиса не работает
4 PR
 
29.08.24
13:23
(3) Во-первых, на тебе на будущее вопросиков ????????????????????
Во-вторых, научись внимательно читать СП, там же написано НастройкиТаблицыДинамическогоСписка, а не НастройкиКомпоновкиДанных
Для первого параметра, кстати, тоже написано метаданные, а не форма
5 pavlushov
 
29.08.24
13:31
(4) не хами, посмотри на мой код, именно НастройкиТаблицыДинамическогоСписка я и передаю во 2-й параметр:

Настройки = Новый НастройкиТаблицыДинамическогоСписка();
    Настройки.ФиксированныеНастройки = НастройкиКД;
    
    НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Документы.ЗаявкаНаРасходованиеДенежныхСредств.ПолучитьФорму("ФормаСпискаЗаявокКСогласованию"), Настройки, "Заявки по автору");
6 pavlushov
 
29.08.24
13:32
(4) вариант с метаданными тоже пробовал:
НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Документы.ЗаявкаНаРасходованиеДенежныхСредств, Настройки, "Заявки по автору");
7 osa1C
 
29.08.24
13:49
(5) Тебе говорят передавай НастройкиТаблицыДинамическогоСписка, а ты в них вставляешь НастройкиКомпоновкиДанных и еще утверждаешь, что правильно передаешь
8 Максимка_
Космонавтом
 
29.08.24
13:57
(6) Это не метаданные, это менеджер. Метаданные - это когда Метаданные.Документы.ЗаявкаНаРасходованиеДенежныхСредств
9 Максимка_
Космонавтом
 
29.08.24
14:03
(7) Как раз-таки второй параметр верно создает и передает. Ошибка определения варианта синтаксиса идет из-за не правильного первого параметра.
10 osa1C
 
29.08.24
14:07
ПолучитьНавигационнуюСсылку(<Объект>, <ИмяРеквизита>, <Индекс>)  

Параметры: <Объект> (обязательный)
Тип: Ссылка на объект информационной базы. Ссылка на объект.
<ИмяРеквизита> (необязательный)
Тип: Строка. Имя реквизита объекта или ресурса Регистра сведений, для которого нужно выяснить ссылку. Если это реквизит табличной части объекта, то параметр указывается как <имя табличной части>.<имя реквизита>, то есть с разделителем "." (точка).
<Индекс> (необязательный)
Тип: Число. Индекс строки в табличной части, в том случае если объект является реквизитом табличной части. Первая строка имеет индекс равный 0.
Возвращаемое значение: Тип: Строка.
Описание: Получает текст ссылки на объект информационной базы или его реквизит в формате 1С:Предприятия.
В первом случае принимает в качестве параметра ссылку на объект (это может быть как ссылка, так и ключ записи регистра сведений). Объектом могут быть: справочник, документ, ключ записи регистра сведений, бизнес процессы, задачи.
Во втором, в качестве параметров принимает ключ объекта (это может быть как ссылка, так и ключ записи регистра сведений) и имя реквизита (ресурса). Если нужно получить ссылку на реквизит табличной части, перед именем реквизита необходимо добавить имя табличной части и точку ".".
Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Примечание: Выполняет обращение к серверу только при получении ссылки на реквизит. При получении ссылки на объект информационной базы запрос на сервер не выполняется.
11 Волшебник
 
29.08.24
14:07
(8) кстати, да
12 pavlushov
 
29.08.24
14:25
(7) их и передаю, ну как вы не видите
13 pavlushov
 
29.08.24
14:33
(8) да, именно так - Метаданные.Документы.ЗаявкаНаРасходованиеДенежныхСредств, но я как то криво передал настройки КД))), форма списка открылась но без отборов
14 pavlushov
 
29.08.24
14:33
печально, что можно открыть только форму списка по умолчанию
15 Максимка_
Космонавтом
 
29.08.24
14:42
(14) А версия платформы какая? Потому что этот вариант синтаксиса еще и не на каждой версии отрабатывает. На некоторых 23-х, 25-х точно знаю, что не работает из-за бага платформы
16 pavlushov
 
29.08.24
14:44
(15) 8.3.24.1586
17 Максимка_
Космонавтом
 
29.08.24
14:48
(16) Ну вот одна из последних, ага, может не работать. Тут фиг его знает, как узнать точно
18 PR
 
29.08.24
14:54
(5) А, про настройки сорян, недоглядел
А про метаданные?
19 PR
 
29.08.24
14:57
(14) Ну так делай свою команду, делай на нее ссылку, в ней открывай что хочешь
20 Мультук
 
гуру
29.08.24
14:57
21 PR
 
29.08.24
14:57
(9) Все верно, так и есть
22 PR
 
29.08.24
14:58
(20) Не прояснит, там только про интерактив
23 pavlushov
 
29.08.24
16:36
По итогу вот так работает:
	НастройкиКД = Новый НастройкиКомпоновкиДанных;
	
	Отбор = НастройкиКД.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
	Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Автор");
	Отбор.ПравоеЗначение = Пользователь;
	Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	Отбор.Использование = Истина;
	
	Настройки = Новый НастройкиТаблицыДинамическогоСписка();
	Настройки.ФиксированныеНастройки = НастройкиКД;
	
	НавигационнаяСсылка = ПолучитьНавигационнуюСсылку(Метаданные.Документы.ЗаявкаНаРасходованиеДенежныхСредств, Настройки, "Заявки по автору");


Но! В форме когда открываешь настройку списка, отбора не видно, хотя он применен (вижу по данным списка).
24 CepeLLlka
 
29.08.24
16:33
(23)Наверное потому что это не форма с отбором, а ссылка на форму с уже отобранными данными.

Она вам эта навигационная ссылка вообще для чего?
25 pavlushov
 
29.08.24
17:21
(24) это для оповещения пользователя о необходимости проработать определенные документы, в оповещении должна быть навигационная ссылка которая откроет список документов с отбором по пользователю
26 Волшебник
 
29.08.24
17:34
(25) Сделайте ссылку на обработку, а она уже откроёт всё, что нужно.
27 ptiz
 
29.08.24
17:51
(23) Прикольно. Похоже, как и любой отбор формы с параметрами отбора - они не видны.
А вот вопрос: как ещё можно открыть УФ дин.списка с отбором (не на простое равенство), не меняя код в форме?
28 CepeLLlka
 
29.08.24
18:03
(25)А оповещение каким образом работает? Не легче просто сразу форму с отбором открывать как в (19) предлагают, почему именно через навигационную ссылку?
29 Михаил Козлов
 
29.08.24
23:58
(23) Предположу, что не видны, т.к. это ФиксированныеНастройки.
30 lEvGl
 
гуру
30.08.24
00:05
(29) ну это всегда так было, установленное программно либо невидно, либо не доступно к редактированию
31 toypaul
 
гуру
30.08.24
07:40
(22) фиксированные настройки в СКД (не знаю как тут, но похоже также) тоже не видны. может там есть другие (не фиксированные) настройки?
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn