Выводит количество документов по видам (по убыванию) и текст запроса, полученный по метаданным.
Нужна была для принятия решения, для каких документов в первую очередь писать автоматизированное тестирование
&НаКлиенте
Процедура СоздатьЗапросПоМетаданным(Команда)
СоздатьЗапросПоМетаданнымНаСервере();
КонецПроцедуры
&НаСервере
Процедура СоздатьЗапросПоМетаданнымНаСервере()
// ТЕКСТ ЗАПРОСА
Первый = Истина;
Для Каждого Документ Из Метаданные.Документы Цикл
Если Первый Тогда
ТекстЗапроса =
"ВЫБРАТЬ
| ТИПЗНАЧЕНИЯ(Документ.Ссылка) КАК Документ,
| СУММА(1) КАК Количество
|ПОМЕСТИТЬ ВременнаяТаблица
|ИЗ
| Документ."+Документ.Имя+" КАК Документ
|
|СГРУППИРОВАТЬ ПО
| ТИПЗНАЧЕНИЯ(Документ.Ссылка)";
Первый = Ложь;
Иначе
ТекстЗапроса = ТекстЗапроса + Символы.ПС + "ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТИПЗНАЧЕНИЯ(Документ.Ссылка),
| СУММА(1)
|ИЗ
| Документ."+Документ.Имя+" КАК Документ
|
|СГРУППИРОВАТЬ ПО
| ТИПЗНАЧЕНИЯ(Документ.Ссылка)";
КонецЕсли;
КонецЦикла;
ТекстЗапроса = ТекстЗапроса + Символы.ПС + ";
|
|////////////////////////////////////////////////////////////////////////////////
| ВЫБРАТЬ
| ВременнаяТаблица.Документ КАК Документ,
| ВременнаяТаблица.Количество КАК Количество
|ИЗ
| ВременнаяТаблица КАК ВременнаяТаблица
|ГДЕ
| ВременнаяТаблица.Количество > 0
|
|УПОРЯДОЧИТЬ ПО
| Количество УБЫВ";
// ДАННЫЕ
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
ТаблицаДокументов.Загрузить( Запрос.Выполнить().Выгрузить() );
КонецПроцедуры
Проверено на следующих конфигурациях и релизах:
- Управление торговлей, редакция 11, релизы 11.5.16.115