Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
morkovin
Ветеран
Сообщения: 909
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение morkovin »

RaFaeL писал(а): 04 Март 2020, 12:39 огромное спасибо за наводку по фреймам в RTF. Реализовал класс по рисованию rtf фреймами, получилось просто бомбически, клиенты в восторге. Работает на основе данных, которые изначально подготавливаются для экспорта в xlsx, только в xlsx объект это ячейка, а тут фрейм, все остальное одинаково. Может кому пригодится творчество, поддерживается экспорт текстовых данных и картинок
Можно ли эти фреймы вставлять вручную в RTF-файл (Т.е. сделать шаблон для заполнения в Worde), а потом из программы обратиться к этим фреймам и заполнять их данными программно?
WBR, morkovin
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение RaFaeL »

Для такого режима намного больше подходит режим с переменными в полях, смотрите выше
Аватара пользователя
morkovin
Ветеран
Сообщения: 909
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение morkovin »

RaFaeL писал(а): 12 Март 2020, 19:57 намного больше подходит режим с переменными в полях, смотрите выше
При печати на бланках строгой отчетности расставлять эти поля сущее мучение, т.к. они подвергаются форматированию со стороны Worda.В результате всё съезжает. Хорошо если в допустимых пределах, но чаще в зависимости от содержимого - недопустимые пределы. А вот расставить фреймы поверх рисунка (подложки) и заполнить их - то что нужно. Ничего съезжать не будет. Но как к ним адресоваться из программы и т.д.?
WBR, morkovin
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение RaFaeL »

Так а в чем проблема целиком документ RTF программно создать?
Аватара пользователя
morkovin
Ветеран
Сообщения: 909
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение morkovin »

RaFaeL писал(а): 12 Март 2020, 20:42 Так а в чем проблема целиком документ RTF программно создать?
Т.е. "накрыть" миллиметровой сеткой скан бланка, нарисовать на нём фреймы, записать их координаты и указать их в программе? :(
Можно, конечно.
И всё-таки, фреймы обезличены? Или есть какой-нибудь Name-атрибут? Тогда можно было бы написать макрос и вставить его в файл-шаблон или еще что-то придумать.
WBR, morkovin
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение RaFaeL »

morkovin писал(а): 12 Март 2020, 21:09 Т.е. "накрыть" миллиметровой сеткой скан бланка, нарисовать на нём фреймы, записать их координаты и указать их в программе?
Ну да
morkovin писал(а): 12 Март 2020, 21:09 И всё-таки, фреймы обезличены? Или есть какой-нибудь Name-атрибут? Тогда можно было бы написать макрос и вставить его в файл-шаблон или еще что-то придумать.
Имен у фреймов нет, это просто стиль абзаца. Еще раз - вставьте во фрейм переменные и замените через Fields.Update(), как выше описано. Фрейм останется на месте, текст заменится
dik1970
Посетитель
Сообщения: 43
Зарегистрирован: 06 Август 2009, 23:39

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение dik1970 »

Никто не сталкивался с переносом text-RTF полей в отчете? Есть отчет в середине которого выводится кусок RTF-текста переменной длины (заполняется из blob-а) и если он не влазит на текущую страницу, то переносится на следующую целиком. Можно ли динамически сделать разрыв страницы?
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение kreator »

Дело-то не в RTF. Если делать стандартно, то надо считать количество строк в контроле TEXT и руками его пилить и форсировать переход на новую страницу.
We are hard at work… for you. :)
dik1970
Посетитель
Сообщения: 43
Зарегистрирован: 06 Август 2009, 23:39

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение dik1970 »

kreator писал(а): 16 Апрель 2020, 17:10 Дело-то не в RTF. Если делать стандартно, то надо считать количество строк в контроле TEXT и руками его пилить и форсировать переход на новую страницу.
С обычным текстом все понятно, но здесь строки то разные по размеру
kreator
✯ Ветеран ✯
Сообщения: 4983
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 7 раз
Поблагодарили: 20 раз

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение kreator »

prop:LineHeight для каждой строки должен быть свой? Да, это я не подумал. Тогда, в качестве бреда, посмотреть:

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

MemoLineHeight = CustRpt$?Fil:MemoField{PROP:LineHeight, X#}
Недокументированно, но вдруг. Или:

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

MemoLineHeight = (CustRpt$?Fil:MemoField{PROP:Line, X#}){PROP:LineHeight}
Если и это нет, то тогда попробовать каждую строчку из rtf-текста перекидывать в отдельный однострочный rtf-контрол (prop:Line) и считать высоту.
We are hard at work… for you. :)
dik1970
Посетитель
Сообщения: 43
Зарегистрирован: 06 Август 2009, 23:39

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение dik1970 »

Спасибо, завтра покручу.
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1376
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Благодарил (а): 7 раз
Поблагодарили: 1 раз
Контактная информация:

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение RaFaeL »

Если что, высота строки текста в контроле не равна высоте строки текста в отчете! И также не равна высоте строки текста в RTF в Word. Там везде какие-то разные высоты, непонятно от чего зависящие. Т.е. берем текст неким шрифтом, меряем высоту, она будет ну допустим 11, выгружаем в rtf, там оно 12. Потом у этого же текста меняем шрифт, меряем, получаем допустим 12, выгружаем - 11! Разница за счет величины межстрочного интервала, который гуляет в широких пределах (я здесь не имею в виду полуторные интервалы и т.п., именно одинарный интервал в обычно текстовом контроле). Как правильно посчитать, так не не придумал
dik1970
Посетитель
Сообщения: 43
Зарегистрирован: 06 Август 2009, 23:39

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение dik1970 »

Как-то странно, вот такой контрол : TEXT,AT(16,0,180,6),USE(tech),RESIZE делится на строки через prop:Line, а вот
такой TEXT,AT(16,0,180,6),USE(tech),RESIZE,RTF(TEXT:FIELD) - нет
Аватара пользователя
Губин Игорь
✯ Ветеран ✯
Сообщения: 2329
Зарегистрирован: 16 Сентябрь 2005, 16:35
Откуда: Москва
Поблагодарили: 18 раз

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение Губин Игорь »

dik1970 писал(а): 26 Апрель 2020, 12:55 RTF(TEXT:FIELD)
Воскури мануал. RTF - вот в чём проблема
Это я только кажусь дураком! На самом деле я полный идиот!
dik1970
Посетитель
Сообщения: 43
Зарегистрирован: 06 Август 2009, 23:39

Экспорт отчетов в doc/docx или аналоги. Какие есть варианты?

Сообщение dik1970 »

это понятно, делать то что
Ответить