Еще один вариант отчета Статистика по документам

14.10.22

База данных - Статистика базы данных

Отчет на базе СКД с отображением статистики по проведенным документам за указанный период с возможностью отбора по организации.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Еще один вариант отчета Статистика по документам: (вар.2)
.erf 8,42Kb
18 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Предлагаемый отчет интересен применением объекта СхемаЗапроса, который позволяет сократить код, отвечающий за формирование итогового запроса. Как и в аналогичных решениях, идет перебор документов на основании метаданных. Итоговый запрос состоит из объединения отдельных запросов для каждого вида документа. В качестве заготовки для запросов используются два шаблона.

мШаблонО="ВЫБРАТЬ
	         |	КОЛИЧЕСТВО(Док.Ссылка) КАК Счетчик,
	         |	""АвансовыйОтчет"" КАК Имя,
	         |	Док.Организация КАК Организация
	         |ИЗ
	         |	Документ.АвансовыйОтчет КАК Док
	         |ГДЕ
	         |	Док.Дата <= &Дата2
	         |	И Док.Дата >= &Дата1
	         |	И Док.Проведен = ИСТИНА
	         |{ГДЕ
	         |	Док.Организация.*}
	         |
	         |СГРУППИРОВАТЬ ПО
	         |	Док.Организация";

	мШаблон="ВЫБРАТЬ
	        |	КОЛИЧЕСТВО(Док.Ссылка) КАК Счетчик,
	        |	""АвансовыйОтчет"" КАК Имя,
	        |	NULL КАК Организация
	        |ИЗ
	        |	Документ.АвансовыйОтчет КАК Док
	        |ГДЕ
	        |	Док.Дата <= &Дата2
	        |	И Док.Дата >= &Дата1
	        |	И Док.Проведен = ИСТИНА";

мШаблонО предназначен для документов, у которых присутствует реквизит Организация, мШаблон - для остальных. Ниже приводится код для заполнения схемы запроса.

Схема=новый СхемаЗапроса; 	
	н=0;
	для каждого мета  из Метаданные.Документы цикл
		
		если мета.Реквизиты.Найти("Организация")<>неопределено тогда
			мТекстЗапроса=СтрЗаменить(мШаблонО,"АвансовыйОтчет",мета.Имя);
		иначе
			мТекстЗапроса=СтрЗаменить(мШаблон ,"АвансовыйОтчет",мета.Имя);
		конецесли;	
		
		
		если н=0 тогда
	            схема.УстановитьТекстЗапроса(мТекстЗапроса);
				мОператоры=схема.ПакетЗапросов[0].Операторы;
		иначе	                     
			буфер=новый СхемаЗапроса;        	
			буфер.УстановитьТекстЗапроса(мТекстЗапроса);
			мОператоры.Добавить(буфер.ПакетЗапросов[0].Операторы[0]);             
		конецесли;
		н=н+1;
    конеццикла;

Каждый запрос, кроме первого добавляется в коллекцию операторы.  Текст итогового запроса возвращает функция ПолучитьТекстЗапроса().

мТекст=Схема.ПолучитьТекстЗапроса();

В рассмотренном коде используется шаблон текста запроса. Код получился достаточно понятным. Но интересно было бы все сделать только средствами объекта СхемаЗапроса. Теперь мы расширили список полей запроса и добавили реквизит документа Проведен. Ниже приводится именно такой вариант.

    Схема=новый СхемаЗапроса; 	
	н=0;
	для каждого мета  из Метаданные.Документы цикл
		
		
		если н=0 тогда
				мОператор=схема.ПакетЗапросов[0].Операторы[0];
	 	иначе	                     
				мОператор=схема.ПакетЗапросов[0].Операторы.Добавить();			
		конецесли;
		мИсточник=мОператор.Источники.Добавить("Документ."+мета.Имя)   ;
		мИсточник.Источник.Псевдоним="Док";
		
		мОператор.ВыраженияОтбораКомпоновкиДанных.Добавить("Док.Дата");
		мОператор.ВыраженияОтбораКомпоновкиДанных.Добавить("Док.Проведен");
		
		
		мПоле    =мОператор.ВыбираемыеПоля.Добавить("КОЛИЧЕСТВО(Док.Ссылка)");
		мПоле    =мОператор.ВыбираемыеПоля.Добавить(""""+мета.Имя+"""");
		мПоле    =мОператор.ВыбираемыеПоля.Добавить("Док.Проведен");
		
		
		
		если мета.Реквизиты.Найти("Организация")=неопределено тогда
			мПоле    =мОператор.ВыбираемыеПоля.Добавить("NULL");	 
		иначе  
			мПоле    =мОператор.ВыбираемыеПоля.Добавить("Док.Организация");	
			мОператор.ВыраженияОтбораКомпоновкиДанных.Добавить("Док.Организация");
		конецесли;
		н=н+1;
    конеццикла;

	схема.ПакетЗапросов[0].Колонки[0].Псевдоним="Счетчик";
	схема.ПакетЗапросов[0].Колонки[1].Псевдоним="Имя";
    инд=схема.ПакетЗапросов[0].Колонки.Количество()-1;
	мИмя=схема.ПакетЗапросов[0].Колонки[инд].Псевдоним;
	если СтрНайти(мИмя,"Поле")<>0 тогда
				схема.ПакетЗапросов[0].Колонки.Удалить(инд);
	конецесли; 
	мТекст=Схема.ПолучитьТекстЗапроса();

 

 

Кроме этого, в модуле обработки можно найти примеры работы с параметрами и отборами компоновщика настроек.

Разработанный отчет тестировался  на платформе 1С:Предприятие 8.3 (8.3.21.1508) в операционной системе Windows, в конфигурации Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.100.16) .

