Имя: Пароль:
1C
1С v8
1с хитрый запрос
0 vol2hv
 
12.12.12
23:07
Здравствуйте!
Помогите, пожалуйста, составить запрос формирующий таблицу с полями:
1. Тип документа (например документ.Табель)
2. Количество документов данного типа в информационной базе

Заранее благодарен Vol2hv
1 НикДляЗапросов
 
12.12.12
23:11
а что хитрого?
2 Armando
 
12.12.12
23:13
на работу устраиваешься?
3 Эльнур
 
12.12.12
23:21
здесь не детский сад.
4 Операция 1Ы
 
12.12.12
23:27
(3) автор походу
5 Операция 1Ы
 
12.12.12
23:28
фу ты (4) к (2)
6 Операция 1Ы
 
12.12.12
23:29
(5) к (1)
вот это хитро
7 Undefined vs NULL
 
12.12.12
23:29
версия платформы в студию
8 НикДляЗапросов
 
12.12.12
23:31
ВЫБРАТЬ
   Сумма(1) КАК СтоПятцот    
ИЗ
   Документ.Х КАК Х
9 Команданте
 
12.12.12
23:37
слишком претенциозный ник для такого тупого вопроса
10 vol2hv
 
12.12.12
23:37
Попробую переформулировать задачу. Надо выбрать из метаданных все документы и посчитать их количество в информационной базе. Процедурно я это сделал, а вот запросом не получается.
11 НикДляЗапросов
 
12.12.12
23:38
(10) покажи
12 Команданте
 
12.12.12
23:38
я думал, волхвы решают такие вопросы на раз два
13 Фокусник
 
12.12.12
23:39
(10) динамически собирай текст запроса, перебирая метаданные
14 Команданте
 
12.12.12
23:39
а что тут не смочь-то
тупой запрос с агрегрирующей функцией, азы SQL
15 Команданте
 
12.12.12
23:40
ахтунг! ТП на мисте!
16 vol2hv
 
13.12.12
00:03
у меня получается объединение из N подзапросов где N количество таблиц в конфигурации(13). Сложновато однако :-)
17 vol2hv
 
13.12.12
00:04
Ну погорячился: знаю как написать(11)
18 НикДляЗапросов
 
13.12.12
00:09
ВЫБРАТЬ
   Сумма(1) КАК СтоПятцот    
ИЗ
   Документ.Метаданые КАК Х
19 vol2hv
 
13.12.12
00:25
1С:Предприятие 8.2 (8.2.16.368)(7)
20 vol2hv
 
13.12.12
00:28
И это все объединить СтоПятцот раз? По количеству документов в конфигурации(18)
21 НикДляЗапросов
 
13.12.12
00:29
Взять груповвую обработку справочников и дукументов отбрать все документы просуммировать колонку в экселе ну или добавить итог
22 НикДляЗапросов
 
13.12.12
00:32
чистым запросм не сделать, тут откудато список типов документов нужно брать, а перечислять их лень
23 vol2hv
 
13.12.12
09:05
(22)сработало вот это
ТекстЗапроса = "";
ТекстОбъединить = " ОБЪЕДИНИТЬ ВСЕ ";
     
Для каждого Документ Из Метаданные.Документы Цикл

 ТекстЗапроса = ТекстЗапроса +
 "ВЫБРАТЬ
 |""" + Документ.Имя + """ КАК ИмяДокумента,
 |КОЛИЧЕСТВО(Ссылка) КАК КоличествоВБазе
 |ИЗ Документ." + Документ.Имя
 + ТекстОбъединить;

КонецЦикла;

ТекстЗапроса = Лев(ТекстЗапроса, СтрДлина(ТекстЗапроса)-16);

Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
ТаблицаРезультата = Запрос.Выполнить().Выгрузить();
24 bootini
 
13.12.12
10:29
ВЫБРАТЬ
   ТИПЗНАЧЕНИЯ(Табель.Ссылка) КАК ТипДокумента,
   КОЛИЧЕСТВО(РАЗЛИЧНЫЕ Табель.Ссылка) КАК Количество
ИЗ
   Документ.Табель КАК Табель

СГРУППИРОВАТЬ ПО
   ТИПЗНАЧЕНИЯ(Табель.Ссылка)
25 sergeante
 
13.12.12
10:45
(8)(18)(24) не позорились бы уж.
26 Reset
 
13.12.12
11:08
(23) --> (13)