IE2017

Как открыть отчет на СКД с заданными реквизитами и отбором (8.2), с выполнением результата?

Программирование - Практика программирования

Решил написать данную статью из-за того, что с трудом нашел данный материал с работоспособными параметрами. Задача стояла открыть ОСВ по счету с заданными параметрами и отбором (8.2), чтобы на экране был результат отчета Казалось бы, куда проще...

Итак, как же это сделать? На самом деле все очень просто, по крайней мере для 1с 8.2. Это конечно же не единственный вариант, но по крайней мере все работает. Можно использовать...

Процедура ОткрытьОСВ() 
	
	ОтчетСклад = Отчеты.ОборотноСальдоваяВедомостьПоСчетуХозрасчетный.Создать(); 
	Форма = ОтчетСклад.ПолучитьФорму("Форма"); 
	Форма.Открыть(); 
	ОтчетСклад.Счет=Счет;
	ОтчетСклад.ДатаКон=ДатаКонца;
	ОтчетСклад.ДатаНач=ДатаНачала;
	ОтчетСклад.ПостроительОтчета.Отбор.Субконто1.Значение = Номенклатура; 
	ОтчетСклад.ПостроительОтчета.Отбор.Субконто1.Использование = Истина; 
	ОтчетСклад.ПостроительОтчета.Отбор.Субконто1.ВидСравнения = ВидСравнения.Равно;
	
	ОтчетСклад.ПостроительОтчета.Отбор.Субконто2.Значение = Склад; 
	ОтчетСклад.ПостроительОтчета.Отбор.Субконто2.Использование = Истина; 
	ОтчетСклад.ПостроительОтчета.Отбор.Субконто2.ВидСравнения = ВидСравнения.Равно;
	
	
	ОтчетСклад.СформироватьОтчет(Форма.ЭлементыФормы.ДокументРезультат,ИСТИНА);
	
КонецПроцедуры	

Находил много вариантов, но ни один не работал. Многие пытались передать параметры в СКД и только потом открыть форму отчета. В результате ничего не работало. Может быть кому понадобится....

Для открытия отчета Ведомость по партиям товаров на складах используется другая обработка

Процедура ОткрытьПартии() 
    
    ОтчетСклад = Отчеты.ВедомостьПартииТоваровНаСкладах.Создать();     
    ФормаОтчета = ОтчетСклад.ПолучитьФорму("Форма"); 
    ОткрытьФорму(ФормаОтчета);
    
    ОтчетСклад.УниверсальныйОтчет.ДатаКон=КонецДня(КонПериода);
    ОтчетСклад.УниверсальныйОтчет.ДатаНач=НачалоДня(НачПериода);
    
    ТекОтбор = ОтчетСклад.УниверсальныйОтчет.ПостроительОтчета.Отбор.Организация;
    ТекОтбор.ВидСравнения  = ВидСравнения.Равно;
    ТекОтбор.Значение      = Организация;
    ТекОтбор.Использование =  Истина;

    
    ТекОтбор = ОтчетСклад.УниверсальныйОтчет.ПостроительОтчета.Отбор.Номенклатура;
    ТекОтбор.ВидСравнения  = ВидСравнения.Равно;
    ТекОтбор.Значение      = Номенклатура;
    ТекОтбор.Использование =  Истина;
    
    
    ТекОтбор = ОтчетСклад.УниверсальныйОтчет.ПостроительОтчета.Отбор.Склад;
    ТекОтбор.ВидСравнения  = ВидСравнения.Равно;
    ТекОтбор.Значение      = Склад;
    ТекОтбор.Использование =  Истина;
    ОтчетСклад.СформироватьОтчет(ФормаОтчета.ЭлементыФормы.ПолеТабличногоДокументаРезультат);        
КонецПроцедуры

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

Данные методы использовались в конфигурации УПП 1.3.

Надеюсь, кому-то будет полезен данный материал...

См. также

Комментарии
1. Владимир Бакланов (NikusXXZ) 09.02.17 07:16 Сейчас в теме
2. BevzaIN 09.02.17 08:37 Сейчас в теме
Автор, не вводите людей в заблуждение.
3. Владимир Орлов (vladmin) 20 09.02.17 09:39 Сейчас в теме
(1)А что по вашему СКД? Ведомость товаров на складах построена на "Схеме компоновки данных". Это вам не СКД?
4. Дмитрий Глеков (glek) 111 09.02.17 10:19 Сейчас в теме
Судя по использованию построителя (ОтчетСклад.УниверсальныйОтчет.ПостроительОтчета.Отбор.Организация), отчет относится к 10 торговле. СКД, соответственно, не пахнет.
5. Антон Гвоздикин (Ганс) 09.02.17 10:48 Сейчас в теме
Что-то я не очень понял как связан ПостроительОтчета с СКД, на сколько мне известно это 2 разных объекта в 1с!
6. Владимир Орлов (vladmin) 20 09.02.17 11:16 Сейчас в теме
Дословно что говорит 1С о ПостроительОтчета - Предназначен для интеллектуального построения отчетов.

Тип данных в 1С: СхемаКомпоновкиДанных. Схема компоновки, на основании которой будет выполняться отчет.

Что не понятно, ПостроительОтчета как метод вывода отчета, для получения результата.

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

7. Владимир Орлов (vladmin) 20 09.02.17 11:30 Сейчас в теме
(4) Схема компоновки данных (1С СКД) – удобный конструктор для создания в программных продуктах 1С:Предприятие сложных отчетов, способствующих развитию и отслеживанию автоматизации производства, позволяющих сделать их максимально гибкими и красивыми за минимум времени.
Как это связано с Управление торговли 10, что на ней нельзя строить отчеты с использованием СКД? Так в ней большинство отчетов построены на СКД.
8. Владимир Бакланов (NikusXXZ) 09.02.17 13:52 Сейчас в теме
(3) УПП 1.3 работает как в режиме тонкого клиента так и режиме толстого клиента. В толстом режиме практические все отчеты, включая Ведомость товары на складах используют построитель отчетов. В тонком режиме уже используется СКД, Обратите внимание хотя бы на формы отчета Ведомость товары на складах.
9. Александр Крынецкий (echo77) 740 16.02.17 17:21 Сейчас в теме
(0) СКД - система компоновки данных - это один механизм платформы
Построитель отчета - это построитель отчета, схему компоновки данных он не использует.

СКД != Построитель отчета.

Советую все же изменить в заголовке публикации СКД на Построитель отчета
10. Stanislav Гайоха (sssss) 17.02.17 08:12 Сейчас в теме
Может тогда кто то в добавок к этой статье выложит пример открытия отчета с использованием именно СКД....
11. aspirator 23 (aspirator23) 301 18.02.17 15:50 Сейчас в теме
(10) Также просто. В известной книжке есть пример.
Оставьте свое сообщение