![]() |
![]() |
|
Динамический список | ☑ | ||
---|---|---|---|---|
0
poet_1C
23.10.14
✎
12:38
|
Есть динамический список. Основной источник данных - документ. Есть связки с регистром сведений. При установке отбора через добавленную команду - возникает ошибка : "Ошибка при выполнении запроса. Ошибка при выполнении запроса.
по причине: Ошибка получения информации набора данных по причине: Ошибка в запросе набора данных по причине: {(31, 2)}: В запросе с предложениями РАЗЛИЧНЫЕ или ОБЪЕДИНИТЬ нельзя использовать вложенные таблицы". Подскажите пожалуйста, если кто сталкивался. Отбор установить нужно, в форме списка все работает. Понимаю что проблема в связи, но может можно как то обойти. Заранее благодарен! |
|||
1
olegves
23.10.14
✎
12:44
|
(0) текст запроса - большой секрет?
|
|||
2
poet_1C
23.10.14
✎
12:49
|
ВЫБРАТЬ РАЗРЕШЕННЫЕ
НашДокумент.Ссылка, НашДокумент.Номер, НашДокумент.Дата, НашДокумент.Проведен, НашДокумент.ПодразделениеОрганизации, ПОДСТРОКА(РегСведений2.ВидПродукта, 1, 300) КАК ВидПродукта, РегСведений1.Период КАК ДатаИзмененияСтатуса, НашДокумент.ТерриторияСтрахования, РегСведений1.Статус КАК Статус, РегСведений1.Ответственный КАК Ответственный, НашДокумент.Метро, НашДокумент.ДоговорГотов ИЗ РегистрСведений.РегСведений1 КАК РегСведений1 ЛЕВОЕ СОЕДИНЕНИЕ Документ.НашДокумент КАК НашДокумент ПО РегСведений1.ЗаявкаАнкета = НашДокумент.Ссылка ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РегСведений2 КАК РегСведений2 ПО РегСведений1.ЗаявкаАнкета = РегСведений2.Анкета |
|||
3
poet_1C
23.10.14
✎
12:50
|
Код установки доп отбора (о котором идет речь):
Для каждого ЭлементОтбора Из Список.Отбор.Элементы Цикл Если ТипЗнч(ЭлементОтбора) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда Если ЭлементОтбора.Представление = "Продукты.ВидПродукта" или ЭлементОтбора.Представление = "Продукты.ПредыдущаяСК" Тогда Список.Отбор.Элементы.Удалить(ЭлементОтбора); КонецЕсли; КонецЕсли; КонецЦикла; Если УстановкаОтбора Тогда СписокВидПродуктов = Новый СписокЗначений; СписокВидПродуктовИсключения = Новый СписокЗначений; Если ОтборВидПродукта = Перечисления.ЗначенияОтборовПоВидамПродуктов.КАСКО Тогда СписокВидПродуктов.Добавить(Перечисления.ВидыСтраховыхПродуктов.АВТО); СписокВидПродуктовИсключения.Добавить(Перечисления.ВидыСтраховыхПродуктов.ОСАГО); ИначеЕсли ОтборВидПродукта = Перечисления.ЗначенияОтборовПоВидамПродуктов.КАСКОиОСАГО Тогда СписокВидПродуктов.Добавить(Перечисления.ВидыСтраховыхПродуктов.АВТО); СписокВидПродуктов.Добавить(Перечисления.ВидыСтраховыхПродуктов.ОСАГО); ИначеЕсли ОтборВидПродукта = Перечисления.ЗначенияОтборовПоВидамПродуктов.ОСАГО Тогда СписокВидПродуктов.Добавить(Перечисления.ВидыСтраховыхПродуктов.ОСАГО); СписокВидПродуктовИсключения.Добавить(Перечисления.ВидыСтраховыхПродуктов.АВТО); КонецЕсли; ГруппаОтбора = Список.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных")); ГруппаОтбора.Представление = "Продукты.ВидПродукта"; ГруппаОтбора.Применение = ТипПримененияОтбораКомпоновкиДанных.Элементы; ГруппаОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ; ГруппаОтбора.Использование = Истина; Если ОтборВидПродукта = Перечисления.ЗначенияОтборовПоВидамПродуктов.КАСКОиОСАГО Тогда Для каждого Стр из СписокВидПродуктов Цикл Элемент = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Элемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Продукты.ВидПродукта"); Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; Элемент.ПравоеЗначение = Стр.Значение; Элемент.Использование = истина; КонецЦикла; Иначе Если СписокВидПродуктов.Количество()>0 Тогда Элемент = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Элемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Продукты.ВидПродукта"); Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; Элемент.ПравоеЗначение = СписокВидПродуктов; Элемент.Использование = истина; КонецЕсли; Если СписокВидПродуктовИсключения.Количество()>0 Тогда Элемент = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Элемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Продукты.ВидПродукта"); Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.НеВСписке; Элемент.ПравоеЗначение = СписокВидПродуктовИсключения; Элемент.Использование = истина; КонецЕсли; КонецЕсли; Если ЗначениеЗаполнено(ОтборПредыдущаяСК) Тогда Элемент = ГруппаОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); Элемент.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Продукты.ПредыдущаяСК"); Элемент.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; Элемент.ПравоеЗначение = ОтборПредыдущаяСК.Наименование; Элемент.Использование = истина; КонецЕсли; КонецЕсли; |
|||
4
YFedor
23.10.14
✎
12:50
|
(2) Теперь как отбор устанавливаешь.
|
|||
5
poet_1C
23.10.14
✎
14:44
|
Будут какие-нибудь соображения?
|
|||
6
poet_1C
11.11.14
✎
17:45
|
Проблема была в запросе, выбирал таб.часть документа, а это вложенный запрос.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |