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