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