Имя: Пароль:
1C
1С v8
Хитрый отчет ))
0 Юлианна_Н
 
10.08.20
14:32
Друзья, вопрос.
Хочу сделать некий функционал по формированию отчета...
Если по порядку...

Есть Номенклатура (Запчасть), которая подходит под Номенклатуру (Товар), есть запись данных Товар - Запчасть в РС, есть отчет, который показывает остатки по з/ч... есть некая кнопа на форме для получения отчета... и есть темный лес...
1. Хочется получать отчет по кнопе на форме
2. В отчете в отбор ставить текущую номенклатуру из которой открывался отчет.
3. Сформировать - автоматически при открытии отчета.

Заранее спасибо
1 PR
 
10.08.20
14:35
Да
2 dka80
 
10.08.20
14:38
3 Ёпрст
 
10.08.20
14:47
(0)
И проблема то в чем ?
Создай кнопку, в команде открой отчет, установи начальные настройки, отбор по номенклатуре и выполни отчет.
Наслаждайся, кушай печеньки
4 Галахад
 
гуру
10.08.20
14:50
Если УФ, но в нужно открыть отчет и передать туда параметры, остальное сделает код 1С.
5 Юлианна_Н
 
10.08.20
14:51
(3) Кнопа - есть, отчет уже открывается.... как отбор заполнить?

Отчет также уже создается... а вот с отбором пока беда
6 2S
 
10.08.20
14:52
(5) на СКД хоть?
7 Юлианна_Н
 
10.08.20
14:53
(6) да
8 2S
 
10.08.20
14:54
(7) и? Накладывайте отборы как душе угодно
9 papagan
 
10.08.20
15:33
Если формы управляемые и есть  БСП, то лучше для этих целей использовать НАЗНАЧАЕМЫЕ отчеты
если конфигурацию уже открыли для редактирования, то примерно так
&НаКлиенте
....
ФормаОтчета = Получитьформу("Отчет.<ТвойОтчет>.Форма",ПараметрыОткрытия);        
БухгалтерскиеОтчетыКлиентСервер.ДобавитьОтбор(ФормаОтчета.Отчет.КомпоновщикНастроек, "Номенклатура", <ТвойТовар>);    
ФормаОтчета.СкомпоноватьРезультат();
ОткрытьФорму(ФормаОтчета)  ;
....
10 Михаил Козлов
 
10.08.20
16:07
(0) В типовых полно примеров. Например, ведомость расчетов с контрагентом.
11 Юлианна_Н
 
10.08.20
18:17
(9) Спасибо, все получилось, кроме СкомпоноватьРезультат().
Пишет недостаточно параметров. В синтаксе почитала - типа Табличный документ нужен... победить не смогла, времени нет... а так, в целом - все ок.
12 Юлианна_Н
 
10.08.20
18:18
(10) К сожалению типовыми методами тут не обойтись, все проверили - НЕТОПАЛЬТО ))))
13 D_E_S_131
 
11.08.20
13:09
(11) Там вроде как не нужно ничего "компоновать". Просто один из параметров открытия должен быть "ФормироватьПриОткрытии = Истина".
14 Kesim
 
11.08.20
13:13
(1) полностью согласен
15 D_E_S_131
 
11.08.20
13:21
Пример:

&НаКлиенте
Процедура ДействиеКнопкиЗапускаОтчета(Команда)
    
    ПараметрыФормы = ПараметрыХитрогоОтчетаСервер();
    
    ОткрытьФорму("Отчет.ХитрыйОтчет.Форма", ПараметрыФормы, ЭтотОбъект, "ХитрыйОтчетПоКонкретнойНоменклатуре");
    
КонецПроцедуры

&НаСервере
Функция ПараметрыХитрогоОтчетаСервер()

    ОтборОтчета = Новый Структура;
    
    ОтборОтчета.Вставить("Номенклатура",  <как-то передаем номенклатуру>);
    
    ПараметрыСТ = Новый Структура;
    
    ПараметрыСТ.Вставить("КлючВарианта",              "Основной");
    ПараметрыСТ.Вставить("СформироватьПриОткрытии",   Истина);
    ПараметрыСТ.Вставить("Отбор",                     ОтборОтчета);
        
    Возврат ПараметрыСТ;

КонецФункции
16 Юлианна_Н
 
11.08.20
19:23
(15) Спсиб... протестим  позже...