Страница 1 из 1
Поменять порядок экспортируемых форматов.
Добавлено: 24 Апрель 2017, 11:40
kreator
C10, ABC, стандартный репорт. Шаблоны генерят вот такой текст для TargetSelector'а:
Код: Выделить всё
TargetSelector.AddItem(XMLReporter.IReportGenerator)
TargetSelector.AddItem(TXTReporter.IReportGenerator)
TargetSelector.AddItem(PDFReporter.IReportGenerator)
TargetSelector.AddItem(HTMLReporter.IReportGenerator)
SELF.AddItem(TargetSelector)
Хочу поменять, первым поставить PDF. Через ж... выкрутился. Но не могу в шаблонах найти - где генерится этот текст. Ткните куда надо. Очень хочется зашить нужный мне порядок в шаблон.
Поменять порядок экспортируемых форматов.
Добавлено: 25 Апрель 2017, 9:06
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
Поменять порядок экспортируемых форматов.
Добавлено: 25 Апрель 2017, 10:01
kreator
До этого я докопался. А где вот этот список - %ReportTargetListObject? Видимо в нём указан порядок.
Поменять порядок экспортируемых форматов.
Добавлено: 25 Апрель 2017, 10:17
Yufil
Скорее всего, порядок определяется регистрацией классов в шаблоне. А нельзя просто закомментарить фрагмент кода и вписать свой?
Поменять порядок экспортируемых форматов.
Добавлено: 25 Апрель 2017, 10:55
Admin
Как вариант где нибудь внутри ReportTargetSelectorClass отсортировать очередь интерфейсов.
Поменять порядок экспортируемых форматов.
Добавлено: 25 Апрель 2017, 13:09
kreator
Yufil писал(а): ↑25 Апрель 2017, 10:17
А нельзя просто закомментарить фрагмент кода и вписать свой?
Так и сделал. Но ведь откуда-то предполагаемая очередь %ReportTargetList заполняется?
Поменять порядок экспортируемых форматов.
Добавлено: 25 Апрель 2017, 13:39
Yufil
Скорее всего, при подключении шаблонов rtar*.tpl в секции #ATSTART
Поменять порядок экспортируемых форматов.
Добавлено: 25 Апрель 2017, 14:31
Дед Пахом
kreator писал(а): ↑25 Апрель 2017, 13:09Но ведь откуда-то предполагаемая очередь %ReportTargetList заполняется?
Код: Выделить всё
#GROUP(%AddTargetToReport,%pTargetName,%pTargetObjectName,%pTargetClass,%pTargetCondition),AUTO
Поменять порядок экспортируемых форматов.
Добавлено: 25 Апрель 2017, 14:46
Admin
Кстати, а не получится ли если просто удалить шаблоны из глобалов и добавить в нужном порядке?
Просто непонятно в каком порядке шаблоны отрабатывают и как его поменять. 4 шаблона, 4 вызова группы (рутинки) в которой идет добавление в список.
Поменять порядок экспортируемых форматов.
Добавлено: 26 Апрель 2017, 17:19
kreator
Admin писал(а): ↑25 Апрель 2017, 14:46
Кстати, а не получится ли если просто удалить шаблоны из глобалов и добавить в нужном порядке?
Не прокатывает. А жаль.
Дед Пахом писал(а): ↑25 Апрель 2017, 14:31
kreator писал(а): ↑
25 Апрель 2017, 13:09
Но ведь откуда-то предполагаемая очередь %ReportTargetList заполняется?
Код: Выделить всё
#GROUP(%AddTargetToReport,%pTargetName,%pTargetObjectName,%pTargetClass,%pTargetCondition),AUTO
Здесь заполняется. А вот откуда значения не понимаю.
Поменять порядок экспортируемых форматов.
Добавлено: 27 Апрель 2017, 1:41
Admin
kreator писал(а): ↑26 Апрель 2017, 17:19А вот откуда значения не понимаю
Писали же вроде. 4 файла:
Код: Выделить всё
RTARHTML.TPL
RTARPDF.TPL
RTARTXT.TPL
RTARXML.TPL
В них вызов группы
#CALL(%AddTargetToReport ...