Поменять порядок экспортируемых форматов.

Обсуждение извечных проблем кларионовских (и не только) отчетов

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Поменять порядок экспортируемых форматов.

Сообщение kreator »

C10, ABC, стандартный репорт. Шаблоны генерят вот такой текст для TargetSelector'а:

Код: Выделить всё

  TargetSelector.AddItem(XMLReporter.IReportGenerator)
  TargetSelector.AddItem(TXTReporter.IReportGenerator)
  TargetSelector.AddItem(PDFReporter.IReportGenerator)
  TargetSelector.AddItem(HTMLReporter.IReportGenerator)
  SELF.AddItem(TargetSelector)
Хочу поменять, первым поставить PDF. Через ж... выкрутился. Но не могу в шаблонах найти - где генерится этот текст. Ткните куда надо. Очень хочется зашить нужный мне порядок в шаблон.
We are hard at work… for you. :)
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Поменять порядок экспортируемых форматов.

Сообщение Yufil »

Вроде бы rtar_srv.tpw, со строки 41

Код: Выделить всё

#GROUP(%AddTargetToReport,%pTargetName,%pTargetObjectName,%pTargetClass,%pTargetCondition),AUTO
#DECLARE(%lFound,LONG)
   #SET(%lFound,%False)
   #FOR(%ReportTargetList),WHERE(%ReportTargetListName=%pTargetName)
       #SET(%lFound,%True)
   #ENDFOR
   #IF(NOT %lFound)
      #ADD(%ReportTargetList,ITEMS(%ReportTargetList)+1)
      #SET(%ReportTargetListName,%pTargetName)
      #SET(%ReportTargetListClass,%pTargetClass)
      #SET(%ReportTargetListObject,%pTargetObjectName)
      #SET(%ReportTargetListCondition,%pTargetCondition)
   #END
В списке ReportTargetList регистрируются обработчики

В Abreport.tpl строка 456 список обработчиков вставляется в программу

Код: Выделить всё

#FOR(%ReportTargetList)
    #IF(%ReportTargetListCondition)
IF %ReportTargetListCondition THEN
   %TargetSelectorObjectName.AddItem(%ReportTargetListObject.IReportGenerator)
END
    #ELSE
%TargetSelectorObjectName.AddItem(%ReportTargetListObject.IReportGenerator)
    #ENDIF
#ENDFOR
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Поменять порядок экспортируемых форматов.

Сообщение kreator »

До этого я докопался. А где вот этот список - %ReportTargetListObject? Видимо в нём указан порядок.
We are hard at work… for you. :)
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Поменять порядок экспортируемых форматов.

Сообщение Yufil »

Скорее всего, порядок определяется регистрацией классов в шаблоне. А нельзя просто закомментарить фрагмент кода и вписать свой?
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Поменять порядок экспортируемых форматов.

Сообщение Admin »

Как вариант где нибудь внутри ReportTargetSelectorClass отсортировать очередь интерфейсов.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Поменять порядок экспортируемых форматов.

Сообщение kreator »

Yufil писал(а): 25 Апрель 2017, 10:17 А нельзя просто закомментарить фрагмент кода и вписать свой?
Так и сделал. Но ведь откуда-то предполагаемая очередь %ReportTargetList заполняется?
We are hard at work… for you. :)
Yufil
Ветеран движения
Сообщения: 1277
Зарегистрирован: 16 Май 2006, 14:34
Контактная информация:

Поменять порядок экспортируемых форматов.

Сообщение Yufil »

Скорее всего, при подключении шаблонов rtar*.tpl в секции #ATSTART
Аватара пользователя
Дед Пахом
Старичок
Сообщения: 3131
Зарегистрирован: 07 Июль 2005, 16:51
Откуда: Москва, Россия
Благодарил (а): 10 раз
Поблагодарили: 28 раз
Контактная информация:

Поменять порядок экспортируемых форматов.

Сообщение Дед Пахом »

kreator писал(а): 25 Апрель 2017, 13:09Но ведь откуда-то предполагаемая очередь %ReportTargetList заполняется?

Код: Выделить всё

#GROUP(%AddTargetToReport,%pTargetName,%pTargetObjectName,%pTargetClass,%pTargetCondition),AUTO
С уважением, ДП
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Поменять порядок экспортируемых форматов.

Сообщение Admin »

Кстати, а не получится ли если просто удалить шаблоны из глобалов и добавить в нужном порядке?
Просто непонятно в каком порядке шаблоны отрабатывают и как его поменять. 4 шаблона, 4 вызова группы (рутинки) в которой идет добавление в список.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

Поменять порядок экспортируемых форматов.

Сообщение kreator »

Admin писал(а): 25 Апрель 2017, 14:46 Кстати, а не получится ли если просто удалить шаблоны из глобалов и добавить в нужном порядке?
Не прокатывает. А жаль.
Дед Пахом писал(а): 25 Апрель 2017, 14:31 kreator писал(а): ↑
25 Апрель 2017, 13:09
Но ведь откуда-то предполагаемая очередь %ReportTargetList заполняется?

Код: Выделить всё

#GROUP(%AddTargetToReport,%pTargetName,%pTargetObjectName,%pTargetClass,%pTargetCondition),AUTO
Здесь заполняется. А вот откуда значения не понимаю.
We are hard at work… for you. :)
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

Поменять порядок экспортируемых форматов.

Сообщение Admin »

kreator писал(а): 26 Апрель 2017, 17:19А вот откуда значения не понимаю
Писали же вроде. 4 файла:

Код: Выделить всё

RTARHTML.TPL
RTARPDF.TPL
RTARTXT.TPL
RTARXML.TPL

В них вызов группы
#CALL(%AddTargetToReport ...
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Ответить