Имя: Пароль:
1C
1С v8
Заполнение зависимых параметров СКД
0 vicof
 
22.10.21
18:06
БСП 2.3.4.82
Мне нужно заполнить один параметр на основании другого в СКДшном отчете.

БСПшная процедура ПриОпределенииПараметровВыбора срабатывает перед формированием отчета. Здесь у меня нет еще выбранного значения в поле первого параметра.

В форме отчета есть процедура Подключаемый_ПолеВвода_ПриИзменении().
Я, конечно, могу туда запихнуть гкод, проверяющий имя отчета, имя поля и т.п., но хочется обойтись меньшей кровью.
1 Жан Пердежон
 
22.10.21
18:36
Какой-то код можно написать в колонке "Выражение", а ещё есть чудесное событие "ПриКомпоновкеРезультата"
2 vicof
 
27.10.21
16:34
Ни то, ни другое не подойдет.
При компоновке не подойдет, потому что мне надо сделать отбор до формирования отчета.
Выражение не подойдет, потому что мне нужно Запросом получать данные для заполнения второго параметра из таблицы, которая должна отобраться по первому параметру.
3 Kassern
 
27.10.21
16:37
(2) при компановке отчет еще не сформирован, вы как раз можете указать нужные параметры для его компановки, или вообще вручную скомпоновать, как вам надо.
4 vicof
 
27.10.21
16:49
Да мне не компоновать надо еще, мне до компоновки надо заполнить значения одного параметра на основании другого, при этом само заполнения получится сделать только запросом. Связи параметров выбора и получение через точку не сработает, потому что это две совсем разные сущности.
5 vicof
 
28.10.21
15:20
Поднимем
6 vicof
 
29.10.21
11:24
С полем ввода и говнокодом не получится. Насяльника не хочет снимать бспшные модули с поддержки.
7 Kassern
 
29.10.21
11:35
еще раз повторю, используйте при компоновке процедуру. Там вы можете что угодно делать с отчетом, хоть из 100500 запросов собрать данные, и поместить в НаборДанныхОбъект. Далее вывести как вам надо. В общем почитайте книжечку по СКД.
Так же можете запросом получить нужные данные и воткнуть их в параметр вашего отчета на скд там же
8 Kassern
 
29.10.21
11:36
поймите уже наконец, в процедуре ПриКомпоновкеРезультата у вас еще ничего не скомпоновалось и не сделалось, но есть возможность управлять этим процессом
9 toypaul
 
гуру
29.10.21
11:37
(6) никак по другому. хотя почему никак. нарисовать свою форму отчету
10 Kassern
 
29.10.21
11:38
может уже откроете тайну, что такого сокровенного вы пытаетесь особо хитрым способом получить? Может есть куда более практичные способы
11 toypaul
 
гуру
29.10.21
11:39
"При компоновке не подойдет, потому что мне надо сделать отбор до формирования отчета" вот этого я не понял

единственное чем может не подойти при компоновке это если нужно увидеть глазами значение параметра. в остальном все можно сделать в при компоновке
12 vicof
 
29.10.21
12:32
И я еще раз повторю)
Мне надо перед компоновкой дать пользователю настроить отбор.
(11) Именно. Есть документ, в котором есть табличная часть. Первый параметр это документ, Второй параметр должен при выборе первого заполниться уникальными значениями из колонки табличной части выбранного документа, чтобы пользователь мог выбрать нужные ему уникальные значения из выбранного документа.
13 Kassern
 
29.10.21
13:02
(12) А почему связи параметров выбора не сработают? Должно быть хоть какое то поле, по которому происходит отбор для второго параметра. В общем случае будет так:
Заполняем Параметр1, В параметре2 в скд прописываем Связи параметров выбора: Отбор.ПолеДляОтбора ПараметрыДанных.Параметр1 и все. Теперь после выбора 1 параметра, второй уже будет отбираться по отбору
14 Kassern
 
29.10.21
13:07
ну или в крайнем случае можете создать свою форму с нужными отборами. Отбор второго параметра отображать только после заполнения первого. А далее уже программно устанавливать связь для второго.
15 Kassern
 
29.10.21
13:21
Может, что-то из этого вам поможет https://infostart.ru/1c/articles/1100132/
16 vicof
 
10.11.21
21:27
В общем, сделал так. Отключил БСПшные формы отчета, хоть и сильно этого не хотел. Сделал свои отборы на своей форме отчета, которые передаются в компоновщик. Возможно, в более новой версии БСПшки это было бы сделать проще.
Но тут больше виноват заказчик, поскольку изначально не выставил все требования и приходится делать не очень красиво.