Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Хитрый отчет ))

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

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

Заранее спасибо
   PR
 
1 - 10.08.20 - 14:35
Да
   dka80
 
2 - 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) Кнопа - есть, отчет уже открывается.... как отбор заполнить?

Отчет также уже создается... а вот с отбором пока беда
   2S
 
6 - 10.08.20 - 14:52
(5) на СКД хоть?
   Юлианна_Н
 
7 - 10.08.20 - 14:53
(6) да
   2S
 
8 - 10.08.20 - 14:54
(7) и? Накладывайте отборы как душе угодно
   papagan
 
9 - 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) К сожалению типовыми методами тут не обойтись, все проверили - НЕТОПАЛЬТО ))))
   D_E_S_131
 
13 - 11.08.20 - 13:09
(11) Там вроде как не нужно ничего "компоновать". Просто один из параметров открытия должен быть "ФормироватьПриОткрытии = Истина".
   Kesim
 
14 - 11.08.20 - 13:13
(1) полностью согласен
   D_E_S_131
 
15 - 11.08.20 - 13:21
Пример:

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

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

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

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

Список тем форума
Рекламное место пустует  Рекламное место пустует
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство.
Фредерик Брукс-младший
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.