Имя: Пароль:
1C
1С v8
Отбор в форме списка
0 Pol1C
 
18.07.21
17:03
Добрый день.
Подскажите как организовать отбор в форме списка справочника по элементу табличной части документа ссылка на который есть в элементе справочника.
Благодарю.
1 ДенисЧ
 
18.07.21
17:04
Критерий отбора сделать, если это ОФ, и настройки динсписка, если УФ.
2 Pol1C
 
18.07.21
17:06
Это УФ, можно подробнее как сделать настройку динамического списка?
3 ДенисЧ
 
18.07.21
17:17
Запрос списка надо менять, добавить условие на соединение с табчастью и выбор из неё.
4 Pol1C
 
18.07.21
17:26
сделал запрос

ВЫБРАТЬ
    Расш2_МедиаКонтент.Код КАК Код,
    Расш2_МедиаКонтент.Наименование КАК Наименование,
    Расш2_МедиаКонтент.ПризнакЗакрытияВыпуска КАК ПризнакЗакрытияВыпуска,
    Расш2_МедиаКонтент.ПризнакКорректуры КАК ПризнакКорректуры,
    Расш2_МедиаКонтент.Менеджер КАК Менеджер,
    Расш2_МедиаКонтент.СписокСчетов.(
        Счет КАК Счет
    ) КАК СписокСчетов,
    ЗаказКлиентаТовары.Номенклатура КАК Номенклатура
ИЗ
    Справочник.Расш2_МедиаКонтент КАК Расш2_МедиаКонтент
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказКлиента.Товары КАК ЗаказКлиентаТовары
        ПО (ЗаказКлиентаТовары.Расш2_ТабКнопка = Расш2_МедиаКонтент.Ссылка)

но выдает ошибку
Обнаружено дублирование ключевых значений в колонках: "Ссылка".
Отображение данных в списке невозможно.
5 ДенисЧ
 
18.07.21
17:43
ПО  (
ВЫБРАТЬ РАЗЛИЧНЫЕ Ссылка ИЗ Документ.ЗаказКлиента.Товары
{ГДЕ Номенклатура }
) ПО ДокументыФильтрованные

Как-то так.
6 Pol1C
 
18.07.21
17:53
Вы не могли бы показать полный текст запроса
7 Бишбармак
 
18.07.21
18:20
У Вас формирование списка через "Произвольный запрос"?
8 Бишбармак
 
18.07.21
18:24
Просто, если нужно только для визуализации, то можно сделать без программирования. Для отбора нужно будет делать код.
9 Pol1C
 
18.07.21
18:33
(7) Да формирование через произвольный запрос
(8) Нужно для отбора
10 Бишбармак
 
18.07.21
18:35
То есть у вас форма выбора? (А не форма списка?)
11 Бишбармак
 
18.07.21
18:40
Вот сижу я и думаю.
То ли это  совмещенная форма, где, условно говоря, в верхней части документы, а в нижней элементы справчоника.
То ли это форма выбора справочника, которая открывается по какому-либо событию из формы документа.
12 Pol1C
 
18.07.21
18:41
(10) Отбор нужно будет делать и в форме выбора и в форме списка справочника
13 Бишбармак
 
18.07.21
19:23
Если есть доступ на ИТС
https://its.1c.ru/db/metod8dev/content/3557/hdoc
14 серый КТУЛХУ
 
18.07.21
19:26
(13): этот раздел доступен без подписки
15 Pol1C
 
18.07.21
19:42
(13) У меня трудность в написании произвольного запроса
16 Бишбармак
 
18.07.21
20:12
Странно, но в запросе в (4) вывод Ссылки не вижу.. может где-то в другом месте?
Обнаружено дублирование ключевых значений в колонках: "Ссылка".
Явно где-то в регистрах сведений дубли по ссылочным данным.
17 hhhh
 
19.07.21
00:13
(16) надо добавить тогда. И ошибка исчезнет?
18 серый КТУЛХУ
 
19.07.21
01:42
(16): в соединении
19 Бишбармак
 
19.07.21
07:42
(17) Я предполагаю, где может быть ошибка. Для меня "Обнаружено дублирование ключевых значений в колонках: "Ссылка"." скорее говорит о том, что где-то в регистрах, вполне вероятно в регистре Расш2_МедиаКонтент, есть дубли по ссылочному типу.
(18) Это да. Но несколько раз видел такое в базах при просмотре данных в формах, но не при выборе запросом.
Из ТС приходится вытаскивать инофрмацию, чтобы помочь.
20 youalex
 
19.07.21
10:04
(0) если в УФ нужно форму открыть с отбором, то все должно работать "из коробки".
условный пример:
СтруктураОтбора = Новый Структура ("Поступление", Новый Структура("Товары", Новый Структура("Номенклатура", Товар)));
ОткрытьФорму("Справочник.Магазин.ФормаСписка", Новый Структура("Отбор", СтруктураОтбора));
21 Pol1C
 
19.07.21
10:54
Сорри за задержку с ответом
(19) Справочник Расш2_МедиаКонтент не делает никакие движения в регистрах. Скорее всего проблема кроется в соединении
(20) Отбор нужен уже на открытой форме, т.к. в процессе работы его могут менять
22 youalex
 
19.07.21
11:06
(21) В свойствах ДС - зайди в Настройка списка - Открыть
Там в отборе добавь элемент Отбора - оно должно через точку быть доступно (у меня Поступление.Товары.Номенклатура , Поступление - имя реквизита (колонки в ДС))
И для этой строчки отбора - добавь ее в Пользовательские настройки (обзови как нибудь и галку  "Включать в пользовательские настройки") . Так оно у тебя должно на форму выводиться штатно
23 Pol1C
 
19.07.21
11:58
(22) Со снятой галкой произвольный запрос там не доступна табличная час документа счет
24 hhhh
 
19.07.21
14:00
(23) ну у вас же и дублируется ссылка потому что в табчасти бывает больше одной строки? Вам лучше табчасть выкинуть эту, или вставить в подзапрос.
25 Pol1C
 
19.07.21
15:35
(24) Сделал вложенный запрос к номенклатуре в счете и ошибка таже
Обнаружено дублирование ключевых значений в колонках: "Ссылка".
Отображение данных в списке невозможно.
26 Yardman
 
19.07.21
15:59
(25) Имелось ввиду отбор внутри (В) конечно.
Обычный вложенный отбор ведь семантику соединения ни как поменять не может - записи как перемножались так и продолжают.
27 Yardman
 
19.07.21
16:05
(0) В качестве примера - можно посмотреть как в БП, в списке ЖурналОпераций реализован отбор документов по контрагенту.
28 серый КТУЛХУ
 
19.07.21
19:19
а вообще-то гуглить пробовали? или вас там забанили?
ну просто например. https://programmist1s.ru/obnaruzheno-dublirovanie-klyuchevyih-znacheniy-v-kolonke-ssyilka/
29 серый КТУЛХУ
 
19.07.21
19:21
30 minsk1s
 
19.07.21
23:04
&НаКлиенте
Процедура ОткрываемФормуСпискаСправочникаСОтбором(Команда)

    // Откроем список Контрагентов из Минской области
    ПараметрыОтбора = Новый Структура;
    ПараметрыОтбора.Вставить("Область", ПолучитьПеречислениеМинская());

    ПараметрыФормы = Новый Структура;
    ПараметрыФормы.Вставить("Отбор", ПараметрыОтбора);

    ОткрытьФорму("Справочник.Контрагенты.ФормаСписка",ПараметрыФормы);

КонецПроцедуры

&НаСервере
Функция ПолучитьПеречислениеМинская()

    Возврат Перечисления.Область.Минская;

КонецФункции
31 runoff_runoff
 
19.07.21
23:11
(30) ПредопределенноеЗначение("")..
Независимо от того, куда вы едете — это в гору и против ветра!