Вступайте в нашу телеграмм-группу Инфостарт

Статистика по видам документов

См. также

Инструментарий разработчика Роли и права Запросы СКД Разработчик Руководитель проекта 1С:Предприятие 8 Платные (руб)

Инструменты для разработчиков 1С 8.3 и 8.5: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

16500 руб.

02.09.2020    285959    1608    423    

1220

СКД Разработчик 1С:Предприятие 8 Бесплатно (free)

Как решить проблему с отборами по полям СКД, когда с одинаковым отбором Отчет показывает одно, а Консоль запросов другое.

16.06.2026    6405    sapervodichka    45    

56

Инструментарий разработчика СКД Разработчик 1С 8.3 Бесплатно (free)

В этой статье представлен ПовелительОтчетов — общий модуль-обёртка над объектной моделью СКД, который сокращает код в 3-4 раза и делает его читаемым.

29.01.2026    9484    455    shapa_pro    31    

73

СКД Разработчик 1С:Предприятие 8 Бесплатно (free)

Статья написана по результатам проведенного внутреннего обучающего вебинара для разработчиков ГК «СофтБаланс». Если осилить 25 000 знаков - задача для вас непосильная, где-то на бескрайних просторах интернета видео есть (или будет). Но здесь информация точнее. Разберем, чем запрос для СКД принципиально отличается от обычного запроса и как модифицируется в зависимости от настроек. Изучим «базовый рецепт» написания запроса для СКД, сформируем чек-лист. Полезно будет всем – от стажеров до тех. лидов. Всем, кто не снимает галку «автозаполнение» и пишет запросы для отчетов в консоли запросов – читать (вдумчиво) обязательно.

29.10.2025    27118    ovetgana    112    

117

СКД Разработчик 1С:Предприятие 8 Бесплатно (free)

Описан способ заполнения списка доступных значений для полей наборов данных и параметров в схеме компоновки данных для любых конфигураций (с использованием БСП или без).

01.07.2025    15836    krasnoshchekovpavel    7    

68

СКД Разработчик 1С:Предприятие 8 Бесплатно (free)

Хорошая отчетная форма - сродни искусству. Есть какое-то невероятное эстетическое удовольствие в том, чтобы разобраться в логике учета и анализируемых показателях, спроектировать архитектуру хранения данных так, чтобы оптимально собрать эти показатели вместе с аналитическими разрезами в запросе, а затем настроить отображение так, чтобы, глядя на результат, сразу было понятно, что это за отчет и какие задачи он призван решать. Система компоновки данных - это моя первая, главная и, наверное, единственная "рабочая" любовь. Ее я использую везде, где только можно и где нельзя тоже. Хочу поделиться с вами некоторыми практическими приемами в работе с отчетами на СКД, которые, надеюсь, будут полезны.

27.02.2025    19876    ovetgana    50    

93

СКД Разработчик 1С:Предприятие 8 Бесплатно (free)

СКД – инструмент, на базе которого в современных конфигурациях реализованы практически все отчеты. СКД используется в динамических списках, печатных формах и универсальных механизмах. Если построить простейший отчет может каждый разработчик, то с нюансами знакомы далеко не все. Расскажем о неочевидных на первый взгляд приемах, способных значительно повысить качество отчетов.

24.12.2024    17786    Akcium    17    

48
Для отправки сообщения требуется регистрация/авторизация