|
Не работает условие построителя. Почему? | ☑ | ||
---|---|---|---|---|
0
alf2006x
25.08.21
✎
10:37
|
Бьюсь с настройками динамического списка.
Нужно: сделать фильтр документов по одному реквизиту его таб. части (Поставщик). Нашел вот это решение, но оно у меня почему-т о не работает: Отбор в динамическом списке по значению табличной части. Колдую пока в консоли запроса. Вот так - работает: ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 100 ЗаказПокупателяУслуги.Поставщик, ЗаказыПокупателей.Ссылка КАК Ссылка, ЗаказыПокупателей.Дата КАК Дата, ЗаказыПокупателей.Номер КАК Номер, ЗаказыПокупателей.Контрагент, ЗаказыПокупателей.ДоговорКонтрагента ИЗ Документ.ЗаказПокупателя КАК ЗаказыПокупателей {ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Услуги КАК ЗаказПокупателяУслуги ПО ЗаказыПокупателей.Ссылка = ЗаказПокупателяУслуги.Ссылка} ГДЕ ЗаказПокупателяУслуги.Поставщик = &ПоставщикУслуги А вот так уже не работает. Не фильтрует по выбранному значению (а мне очень надо): ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 100 ЗаказПокупателяУслуги.Поставщик, ЗаказыПокупателей.Ссылка КАК Ссылка, ЗаказыПокупателей.Дата КАК Дата, ЗаказыПокупателей.Номер КАК Номер, ЗаказыПокупателей.Контрагент, ЗаказыПокупателей.ДоговорКонтрагента ИЗ Документ.ЗаказПокупателя КАК ЗаказыПокупателей {ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Услуги КАК ЗаказПокупателяУслуги ПО ЗаказыПокупателей.Ссылка = ЗаказПокупателяУслуги.Ссылка} {ГДЕ ЗаказПокупателяУслуги.Поставщик.* КАК &ПоставщикУслуги} ЧЯДНТ? У товарища из найденного мной решения то работает ?! |
|||
1
alf2006x
25.08.21
✎
12:35
|
- Доктор, меня все игнорируют...
- Следующий! ) |
|||
2
Вафель
25.08.21
✎
12:42
|
{ГДЕ
ЗаказПокупателяУслуги.Поставщик.* КАК &ПоставщикУслуги} Амперсант тут лишний |
|||
3
mzelensky
25.08.21
✎
13:16
|
(0) Осталось просто погуглить - что означают "{...}" в запросах 1С.
|
|||
4
mzelensky
25.08.21
✎
13:18
|
(2) Нет, тут другое лишнее - ".* КАК"
|
|||
5
mzelensky
25.08.21
✎
13:19
|
(4) Хотя нет. Зависит от задачи.
|
|||
6
alf2006x
25.08.21
✎
13:53
|
(2) Да, согласен, & забыл стереть. Но без него всё равно не работает. Не фильтрует.
(4) КАК поставил чтобы параметр не сливался с таким же в реквизите самого документа. Видать сначала поставщик назначался на весь заказ, а потом его решили сделать построчно. Делаю {ГДЕ ЗаказПокупателяУслуги.Поставщик} - всё равно не фильтрует... ( |
|||
7
youalex
25.08.21
✎
14:13
|
консоль запросов разве умеет в скобочки?
|
|||
8
alf2006x
25.08.21
✎
14:25
|
Сам запрос - умеет.
А вот результат похоже нет. ) |
|||
9
alf2006x
25.08.21
✎
14:26
|
(7) А чем его тогда протестить?
|
|||
10
youalex
25.08.21
✎
14:39
|
(9) в самом списке и тести.
ну или в пустой обработке сделай ДС и назначь его основным реквизитом. |
|||
11
alf2006x
25.08.21
✎
16:30
|
Кладу в копилку коллективного разума.
В общем, "лишними" в итоге оказались первые фигурные скобки! Найдено экспериментально путем перебирания вариантов в запросе дино-списка. Почему так - не знаю, но это факт. Вот так всё работает (причём работает просто великолепно): ВЫБРАТЬ РАЗЛИЧНЫЕ ЗаказыПокупателей.Ссылка КАК Ссылка, ЗаказыПокупателей.Дата КАК Дата, ЗаказыПокупателей.Номер КАК Номер, ЗаказыПокупателей.Контрагент, ЗаказыПокупателей.ДоговорКонтрагента ИЗ Документ.ЗаказПокупателя КАК ЗаказыПокупателей ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Услуги КАК ЗаказПокупателяУслуги ПО ЗаказыПокупателей.Ссылка = ЗаказПокупателяУслуги.Ссылка {ГДЕ ЗаказПокупателяУслуги.Поставщик.* КАК ПоставщикУслуги} PS. В форме отбора появляется поле отбора "ПоставщикУслуги" PPS. Конструктор запроса эту конструкцию не отрабатывает (не фильтрует) видимо потому, что в нем нет построителя отчета, к которому и относятся фигурные скобки. |
|||
12
Вафель
25.08.21
✎
16:33
|
все должно работать. кривая консоль скорее всего
|
|||
13
Вафель
25.08.21
✎
16:34
|
и соединение в скобках должно работать
|
|||
14
alf2006x
25.08.21
✎
17:11
|
Внезапно нарисовалась другая проблема.
В отборе дин. списка теперь включены все измерения всех присоединяемых регистров (там много чего надо выводить по заказу: оплаты, доставки документов и т.д. и т.п.) То есть ранее я ошибся, оказалось что в документе нет поля "Поставщик". Это поле в отбор было добавлено из одного из присоединяемых регистров. Собственно все измерения всех присоединяемых регистров были добавлены в отбор. Так как фильтровать по ним дело неблагодарное то возник вопрос: а как из отбора убрать лишние реквизиты? То есть требуется убрать все измерения приплывшие в отбор из регистров. Чтобы оставить пользователю только отбор по реквизитам самого документа и свежеиспечёный отбор по поставщику из таб. части документа. |
|||
15
youalex
25.08.21
✎
17:27
|
(14) В ДС не построитель отчета , а СКД
Обычный запрос (Новый Запрос) - фигурные скобки просто игнорит В ДС фигурные скобки должны работать и в соединении (потому что СКД). В конструкторе запроса ДС этим управляет галка "Обязательная" на закладке Компоновка/Таблицы ЧТобы задать конкретные поля, тебе нужно убрать галку Автозаполнение доступных полей в свойствах ДС, и прописать все нужные поля в {ВЫБРАТЬ ...} и {ГДЕ...} Все как в СКД |
|||
16
alf2006x
27.08.21
✎
16:36
|
(15) Весьма интересно, но сия птичка (Автозаполнение доступных полей) недоступна для снятия. Почему-то...
Как её сделать доступной? |
|||
17
youalex
27.08.21
✎
16:49
|
(16) странно, а остальное все доступно?
|
|||
18
alf2006x
27.08.21
✎
16:52
|
Вид ключа и поле ключа тоже недоступны.
Видимо из-за этого (нашел на просторах мисты): "...Можно выключить автозаполнение доступных полей (с 8.3.10)..." А у меня включена совместимость с 8.2.16 |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |