Имя: Пароль:
1C
 
Получить табличный документ встроенного отчета.
0 Lama12
 
19.09.24
15:25
Исходные данные.
Конфигурация ERP.
Есть стандартный отчет "ОстаткиИДоступностьТоваров".

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

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

Как-то можно взять отчет с определенной настройкой из сохраненных вариантов настройки отчета, передать свои параметры, и получить готовый табличный документ, без открытия формы отчета?
Если возможно, то как? В каком направлении копать?
1 mikecool
 
19.09.24
16:22
так сохраненные настройки также можно считать и применить
2 Lama12
 
19.09.24
16:32
(1) Да это понятно. Думал может какая функция в БСП есть которая позволит сразу из отчета получить его табличный документ.
3 Мимохожий Однако
 
19.09.24
16:33
(0) В чём бонус для клиента, если эта заморочка будет реализована?
4 Волшебник
 
19.09.24
16:34
>> Делается новый документ. Назовем его "НовыйДокумент"

Вот дураки
5 Lama12
 
19.09.24
16:34
(3) Клиент внутренний заказчик. Документ будет сохранять состояние отчета на определенный момент. Ну вот хотят.
6 Мимохожий Однако
 
19.09.24
16:36
(5) Добавь кнопку Сохранить отчет в файл и выводи в свой любимый НовыйДокумент
7 Мультук
 
19.09.24
16:37
(5)

А они в курсе про сущестовоанине  РН.ЗапасыИПотребности ?
8 Волшебник
 
19.09.24
16:37
(5) Заведите регистр сведений для этих целей
9 Maniac
 
19.09.24
16:42
(0) Я такое сделал! Есть решение. Даже не знаю публиковать как это делается или нет. Так как месяц убился над этой задачей.
10 Maniac
 
19.09.24
16:43
Такое возможно! Тебе нужно разрыть БСП и глобальники работы универсального отчета в который передаются варианты отчетов.

Более того я добился еще и управления вариантом отчета. Например фильтрация и прочие вещи.

Даже не знаю выдать этот секрет или нет. Пока скажу что все это возможно.
11 Maniac
 
19.09.24
16:46
))) Одно могу сказать мне настолько это понравилось что я это влепил везде) В подборы, в формы документов, в списки журналов.
И теперь юзеры могут выбирать себе любые отчеты и варианты этих отчетков и при любых раскладах получать эти отчеты в формах без каких либо открытий.
Более того например - стал на строку где то - и увидел отчет по этой строке чем бы она не была - товар, документ, контрагент.
12 Lama12
 
19.09.24
16:46
(10) Как-то сложно. Мне проще получить схему компоновки и настройки.
13 Eiffil123
 
19.09.24
16:47
(7) как это связано с задачей? нужно сохранять версии одного и того же отчета с заданными параметрами
14 Maniac
 
19.09.24
16:50
(3) Ну вот смотри.

Польза тут простая. Пример!

Подбор номенклатуры. Чел бегает по справочнику товаров и ему хочется получить 5 отчетов по этому товару (каких угодно, с любой детализацией).

В стандарте ему надо заходить в товар, кликать там отчет (их количество ограничено) - будет открываться отчет в новом окне.
Она замахается все это делать!

А тут польза простая. Ты вешаешь в подбор настройку - чел накликал там ЛЮБЫЕ отчеты (варианты), даже внешние (разработанные).

На форме появились вкладочки. Теперь он просто бегает по товарам - а внизу автоматически по товару отобюражаются 1-3-5-10 отчетов каких ему вздумается.

И все это без каких то кнопок, открытий новых окон, выборов отборов и прочего прочего прочего.
15 Maniac
 
19.09.24
16:51
(12) ну в принципе там ничего сложного и не могло быть) Дело только расковырки)
16 Eiffil123
 
19.09.24
16:53
(11) еще можно посмотреть как реализован механизм "Регистр учета". он позволяет сохранять сформированный отчет в документ и позволяет открывать его для просмотра. Реализован в типовой 1С:Бухгалтерии, но думаю в подсистеме бухучета ЕРП тоже должен быть.
17 yurikmellon2
 
19.09.24
16:58
(12) через схему компоновки делали

    СхемаКомпоновкиДанных = Отчеты.СтатистикаПоРаботам.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    Настройки = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    //параметры СКД
    Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ДатаНачала")).Значение = НачалоМесяца(ДатаНачала);
    Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ДатаОкончания")).Значение = КонецМесяца(ДатаКонца);
    
    //удаляем все группировки из отчета
    Настройки.Структура.Очистить();
    
    //отбор СКД
    УстановитьОтборПоПолюКомпоновки(Настройки,"Работа", Справочники.Автоработы.НайтиПоНаименованию("Замена масла ДВС"), ВидСравненияКомпоновкиДанных.Равно);
    
    //добавляем ОбщиеИтоги
    ОбщиеИтоги = Настройки.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
    ОбщиеИтоги.Имя = "ОбщиеИтоги";
    ОбщиеИтоги.Использование = Истина;
    ВыбранноеПоле = ОбщиеИтоги.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
    ВыбранноеПоле.Поле = Новый ПолеКомпоновкиДанных("Количество");
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    ДанныеТЗ = Новый ТаблицаЗначений;
    ПроцессорВывода.УстановитьОбъект(ДанныеТЗ);
    ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
18 Lama12
 
19.09.24
16:58
(17) Да уже по такой схеме сделал.

Всем спасибо.
19 mikecool
 
19.09.24
17:09
(9) месяц? чего так долго?
20 Maniac
 
19.09.24
17:13
(19) не туда сначала полез)) И начал рыть глобальники БСП... а там утонуть можно.... и я утонул. А решение то вообще простым оказалось без всего этого.
21 Maniac
 
19.09.24
17:13
Зато много понял что там творится))))))