запросы #471130


#0 by lamme
Есть регистр сведений. Одно измерение - кодтовара Например, 0001 0002 0003 Есть таблица значений. (одна колонка идет как КодТовара) Например 0001 0002 0004 0005 Вопрос Как быстро можно найти количество позиций, которые есть в ТЗ, но нет в регистре сведений ? (т.е. типа как бы должно 2 дать в итоге)
#1 by Невский Александр
ЛЕВОЕ СОЕДИНЕНИЕ со справочником по коду
#2 by lamme
мм.. тупю однако ... щас буду придумывать код ... буду сюда писать начну
#3 by Невский Александр
+ ТЗ помести во временную таблицу и соедини эту таблицу с регистром сведений ПОЛНЫМ СОЕДИНЕНИЕМ - ничего сложного нет, только сгруппируй в обоих случаях по коду и поставь условие - что код из регистра ЕСТЬ NULL
#4 by lamme
на словах понятно .... а можно пнуть кодом ?
#5 by lamme
как в запросе указать виртуальную таблицу ?
#6 by Невский Александр
#7 by lamme
В списке выбора запроса необходимо указать как минимум одно поле
#8 by lamme
#9 by Невский Александр
Что за ошибку выводит? Ты написал как я скопировал?
#10 by lamme
{ОбщийМодуль.МоеБББ(1281)}: Ошибка при вызове метода контекста (Выполнить): В списке выбора запроса необходимо указать как минимум одно поле
#11 by lamme
эм ... ошибся ... у меня сначала в СписокТоваров - было строк =0. нашел - исправил. Не ту ТЗ передавал в функцию. Сейчас в СписокТоваров - 2 строки. выдает: Ошибка при вызове метода контекста (Выполнить): {(1, 30)}: Тип не может быть выбран в запросе ВЫБРАТЬ *  ПОМЕСТИТЬ ТЗ11 ИЗ <<?>>&ТЗ КАК ТЗ1
#12 by Невский Александр
тебе нужно типизировать таблицу
#13 by Dmitrii
У тебя &ТЗ - список значений, а должна быть таблица значений.
#14 by lamme
не. у меня СписокТоваров - по отладчику: СписокТоваров    ТаблицаЗначений    ТаблицаЗначений (сделал точку останова на РезЗапросаВЛ = ЗапросВЛ.Выполнить.Выгрузить;) это как ?
#15 by lamme
сам СписокТоваров  - лежит на форме - Табличное поле имеет ТипЗначения = ТаблицаЗначений
#16 by lamme
правда колонки этого Табличного поля - создаются программно типа СписокТоваров.Колонки.Очистить; СписокТоваров.Колонки.Добавить("НоменклатураКод");
#17 by lamme
ну где я туплю ?
#18 by Невский Александр
пример добавления колонок с указанием типа:
#19 by lamme
а обязательно всем колонкам указывать тип или достаточно будет только той колнке- по которой пытаюсь сдеать поиск.
#20 by Невский Александр
для тех колонок, которые помещаешь во временную таблицу в запросе, я скопировал тебе с "*" - то есть все колонки, ты можешь указать явно - какие именно нужны
#21 by lamme
ТАК ... ВРОДЕ ЧЕГО ТО СДЕЛАЛ почитал получилось такой вот запрос: Что с ним дальше делать ?
#22 by lamme
Пытаюсь сделать так ПОЛНОЕ СОЕДИНЕНИЕ Запрос.Текст="ВЫБРАТЬ                  |    ТЗ.НоменклатураКод, Собственно вопрос... Что получается в итоге то? где тут будет то что в ищу ?
#23 by lamme
+ При выборе данных из объекта в запросе не могут присутствовать соединения и объединения
#24 by Невский Александр
-> нужно двумя запросами делать и после этого МВТ.Закрыть не забыть поставить -> как нужно сделать
#25 by mooo
? [1c] ВЫБРАТЬ КОЛИЧЕСТВО РАЗЛИЧНЫХ (ТЗ.Код) КАК КолвоНовых ИЗ &ТЗ КАК ТЗ ГДЕ НЕ (ТЗ.Код В (ВЫБРАТЬ РС.Код ИЗ РегСвед КАК РС)) [1c]
#26 by Dmitrii
ГДЕ    Данные.КодТовара ЕСТЬ NULL Запрос вернет одну строчку с количеством записей таблицы ТЗ, у которых нет соответствия в регистре.
#27 by lamme
Ругается на этот запрос: ГДЕ   Данные.КодТовара ЕСТЬ NULL ЗапросПроверкиВЛ.Выполнить    {}: Ошибка при вызове метода контекста (Выполнить): Содержимое объекта данных может быть выбрано только во временную таблицу
#28 by lamme
все доперло спасибо
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С