16 октября, вторник 23:58
Bankir.Ru

Объявление

Свернуть
Пока нет объявлений.

*.tpr Отчет. Группирование в зависимости от условия

Свернуть
X
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

  • *.tpr Отчет. Группирование в зависимости от условия

    Добрый день. Возникла необходимость группировать выводимые отчетом данные.На текущий момент в Шаблоне примерно следующее:

    $@OvIsp...@{True}

    @OvIsp...@
    Љ””””””””””””””””””””””””””””””””””””””””’
    Ј Наименование клиента, № договора
    $@Name..................................@
    Ј@Name..................................@Ј
    $T
    Ј@DealNumber........@
    $
    $//По полю Name
    $//По полю Исполнитель

    Но к сожалению мое предположение не верно потому, что отчет не работает. Кто-нибудь сталкивался с подобной проблемой?

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

    Хочется в зависимости от условия (ввести изменяемое пользователем поле с значением 0, 1) получить группировку либо по полю Исполнитель либо по полю Экономист (к примеру), тогда шаблон теоретически должен измениться
    так:

    #IF @FLAG@=1 $@OvIsp...@ #ELSE $@Economist@ #ENDIF

    @OvIsp...@
    Љ””””””””””””””””””””””””””””””””””””””””’
    Ј Наименование клиента, № договора

    $@Name..................................@
    Ј@Name..................................@Ј
    $T
    Ј@DealNumber........@
    $
    $//По полю Name

    $//По полю В зависимости от IF

    @OvIsp...@
    Љ””””””””””””””””””””””””””””””””””””””””’
    Ј Наименование клиента, № договора

    $@Name..................................@
    Ј@Name..................................@Ј
    $T
    Ј@DealNumber........@
    $
    $//По полю Name

    $//По полю Исполнитель

  • #2
    Нет лучше сделайте два разных шаблона и через ReportFilter по параметру показывайте либо с одной группировкой либо с другой.
    Или еще можно через SQL это обыграть.

    Комментарий


    • #3
      "через ReportFilter по параметру"
      Поясните пожалуйста что это такое?

      Комментарий


      • #4
        Сообщение от windman Посмотреть сообщение
        "через ReportFilter по параметру"
        Поясните пожалуйста что это такое?
        Это когда Вы в ответнике опичывате несколько шаблонов но на печать отразится тот шаблон, который стоит за условием в функции отчетника ReportFilter выполение которого истинно.

        например

        @Shape1@ = ReportFilter{FLAG=1}
        @Shape2@ = ReportFilter{FLAG>1}

        #Запрос выдает значение FLAG
        FLAG
        #@Shape1@
        $Ответоисполнитель
        $T
        Этот кусочек нарисуется если FLAG=1
        $
        $
        &
        #Запрос выдает значение FLAG
        #@Shape2@
        $Клиент
        Этот кусочек нарисуется если FLAG>1
        $
        $

        Комментарий


        • #5
          Существует ли нормальная документация по редактору тпр отчетов?

          Комментарий


          • #6
            Сообщение от windman Посмотреть сообщение
            Существует ли нормальная документация по редактору тпр отчетов?
            Все что есть, это Базовый модуль - Руководство администратора - Генераторы отчетов.
            Но в основном поможет только опыт...

            Комментарий


            • #7
              Сообщение от windman Посмотреть сообщение
              Хочется в зависимости от условия (ввести изменяемое пользователем поле с значением 0, 1) получить группировку либо по полю Исполнитель либо по полю Экономист (к примеру), тогда шаблон теоретически должен измениться
              так:
              Можно попробовать по условию в "собачьем поле" запихивать туда либо экономиста либо исполнителя, тогда не придется делать 2 шаблона (имхо это есть некрасиво). Ты в SQL начитываешь какой-то флаг, который показывает, кого ты запихиваешь в собачье поле - исполнителя или экономиста. Типа такого:
              @IspOrEcon@=Field{Isp=1|Econ=1!Ispolnitel:Economist,@s30t}
              Группировка идёт по этому полю, поэтому получится, что в одном случае данные будут сгруппированы по исполнителю, в другом - по экономисту.
              Нормальной документации по генератору отчетов не существует.
              Последний раз редактировалось zbc; 25.07.2008, 15:47.

              Комментарий


              • #8
                Сообщение от zbc Посмотреть сообщение
                Можно попробовать по условию в "собачьем поле" запихивать туда либо экономиста либо исполнителя, тогда не придется делать 2 шаблона (имхо это есть некрасиво). Ты в SQL начитываешь какой-то флаг, который показывает, кого ты запихиваешь в собачье поле - исполнителя или экономиста. Типа такого:
                @IspOrEcon@=Field{Isp=1|Econ=1!Ispolnitel:Economist,@s30t}
                Группировка идёт по этому полю, поэтому получится, что в одном случае данные будут сгруппированы по исполнителю, в другом - по экономисту.
                Нормальной документации по генератору отчетов не существует.
                А я люблю делать с закосом под дестрибутивный plattr1256 где поле группировки передается через параметр в запрос SQL

                Кстати поддерживаю, Ваше решение поизящнее, просто сразу не вспомнилось.

                Так что для автора богатство выбора

                Комментарий

                Пользователи, просматривающие эту тему

                Свернуть

                Присутствует 1. Участников: 0, гостей: 1.

                Обработка...
                X