Страница 1 из 4

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 10 Декабрь 2020, 11:39
kreator
Старая проблема. Опять всплыла. Забывается, потом опять вылезает. На сей раз уже на C11. В detail есть поле TEXT с опцией Resize. Когда количество строк в текстовом поле больше 8, то размер этого поля растёт непропорционально количеству строк и соответственно сам detail увеличивает высоту. В результате получается пустое место ниже текстового поля. Есть какое-нибудь правильное решение этой проблемы? Опытным путём поставил вот такой костыль:

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

h# = Report$?DEF:SOD{prop:LineHeight} * (Report$?DEF:SOD{prop:LineCount} + 1 + int(Report$?DEF:SOD{prop:LineCount} / 8)) - 1
Report$?DEF:SOD{prop:at, 4} = h# - 1
Report$?DetailEndLine{prop:at, 2} = h#
Report$?DetailLine:0{prop:at, 4} = h#
Report$?DetailLine:2{prop:at, 4} = h#
Report$?DetailLine:8{prop:at, 4} = h#
Report$?DetailLine:9{prop:at, 4} = h#
Report$?LINE2{prop:at, 4} = h#
Report$?LINE3{prop:at, 4} = h#
Суть в том, что правильную высоту текстового поля надо считать с учётом поправки на каждые 8 строк и принудительно выставлять высоту этого текстового поля. Но это "ужас-ужас".

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 10 Декабрь 2020, 14:16
Игорь Столяров
Юзаем что-то аналогичное уже много лет, других идей нет ... :)

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

     Loc:LW = (Report$?Text{PROP:LineHeight} * Report$?Text{Prop:LineCount}) + 6 + |
                   Choose(Report$?Text{Prop:LineCount} < 3,10,Report$?Text{Prop:LineCount} * 6)
  
     Report$?DLine1{PROP:Height} = Loc:LW
     Report$?DLine2{PROP:Height} = Loc:LW
     ...
     Report$?HLine{PROP:YPos} = Loc:LW

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 10 Декабрь 2020, 16:33
Yufil
А метрики полей в пикселах или пунктах, мож. огрехи округлений ?

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 10 Декабрь 2020, 21:51
Игорь Столяров
Yufil писал(а): 10 Декабрь 2020, 16:33 мож. огрехи округлений
Да, проблема возникает из-за накопления погрешности, и приходится это накопление "сбрасывать".
Если бы был один стандарт принтера, например 1200 dpi, то наверно можно было создать для него идеальный отчёт.
А в реальности - каждый раз выполняется пересчёт по настройке драйвера и округление в целочисленные пиксели. :(

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 11 Декабрь 2020, 9:55
Algirdas
А установка высоты TEXT поля «Default» не помогает?

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 11 Декабрь 2020, 10:26
kreator
Algirdas писал(а): 11 Декабрь 2020, 9:55 А установка высоты TEXT поля «Default» не помогает?
Она естественно стоит. Без этого ресайз не работает.

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 11 Декабрь 2020, 10:29
kreator
Игорь Столяров писал(а): 10 Декабрь 2020, 14:16 Юзаем что-то аналогичное уже много лет, других идей нет ...
Только у Вас нет обхода проблемы "больше восьми строк". Может она новая?

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 11 Декабрь 2020, 12:55
Игорь Столяров
kreator писал(а): 11 Декабрь 2020, 10:29 у Вас нет обхода проблемы "больше восьми строк"
Абсолютно верно !
Потому, что мы более придирчивы и у нас это называется проблема "больше трёх строк". :)

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 11 Декабрь 2020, 13:41
finsoftrz
Игорь, охота Вам с клариным репортером до сих пор ковыряться. Он уже в конце 90-х устарел принципиально.

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 11 Декабрь 2020, 14:38
Игорь Столяров
finsoftrz писал(а): 11 Декабрь 2020, 13:41 Он уже в конце 90-х устарел принципиально.
Нормальный Report. Отчёты создаются, по объёму - лёгкие, печатаются быстро.
Совместимость с устройствами печати - шикарная. Экспортируются в PDF / DOC / ODT / XPS.
Дано на шару. Наработок - тысячи. Чего же от такого счастья-то отказываться ?! :shock:

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 11 Декабрь 2020, 15:13
finsoftrz
Ну, смотрите сами. Report пришел еще со времен кобола, когда было дорогое машинное время и все отчеты печатались на бумаге. Так давно уже никто не работает. Предлагать разглядывать печатные формы с экрана выглядит совсем не камильфо.
1. Разрабатывать формы долго и неудобно.
2. Нельзя изменить форму на стороне пользователя.
3. Нельзя редактировать результат перед печатью.
4. Если используется для отчетов, то не получится нормально работать - вызывать детализирующую информацию, переключаться на связанную информацию, настраивать внешний вид, как в оконных диалогах.
5. По мелочам. Отдельная форма на портрет и на ландшафт. Кросс-таблицы жуть жуткая.

Каким путем идут? Если не хочется использовать сторонние репортные системы тип LL (что можно понять), никто не мешает взять движек report и сделать адекватную надстройку. Одним из первых в этом плане был FRB. Сейчас есть еще right reports от capesoft. Аллергия на кларионовские 3d party? Я сам такой, у меня frb в виде исключения, слезть непросто. Кто действительно хотел, сделали свои надстройки. У меня есть своя, у конторы Рафаэля своя, у ребят из Энигмы своя. Видел и другие.
Но это речь только про печатные формы. Если же отчеты, с которыми пользователям надо работать, то лучше вообще отказаться от report. Либо делать в виде экранных диалогов с возможностью автоматической печати при необходимости, либо интегрироваться с офисными пакетами.

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 11 Декабрь 2020, 15:36
Игорь Столяров
finsoftrz писал(а): 11 Декабрь 2020, 15:13 Одним из первых в этом плане был FRB
Немного не понял ...
В чём смысл замены Report на FRB, который по сути является надстройкой по европейским ценам
(но не качества, судя по стонам пользователей) и не только тянет за собой все известные глюки REPORT,
но и добавляет к ним свои ? ;) Что бы гадать "гавкнется - не гавкнется" весь софт после каждого обновления Clarion ?

LL - да, это продукт, это действительно качественно другие технологии. Но тяжёлый и дорогой. :(
Самое забавное, что главная игрушка дельфистов - FastReport (Сделано в Ростове-на-Дону !) тоже делал версию
совместимую с Clarion, я даже с ними общался на эту тему. Но потом они это направление забросили - нет продаж. :(

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 11 Декабрь 2020, 15:51
finsoftrz
Сделайте свой дизайнер. Почти все умеете, немного мысли в порядок привести. Будет более занятное времяпровождение, чем по несколько вариантов одного и того-же бланка рисовать в report, excel, calc, word и т.д. :-)

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 11 Декабрь 2020, 16:07
finsoftrz
Насчет FRB не совсем правы. Конечно, все пошло куда-то не туда, куда хотелось бы, со временем. Но по сравнению с клариным report он позволяет создавать формы на стороне пользователя, а также редактировать перед печатью при необходимости. И удобнее/быстрее, чем в report. Это очень не мало так. Цена, по моему, была на 2 года для русскоязычных, а не на 1 год, как для других.

Text с опцией Resize. Очередные танцы с бубном.

Добавлено: 11 Декабрь 2020, 16:10
Игорь Столяров
finsoftrz писал(а): 11 Декабрь 2020, 15:51 Будет более занятное времяпровождение
Есть серьёзные опасения, что я умом не вышел делать такие продукты нестыдного качества. :(
А пилить очередную лабуду-надстройку нет ни времени, ни желания, ни смысла, ни потребности.
Отчёт делается в Report, далее прекрасно экспортируется в PDF / XPS / Microsoft Word / Apache Writer.
Табличный в XLSX, который прекрасно открывается в Microsoft Word / Apache Calc.
Что ещё нужно человеку, что бы достойно встретить старость ? ;)