Может хоть здесь, наконец, обратят внимание на эти досадные пакости нового репортса?!:
Функция GetV - не поддерживает разделитель “|” (как Get в предыдущей версии reports) SEF вообще не работает Справка в режиме редактирования не вызывается
Проблема исправлена. Хочу заметить, что в старом генераторе “|” разделитель так же не поддерживался. Т.к. в генераторе более строгий подход к синтаксису и типам данных, то вызов функции GetV для разделителей, отличных от запятой будет отличаться. Например, если данные разделены запятой, то функция будет выглядеть так:
GetV(2,‘11,22,33’)
Для того же набора данных, но разделенных символом “|” она уже будет выглядеть так:
GetV(‘2|11|22|33’)
Чтобы использовать GetV для параметра с разделителем “|” используем следующую запись:
[GetV(‘2|’+Param(‘DD’))]
Исправлен. Действительно, в функции SEF для генератора были перепутаны местами параметры, хотя сама функция работала. Для правильной работы требуются одиночные кавычки, например:
SEF(‘Константа’,‘List.txt’)
Есть файл справки к ядру генератора FastReport, достаточно скопировать его в папку с программой. Скачать можно по ссылке: vingeo.com/update/rus/FRUser.chm
Но есть проблемка - последний подпараметр (по крайней мере, если он содержит в себе запятые) - допечатывает вконце лишнюю запятую.
На примере:
Есть строка ‘один|два|три, четыре|пять, шесть, семь’, тогда получается [GetV(‘4|’+Param(‘DD’))] = ‘пять, шесть, семь,’
А если (ни приведи господи!) первый подпараметр будет содержать запятую (‘один, два|три, четыре|пять, шесть, семь’) - то уже не работает ни GET - в Digital, ни GetV - в Reports - возвращают пустую строку по любому из подпараметров
Хочу также отметить, что в хелпе к старому генератору (он же ведь не обновлялся?) в дополнительных Digital-функциях - черным по белому написано, что:
“GET(<Номер>,<Строка>). Позволяет извлечь части параметра <Строки>, разделенные запятой (,) или вертикальной чертой (|).”
Спасибо огромное - всё работает
Отмечу только, что SEF(‘Константа’,‘List.txt’) - будет всё-таки правильнее
А до исправления - не работало ни в каком порядке (я пробывал… и даже без кавычек)
Ну… Такую справку я, пардон, мог скачать и с сайта FastReport. Я имел ввиду Reports.hlp, который запускается к примеру в генераторе отчётов (но не в редакторе шаблонов генератора). Справка с сайта конечно полезна… иногда, но так как Reports очень даже заточен под Digital, то Reports.hlp - полезен гораздо чаще (хотя он и не обновлялся сто лет)
К тому же справка при запуске из меню оказывается спрятанной за окном генератора отчетов (подчеркиваю именно генератора, а не редактора шаблонов FastReport). А оно в свою очередь блокируется открытым редактором - так, что до справки ни как не добраться
Кстати, проблема заблокированности окна генератора отчётов тоже досаждает. Свернуть его нельзя. А если сворачиваешь командой “Свернуть Все” Windows, то оно тут же разворачивается при разворачивании любого другого окна. До рабочего стола бывает довольно сложно добраться).
Другой момент - панели инструментов редактора шаблонов FastReport. Сворачиваем редактор - панели периодически остаются поверх всех окон - тоже мешает(.
И наконец, я всё время называю FastReport редактором шаблонов - это с очень большой натяжкой, скорее - это редактор шаблона, так как открыть для редактирования можно только один шаблон единовременно (нет многооконности). Но радует, что копи-паст (причем на все элементы!, кроме, пожалуй, страниц) работает даже если скопировал из шаблона, открыл другой и вставил в него.
Если с этим тоже можно что-нибудь сделать - было бы очень хорошо
P.s. Спасибо, что отвечаете и по мере возможности исправляете проблемы Антон - Вам отдельное мерсю!
Это была неточность. Но сейчас исправлена сама функция и данное описание соответствует действительности.
Спасибо, исправил неточность в сообщении.
Так ведь Reports.hlp есть на дистрибутивном диске, его можно скачать с сайта и Вы же сами просили справку “в режиме редактирования”.
На самом деле все как раз наоборот: все основные функции находятся в так называемом “редакторе шаблонов”, а все остальное практически не изменялось со времени последнего редактирования “родной” справки. Но если есть какие-то конкретные вопросы - задавайте
На эту проблему жаловались некоторые пользователи, но у меня, а так же у некоторых других пользователей такой проблемы нет. Попробуйте на разных компьютерах. Возможно это как-то зависит от версии Windows.
Будем разбираться.
Такое я замечал во многих программах. Могу порекомендовать прикрепить панели к основному окну редактора.
Можно запустить второй экземпляр программы удерживая клавишу Shift во время запуска, так же как и Ged.exe.
Меня всегда удивляло наличие такой “странной” функции. К чему эта привязка именно к запятой и вертикальной “палке”?!
Давайте сделаем универсальную функцию вида:
ДостатьПодстрокуНомер(<Разделитель>,<Номер>)
А более сложные варианты извлечений будут решаться вложеными вызовами данной функции.
Собственно, реализация возможна и путем программирования на встроеном языке, но, я думаю, лучше иметь встроеную функцию, из соображений скорости обработки и удобства переноса кода из шаблона в шаблон.
Что-то никак у меня не выходит с шаблоном акта приема-передачи гос. актов. Должна формироваться таблица с информацией по всем выделенным участкам.
В итоге получаем:
в групповом режиме - в таблице только один участок;
в пофамильном - два (по одному на каждое целевое назначение - я так понимаю)
Связанная с предыдущей, как мне кажется, проблемка… В стандартном шаблоне экспликации (Expl.fr3) первая колонка - “Номер участка” (параметр “НД”). Отсюда вывод - экспликация должна выводится по участкам. Т.е. вида:
№1 - будівництво - 0,2500 га - площади угодий
№2 - будівництво - 0,1500 га - площади угодий
№3 - ведення ОСГ - 0,0500 га - площади угодий
№4 - ведення ОСГ - 0,1500 га - площади угодий
На деле же имеем экспликацию по целевым назначениям, причем номер участка какой-то всё таки выбирается, а площади суммируются при одинаковом целевом назначении (в нашем примере: 0,2500+0,1500 и 0,0500+0,1500). Т.е. вида:
№1 - будівництво - 0,4000 га - площади угодий
№3 - ведення ОСГ - 0,2000 га - площади угодий Хотелось бы первый увидеть первый вариант.
Следующая проблема возникла при попытке вставить Экспликацию в шаблон технички. В итоге:
экспликация выводится как описано в предыдущей проблеме
вся техничка (за искл. таблицы экспликации) выводится как описано в первой проблеме
(в пофамильном режиме - reports считает, что есть по 1ому участку на одно целевое назначение; в групповом - один участок)
… И наконец, я как ни стараюсь, понять не могу: почему Expl.fr3 и Expl(group).fr3 не взаимозаменяемы? Т.е. Expl(group).fr3 работает только в групповом режиме, а Expl.fr3 - в пофамильном и одиночном. Должны, по логике, работать и так, и так (за искл. параметра NM, разумеется).
Исправлено, в понедельник выложим новую версию.
Кроме данных исправлений по многочисленным просьбам добавлена функция StringPart подобная Get, но в ней явно задается знак разделителя, что должно решить многие проблемы. Пример использования:
Данные вопросы описаны в справке. Решается проблема очень просто: убираем “галочку” Группировать по целевому назначению (см. Дизайнер|Настройки…) и площади участков с одинаковым целевым назначением не будут суммироваться.
Не видел самого шаблона, но проблема подобна предыдущей и должна решиться отключением вышеупомянутой опции.
Если хорошо присмотреться, внешне отличаются шаблоны оформлением: для одиночного и пофамильного присутствует колонка “номер дилянки”, для группового - нет. Внутри же отличия более принципиальны - в групповом шаблоне используются вложенные бэнды, которые абсолютно не нужны для одиночного и пофамильного шаблона.
Вы правы. Виноват Хотел было удалить - но уже не выходит
Работает Но только, что касается экспликации С актом приема-передачи частично:
в пофамильном режиме - уже все участки;
в групповом - по прежнему один.
Поможете разобраться?
Спасибо за оперативный ответ в выходной день - в любом случае .
Особенно за подробное разъяснение - т.к. в справке читал, но не понял, что группировка=объединение.
Так и есть.)
Это я заметил. Но вопрос не в том, что они “абсолютно не нужны”… Дело в том, что работать-то они должны! Причем, если групповой шаблон использовать для пофамильного режима - работать безошибочно (как если бы были выделены участки одного землепользователя и запущен групповой режим).
А при использовании одиночного (пофамильного) шаблона в групповом режиме (не отступая от нашего примера для экспликации) - только ФИО землепользователя должно оставаться одним и тем же, имхо, а всё остальное - так же работать. Но опять же это по логике…
Окончательно я запутался.. Растолкуйте, в чём моя ошибка?
Проблема с групповым режимом возникла из-за того, что в Memo6 почему-то в качестве Dataset был установлен ExplDataset. Убираем его вообще и все работает, см. вложенный шаблон.
При создании шаблонов мы руководствовались принципом наименьшего сопротивления. Конечно, возможно сделать один шаблон для всех режимов, но он будет намного сложнее, чем есть сейчас. Улучшения функциональности или удобства это не прибавит, а скорее сделает шаблон более недоступным для понимания.
Не совсем понял насчет ФИО. Почему оно должно оставаться одним и тем же? Ведь для каждого участка ФИО заполнено и для выдачи отчетов можно пометить любое количество участков разных владельцы и тут уж ФИО никак не будет одинаковым - попробуйте те же тестовые данные (можно просто запустить генератор как отдельное приложение, при чем нужно, чтобы буфер обмена Windows был пуст). Akt_PriPer.zip (2.27 KB)
Не успел я оправиться от вынужденной переустановки Digitals ввиду неожиданного необоснованного отказа Reports считывать экспликацию - включая и стандартные шаблоны экспликации (как выяснилось методом перебор слетел Reports.ini)… так на тебе… новый шок
Естественно, при переустановке я обновился. Судя по-всему моя просьба по функции GetV (см. выше в топике) была реализована, но теперь не работает стандартный разделитель ‘,’ - код вида: GetV(1,NameStr) или GetV(‘1,’+NameStr) дают пустую строку.
Как только понял в чем проблема - сразу же откатил обновление Reports. Помогло.
Пожалуйста, когда будете исправлять проблему - оставьте привычный синтаксис GetV(1,NameStr) - переписывать шаблон весь крайне долго.
И простите, если “перефлудил” в начале сообщения
Да… хотелось мне с наскока начать работать на Репорт, а просмотрев все, что на сейчас здесь есть уже и не знаю что делать…!? Да… накрутили-наворотили. Ладно, конкретная просьба, может кто дать направление откуда, с кокого конца-стороны приступать с начальным ознакомлением Репорта. Пытался сделать отчет… ну все как и должно быть нихр.. не вышло. Прошу отправные точки начала работы с ентим чудом подрывных технологий и желаний. Только об Хелпе не надо, она писана тем кто работает для тех кто работает в ентом Репорте и осознать принципы и подходы не дает.
Виктор, не обижайтесь но хелп вам таки придется почитать - да и еще и к старому Reports 3ей версии (сейчас 4ая).
Разработчики и спецы - ребята отзывчивые - задавайте вопросы и Вам помогут. Только вопросы конкретные.
Для начинающих пользователей есть соответствующая ветка в форуме. Рекомендую “прошерстить” всю - мне на первых порах очень помогло. Обратите также внимание на ветку “Новые возможности программы” - будете знать, что Digitals умеет + там дают азы по новым функциям (в их использовании - все начинающие ).
Также могу порекомендовать просмотреть все стандартные шаблоны Digitals репортс и сделать свой. Новое, на мой взгляд, всегда легче сделать, чем переделывать сделанное кем-то другим. Конечно, никто при этом не запрещает использовать элементы из готовых шаблонов.
И напоследок, еще раз о справке - она довольно толковая, а различия версий видны (хотя и не все) в структуре опять же стандартных шаблонов.
Alex_Schmidt!
Спасибо за внимание, советы, ну.. и.. конечно-же отзывчивость. Пойду к ветке начинающих. Никто и не обижается я согласен во всем. Просто я пользовался своими Ексел простенькими шаблонами. Работают хорошо, мой самопал для меня понятен и любые шероховатости в них для меня как два пальца об асфальт, да просто все меньше желания одни и теже данные набивать дважды: в Дигитале и в своих шаблонах. Вот и подумалось сделать себе подарок на новый год а тут на те..нихр… . Ну ладно, пошел к начинающим.
Такая запись будет работать без проблем, но в случае если надо “вытянуть” подпараметры или указать разделитель, отличный от запятой, то одинарные кавычки потребуются и с этим, к сожалению, ничего не поделаешь - в скриптовом языке FastReport строгий синтаксис и более строгий подход к типам данных. К примеру, в записи:
GetV(1/-1,Str)
первый параметр
1/-1
будет воспринят как математическое выражение, соответственно будет вычисляться его значение и в результате 1-м параметром будет значение -1, а не ожидаемое ‘1/-1’.
Дада.. а для админов ешо очень полезный совет.. Чудо - программа очень мощная.. Написанная для тех кто понимает в программировании..по принципу . Мы вам обвёртку - и хелп, а вы сами всё кумекайте..для меня команда..GetV(‘1,’+NameStr). Это что-то из разряда бальных танцев.
АЛЕКС - не все такие как вы. постепенно общаясь в форуме вы становитесь как админы..тоесть “ШО не понятно - читайте хелп шерстите в форуме…” - Чё трудно расписать шаги раскрутки участка от внесения данных съёмки до получения желаемых документов ? (описание думаю займёт час максимум 2)..и добавте это обьяснение не на форум а в хелп.. иначе такие как я и Виктор никогда об этом не узнаем.
Дада.. а для админов ешо очень полезный совет.. Чудо - программа очень мощная.. Написанная для тех кто понимает в программировании..по принципу . Мы вам обвёртку - и хелп, а вы сами всё кумекайте..для меня команда..GetV(‘1,’+NameStr). Это что-то из разряда бальных танцев.
АЛЕКС - не все такие как вы. постепенно общаясь в форуме вы становитесь как админы..тоесть “ШО не понятно - читайте хелп шерстите в форуме…” - Чё трудно расписать шаги раскрутки участка от внесения данных съёмки до получения желаемых документов ? (описание думаю займёт час максимум 2)..и добавте это обьяснение не на форум а в хелп.. иначе такие как я и Виктор никогда об этом не узнаем.
Дада.. а для админов ешо очень полезный совет.. Чудо - программа очень мощная.. Написанная для тех кто понимает в программировании..по принципу . Мы вам обвёртку - и хелп, а вы сами всё кумекайте..для меня команда..GetV(‘1,’+NameStr). Это что-то из разряда бальных танцев.
АЛЕКС - не все такие как вы. постепенно общаясь в форуме вы становитесь как админы..тоесть “ШО не понятно - читайте хелп шерстите в форуме…” - Чё трудно расписать шаги раскрутки участка от внесения данных съёмки до получения желаемых документов ? (описание думаю займёт час максимум 2)..и добавте это обьяснение не на форум а в хелп.. иначе такие как я и Виктор никогда об этом не узнаем.