|
СКД - параметры, по умолчанию, список | ☑ | ||
---|---|---|---|---|
0
Масянька
05.07.21
✎
10:35
|
День добрый!
Как в СКД задать параметр - список только по двум заданным элементам справочника? Кусок запроса с условием: ГДЕ ВнутренниеДокументы.ВидДокумента = &ВидДокумента С одним параметром - вкладка "Параметры", колонка "Выражение". Если ставлю галочку "Доступен список значений" - в колонке "Значения" выдает - https://ibb.co/gTktPgG Спасибо. |
|||
1
ДенисЧ
05.07.21
✎
10:38
|
Ну и правильно выдаёт, в конфигураторе...
Сделай прикомпоновке, задай туда, в параметр, нужный список. Или можешь сохранить схему, открыть её в консоли в предприятии, напихать туда значений, сохранить, загрузить в отчёт. Но это плохо, потому что делаешь же ты в тестовой базе? А там уиды могут быть другими, чем в рабочей. |
|||
2
ДенисЧ
05.07.21
✎
10:38
|
Ну, или как вариант для извращенцев и Масянек - создай нужные предопределённые в справочнике. И тогда они будут доступны в конфигураторе.
|
|||
3
Масянька
05.07.21
✎
10:41
|
(1) В ПриКомпоновке что получать? Компоновщик, Макет...
|
|||
4
ДенисЧ
05.07.21
✎
10:42
|
(3) Схему компоновки, её настройки. И там уже устанавливать параметр
|
|||
5
Масянька
05.07.21
✎
10:49
|
(4)
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); СхемаКомпоновкиДанных.УстановитьПараметр(КомпоновщикНастроек, "ВидДокумента", Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Приказ по основной деятельности")); СхемаКомпоновкиДанных.УстановитьПараметр(КомпоновщикНастроек, "ВидДокумента", Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Распоряжение по основной деятельности")); КонецПроцедуры Дает: https://ibb.co/LtW34Rw |
|||
6
ДенисЧ
05.07.21
✎
10:53
|
(5) А может, ты туда будешь список подсовывать, а не по одному элементу?
Ну это так, в порядке бреда, тебе же список нужен? |
|||
7
ejikbeznojek
05.07.21
✎
10:59
|
Ну или сделай эти значения предопределёнными))
Добавь 2 предопределённых элемента (с обновлением предопределенных данных - не использовать) и привяжи к уже существующим через ИмяПредопределенныхДанных Тогда в конфигураторе добавишь |
|||
8
Масянька
05.07.21
✎
11:00
|
(6) СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
СписокВидов = Новый СписокЗначений; СписокВидов.Добавить(Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Приказ по основной деятельности")); СписокВидов.Добавить(Справочники.ВидыВнутреннихДокументов.НайтиПоНаименованию("Распоряжение по основной деятельности")); СхемаКомпоновкиДанных.УстановитьПараметр(КомпоновщикНастроек, "ВидДокумента", СписокВидов); Тоже самое (картинка). |
|||
9
Масянька
05.07.21
✎
11:00
|
(7) Конфигуратор трогать нельзя.
|
|||
10
Жан Пердежон
05.07.21
✎
11:04
|
(8) раз уж такой говнокод пошёл - делай сразу в параметре список строк, туда их вбивай и в запросе используй - ничем не хуже будет
|
|||
11
ejikbeznojek
05.07.21
✎
11:05
|
ВнутренниеДокументы.ВидДокумента = &ВидДокумента
Может если список значений, то ВнутренниеДокументы.ВидДокумента в (&ВидДокумента) ? |
|||
12
Масянька
05.07.21
✎
11:06
|
(11) Исправила. Результат тот же. Пустой список.
|
|||
13
Масянька
05.07.21
✎
11:09
|
(10) Почему говнокод?
В СКД нельзя в параметрах использовать список? |
|||
14
Масянька
05.07.21
✎
11:09
|
Сам параметр не заполняется списком.
|
|||
15
ejikbeznojek
05.07.21
✎
11:18
|
А попробуй вот так.
https://fastcode.im/Templates?Edu=False&StoreOnly=False&Top=False&TemplatesOnly=False&Hints=False&Qa=True&Vzletit=False&SearchString=параметры+скд&searchOptions=all&Bsp=false&Store=true&Store=false У в тестовом отчёте вроде всё работает. https://prnt.sc/18p591u |
|||
16
Масянька
05.07.21
✎
11:28
|
(15) Нет 😭😭😭
|
|||
17
Масянька
05.07.21
✎
11:31
|
(15) А что у тебя в колонке "Тип" на вкладке "Параметры"?
https://ibb.co/bXBDHbn |
|||
18
ejikbeznojek
05.07.21
✎
11:40
|
||||
19
Масянька
05.07.21
✎
11:45
|
(18) Напиши, пожалуйста, строку (как у тебя) - Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(....)
Имя как задаешь в прикомпоноке? |
|||
20
ejikbeznojek
05.07.21
✎
11:46
|
(13) Ну так делать не очень хорошо, потому что поменяют наименования у твоих 2х элементов и всё перестанет работать.
Он имел ввиду, что раз уже так делать, то можно написать ГДЕ ВнутренниеДокументы.ВидДокумента.Наименование в (&СписокНаименований) И зафигачить наименования в параметрах в конфигураторе. (19) Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СписокКодов = Новый СписокЗначений; СписокКодов.Добавить(); СписокКодов.Добавить(Справочники.КлассификаторАдресов.НайтиПоКоду("SNL-08937")); СписокКодов.Добавить(Справочники.КлассификаторАдресов.НайтиПоКоду("SNL-08936")); Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("СписокКодов")); Если Параметр <> Неопределено Тогда Параметр.Значение = СписокКодов; Параметр.Использование = ЗначениеЗаполнено(СписокКодов); КонецЕсли; КонецПроцедуры |
|||
21
Малыш Джон
05.07.21
✎
11:52
|
(20)
>>Параметр = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("СписокКодов")); >>Если Параметр <> Неопределено Тогда >> Параметр.Значение = СписокКодов; >> Параметр.Использование = ЗначениеЗаполнено(СписокКодов); >>КонецЕсли; ёп..прст.. Люди, будьте проще: КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("СписокКодов", СписокКодов); |
|||
22
Масянька
05.07.21
✎
11:55
|
(21) Во-первых, не надо вспоминать Ё всуе.
Во-вторых, так тоже не работает. |
|||
23
Малыш Джон
05.07.21
✎
11:58
|
(22) конечно отдельно эта строка не работает
|
|||
24
Масянька
05.07.21
✎
11:59
|
(23) Да, никак не работает (у меня).
Пустой список... Абсолютно... |
|||
25
ejikbeznojek
05.07.21
✎
12:00
|
Может не в тот отчёт добавляешь?)))
|
|||
26
Малыш Джон
05.07.21
✎
12:01
|
(24)
СтандартнаяОбработка = Ложь; КомпоновщикНастроек.Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("СписокКодов", СписокКодов); КомпоновщикМакет = Новый КомпоновщикМакетаКомпоновкиДанных; Макет = КомпоновщикМакет.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, ДанныеРасшифровки); ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновки.Инициализировать(Макет, , ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновки); |
|||
27
Малыш Джон
05.07.21
✎
12:03
|
+(26) имена параметров и способ формирования их значений изменять по вкусу
|
|||
28
ejikbeznojek
05.07.21
✎
12:13
|
(21) Тот код, для того, чтобы она отладкой могла посмотреть, что параметр нашёлся и установился))
|
|||
29
Масянька
05.07.21
✎
12:27
|
Мне нужен список. Чтобы из 2 (двух) значений списка выбирали нужное. А уже запрос отсекался только по одному.
По одному (если задать по умолчанию одно значение параметра) - все работает. |
|||
30
ДенисЧ
05.07.21
✎
12:33
|
"Мне нужен список. Чтобы из 2 (двух) значений списка выбирали нужное"
Анафейхоа, позвольте спросить, ты пытаешься впихнуть этот список в параметры СКД? |
|||
31
Масянька
05.07.21
✎
12:35
|
(30) А куда их впихивать?
|
|||
32
ДенисЧ
05.07.21
✎
12:37
|
(31) Господа гусары!....
В список на форме, разумеется, если уж ты пользователя работать пытаешься заставить |
|||
33
Жан Пердежон
05.07.21
✎
13:47
|
(13)
в запросе: ГДЕ ВнутренниеДокументы.ВидДокумента.Наименование = &ВидДокумента В СКД параметр "ВидДокумента" Тип "Строка", Доступные значения - твои строки, "Доступен список значений" = Ложь |
|||
34
Масянька
05.07.21
✎
13:55
|
||||
35
Масянька
05.07.21
✎
14:06
|
(33) Всё получилось.
Огромное спасибо!!! |
|||
36
Масянька
05.07.21
✎
14:06
|
😘😘😘😘😘
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |