|
Отбор по родителю в дин.списке. ЧЯДНТ? | ☑ | ||
---|---|---|---|---|
0
mortal
19.05.14
✎
10:30
|
вот в ПриСозданииНаСервере:
ЭлементОтбора = СписокНоменклатуры.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Родитель"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = ПараметрТаблицы; вот запрос: "ВЫБРАТЬ | Номенклатура.Родитель, | Номенклатура.Ссылка КАК Номенклатура, | Номенклатура.Наименование, | Номенклатура.ЭтоГруппа КАК Группа, | Номенклатура.ФайлКартинки, | Номенклатура.НаименованиеПолное КАК ПолноеНаименование, | Номенклатура.ПрикрепленныйФайл, | Номенклатура.ИнструкцияPDF, | Номенклатура.СтрокаWEBСсылки, | Номенклатура.WEBСсылка, | Номенклатура.Артикул, | Номенклатура.Код, | Номенклатура.ТекущаяЦена, | Номенклатура.НоваяЦена, | Номенклатура.ЦенаСЦ |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | Номенклатура.Родитель = &ПараметрТаблицы"; /где ПарметрТаблицы - группа номенклатуры/ вот ошибка: Ошибка при выполнении запроса. Ошибка при выполнении запроса. по причине: Ошибка в элементе отбора: глобальные элементы отбора обязательно должны использовать поля "ПараметрыДанных.ПараметрТаблицы Равно ПараметрыДанных.ПараметрТаблицы" прошу прощения, видимо я не вполне догоняю настройку дин.списков... гуглил - безрезультатно (( подскажите, ЧЯДНТ? |
|||
1
mortal
19.05.14
✎
10:32
|
+0
самописка на БСП 2.2.2.43 (если что..) |
|||
2
mortal
19.05.14
✎
10:40
|
Запрос без условия, настройка отбора в свойствах дин.списка..
все возможные варианты уже, кажется перебрал ( |
|||
3
Cube
19.05.14
✎
10:44
|
Почему не сделаешь так:
"ВЫБРАТЬ | Номенклатура.Ссылка КАК Номенклатура, | Номенклатура.Наименование, | Номенклатура.ЭтоГруппа КАК Группа, | Номенклатура.ФайлКартинки, | Номенклатура.НаименованиеПолное КАК ПолноеНаименование, | Номенклатура.ПрикрепленныйФайл, | Номенклатура.ИнструкцияPDF, | Номенклатура.СтрокаWEBСсылки, | Номенклатура.WEBСсылка, | Номенклатура.Артикул, | Номенклатура.Код, | Номенклатура.ТекущаяЦена, | Номенклатура.НоваяЦена, | Номенклатура.ЦенаСЦ |ИЗ | Справочник.Номенклатура КАК Номенклатура" И потом ЭлементОтбора = СписокНоменклатуры.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Номенклатура"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВГруппе; ЭлементОтбора.Использование = Истина; ЭлементОтбора.ПравоеЗначение = ПараметрТаблицы; ? |
|||
4
Bron
19.05.14
✎
10:45
|
можно сделать как написано в (3), можно оставить параметр в запросе и устанавливать его ПриСозданииНаСервере:
Список.Параметры.УстановитьЗначениеПараметра("ИмяПараметра", Параметр); |
|||
5
mortal
19.05.14
✎
10:53
|
(3)
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВГруппе; - поле объекта не обнаружено. Да и СП не предлагает вариант ВГруппе - пробовал ВИерархии - ошибка та же ( |
|||
6
Cube
19.05.14
✎
10:56
|
(5) Какая "та же"?
У тебя ругалось на ПАРАМЕТРЫ запроса. В моем запросе параметров нет. |
|||
7
Cube
19.05.14
✎
10:57
|
(6) А, нет, ошибся, не на параметры...
|
|||
8
whitedi
19.05.14
✎
10:58
|
(0) убери из текста запроса "ГДЕ
| Номенклатура.Родитель = &ПараметрТаблицы"" |
|||
9
whitedi
19.05.14
✎
10:59
|
+(8) если по каким-то причина тебе нужен и отбор и параметр, то попробуй переименовать параметр в запросе.
|
|||
10
Cube
19.05.14
✎
11:15
|
(5) На, балуйся: http://rusfolder.com/40733951
Писалось на УТ 11, но будет работать везде, где есть справочник "Номенклатура". Запрос ДС: ВЫБРАТЬ Номенклатура.Ссылка, Номенклатура.Код ИЗ Справочник.Номенклатура КАК Номенклатура На форме реквизит "ГруппаНоменклатуры", тип - Справочник.Номенклатура. Модуль формы: &НаКлиенте Процедура ГруппаНоменклатурыПриИзменении(Элемент) СписокНоменклатуры.Отбор.Элементы.Очистить(); ЭлементОтбора = СписокНоменклатуры.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка"); ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии; ЭлементОтбора.ПравоеЗначение = ГруппаНоменклатуры; ЭлементОтбора.Использование = НЕ ГруппаНоменклатуры.Пустая(); КонецПроцедуры //ГруппаНоменклатурыПриИзменении() |
|||
11
Wobland
19.05.14
✎
11:17
|
а вот я такую же ерундень пилил вчера на коленке. только отбор по владельцу. (показать на форме весь подчинённый справочник). нет какой магии кроме добавления элемента отбора?
|
|||
12
Cube
19.05.14
✎
11:26
|
(11) Варианта всегда два: или параметр в запросе, или отбор у ДС...
|
|||
13
Wobland
19.05.14
✎
11:27
|
(12) ну всё нормально, значит, 10х
|
|||
14
DexterMorgan
19.05.14
✎
11:41
|
(11) Вообще для подчиненных справочников создается глобальная параметризуемая команда, с помощью которой можно открыть форму списка с отбором по владельцу. Ее можно просто перетащить на форму
|
|||
15
mortal
19.05.14
✎
14:04
|
(10) Спасибо
блин. и все дело было в том, что НЕ надо указывать Основную таблицу в настройках ДС ( |
|||
16
DexterMorgan
19.05.14
✎
15:10
|
(15) при чем тут основная таблица?
|
|||
17
mortal
19.05.14
✎
15:16
|
(16) при указании основной таблицы Справочник.Номенклатура отбор работал, мягко говоря, странно. т.е. выводились только(!) группы, без элементов
|
|||
18
Cube
20.05.14
✎
04:47
|
(15) (17) Что за бредятина?
Если основную таблицу НЕ УКАЗЫВАТЬ, то у тебя режим отображения будет всегда "Список" и изменить ты этого не можешь (да и нет смысла). Если основную таблицу УКАЗАТЬ, то режим отображения по-умолчанию проставляется "Иерархический список", а в этом режиме все группы отображаются всегда. Но отбор по элементам справочника (не по группам) работает. Не надо ля-ля. Если хочешь примерно одинакового поведения, то после указания основной таблицы установи режим отображения в значение "Список" и больше своей ерундой не болтай, а то тебя и дети могут прочитать и поверить тебе... |
|||
19
DexterMorgan
20.05.14
✎
09:51
|
(18) "больше своей ерундой не болтай, а то тебя и дети могут прочитать и поверить тебе"
xDDD |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |