Имя: Пароль:
1C
1С v8
Отбор в динамическом списке по реквизиту табл.части справочника
0 Pro-tone
 
22.11.11
10:29
8.2 управля(ё-мое)

Хочу сделать о том что в сабже.

На практике это должно выглядеть так:

- есть справочник "Контрагенты",
там есть табл.часть "Подразделения", это подразделения нашей организации, которые работают с контрагентом

- в динамическом списке на управляемой форме лежит список,
туда вставлен произвольный запрос такого плана:


ВЫБРАТЬ
   СправочникКонтрагенты.ВерсияДанных,
   СправочникКонтрагенты.ПометкаУдаления,
   СправочникКонтрагенты.Предопределенный,
   СправочникКонтрагенты.Родитель,
   СправочникКонтрагенты.ЭтоГруппа,
   СправочникКонтрагенты.Код,
   СправочникКонтрагенты.Наименование,
   СправочникКонтрагенты.ДоговорПоУмолчанию,
   СправочникКонтрагенты.ИНН,
   СправочникКонтрагенты.КодПоОКПО,
   СправочникКонтрагенты.КПП,
   СправочникКонтрагенты.НаименованиеПолное,
   СправочникКонтрагенты.Партнер,
   СправочникКонтрагенты.ЮрФизЛицо,
   СправочникКонтрагенты.ЕстьВалПаспортДоллары,
   СправочникКонтрагенты.ЕстьВалПаспортЕвро,
   СправочникКонтрагенты.ВалютаТарифа,
   СправочникКонтрагенты.ТарификацияСтоимостьДопТочкиВыгрузкиВОдномГороде,
   СправочникКонтрагенты.ТарификацияСтоимостьДопТочкиВыгрузкиВДопГороде,
   СправочникКонтрагенты.ДополнительныеРеквизиты.(
       Ссылка,
       НомерСтроки,
       Свойство,
       Значение,
       ТекстоваяСтрока
   ),
   СправочникКонтрагенты.КонтактнаяИнформация.(
       Ссылка,
       НомерСтроки,
       Тип,
       Вид,
       Представление,
       ЗначенияПолей,
       Страна,
       Регион,
       Город,
       АдресЭП,
       ДоменноеИмяСервера,
       НомерТелефона,
       НомерТелефонаБезКодов
   ),
   СправочникКонтрагенты.ТарификацияПоМаршрутам.(
       Ссылка,
       НомерСтроки,
       Маршрут,
       Сумма,
       НачКоличествоПаллет,
       ТС,
       КонКоличествоПаллет
   ),
   КонтрагентыПодразделенияОрганизации.Подразделение
ИЗ
   Справочник.Контрагенты КАК СправочникКонтрагенты
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты.ПодразделенияОрганизации КАК КонтрагентыПодразделенияОрганизации
       ПО СправочникКонтрагенты.Ссылка = КонтрагентыПодразделенияОрганизации.Ссылка.Ссылка

- на форму также выложен реквизит формы, по выбору значения которого реализуется отбор элементов списка

Покуда "Подразделение" был полем ввода, а не реквизитом табл.части все было нормально - отбор работал без проблем. Но поскольку выяснилось что в организации одного контрагента могут окучивать сразу несколько подразделений, то пришлось создать табл. часть в спр."Контрагенты" под это дело "ПодразделенияОрганизации".

Короче при раскрытии группы в форме списка получаем такое "Обнаружено дублирование ключевых значений в колонке "Ссылка". Отображение данные в списке невозможно".

Действительно, если убрать из запроса таблицу "КонтрагентыПодразделенияОрганизации", то ошибка уходит, но вместе с тем не решенной остается сабжевая задача.

Как быть ?
1 hhhh
 
22.11.11
10:33
критерий отбора - не оно?
2 Pro-tone
 
22.11.11
15:08
(1) спасибо за наводку,

но можно бы было обойтись просто запросом, которым получать список ссылок, и устанавливать отбор в списке средствами СКД с видом сравнения "В списке" и далее все как обычно.

Расскажу поподробнее. Может кому пригодится.

В моем случае нужно получать список контрагентов (а не подразделений), у которых в табличной части есть выбранное "Подразделение".

Можно это сделать 2мя способами: запросом или критерием отбора получать массив ссылок по контрагентам, и передавать а далее накладывать сам отбор.