Ошибка при выборке данных из запроса

Новая тема
При формировании отчета выходит ошибка
{Форма.ФормаОтчета.Форма(185)}: Значение не является значением объектного типа (Метаданные)
 Если Выборка.Документ.Метаданные() = Метаданные.Документы.ПеремещениеТоваров тогда

Подскажите в чем может быть ошибка?
Запрос вот
"ВЫБРАТЬ
| ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Номенклатура,
| ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.СчетУчета,
| ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.СерияНоменклатуры КАК ЦФО,
| ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.СтоимостьПриход КАК кварталПоступление,
| ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.СтоимостьРасход КАК КварталСписание,
| ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Регистратор,
| ВЫБОР
|  КОГДА ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Регистратор.Подразделение ЕСТЬ NULL
|   ТОГДА 0
|  ИНАЧЕ ПартииТоваровНаСкладахБухгалтерскийУчетОбороты.Регистратор.Подразделение
| КОНЕЦ КАК Подразделение
|ПОМЕСТИТЬ Обороты
|ИЗ
| РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.Обороты(&Начало, &Конец, Регистратор, ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОбороты
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
| ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Номенклатура,
| ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СчетУчета,
| ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СерияНоменклатуры КАК ЦФО,
| ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СтоимостьОстаток КАК СтоимостьНачальныйОстаток,
| ВЫБОР
|  КОГДА ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.ДокументОприходования.Подразделение ЕСТЬ NULL
|   ТОГДА 0
|  ИНАЧЕ ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.ДокументОприходования.Подразделение
| КОНЕЦ КАК Подразделение
|ПОМЕСТИТЬ ОстатокНаНачало
|ИЗ
| РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.Остатки(&Начало, ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстатки
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
| ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.Номенклатура,
| ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СчетУчета,
| ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СерияНоменклатуры КАК ЦФО,
| ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.СтоимостьОстаток КАК СтоимостьНачальныйОстаток,
| ВЫБОР
|  КОГДА ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.ДокументОприходования.Подразделение ЕСТЬ NULL
|   ТОГДА 0
|  ИНАЧЕ ПартииТоваровНаСкладахБухгалтерскийУчетОстатки.ДокументОприходования.Подразделение
| КОНЕЦ КАК Подразделение
|ПОМЕСТИТЬ ОстатокНаКонец
|ИЗ
| РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.Остатки(&Конец, ) КАК ПартииТоваровНаСкладахБухгалтерскийУчетОстатки
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
| ВложенныйЗапрос.Номенклатура,
| ВложенныйЗапрос.СчетУчета,
| ВложенныйЗапрос.СтоимостьКонечныйОстаток,
| ВложенныйЗапрос.СтоимостьНачальныйОстаток,
| ВложенныйЗапрос.Подразделение,
| Обороты.ЦФО,
| Обороты.кварталПоступление,
| Обороты.КварталСписание,
| Обороты.Регистратор КАК Документ
|ИЗ
| (ВЫБРАТЬ
|  ОстатокНаКонец.Номенклатура КАК Номенклатура,
|  ОстатокНаКонец.СчетУчета КАК СчетУчета,
|  ОстатокНаКонец.СтоимостьНачальныйОстаток КАК СтоимостьКонечныйОстаток,
|  ОстатокНаНачало.СтоимостьНачальныйОстаток КАК СтоимостьНачальныйОстаток,
|  ОстатокНаНачало.Подразделение КАК Подразделение
| ИЗ
|  ОстатокНаНачало КАК ОстатокНаНачало
|   ПОЛНОЕ СОЕДИНЕНИЕ ОстатокНаКонец КАК ОстатокНаКонец
|   ПО ОстатокНаНачало.Номенклатура = ОстатокНаКонец.Номенклатура
|
| СГРУППИРОВАТЬ ПО
|  ОстатокНаКонец.Номенклатура,
|  ОстатокНаКонец.СчетУчета,
|  ОстатокНаКонец.СтоимостьНачальныйОстаток,
|  ОстатокНаНачало.СтоимостьНачальныйОстаток,
|  ОстатокНаНачало.Подразделение) КАК ВложенныйЗапрос
|  ПОЛНОЕ СОЕДИНЕНИЕ Обороты КАК Обороты
|  ПО ВложенныйЗапрос.Номенклатура = Обороты.Номенклатура
|ГДЕ
| ВложенныйЗапрос.СчетУчета В(&СчетУчета)
|
|СГРУППИРОВАТЬ ПО
| ВложенныйЗапрос.Номенклатура,
| ВложенныйЗапрос.СчетУчета,
| ВложенныйЗапрос.СтоимостьКонечныйОстаток,
| ВложенныйЗапрос.СтоимостьНачальныйОстаток,
| ВложенныйЗапрос.Подразделение,
| Обороты.ЦФО,
| Обороты.кварталПоступление,
| Обороты.КварталСписание,
| Обороты.Регистратор
|ИТОГИ ПО
| ОБЩИЕ"
Ответили: пост #2
Ответ на пост №1
1. Перед тем как обращаться к метаданным документа, написано что-то типа "Если Выборка.Следующий()" ??
2. Строка с итогами случайно не проверяется на метаданные?
3. Что значит  "ПОЛНОЕ СОЕДИНЕНИЕ Обороты" ?  В результат запроса надо включить также еще и те записи из обоих источников, для которых не найдено соответствий? т.е. документ может быть NULL?
Ответили: пост #3
Ответ на пост №2
Петров-В, 1 Да такой пункт есть
2 Для этого имеется запись если Выборка.Документ = null тогда продолжить; иначе  
Если Выборка.Документ.Метаданные() = Метаданные.Документы.ПеремещениеТоваров тогда
3 Полное соединение это когда ставятся галочки связи "все "
Посмотрел внимательнее, суперприкольный запрос.
Я конечно не совсем понял суть задачи, поэтому возникли такие вопросы.
1. Сразу никак нельзя было выбрать РегистрНакопления.ПартииТоваровНаСкладахБухгалтерскийУчет.ОстаткиИОбороты ?
2. Почему бы не засунуть условие не в "ГДЕ...", а в параметры виртуальой таблицы?
3. Если есть "СГРУППИРОВАТЬ ПО", то суммируемые поля (Стоимость), тоже засунуты в группировку? Может логичнее Сумма(СтоимостьКонечныйОстаток).
4. Если есть "ИТОГИ ПО ОБЩИЕ", а где итоговые поля?
Читают тему
(гостей: 1)

Быстрый переход