Сформировать ОСВ по Счету и отправить на почту регламентным заданием БП 3.0

1. БоНН 117 02.07.21 09:56 Сейчас в теме
Добрый день!
Подскажите, пожалуйста никто не занимался данным вопрос, может кто реализовывал похожую задачу поделитесь опытом.
Пытался сделать так :
	ТД = Новый ТабличныйДокумент;
	ОСВ = Отчеты.ОборотноСальдоваяВедомостьПоСчету.Создать();

	ПользовательскиеНастройкиКомпоновкиДанных = Новый ПользовательскиеНастройкиКомпоновкиДанных;
    ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("Счет"          , ПредопределенноеЗначение("ПланСчетов.Хозрасчетный.ВложенияВоВнеоборотныеАктивы"));
    ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("НачалоПериода" , НачалоКвартала(ДобавитьМесяц(ТекущаяДата(),-1)));
    ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("КонецПериода"  , КонецКвартала(ДобавитьМесяц(ТекущаяДата(),-1)));
    ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("Организация"   ,БухгалтерскийУчетПереопределяемый.ПолучитьЗначениеПоУмолчанию("ОсновнаяОрганизация",ПараметрыСеанса.ТекущийПользователь));
    ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("Периодичность"   ,0);
    ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("ВыводитьЗаголовок"   ,Истина);
    ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("УменьшенныйАвтоотступ"   ,Истина);
    
   // Заполняем дополнительные отборы (в примере только для субконто1 и субконто2)
	//НовыйОтбор                                        = ПользовательскиеНастройкиКомпоновкиДанных.Элементы.Добавить(Тип("ОтборКомпоновкиДанных"));
	//НовыйОтбор.ИдентификаторПользовательскойНастройки = "Отбор";    
   //ЗаполнитьЭлементОтбораКомпоновкиДанных(НовыйОтбор,Истина,ВидСравненияКомпоновкиДанных.Равно,"Субконто1", "");
    
    //Заполняем группировки
    Группировка1 = Новый Массив;
    ОписаниеГруппировки = Новый Структура("Использование,Поле", Истина, "Подразделение");
    Группировка1.Добавить(ОписаниеГруппировки);
    ОписаниеГруппировки = Новый Структура("Использование,Поле", Истина, "Субконто1");
    Группировка1.Добавить(ОписаниеГруппировки);
    ОписаниеГруппировки = Новый Структура("Использование,Поле", Истина, "Субконто2");
    Группировка1.Добавить(ОписаниеГруппировки);
    
    ПользовательскиеНастройкиКомпоновкиДанных.ДополнительныеСвойства.Вставить("Группировка", Группировка1);
    
	ОСВ.КомпоновщикНастроек.ЗагрузитьПользовательскиеНастройки(ПользовательскиеНастройкиКомпоновкиДанных);
	
	ОСВ.СкомпоноватьРезультат(ТД);
	Возврат ТД;
Показать

На выходе получаю пустую таблицу.
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
8. БоНН 117 07.07.21 11:06 Сейчас в теме +1 $m
Всем спасибо разобрался получилось вот так:

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

	ПараметрыОтчета.ПоказательБУ      = Истина;
	ПараметрыОтчета.ПоказательКоличество = Истина;
	ПараметрыОтчета.ПоСубсчетам       = Истина;
	ПараметрыОтчета.РазвернутоеСальдо = Ложь;
	ПараметрыОтчета.Периодичность     = 0;
	ПараметрыОтчета.ДанныеРасшифровки = ""; 
	ПараметрыОтчета.ИдентификаторОтчета = "ОборотноСальдоваяВедомостьПоСчету";
	
	ПараметрыОтчета.СхемаКомпоновкиДанных = ПоместитьВоВременноеХранилище(Схема, ЭтаФорма.УникальныйИдентификатор);
	ПараметрыОтчета.НастройкиКомпоновкиДанных = отчетОСВ.КомпоновщикНастроек.ПолучитьНастройки();

	АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
	БухгалтерскиеОтчетыВызовСервера.СформироватьОтчет(ПараметрыОтчета, АдресХранилища);
	РезОтчета = ПолучитьИзВременногоХранилища(АдресХранилища);
	
	Реквизит1.Вывести(РезОтчета.Результат);
Показать
himera_green; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. grey_yes 12 02.07.21 10:48 Сейчас в теме
А что в Бухгалтерии стандартная рассылка отчетов не работает/отсутствует?
Пользуюсь в ЗиУП стандартной рассылкой "Расчетных листков" на почту.
user1278383; +1 Ответить
3. БоНН 117 02.07.21 11:34 Сейчас в теме
(2)Стандартная рассылка отчетов есть и она работает, но осв по счету там нет. т.к. он Не соответствует логике построения(для него спрограммирована и форма отчета и форма настроек, а СКД потом настраивается программно). Из за чего эти настройки недоступны при автоматической рассылки и рассылка не происходит.
4. Kolesonik 14 02.07.21 11:43 Сейчас в теме
Посмотрите вот это
Прикрепленные файлы:
СКДПрограммно.erf
5. Климов Сергей 02.07.21 17:59 Сейчас в теме
Поковыряйте Банк и касса - Финансы - 1С:ФинОтчетность. Насколько я понимаю, там используется возможность программно формировать стандартные отчёты. Можно скопипастить.
6. starik-2005 3043 03.07.21 12:38 Сейчас в теме
В принципе элементарно делается, но проще сделать, чем объяснить, как)))
7. Romyl01 37 05.07.21 16:59 Сейчас в теме
а в чем проблема взять стандартную ведомость,и оттуда выдрать код.
8. БоНН 117 07.07.21 11:06 Сейчас в теме +1 $m
Всем спасибо разобрался получилось вот так:

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

	ПараметрыОтчета.ПоказательБУ      = Истина;
	ПараметрыОтчета.ПоказательКоличество = Истина;
	ПараметрыОтчета.ПоСубсчетам       = Истина;
	ПараметрыОтчета.РазвернутоеСальдо = Ложь;
	ПараметрыОтчета.Периодичность     = 0;
	ПараметрыОтчета.ДанныеРасшифровки = ""; 
	ПараметрыОтчета.ИдентификаторОтчета = "ОборотноСальдоваяВедомостьПоСчету";
	
	ПараметрыОтчета.СхемаКомпоновкиДанных = ПоместитьВоВременноеХранилище(Схема, ЭтаФорма.УникальныйИдентификатор);
	ПараметрыОтчета.НастройкиКомпоновкиДанных = отчетОСВ.КомпоновщикНастроек.ПолучитьНастройки();

	АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
	БухгалтерскиеОтчетыВызовСервера.СформироватьОтчет(ПараметрыОтчета, АдресХранилища);
	РезОтчета = ПолучитьИзВременногоХранилища(АдресХранилища);
	
	Реквизит1.Вывести(РезОтчета.Результат);
Показать
himera_green; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот