#0
by dimm7310
УТ11 В справочнике номенклатура есть табличная часть Модели (содержит список моделей автомобилей) Нужно в форме списка сделать фильтр по модели (список значений). запрос: ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Ссылка, где параметры МоделиКоличество - размер списка моделей СписокМоделей - список моделей в форме списка при переходе на группу товаров где есть элементы заполненными моделями выскакивает ошибка "Обнаружено дублирование ключевых значений в колонке ссылка" По идее если список фильтра моделей пустой , то и соединение делать не надо, пытался записать через "Выбор"
#6
by dimm7310
на сколько я понимаю, что бы работал отбор нужно что бы готовые данные были в запросе (ИМХО), но в данном случае значений моделей может быть несколько для каждой номенклатуры
#7
by dimm7310
я пробовал и так ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Ссылка, Левое СОЕДИНЕНИЕ Справочник.Номенклатура.Модели КАК НоменклатураМодели ПО СпрНоменклатура.Ссылка = НоменклатураМодели.Ссылка И ВЫБОР - то же самое
#8
by alexhtn
(ВЫБРАТЬ РАЗЛИЧНЫЕ Ссылка ИЗ Справочник.Номенклатура.Модели ГДЕ Модель В (&СписокМоделей))КАК НоменклатураМодели ПО СпрНоменклатура.Ссылка = НоменклатураМодели.Ссылка
#9
by dimm7310
теперь при открытии формы список номенклатуры пустой. И при включении фильтра по иерархии номенклатуры вываливается ошибка {ОбщийМодуль.ОбщегоНазначения.Модуль}: Значение не является значением объектного типа (Метаданные)
#10
by dimm7310
куму интересно вроде получилось в таком варианте (сейчас проверяю) ВЫБРАТЬ СпрНоменклатура.Ссылка КАК Ссылка, ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура.Модели КАК НоменклатураМодели ПО СпрНоменклатура.Ссылка = НоменклатураМодели.Ссылка И ВЫБОР
#11
by dimm7310
Нет, не все как надо почему - то накладывается фильтр только по первому элементу СписокМоделей СписокМоделей - список значений на форме передается через параметр Почему так ?
#14
by SUA
клюшечник детектед самый простой метод - ВЫБРАТЬ РАЗЛИЧНЫЕ а дальше уже ловить ошибки в неправильной фильтрации
#15
by dimm7310
мне кажется дело не в этом ради эксперимента сделал фильтр на реквизит шапки "ФормаОплаты " документа ЗаказКлиента так же передаю параметром список значений и снова тоже самое - фильтрует только по первому элементу списка ВЫБРАТЬ ДокументЗаказКлиента.БанковскийСчетГрузоотправителя, ГДЕ ТОГДА ДокументЗаказКлиента.ФормаОплаты В (&ВидыОплат) [/code]
#16
by dimm7310
с передачей параметра - подсказали, оказывается бестолку передавать список значений, только массив. а вот запрос наверное действительно придется переделывать на "ВЫБРАТЬ РАЗЛИЧНЫЕ " в моем последнем варианте снова вываливается ошибка дублирования ссылки
#17
by dimm7310
(8,14) Большое спасибо все получилось , просто в я неправильно применил рекомендацию
#18
by dimm7310
черт еще всплыла ошибка - не попадают товары с пустым списком моделей (когда фильтр не задан) ВЫБРАТЬ Ссылка ИЗ Справочник.Номенклатура.Модели
#19
by dimm7310
если фильтр пустой , то и соединение делать не нужно если попытаться использовать выбор перед соединением, выходит ошибка [code] СпрНоменклатура.Ссылка КАК Ссылка, Ссылка ИЗ Справочник.Номенклатура.Модели [/code]
#21
by Кокос
если делаешь левое соединение как в то по любому получишь дубли ключевых полей в результате. я в динамических списках соединяю не напрямую таблицы а делаю в скобках ВЫБРАТЬ ИЗ и там внутри делаешь группировку по ключевому полю чтобы в итоговой таблице была всего одна запись по каждому ключу. Ну и в твоем случае поле делаешь не логическое а числовое(0, >0) чтобы было что суммировать в группировка. а потом уже в конечной выборке делаешь ВЫБОР КОГДА блабла = 0 ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ КАК БЛАБЛАБЛА
#22
by Кокос
допустими у тебя две таблицы товар: товар1 выборкасоединения: товар1 истина при соединении получишь две строки с ключевым полем.
#25
by dimm7310
Можно , как раз после "Где" Выбор работает нормально, а синтаксическая ошибка выходит если я пробую ставить "Выбор" перед "Внутреннее СОЕДИНЕНИЕ" при открытии формы список фильтра еще пустой, для этого и Выбор перед "Внутреннее СОЕДИНЕНИЕ ", потому что если список фильтра еще пустой, то и соединение делать не надо - путь отображаются все элементы номенклатуры как есть код в в принципе рабочий (никаких ошибок не выскакивает), только из-за внутреннего соединения выпадают товары у которых таблица моделей пустая
#30
by alexhtn
Может тебе лучше использовать разные тексты запроса для случаев когда фильтр установлен и отключен?
#31
by dimm7310
Так я про это и спрашиваю, как можно заменить текст запроса ? или вырезать из него кусок с внутренним соединением (если фильтр пустой)
#34
by MaxisUssr
ВЫБРАТЬ Номенклатура.Ссылка, ... ИЗ (ВЫБРАТЬ НоменклатураТЧ.Ссылка ИЗ ТОГДА НоменклатураТЧ.Модель В (&СписокМоделей) ИНАЧЕ ИСТИНА КОНЕЦ СГРУППИРОВАТЬ ПО Номенклатура.Ссылка) КАК ВЗ ГДЕ НЕ ВЗ.Ссылка Есть NULL Написал руками (кривовато), но суть постарался отразить
#35
by MaxisUssr
+ в конце после ГДЕ ГДЕ ВЫБОР КОГДЕ &ЕстьСписокМоделей ТОГДА НЕ ВЗ.Ссылка Есть NULL ИНАЧЕ ИСТИНА КОНЕЦ
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Один запрос - все ок , два запрос - не получается :(
- В чем отличие формы элемента справочника от произвольной формы справочника?
- Произвольный запрос в динамическом списке
- Отображение колонок в динамическом списке управляемой формы
- множественный отбор в динамическом списке управляемой формы
- Свойства параметров в запросе управляемой формы справочника
- 8.2 Иерархия в динамическом списке и произвольный запрос
- Реквизит от ссылки в динамическом списке управляемой формы
- Срыть часть групп в списке справочника управляемой формы
- Запрос в динамическом списке. Как игнорировать условие, если Параметр пустой?
- Запрос в обработке и запрос в консоли отчетов выдают разные результаты
- Замер времени при изменении отбора в динамическом списке управляемой формы
В этой группе 1С
- Откуда РСВ-1 в БП8 берет код тарифа страховых взносов?
- как списать 20счет на 90.02.1 ?
- Перенести субконто в плане счетов
- Запрос во внешней обработке 8.1
- Как программно из внешней печатной формы закрыть форму документа ?
- v7: Долгое проведение реализации 1с ТиС 7.7 sql
- КомпонентаПечатиШтрихкодовWindows32 из УТ11
- ЗУП Выравнивание остатков по страховым взносам
- УФ табличная часть установить ТолькоПросмотр для конкретной ячейки
- БП 2.0.34.7 СФ на аванс не попадают в книгу продаж
- Закрытие месяца - ошибка по 26 счету
- Надо ли покупать сервер 1С Предприятия, если..
- В запросе получить выборку месяцев за интервал
- Как программно послать символ "*" с правой доп. клавиатуры в буфер обмена?
- v8: как убрать лишнее из панели функций в ЗУПе
- Получение остатка на начало из регистра накопления
- Ошибка получения объекта COM: Moniker cannot open file
- Загрузка из Excel в 1с
- v7: RemoteApp + 1С 77
- 1НДФЛ (раздел №3): указан непредусмотренный код стандартного налогового вычета