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

Как сделать запрос который формирует список документов всех видов?

Автор ZSS, 13 июл 2017, 08:52

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

ZSS

Необходимо именно одним запросом получить все виды документов и вывести их в отчет на скд.

Golickoff

Я делал так:
ЭтоПервый = Истина;
ТекстЗапроса = "";
Для Каждого Строка Из Метаданные.Документы Цикл
    Если ЭтоПервый Тогда
        ЭтоПервый = Ложь;
        ТекстЗапроса = "ВЫБРАТЬ
        | "+Строка.Наименование+".Ссылка,
        | "+Строка.Наименование+".Дата
        |ИЗ
        | Документ."+Строка.Наименование+" КАК "+Строка.Наименование;
    Иначе
        ТекстЗапроса = ТекстЗапроса + "
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |";
        ТекстЗапроса = ТекстЗапроса + "
        |ВЫБРАТЬ
        | "+Строка.Наименование+".Ссылка,
        | "+Строка.Наименование+".Дата
        |ИЗ
        | Документ."+Строка.Наименование+" КАК "+Строка.Наименование;

    КонецЕсли;
КонецЦикла;
Если ТекстЗапроса = "" Тогда
    Возврат Неопределено;
Иначе
    ТекстЗапроса = ТекстЗапроса + "
    |
    |УПОРЯДОЧИТЬ ПО
    | Дата";
КонецЕсли;
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

ZSS

Цитата: Golickoff от 13 июл 2017, 09:09
Я делал так:
ЭтоПервый = Истина;
ТекстЗапроса = "";
Для Каждого Строка Из Метаданные.Документы Цикл
    Если ЭтоПервый Тогда
        ЭтоПервый = Ложь;
        ТекстЗапроса = "ВЫБРАТЬ
        | "+Строка.Наименование+".Ссылка,
        | "+Строка.Наименование+".Дата
        |ИЗ
        | Документ."+Строка.Наименование+" КАК "+Строка.Наименование;
    Иначе
        ТекстЗапроса = ТекстЗапроса + "
        |
        |ОБЪЕДИНИТЬ ВСЕ
        |";
        ТекстЗапроса = ТекстЗапроса + "
        |ВЫБРАТЬ
        | "+Строка.Наименование+".Ссылка,
        | "+Строка.Наименование+".Дата
        |ИЗ
        | Документ."+Строка.Наименование+" КАК "+Строка.Наименование;

    КонецЕсли;
КонецЦикла;
Если ТекстЗапроса = "" Тогда
    Возврат Неопределено;
Иначе
    ТекстЗапроса = ТекстЗапроса + "
    |
    |УПОРЯДОЧИТЬ ПО
    | Дата";
КонецЕсли;

Ты это в скд делал?а через консоль запросов ни как не вытащить все виды документов?

Golickoff

Нет, не в СКД, но засунуть в СКД текст запроса -- не проблема. Через консоль запросов нельзя. Через консоль кода можно.
Добавлено: 13 июл 2017, 10:15


В принципе, этот код упрощает работу тем что формирует запроса самостоятельно. При желании, конечно, можно то же самое руками написать, но понадобится много времени.
Добавлено: 13 июл 2017, 10:15


*формирует текст запроса
Правило поведения на форуме №6: Не следует пытаться привлечь внимание к своему сообщению ... рассылкой персональных сообщений и/или электронных писем отдельным участникам форума с просьбой ответить в теме.

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск