Вход | Регистрация
 

Не работает условие построителя. Почему?

Не работает условие построителя. Почему?
Я
   alf2006x
 
25.08.21 - 10:37
Бьюсь с настройками динамического списка.
Нужно: сделать фильтр документов по одному реквизиту его таб. части (Поставщик).

Нашел вот это решение, но оно у меня почему-т о не работает:
Отбор в динамическом списке по значению табличной части.

Колдую пока в консоли запроса.

Вот так - работает:
ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 100
    ЗаказПокупателяУслуги.Поставщик,
    ЗаказыПокупателей.Ссылка КАК Ссылка,
    ЗаказыПокупателей.Дата КАК Дата,
    ЗаказыПокупателей.Номер КАК Номер,
    ЗаказыПокупателей.Контрагент,
    ЗаказыПокупателей.ДоговорКонтрагента
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказыПокупателей
        {ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Услуги КАК ЗаказПокупателяУслуги
        ПО ЗаказыПокупателей.Ссылка = ЗаказПокупателяУслуги.Ссылка}
ГДЕ
    ЗаказПокупателяУслуги.Поставщик = &ПоставщикУслуги


А вот так уже не работает. Не фильтрует по выбранному значению (а мне очень надо):
ВЫБРАТЬ РАЗЛИЧНЫЕ ПЕРВЫЕ 100
    ЗаказПокупателяУслуги.Поставщик,
    ЗаказыПокупателей.Ссылка КАК Ссылка,
    ЗаказыПокупателей.Дата КАК Дата,
    ЗаказыПокупателей.Номер КАК Номер,
    ЗаказыПокупателей.Контрагент,
    ЗаказыПокупателей.ДоговорКонтрагента
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказыПокупателей
        {ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Услуги КАК ЗаказПокупателяУслуги
        ПО ЗаказыПокупателей.Ссылка = ЗаказПокупателяУслуги.Ссылка}
{ГДЕ
    ЗаказПокупателяУслуги.Поставщик.* КАК &ПоставщикУслуги}

ЧЯДНТ?
У товарища из найденного мной решения то работает ?!
   alf2006x
 
1 - 25.08.21 - 12:35
- Доктор, меня все игнорируют...
- Следующий!

)
   Вафель
 
2 - 25.08.21 - 12:42
{ГДЕ
    ЗаказПокупателяУслуги.Поставщик.* КАК &ПоставщикУслуги}
Амперсант тут лишний
   mzelensky
 
3 - 25.08.21 - 13:16
(0) Осталось просто погуглить - что означают "{...}" в запросах 1С.
   mzelensky
 
4 - 25.08.21 - 13:18
(2) Нет, тут другое лишнее - ".* КАК"
   mzelensky
 
5 - 25.08.21 - 13:19
(4) Хотя нет. Зависит от задачи.
   alf2006x
 
6 - 25.08.21 - 13:53
(2) Да, согласен, & забыл стереть. Но без него всё равно не работает. Не фильтрует.
(4) КАК поставил чтобы параметр не сливался с таким же в реквизите самого документа.
Видать сначала поставщик назначался на весь заказ, а потом его решили сделать построчно.

Делаю
{ГДЕ ЗаказПокупателяУслуги.Поставщик}
- всё равно не фильтрует... (
   youalex
 
7 - 25.08.21 - 14:13
консоль запросов разве умеет в скобочки?
   alf2006x
 
8 - 25.08.21 - 14:25
Сам запрос - умеет.
А вот результат похоже нет. )
   alf2006x
 
9 - 25.08.21 - 14:26
(7) А чем его тогда протестить?
   youalex
 
10 - 25.08.21 - 14:39
(9) в самом списке и тести.
ну или в пустой обработке сделай ДС и назначь его основным реквизитом.
   alf2006x
 
11 - 25.08.21 - 16:30
Кладу в копилку коллективного разума.

В общем, "лишними" в итоге оказались первые фигурные скобки!
Найдено экспериментально путем перебирания вариантов в запросе дино-списка.
Почему так - не знаю, но это факт.

Вот так всё работает (причём работает просто великолепно):

ВЫБРАТЬ РАЗЛИЧНЫЕ
    ЗаказыПокупателей.Ссылка КАК Ссылка,
    ЗаказыПокупателей.Дата КАК Дата,
    ЗаказыПокупателей.Номер КАК Номер,
    ЗаказыПокупателей.Контрагент,
    ЗаказыПокупателей.ДоговорКонтрагента
ИЗ
    Документ.ЗаказПокупателя КАК ЗаказыПокупателей
        ЛЕВОЕ СОЕДИНЕНИЕ Документ.ЗаказПокупателя.Услуги КАК ЗаказПокупателяУслуги
        ПО ЗаказыПокупателей.Ссылка = ЗаказПокупателяУслуги.Ссылка
{ГДЕ
    ЗаказПокупателяУслуги.Поставщик.* КАК ПоставщикУслуги}


PS. В форме отбора появляется поле отбора "ПоставщикУслуги"

PPS. Конструктор запроса эту конструкцию не отрабатывает (не фильтрует) видимо потому, что в нем нет построителя отчета,
к которому и относятся фигурные скобки.
   Вафель
 
12 - 25.08.21 - 16:33
все должно работать. кривая консоль скорее всего
   Вафель
 
13 - 25.08.21 - 16:34
и соединение в скобках должно работать
   alf2006x
 
14 - 25.08.21 - 17:11
Внезапно нарисовалась другая проблема.
В отборе дин. списка теперь включены все измерения всех присоединяемых регистров
(там много чего надо выводить по заказу: оплаты, доставки документов и т.д. и т.п.)

То есть ранее я ошибся, оказалось что в документе нет поля "Поставщик".
Это поле в отбор было добавлено из одного из присоединяемых регистров.

Собственно все измерения всех присоединяемых регистров были добавлены в отбор.
Так как фильтровать по ним дело неблагодарное то возник вопрос: а как из отбора
убрать лишние реквизиты? То есть требуется убрать все измерения приплывшие в отбор
из регистров.

Чтобы оставить пользователю только отбор по реквизитам самого документа и свежеиспечёный отбор
по поставщику из таб. части документа.
   youalex
 
15 - 25.08.21 - 17:27
(14) В ДС не построитель отчета , а СКД 
Обычный запрос (Новый Запрос) - фигурные скобки просто игнорит
В ДС фигурные скобки должны работать и в соединении (потому что СКД). В конструкторе запроса ДС этим управляет галка "Обязательная" на закладке Компоновка/Таблицы
ЧТобы задать конкретные поля, тебе нужно убрать галку Автозаполнение доступных полей в свойствах ДС, и прописать все нужные поля в {ВЫБРАТЬ ...}   и {ГДЕ...}
Все как в СКД
   alf2006x
 
16 - 27.08.21 - 16:36
(15) Весьма интересно, но сия птичка (Автозаполнение доступных полей) недоступна для снятия. Почему-то...
Как её сделать доступной?
   youalex
 
17 - 27.08.21 - 16:49
(16) странно, а остальное все доступно?
   alf2006x
 
18 - 27.08.21 - 16:52
Вид ключа и поле ключа тоже недоступны.
Видимо из-за этого (нашел на просторах мисты): "...Можно выключить автозаполнение доступных полей (с 8.3.10)..."

А у меня включена совместимость с 8.2.16

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.