Доброго времени суток, уважаемые!
Суть в следующем: есть запрос, который при выполнении его в консоли запросов нормально отрабатывает,
но вот когда я переношу его в СКД, ругается на то, что поле "ДатаВыдачи" не найдено. Подскажите, в чем проблема?Заранеее спасибо!
Привожу скриншоты самого запроса, и настроек скд:
http://s61.radikal.ru/i174/1709/8e/7babe0f8b67d.png
ВЫБРАТЬ
ВложенныйЗапрос.ТТН КАК ТТН,
ВложенныйЗапрос.Накладная КАК Накладная,
ВложенныйЗапрос.Накладная.Контрагент
ПОМЕСТИТЬ ВТ_НеВозврРеализ
ИЗ
(ВЫБРАТЬ
ТТН_Реализация.ТТН КАК ТТН,
ТТН_Реализация.Реализация КАК Накладная
ИЗ
(ВЫБРАТЬ
ТТН.Ссылка КАК ТТН,
ТТН.СсылкаНаДокумент КАК Реализация
ИЗ
Документ.м_ТоварноТранспортнаяНакладная.СписокНакладных КАК ТТН
ГДЕ
ТТН.СсылкаНаДокумент.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания) КАК ТТН_Реализация
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Состояния.Документ КАК Реализация
ИЗ
РегистрСведений.м_СостоянияДокументов.СрезПоследних(
&ДатаОкончания,
Документ ССЫЛКА Документ.РеализацияТоваровУслуг
И (Документ.Дата МЕЖДУ ДОБАВИТЬКДАТЕ(&ДатаНачала, ДЕНЬ, -30) И ДОБАВИТЬКДАТЕ(&ДатаОкончания, ДЕНЬ, 5))
И СостояниеПечатногоДокумента = 2) КАК Состояния) КАК Возвращенные
ПО ТТН_Реализация.Реализация = Возвращенные.Реализация
ГДЕ
Возвращенные.Реализация ЕСТЬ NULL) КАК ВложенныйЗапрос
ГДЕ
ВложенныйЗапрос.Накладная.Контрагент В ИЕРАРХИИ(&Контрагент)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КатегорииОбъектов.Объект КАК ДокументLP
ПОМЕСТИТЬ ВТ_ДокументыLP
ИЗ
РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
ГДЕ
КатегорииОбъектов.Категория.Код = "Б00000041"
ИНДЕКСИРОВАТЬ ПО
ДокументLP
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ДатаВыдачи.Объект КАК Объект,
ДатаВыдачи.Значение КАК ДатаВыдачи
ПОМЕСТИТЬ ВТ_ДатаВыдачи
ИЗ
РегистрСведений.ЗначенияСвойствОбъектов КАК ДатаВыдачи
ГДЕ
ДатаВыдачи.Свойство.Код = "Б00000140"
ИНДЕКСИРОВАТЬ ПО
Объект
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_ДокументыLP.ДокументLP.НомерЗаказаПокупателя КАК НомерДокументаLP,
ВТ_ДокументыLP.ДокументLP,
ВТ_ДокументыLP.ДокументLP.Контрагент КАК Контрагент,
ВТ_ДатаВыдачи.ДатаВыдачи,
NULL КАК ТТН
ПОМЕСТИТЬ ВТ_НеВозвЛП
ИЗ
ВТ_ДокументыLP КАК ВТ_ДокументыLP
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДатаВыдачи КАК ВТ_ДатаВыдачи
ПО ВТ_ДокументыLP.ДокументLP = ВТ_ДатаВыдачи.Объект
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
NULL,
ВТ_НеВозврРеализ.Накладная,
ВТ_НеВозврРеализ.НакладнаяКонтрагент,
NULL,
ВТ_НеВозврРеализ.ТТН
ИЗ
ВТ_НеВозврРеализ КАК ВТ_НеВозврРеализ
(5) консоль запросов благополучно положит всё что в вашем запросе во временные таблицы и не будет нервничать а СКД требует чтобы запрос не во временную таблицу складывал всё что вы выбрали а обязательно возвращал таблицу в которой будут колонки указанные в разделе наборы данных.
Объединить означает что всё что у вас написано в этом тексте это один запрос результат которого будет помещен во временную таблицу ВТ_НеВозвЛП:
ВЫБРАТЬ
ВТ_ДокументыLP.ДокументLP.НомерЗаказаПокупателя КАК НомерДокументаLP,
ВТ_ДокументыLP.ДокументLP,
ВТ_ДокументыLP.ДокументLP.Контрагент КАК Контрагент,
ВТ_ДатаВыдачи.ДатаВыдачи,
NULL КАК ТТН
ПОМЕСТИТЬ ВТ_НеВозвЛП
ИЗ
ВТ_ДокументыLP КАК ВТ_ДокументыLP
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДатаВыдачи КАК ВТ_ДатаВыдачи
ПО ВТ_ДокументыLP.ДокументLP = ВТ_ДатаВыдачи.Объект
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
NULL,
ВТ_НеВозврРеализ.Накладная,
ВТ_НеВозврРеализ.НакладнаяКонтрагент,
NULL,
ВТ_НеВозврРеализ.ТТН
ИЗ
ВТ_НеВозврРеализ КАК ВТ_НеВозврРеализ
(6) сделал как сказали, но теперь вот такая ошибка: Ошибка исполнения отчета
по причине:
Ошибка инициализации
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
{(39, 2)}: Таблица не найдена "ВТ_НеВозврРеализ"
<<?>>ВТ_НеВозврРеализ КАК ВТ_НеВозврРеализ
ВЫБРАТЬ
ВложенныйЗапрос.ТТН КАК ТТН,
ВложенныйЗапрос.Накладная КАК Накладная,
ВложенныйЗапрос.Накладная.Контрагент
ПОМЕСТИТЬ ВТ_НеВозврРеализ
ИЗ
(ВЫБРАТЬ
ТТН_Реализация.ТТН КАК ТТН,
ТТН_Реализация.Реализация КАК Накладная
ИЗ
(ВЫБРАТЬ
ТТН.Ссылка КАК ТТН,
ТТН.СсылкаНаДокумент КАК Реализация
ИЗ
Документ.м_ТоварноТранспортнаяНакладная.СписокНакладных КАК ТТН
ГДЕ
ТТН.СсылкаНаДокумент.Дата МЕЖДУ &ДатаНачала И &ДатаОкончания) КАК ТТН_Реализация
ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
Состояния.Документ КАК Реализация
ИЗ
РегистрСведений.м_СостоянияДокументов.СрезПоследних(
&ДатаОкончания,
Документ ССЫЛКА Документ.РеализацияТоваровУслуг
И (Документ.Дата МЕЖДУ ДОБАВИТЬКДАТЕ(&ДатаНачала, ДЕНЬ, -30) И ДОБАВИТЬКДАТЕ(&ДатаОкончания, ДЕНЬ, 5))
И СостояниеПечатногоДокумента = 2) КАК Состояния) КАК Возвращенные
ПО ТТН_Реализация.Реализация = Возвращенные.Реализация
ГДЕ
Возвращенные.Реализация ЕСТЬ NULL) КАК ВложенныйЗапрос
ГДЕ
ВложенныйЗапрос.Накладная.Контрагент В ИЕРАРХИИ(&Контрагент)
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
КатегорииОбъектов.Объект КАК ДокументLP
ПОМЕСТИТЬ ВТ_ДокументыLP
ИЗ
РегистрСведений.КатегорииОбъектов КАК КатегорииОбъектов
ГДЕ
КатегорииОбъектов.Категория.Код = "Б00000041"
ИНДЕКСИРОВАТЬ ПО
ДокументLP
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ДатаВыдачи.Объект КАК Объект,
ДатаВыдачи.Значение КАК ДатаВыдачи
ПОМЕСТИТЬ ВТ_ДатаВыдачи
ИЗ
РегистрСведений.ЗначенияСвойствОбъектов КАК ДатаВыдачи
ГДЕ
ДатаВыдачи.Свойство.Код = "Б00000140"
ИНДЕКСИРОВАТЬ ПО
Объект
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ВТ_ДокументыLP.ДокументLP.НомерЗаказаПокупателя КАК НомерДокументаLP,
ВТ_ДокументыLP.ДокументLP,
ВТ_ДокументыLP.ДокументLP.Контрагент КАК Контрагент,
ВТ_ДатаВыдачи.ДатаВыдачи,
NULL КАК ТТН
ИЗ
ВТ_ДокументыLP КАК ВТ_ДокументыLP
ЛЕВОЕ СОЕДИНЕНИЕ ВТ_ДатаВыдачи КАК ВТ_ДатаВыдачи
ПО ВТ_ДокументыLP.ДокументLP = ВТ_ДатаВыдачи.Объект
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
NULL,
ВТ_НеВозврРеализ.Накладная,
ВТ_НеВозврРеализ.НакладнаяКонтрагент,
NULL,
ВТ_НеВозврРеализ.ТТН
ИЗ
ВТ_НеВозврРеализ КАК ВТ_НеВозврРеализ
Решил проблему вот так, может кому будет интересно:
Заменил?=
РегистрСведений.ЗначениеСвойстОбїекто КАК ДатаВыдачи
на
РегистрСведений.ЗначениеСвойстОбїекто КАК РегистрДатаВыдачи
Ну и обращение к полям соответсвенно
, временные таблицы все оставил, как были
(15) прямо рушите моё мировозрение насчет временных таблиц, интересно откуда СКД знает какую из ваших 4 временных таблиц тянуть в отчет, неужели просто берет последнюю в очереди? :)
Как-то пропустил что у вас у имя таблицы и имя поля таблицы совпадает, спасибо за тренировку :)