Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 05:26

Как выгрузить ТЧ документа в временную таблицу?

Автор Ilya Batrakov, 11 мая 2020, 12:33

0 Пользователей и 1 гость просматривают эту тему.

Ilya Batrakov

При попытки выгрузить ТЧ документа в временную таблицу выводит ошибку " В запросе, формирующем временную таблицу, не могут выбираться вложенные таблицы
<<?>>ВложенныйЗапрос.Затраты.(
"
ПОМОГИТЕ!!! я в 1с новичок и пока много чего не понимаю

ВЫБРАТЬ
   ВложенныйЗапрос.Затраты.(
      МатериалУслуга,
      Операция,
      Количество
   ),
   ВидыОпераций.Наименование как ВидОперации,
   СпМатериаловИУслуг.Наименование КАК СпрМатериаловИУслуг
   ПОМЕСТИТЬ ВТ
ИЗ
   (ВЫБРАТЬ
      РеестрЗатратПоОбъекту.Затраты.(
         Количество КАК Количество,
         Операция КАК Операция,
         МатериалУслуга КАК МатериалУслуга
      ) КАК Затраты
   ИЗ
      Документ.РеестрЗатратПоОбъекту КАК РеестрЗатратПоОбъекту
   ГДЕ
      РеестрЗатратПоОбъекту.Ссылка = &Ссылка) КАК ВложенныйЗапрос
      
      ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ВидыОпераций КАК ВидыОпераций
      ПО ВложенныйЗапрос.Затраты.Операция.Ссылка = ВидыОпераций.Ссылка
      ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.СпМатериаловИУслуг КАК СпМатериаловИУслуг
      ПО ВложенныйЗапрос.Затраты.МатериалУслуга.Ссылка = СпМатериаловИУслуг.Ссылка;

LexaK

без понятного описания задачи, трудно что-то дельное посоветовать,
вот пример как выбрать данные из записанного уже в базу документа из его ТЧ,
не понятно зачем помещать во временную таблицу?
так как в любом месте запроса, можно сразу обращаться к данным документа

Левое соединение
Документ.РеестрЗатратПоОбъекту.Затраты КАК Док
по Док.Ссылка = &Ссылка
И ...

(заменят все что ниже, и то что выше у вас)
без всякого промежуточного помещения их во временную таблицу :dfbsdfbsdf:

ВЫБРАТЬ
Док.МатериалУслуга,
Док.Операция,
Док.Количество,
Представление(Док.Операция) как ВидОперации,//это для чего?
Представление(Док.МатериалУслуга) как СпрМатериаловИУслуг
   ПОМЕСТИТЬ ВТ
ИЗ
Документ.РеестрЗатратПоОбъекту.Затраты КАК Док
ГДЕ
Док.Ссылка = &Ссылка
если помогло нажмите: Спасибо!

Ilya Batrakov

Здравствуйте, спасибо за ваш ответ. Я составляю запрос который выводил материалы или услуги по определенному объекту работы.
Благодаря вам я смог приблизиться к "цели", вот код который у меня получился => ВЫБРАТЬ
Док.МатериалУслуга как МатериалУслуга,
Док.Операция как Операция,
СУММА(Док.Количество) КАК Количество,
ПРЕДСТАВЛЕНИЕ(Док.Операция) КАК ВидОперации,
ПРЕДСТАВЛЕНИЕ(Док.МатериалУслуга) КАК СпрМатериаловИУслуг
ПОМЕСТИТЬ ВТ
ИЗ
Документ.РеестрЗатратПоОбъекту.Затраты КАК Док
ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеестрЗатратПоОбъекту КАК РеестрЗатратПоОбъекту
ПО Док.Ссылка = РеестрЗатратПоОбъекту.Затраты.Ссылка
ГДЕ
РеестрЗатратПоОбъекту.Ссылка = &Ссылка

СГРУППИРОВАТЬ ПО
Док.Операция,
Док.МатериалУслуга;

ВЫБРАТЬ
ВТ.МатериалУслуга,
ВТ.Операция,
ВТ.Количество
ИЗ
ВТ как ВТ


Вроде бы он работает, но я так и не понял что это (   ПРЕДСТАВЛЕНИЕ()  )?

LexaK

и опять-же из вашего примера, не понятно а зачем нужно создавать временную таблицу???
вот же простой вариант, сразу получение данных без всяких временных таблиц

ВЫБРАТЬ
    Док.МатериалУслуга как МатериалУслуга,
    Док.Операция как Операция,
    СУММА(Док.Количество) КАК Количество
ИЗ
    Документ.РеестрЗатратПоОбъекту.Затраты КАК Док
ГДЕ
Док.Ссылка = &Ссылка
СГРУППИРОВАТЬ ПО
    Док.МатериалУслуга,
    Док.Операция

попробуйте этот вариант
если помогло нажмите: Спасибо!

Ilya Batrakov

Спасибо этот вариант тоже сработал я просто не сказал что данный запрос будет использован как под запрос для основного поэтому и лепил везде ВТ. Мне необходимо воссоздать запрос который ранее написан в MS Access
https://drive.google.com/open?id=1cutZ7X5cwWTNfW2KIAM8eIdZIU6gZIF7
На фото обведен подзапрос с которым вы мне помогли)

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск