Bosma писал(а) 14. Декабря 2018 :: 08:10:спасибо!!!!! век живи - век учись. Подправил для своих нужд, супер!
Не сочтите за наглость, а нет ли похожего скрипта для 1С8, знаю, что не по теме, но все же
Когда-то баловался, остались ошмётки какие-то. Принцип то тот же, запросы только через ADO выполнять.
//ошмётка для начала
Процедура кнРегистрыНакопления_Таблицы(Кнопка)
СтруктураИБ = ПолучитьСтруктуруХраненияБазыДанных();
руктураИБ);
Для каждого МетаОбъект Из Метаданные.РегистрыНакопления Цикл
стФильтр = Новый Структура("Метаданные, Назначение", "РегистрНакопления."+МетаОбъект.Имя, "Итоги");
стрМД = СтруктураИБ.НайтиСтроки(стФильтр);
стрМД);
Если стрМД.Количество() = 0 Тогда
Продолжить;
КонецЕсли;
ИмяТаблицы = стрМД[0].ИмяТаблицыХранения;
//Сообщить(МетаОбъект.Имя+" "+стрМД[0].ИмяТаблицыХранения);
стрЗапрос = "SELECT _Period, count(*) n_"+МетаОбъект.Имя+"
|FROM
| _"+ИмяТаблицы+"
|WHERE
| 1=1";
тзКолонки = стрМД[0].Поля;
Для каждого стрКол Из тзКолонки Цикл
//РегистрНакопления.ПособияПоУходуЗаРебенкомДоПолутораЛет.Ресурс.СуммаСверхНорм
нПоз = Найти(стрКол.Метаданные, ".Ресурс.");
Если нПоз > 0 Тогда
стрЗапрос = стрЗапрос + "
| AND _"+стрКол.ИмяПоляХранения+"!= 0";
КонецЕсли;
КонецЦикла;
стрЗапрос = стрЗапрос + "
|GROUP BY _Period";
Сообщить(стрЗапрос);
КонецЦикла;
//Для каждого МетаРекв Из Измерения Цикл
// Сообщить(МетаРекв.Имя);
//КонецЦикла;
//
//Для каждого МетаРекв Из Ресурсы Цикл
// //Сообщить(МетаРекв.Имя+" "+МетаРекв.ИмяПоляХранения);
//КонецЦикла;
//
//Для каждого МетаРекв Из Реквизиты Цикл
//КонецЦикла;
КонецПроцедуры