8.х Как передать в типовой отчет параметры и запустить его с ними?

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем barsuchechechek, 22 сен 2010.

  1. TopicStarter Overlay
    barsuchechechek
    Offline

    barsuchechechek Опытный в 1С

    Регистрация:
    21 фев 2009
    Сообщения:
    265
    Симпатии:
    0
    Баллы:
    26
    Собственно все в сабже. Т.е. нужно к примеру щелкнуть по ячейке таблице и запустить типовой отчет Взаиморасчеты но только по этому контру.
  2. Наташа
    Offline

    Наташа Опытный в 1С

    Регистрация:
    14 авг 2010
    Сообщения:
    1.442
    Симпатии:
    2
    Баллы:
    29
    У табличного поля есть событие ОбработкаРасшифровки. Пишите для него свой обработчик.
  3. TopicStarter Overlay
    barsuchechechek
    Offline

    barsuchechechek Опытный в 1С

    Регистрация:
    21 фев 2009
    Сообщения:
    265
    Симпатии:
    0
    Баллы:
    26
    Это я знаю. Вопрос был как передать в типовой отчет параметры и потом сормировать его же с их учетом.
  4. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Пример из типовой (вызывается из формы списка справочника, т.е. "ТекущиеДанные" - это элемент справочника ("Справочник.Ссылка")):
    Код:
    //НазваниеОтчета = "ВедомостьТоварыНаСкладах"
    Процедура ОткрытьОтчетПоТекущейНоменклатуре(НазваниеОтчета)
    
    Если ЭлементыФормы.Список.ТекущиеДанные = Неопределено Тогда
    // ничего нет
    Возврат;
    КонецЕсли;
    
    // получаем форму для построения отчета по остатку товара
    ТекущиеДанные = ЭлементыФормы.Список.ТекущиеДанные.Ссылка;
    ОтчетОстатки  = Отчеты[НазваниеОтчета].Создать();
    ФормаОтчета   = ОтчетОстатки.ПолучитьФорму(, ЭтаФорма, ЭтаФорма);
    
    ФормаОтчета.Открыть();
    ОтчетОстатки.УстановитьНачальныеНастройки();
    
    ТекОтбор = ОтчетОстатки.УниверсальныйОтчет.ПостроительОтчета.Отбор.Номенклатура;
    ТекОтбор.Использование =  Истина;
    ТекОтбор.Значение      = ТекущиеДанные;
    ТекОтбор.ВидСравнения  = ?(ТекущиеДанные.ЭтоГруппа, ВидСравнения.ВИерархии, ВидСравнения.Равно);
    
    ОтчетОстатки.УниверсальныйОтчет.ДатаКон = ТекущаяДата();
    ОтчетОстатки.СформироватьОтчет(ФормаОтчета.ЭлементыФормы.ПолеТабличногоДокументаРезультат);
    
    КонецПроцедуры
    
    
  5. TopicStarter Overlay
    barsuchechechek
    Offline

    barsuchechechek Опытный в 1С

    Регистрация:
    21 фев 2009
    Сообщения:
    265
    Симпатии:
    0
    Баллы:
    26
    Не могу найти где в макете указать процедуру для события обработки расшифровки. вывожу просто на экран через новый табличный документ и макет. Туплю.
  6. has
    Offline

    has Опытный в 1С

    Регистрация:
    18 июн 2009
    Сообщения:
    708
    Симпатии:
    0
    Баллы:
    26
    ОбработкаРасшифровки указывается у поля табличного документа насколько я помню
  7. TopicStarter Overlay
    barsuchechechek
    Offline

    barsuchechechek Опытный в 1С

    Регистрация:
    21 фев 2009
    Сообщения:
    265
    Симпатии:
    0
    Баллы:
    26
    Т.е. если я вывожу просто через макет - то расшифровку мне не сделать?
  8. TopicStarter Overlay
    barsuchechechek
    Offline

    barsuchechechek Опытный в 1С

    Регистрация:
    21 фев 2009
    Сообщения:
    265
    Симпатии:
    0
    Баллы:
    26
    Сделал процедуру события расшифровки у поля табличного документа. Но при щелчке по ячейке отчета - туда не заходит - что надо сделать чтобы запустить эту процедуру?
  9. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Здраствуйте!
    Для того чтобы лишний раз не писать одно и тоже скидываю Вам готовый отчетик с расшифровкой, посмотрите как я делал.
    Посмотреть вложение 5363

    Вложения:

  10. TopicStarter Overlay
    barsuchechechek
    Offline

    barsuchechechek Опытный в 1С

    Регистрация:
    21 фев 2009
    Сообщения:
    265
    Симпатии:
    0
    Баллы:
    26
    Спасибо но у меня не на СКД. Но дело не в том. Процедура для события расшифровки указана. Но в нее не заходит при щелчке по ячейке. Не могу понять почему. Такое ощущение что надо что-то указать чтобы реагировал на щелчок и заходил в процедуру расшифровки, а я этого не сделал.
  11. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    Кидайте отчёт, к сожалению телепатии я только учусь :angry: .
    Это не важно, главное используется объект табличное поле, а расшифровка настраивается именно для него.
  12. TopicStarter Overlay
    barsuchechechek
    Offline

    barsuchechechek Опытный в 1С

    Регистрация:
    21 фев 2009
    Сообщения:
    265
    Симпатии:
    0
    Баллы:
    26
    Вот.

    Вложения:

  13. mialord
    Offline

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

    Регистрация:
    31 июл 2009
    Сообщения:
    5.398
    Симпатии:
    40
    Баллы:
    54
    ууууууууууу, глянул, Вы вообще не формируете расшифровки программно, а отчет вываливаете в макет, Вам придётся для областей расшифровки определять, тут долго об этом писать, но могу посоветовать, в книгах, выложенных на форуме, должна быть книга "Профессиональная разработка в системе 1С: Предприятие", как-то так называется, там страниц 100 написано на данную тематику, с подробностями, как самостоятельно настроить расшифровку.
    Если копаться некогда, тогда делайте в СКД, там она расшифровки программно сформирует на уровне платформы.
  14. TopicStarter Overlay
    barsuchechechek
    Offline

    barsuchechechek Опытный в 1С

    Регистрация:
    21 фев 2009
    Сообщения:
    265
    Симпатии:
    0
    Баллы:
    26
    Понял - т.е. - ОбластьМакета.Параметры.Расшифровка = .... Таким образом только. Спасибо.
  15. TopicStarter Overlay
    barsuchechechek
    Offline

    barsuchechechek Опытный в 1С

    Регистрация:
    21 фев 2009
    Сообщения:
    265
    Симпатии:
    0
    Баллы:
    26
    Т.е. не понял совсем как присвоить области макета расшифровку. Где-то видел но не помню уже как.
    Макет.Параметры.Расшифровка = Истина; - почему-то не работает
  16. TopicStarter Overlay
    barsuchechechek
    Offline

    barsuchechechek Опытный в 1С

    Регистрация:
    21 фев 2009
    Сообщения:
    265
    Симпатии:
    0
    Баллы:
    26
    ТабДок.Область(ТабДок.ВысотаТаблицы,1).Расшифровка - работает.
    Как передать сюда процедуру? Не хочет, требует функцию:)

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