![]() |
![]() |
|
Реквизит (Список значений) как параметр для динамического списка | ☑ | ||
---|---|---|---|---|
0
PiotrLoginov
23.04.15
✎
19:14
|
Здрасте всем.
УФ. Имеется реквизит Список (Динамический список) со следующим запросом: ВЫБРАТЬ ЗаказКлиента.Ссылка, ЗаказКлиента.Номер, ЗаказКлиента.Дата, ЗаказКлиента.Проведен, ЗаказКлиента.Партнер, ЗаказКлиента.Контрагент, ЗаказКлиента.Организация, ВыбранныеЗаказы.Ссылка КАК Ссылка1 ИЗ Документ.ЗаказКлиента КАК ЗаказКлиента ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента КАК ВыбранныеЗаказы ПО ЗаказКлиента.Ссылка = ВыбранныеЗаказы.Ссылка И (ВыбранныеЗаказы.Ссылка В (&ВыбранныеСсылки)) ... и реквизит ВыбранныеСсылки (список значений, тип значения ДокументСсылка.ЗаказКлиента), который заполняется ПриСозданииНасервере: Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | ЗаказКлиента.Ссылка |ИЗ | Документ.ЗаказКлиента КАК ЗаказКлиента"; Выб = Запрос.Выполнить().Выбрать(); Пока Выб.Следующий() Цикл ВыбранныеСсылки.Добавить(Выб.Ссылка); КонецЦикла; Список.Параметры.УстановитьЗначениеПараметра("ВыбранныеСсылки", ВыбранныеСсылки); В итоге при открытии формы в колонке Ссылка1 вижу только лишь ссылку из самого первого элемента списка значений. ЧЯДНТ ? |
|||
1
PiotrLoginov
23.04.15
✎
19:22
|
Если проще: в запросе параметр - список значений. Запрос "видит" только первое значение из списка значений, хотя их там много. С чем это может быть связано? Мб список значений, хранящийся в реквизите упр. формы, требует какой-то особой настройки, о которой я не знаю?
|
|||
2
PiotrLoginov
23.04.15
✎
19:44
|
Попытался изменить свойство этого параметра ДоступенСписокЗначений. Однако, свойство - только для чтения. Как же правильно изменить это свойство у параметра динамического списка на УФ в 8.3 ? Мб кто-нибудь знает ?
|
|||
3
DrShad
23.04.15
✎
19:59
|
Если по правде то делать надо отбор, а вообще запрос ДС полный бред
|
|||
4
PiotrLoginov
23.04.15
✎
20:05
|
Запрос - тестовый. Пока не пойму, как правильно использовать ДС.
Отбор? А параметр в ДС - это табу? |
|||
5
DrShad
23.04.15
✎
20:08
|
Ну не то чтобы табу, но некошерно, да и в тестовых целях мега адский запрос
|
|||
6
PiotrLoginov
23.04.15
✎
20:22
|
мне потом надо будет в определенной колонке выводить значения, зависящие от содержимого определенного реквизита формы. Не уверен, что тут подойдет отбор. Параметр бы...
Пошел по такому пути: создал макет - схему с нужными настройками и параметром, у которого установил "ДоступенСписокЗначений". ПриСозданииНаСервере "получил" эту схему и загрузил в компоновщик её НастройкиПоУмолчанию. Не помогло. |
|||
7
DrShad
23.04.15
✎
20:32
|
Задачу бы описал может и помогли бы
|
|||
8
PiotrLoginov
23.04.15
✎
20:33
|
Загрузил в компоновщик из макета-схемы настройки основного варианта:
СхемаКомпоновки.ВариантыНастроек.Основной.Настройки не помогло. Штудирую СП. должен же быть способ настроить параметр ДС таким, каким он мне нужен |
|||
9
PiotrLoginov
23.04.15
✎
20:36
|
(7) задача - в определенной колонке выводить значения, зависящие от содержимого определенного реквизита формы. Что тут можно добавить?
Будет реквизит на форме - список со ссылками на заказы. Заполнив список, пользователь должен увидеть, что в строках с заказами определенные заказы получили определенные значения в предназначенной для этого колонке. |
|||
10
PiotrLoginov
23.04.15
✎
20:36
|
* определенные заказы = определенные строки
|
|||
11
DrShad
23.04.15
✎
20:40
|
Ни фига не понять
|
|||
12
PiotrLoginov
23.04.15
✎
20:50
|
ну вот как вариант: перед пользователем список заказов. На форме реквизит - ссылка на справочник Менеджеры. Выбираем одного менеджера - и в списке подсвечиваются специальным цветом строки с заказами, которыми занимается этот менеджер. А подсвечиваются потому, что в условном оформлении настроено, чтобы строки, у которых определенное поле равно 1, подсвечивались этим цветом. А значение этому полю (колонке списка) задается в запросе исходя из переданной в запрос ссылки на элемент справочника менеджеры.
|
|||
13
PiotrLoginov
23.04.15
✎
20:53
|
только пользователь будет выбирать не одного из менеджеров, а нескольких сразу. Обычное дело. И хотелось бы это реализовать динамическим списком. Да и вообще понять, как настраивать параметры в СКД программно. Думал, все просто. Оказалось, надо еще попросвещаться.
|
|||
14
Drac0
23.04.15
✎
21:00
|
(12) Успользуй Условное оформление списка.
|
|||
15
Drac0
23.04.15
✎
21:01
|
+(14) а за соединение таблицы самой с собой в ДС надо пороть розгами.
|
|||
16
Drac0
23.04.15
✎
21:04
|
(13) Да и задача твоя сводится не к выделению строк, а к нормальному отбору. Если пользователю нужна инфа по заказам конкретных менеджеров, то зачем ему остальные сотни и тысячи документов в списке?
|
|||
17
PiotrLoginov
23.04.15
✎
21:09
|
(14) само собой
(15) я же писал - запрос тестовый. Никто так два раза одну таблицу юзать не будет (16) ну началось ... на зачемп тебе это надо.. да пользователю это не надо. Ну а если надо, и надо будет в томили ином варианте еще не раз, что тогда? Пока набросал такое: СхемаКомпоновки = РеквизитФормыВЗначение("ЭтаОбработка").ПолучитьМакетОбработки("СхемаДляСпискаЗаказов"); КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновки)); КомпоновщикНастроек.ЗагрузитьНастройки(СхемаКомпоновки.ВариантыНастроек.Основной.Настройки); И в итоге в получившемся компоновщике настроек вижу искомый параметр в нужном виде. Как бы теперь еще этот компоновщик или его настройки прилепить к своему ДС... |
|||
18
DrShad
23.04.15
✎
21:11
|
а как ты в свой ДС параметр передаешь?
|
|||
19
Drac0
23.04.15
✎
21:15
|
(17) "само собой "
Похоже, что ни разу не само собой. У тебя должно быть условие Ссылка В СПИСКЕ ТвойСписок. Зачем запрос курочить? Если хочешь параметр поставить,то надо ЭтотОбъект.Список.Параметры.УСтановить("ВыбранныеСсылки", ТвойСписок). А ты куда пошел? |
|||
20
PiotrLoginov
23.04.15
✎
21:18
|
(18) Список.Параметры.УстановитьЗначениеПараметра("ВыбранныеСсылки", ВыбранныеСсылки)
(19) да уж похоже... установить-то можно. Только чтобы список значений установить, надо, чтобы у параметра свойство ДоступенСписокЗначений было Истиной |
|||
21
Drac0
23.04.15
✎
21:20
|
(20) 0_о Какое свойство у параметра ДС?
|
|||
22
PiotrLoginov
23.04.15
✎
21:22
|
(21) какое свойство?
|
|||
23
PiotrLoginov
23.04.15
✎
21:25
|
ДоступныйПараметрКомпоновкиДанных , свойство ДоступенСписокЗначений
народ, ну подскажите уже, кто знает, как запихнуть в параметр не одно значение, а список. Уже все испробовал. Если что, компоновщик с настройками, где параметр уже в нужном виде и в настройках, и в фиксированных настройках - имеется. Как его настройки применить на компоновщик настроек моего ДС? |
|||
24
Drac0
23.04.15
✎
21:26
|
(23) Ты зачем макет СКД и Динамический список смешиваешь? Что у тебя за каша в голове?
|
|||
25
PiotrLoginov
23.04.15
✎
21:29
|
(24) да я как бы не претендую на правильность действий . Мне бы подсказку, как правильно.
|
|||
26
Drac0
23.04.15
✎
21:38
|
(25) Открой любую типовую, там форму списка справочника или документа и смотри. Макет СКД вообще здесь не при делах,работай только с динамическим списком и формой.
|
|||
27
PiotrLoginov
24.04.15
✎
10:21
|
(26) Дык я как бы с этого и начинал. Открыл те же Заказы в УТ 11.1 и смотрел. Но там не реализовано то, что мне надо. Соответственно и параметры там без возможности задавать список значений.
Очень бы хотелось, чтобы среди рассказчиков про каши и типовые примеры нашелся форумчанин, действительно знающий, как управлять параметрами динамического списка. |
|||
28
1Сергей
24.04.15
✎
10:25
|
(0) перенеси
(ВыбранныеЗаказы.Ссылка В (&ВыбранныеСсылки)) в секцию ГДЕ |
|||
29
PiotrLoginov
24.04.15
✎
10:28
|
(28) тогда условие распространится на всю таблицу, а мне надо, чтобы в таблице остались и Заказы, ссылок на которые нет в &ВыбранныеСсылки
Проблема не запросе. Запрос тестовый. Проблема в неумении передавать в динамический список сразу несколько значений в качестве одного параметра. А хотелось бы, т.к. понадобится еще не раз. |
|||
30
Drac0
24.04.15
✎
10:31
|
(27) У тебя НЕ ПАРАМЕТР ДС, твоя задача решается только условным оформлением ДС.
|
|||
31
Drac0
24.04.15
✎
10:35
|
(29) " Проблема в неумении передавать в динамический список сразу несколько значений в качестве одного параметра. "
Тебе уже несколько раз объяснили, что в качестве параметра просто передается список значений с помощью Список.Параметры.УстановитьЗначениеПараметра("ВыбранныеСсылки",ТвойГребаныйСписокЗначений); |
|||
32
Timon1405
24.04.15
✎
10:37
|
МассивВыбранныхСсылок = ВыбранныеСсылки.ВыгрузитьЗначения();
Список.Параметры.УстановитьЗначениеПараметра("ВыбранныеСсылки", МассивВыбранныхСсылок) |
|||
33
PiotrLoginov
24.04.15
✎
10:40
|
(31) (32) см. (18) -> (20)
Если б это работало, этой темы вообще тут не было бы |
|||
34
PiotrLoginov
24.04.15
✎
10:42
|
(30) Здрасте, приехали. Как можно в настройке условного оформления привязаться к содержимому реквизита, если реквизит - Список значений? У кого еще каша...
|
|||
35
Timon1405
24.04.15
✎
10:45
|
(33) УТ11 ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка
|
|||
36
Drac0
24.04.15
✎
10:52
|
(34) А зачем реквизит? Добавляешь через настройки списка условное оформление. Пользователь открывает Настроить список и заполняет значения. Если хочешь реквизит, то при изменении его программно меняешь условное оформление. В чем проблема-то?
|
|||
37
PiotrLoginov
24.04.15
✎
10:53
|
(35) Ну и? Установить значение - не проблема. Но запрос "видит" только первое значение из установленного списка значений. Я же написал в (1)
|
|||
38
PiotrLoginov
24.04.15
✎
10:58
|
(36) При настройке условного оформления в условии я что должен указать? Это вообще тупик. так можно экспериментировать часами, пытаясь решить задачу обходными путями. Даже если это удастся, необходимость передавать параметры в ДС встанет в следующий раз. И не факт, что удастся её обойти.
|
|||
39
Drac0
24.04.15
✎
10:58
|
(37) У тебя 1С бракованная. Никогда не возникало таких проблем с передачей параметра списком.
Сделай вместо соединения поле и посмотри ВЫБОР КОГДА ЗаказКлиента.Ссылка В(&ВыбранныеСсылки) Тогда ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК Флаг |
|||
40
Drac0
24.04.15
✎
11:00
|
(38) У тебя проблема на ровном место возникла. Никогда и ни разу не возникала проблема с передачей списка в качестве параметра. Ищи, где ты наг0внокодил. Может потом еще где ставишь кривой параметр.
|
|||
41
Drac0
24.04.15
✎
11:04
|
Выложи эту форму сюда, чтобы глянуть, если не получается.
|
|||
42
PiotrLoginov
24.04.15
✎
11:05
|
(39) Делал. Истина - напротив ссылки, находящейся в списке значений &ВыбранныеСсылки на первом месте (вверху списка значений).
Напротив остальных ссылок ложь. Если просто выполнять запрос в консоли запросов, Истина - напротив всех ссылок, присутствующих в списке значений &ВыбранныеСсылки |
|||
43
PiotrLoginov
24.04.15
✎
11:05
|
(41) минуту..
|
|||
44
Drac0
24.04.15
✎
11:06
|
(42) Значит, параметр где-то корежишь.
|
|||
45
Сильф
24.04.15
✎
11:11
|
Передавай в параметр вместо списка массив. Это давний глюк.
|
|||
46
PiotrLoginov
24.04.15
✎
11:15
|
https://dl.dropboxusercontent.com/u/6647332/Тест.epf
(45) массив тоже пробовал. Но сейчас попробую еще разок, спасибо. |
|||
47
Drac0
24.04.15
✎
11:17
|
(45) Точно ведь глюк. Неужели я всегда массив только передавал?.. Чудеса.
|
|||
48
PiotrLoginov
24.04.15
✎
11:28
|
(47) Так или иначе, с этим можно что-то сделать? Не думаю, что это глюк. В компоновщике настроек ДС ясно видно, что у параметра ВыбранныеСсылки свойство ДоступенСписокЗначений - Ложь.
|
|||
49
Drac0
24.04.15
✎
11:29
|
(48) Что сделать? Это баг платформы. Передавай массив. Неужели сложно дописать ВыгрузитьЭлементы() ?
|
|||
50
PiotrLoginov
24.04.15
✎
11:30
|
Надо поискать подробную документацию по настройкам Компоновщика настроек динамического списка. СП, к сожалению, не помог. На ИТС пока не нашел...
|
|||
51
PiotrLoginov
24.04.15
✎
11:30
|
Массив? Сейчас попробую.
|
|||
52
PiotrLoginov
24.04.15
✎
11:34
|
Да, массив передается. Я тащусь. Практически сутки потеряны. Конечно, есть велась какая-то возня с юзверями параллельно, но все же... Ладно. Всем спасибо. Drac0 особенно :)
|
|||
53
Сильф
24.04.15
✎
11:37
|
(52) это ещё в (32) было написано, просто нужно внимательнее читать :)
|
|||
54
PiotrLoginov
24.04.15
✎
12:17
|
(53) только наверное не в (32) , а в (45)
в (32) метод установки параметра - его я и так использовал а (45) я принял к сведению, как раз собирался испробовать |
|||
55
Сильф
24.04.15
✎
12:29
|
(54) в (32) - ПЕРВАЯ строчка ;)
|
|||
56
PiotrLoginov
24.04.15
✎
12:42
|
(55) аа ) да, просмотрел, каюсь
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |