|   |   | 
| 
 | Не работает условие построителя. Почему? | ☑ | ||
|---|---|---|---|---|
| 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 | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |