8.х Расшифровка отчета СКД с помощью другого отчета СКД

Тема в разделе "Система компоновки данных (СКД)", создана пользователем Bonny, 19 янв 2016.

  1. TopicStarter Overlay
    Bonny
    Offline

    Bonny Опытный в 1С

    Регистрация:
    15 янв 2015
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Доброе утро! Прошу прощения за избитую тему. Почитала:
    http://forum.infostart.ru/forum14/topic12151/
    http://infostart.ru/public/161994/
    http://infostart.ru/public/151562/

    У меня не получается отбор в вызываемом отчете установить. Вообще никаких движений. Просто форма отчета открывается и все. Помогите пожалуйста разобраться. Ниже код:

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

    Код:
    Процедура РезультатВыбор(Элемент, Область, СтандартнаяОбработка)
       мПолеКонтрагент = Область.Верх;
    КонецПроцедуры


    И как сделать чтобы отчет, который расшифровывает сразу формировался при открытии?
  2. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Что бы отчет формировался сразу надо брать его схему компановки и формировать.
    Т.е в процедуре вашей сформироватьРасшифровку должно быть что то типа
    Код:
        ОтчетОбъект = Отчеты.ПродажиДляНакладной.Создать();
        
        Настройки = ОтчетОбъект.КомпоновщикНастроек.Настройки;
       
        ЭлементОтбора = Настройки.Отбор.Элементы[0];
        ЭлементОтбора.ПравоеЗначение = Объект.Контрагент;
       
        ЭлементОтбора = Настройки.Отбор.Элементы[1];
        Список = Новый СписокЗначений;
        Список.ЗагрузитьЗначения(Объект.СписокНоменклатуры.Выгрузить().ВыгрузитьКолонку("Номенклатура"));
        ЭлементОтбора.ПравоеЗначение = Список;
       
        ДокументРезультат = Новый ТабличныйДокумент;
       
        ОтчетОбъект.СкомпоноватьРезультат(ДокументРезультат);
        
        //Здесь можно программно доработать табличный документ
       
        ДокументРезультат.ОтображатьЗаголовки = Ложь;
        ДокументРезультат.ОтображатьСетку = Ложь;
       
       ДокументРезультат.Показать();
    
    Или Книжку Хрусталевой посмотрите там есть примеры
    pingvinchik нравится это.
  3. TopicStarter Overlay
    Bonny
    Offline

    Bonny Опытный в 1С

    Регистрация:
    15 янв 2015
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Книжку Хрусталевой смотрела - не видела там таких примеров. Пробовала, так как у вас описано в примере. Не получается. Проблема в том, что в табличный документ выводится точно такой же отчет с теми же полями. А мне нужен отчет расшифровки. Простите если непонятно объясняю.
    --- Объединение сообщений, 19 янв 2016 ---

    В отчете-расшифровке - есть поля, которые в этом отчете не участвуют, и форма вывода отчета совсем другая. Мне нужно в отборе указать поля которые я получила в этом отчете. НЕ получается выставление отбора - столько всего перепробовала!
    Последнее редактирование: 19 янв 2016
  4. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Я вот совсем не понял, давайте разберемся.
    У Вас есть допустим
    ВашОтчет1 и ВашОтчет2
    Вы когда делаете расшифровку отчета ВашОтчет1, должен быть сформирован ВашОтчет1с какими то настройками или ВашОтчет2 с какими то настройками
  5. TopicStarter Overlay
    Bonny
    Offline

    Bonny Опытный в 1С

    Регистрация:
    15 янв 2015
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Нет, когда я щелкаю по полю ВашОтчет1, то запускается отчет ВашОтчет2, с отбором по контрагенту в строке, где щелкнули, например.
  6. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Тогда еще один вопрос.
    Вам надо что бы именно запускался Вашотчет2 или достаточно результат в виде табличного документа
  7. TopicStarter Overlay
    Bonny
    Offline

    Bonny Опытный в 1С

    Регистрация:
    15 янв 2015
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Проще всего было бы второй отчет. где уже сделан запрос, настройка и нужно выставить только поля отбора и автоматом сформировать отчет.
  8. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    нет вы не совсем видимо поняли вопрос.я Вас спрашивал, Вас как устроит, что бы вы нажали расшифровать и открылся сформированный отчет. и потом при необходимости вы можете сами егодонастроить и сформировтаь еще раз и еще раз. Или просто нажали сформировать и у Вас появился уже сразу результат табл документ отчетта расшифровки
  9. TopicStarter Overlay
    Bonny
    Offline

    Bonny Опытный в 1С

    Регистрация:
    15 янв 2015
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Мне нужен 2 отчет, чтобы с ним можно было работать дальше, менять настройки. Открывать из него документы движения.
  10. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Тогда у Вас принципе правильно, единсвенное почитайте у Хрусталевой 215-218 стр.
    единсвенное надо разобраться с параметрами формы, т.к поиск идет по параметрам
  11. TopicStarter Overlay
    Bonny
    Offline

    Bonny Опытный в 1С

    Регистрация:
    15 янв 2015
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Ну там же сказано что нужно отключить отбор у группировок, а о том как программно прописать отбор ничего...
    --- Объединение сообщений, 19 янв 2016 ---
    Параметры все есть, мне нужно как-то их вставить отбор - и в этом вся загвоздка.
    Последнее редактирование: 19 янв 2016
  12. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    там прописано принципе то же самое что и увас написано, только Вам ндо было разобраться что вы переадете и зачем.
    Вот тут ОткрытьФорму("Отчет.РасшифровкаОтчетаПоДтКт.Форма", ОтборХ, ЭтаФорма, ПолеСправочникаКонтрагенты);
    Вторым параметром идет ПараметрыФормы, вы знаете что такое парамеры формы, я думаю, нет - почитайте потому как параметра формы Контрагент его нет
    Параметры формы это СформироватьПриОткрытии,расшифровка, Отбор, Вариант и т.д.

    И если вы читали что делает ОткрытьФорму(), а не тупо скопировали, то вы бы для себя уяснили, что фотрыть форму он ищет форму с ключем параметров которые вы передаете, а т.к параметр Контрагент его и нет в природе то он вам форму никакю и не находит
  13. TopicStarter Overlay
    Bonny
    Offline

    Bonny Опытный в 1С

    Регистрация:
    15 янв 2015
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Код:
    ПараметрыФормыХ = Новый Структура("СформироватьПриОткрытии, Отбор, КлючВарианта", Истина, ОтборХ, "ДляРасшифровки");
       ОткрытьФорму("Отчет.РасшифровкаОтчетаПоДтКт.Форма",ПараметрыФормыХ , ЭтаФорма, ПолеСправочникаКонтрагенты);

    Так я тоже писала - но никакого отбора не происходит
    Последнее редактирование: 19 янв 2016
  14. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    У Вас у отчета есть вариант который в конфигураторе называется ДляРасшифровки там где списки вариантов так?
  15. TopicStarter Overlay
    Bonny
    Offline

    Bonny Опытный в 1С

    Регистрация:
    15 янв 2015
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Да все готово, нужен только отбор
  16. TopicStarter Overlay
    Bonny
    Offline

    Bonny Опытный в 1С

    Регистрация:
    15 янв 2015
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Все перерыла - нигде нормально описания отбора нет. Ну что за засада?!
  17. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Можно полностью код где вот этот отбор Х устанавливается
    ПараметрыФормыХ = Новый Структура("СформироватьПриОткрытии, Отбор, КлючВарианта", Истина, ОтборХ, "ДляРасшифровки");
    ОткрытьФорму("Отчет.РасшифровкаОтчетаПоДтКт.Форма",ПараметрыФормыХ , ЭтаФорма, ПолеСправочникаКонтрагенты);

    и скрин последней вкладки отчета СКД из конфигуратора
  18. TopicStarter Overlay
    Bonny
    Offline

    Bonny Опытный в 1С

    Регистрация:
    15 янв 2015
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Я перепробовала все варианты из http://1c-pro.ru/threads/programmno-ustanovit-otbor-v-otchete-na-skd.53119/
    У меня на вкладке отбор в настройке - ничего не появляется и отчет формируется без какого-либо отбора

    Изначально было:
    ОтборХ = Новый Структура("Контрагент", ПолеСправочникаКонтрагенты);
  19. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.628
    Симпатии:
    946
    Баллы:
    204
    Ну давайте сейчас у Вас . форма отчета появляется отчет появляется и формируется только без отбора по контрагенту правильно я вас понял?
  20. TopicStarter Overlay
    Bonny
    Offline

    Bonny Опытный в 1С

    Регистрация:
    15 янв 2015
    Сообщения:
    56
    Симпатии:
    0
    Баллы:
    26
    Да все верно. Все работает так как надо, кроме отбора. Данные контрагента передаются правильно, посмотрела в отладчике. Но вот строки во вкладке не "Отбор не добавляются". Хоть бы ошибка какая-нибудь вылазила или что-то неправильно работала. А так вообще никакой реакции и неясно что не так...

Поделиться этой страницей