HTML Writer

Clarion, Clarion 7

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

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1003
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

HTML Writer

Сообщение RaFaeL »

С RTF разобрались, теперь хочется сделать выгрузку в HTML. Хочется как в xlsx, только HTML, что-то типа

myhtml.newfile('test.htm')
myhtml.addtable(2,3)
myhtml.settd(1,1)
myhtml.settext('hello, world')
myhtml.createfile()

Может кто встречал подобное?

kreator
✯ Ветеран ✯
Сообщения: 3724
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

HTML Writer

Сообщение kreator »

А стандартный класс от SV не? На первый взгляд нормально.
We are hard at work… for you. :)

Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1003
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

HTML Writer

Сообщение RaFaeL »

Это который делает из WMF? Мне нужны таблицы скажем так неограниченной длины без постраничного переноса
Или есть какой-то другой класс? Пример?

kreator
✯ Ветеран ✯
Сообщения: 3724
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

HTML Writer

Сообщение kreator »

Этот класс. А что такое "таблицы скажем так неограниченной длины без постраничного переноса"? Я думал у Вас необходимость отчёт сохранить. Тогда стандартный лучше не брать.
Вообще, HTML относительно прост. Опять же текстовый. Если есть конкретика, руками сделать не проблема. Таблица-текст-картинка. Все возможности HTML - это серьёзней.
We are hard at work… for you. :)

Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1003
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

HTML Writer

Сообщение RaFaeL »

Буду и отчеты сохранять и просто таблички из листов, во втором случае переносы не нужны. Написать то напишу, конечно, но вроде такая базовая вещь, наверняка кто-то писал

Yufil
Ветеран движения
Сообщения: 1214
Зарегистрирован: 16 Май 2006, 13:34
Контактная информация:

HTML Writer

Сообщение Yufil »

А там нечего особенно писать. Нужно иметь класс для формирования длинной строки и функцию перевода ASCII-HTML
Вот достаточно старинный отчёт ( сейчас надо использовать формат HTML5 и кодировку UTF-8 )

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

Loc:Report Cstr 
..........
            Loc:Report.Set('<<html>')
            Loc:Report.Cat('<13,10><<meta http-equiv="Content-Type" content="text/html;charset=windows-1251">')
            Loc:Report.Cat('<13,10><<body>')
            Loc:Report.Cat('<<Center><<Font face="Arial" lang="ru" Size=5> Протокол тестирования:<<B>' & Clip(TstsQ:Name) & '<</B> Дата:' & Format(Today(),@d5.) & |
               '<<BR><<Font face="Arial" lang="ru">Специальность:<<B>' & Sts:Name & '<</B>, Группа:<<B>' & Stg:IdGroup & '<</B>' & |
               '<</Font><</Center>') 
            Loc:Report.Cat('<<BR><<BR><<TABLE width="80%"  borderColor=#000000 border=2>')
            Loc:Report.Cat('<<TR bBgColor=#808080 ><</TD>' & |
                  '<<TD width="20%"><<Center><<Font size=3 face="Arial" lang="ru"><<B>Дата,время<</B><</Center></TD>' & |
                  '<<TD width="40%"><<Center><<Font size=3 face="Arial" lang="ru"><<B>Студент<</B><</Center><</TD>' & |
                  '<<TD width="20%"><<Center><<Font size=3 face="Arial" lang="ru"><<B>Оценка<</B><</Center><</TD><</TR>')
           Loop Loc:StudentQ = 2 to Records(StudentQ)
              Get(StudentQ, Loc:StudentQ)
              Loc:N+=1
              Loc:Report.Cat('<<TR>' & |
                      '<<TD Align=Left><<Font face="Arial" lang="ru" Size=3>' & Format(StudentQ:Date,@d5.b) & ' ' & Format(StudentQ:Time,@t1b)  & '<</TD>' & |
                      '<<TD Align=Left><<Font face="Arial" lang="ru" Size=3>' & Ansi2Html(StudentQ:FIO) |
                        & Choose(TstsQ:ScreenId='' And StudentQ:Test<>'','<<i> ' & Ansi2Html(StudentQ:Test) & '</i>','&nbsp;') & '<</TD>' & |
                      '<<TD Align=Center><<Font face="Arial" lang="ru" Size=3>' & Choose(StudentQ:Mark+1,'&nbsp;','&nbsp;','Неудовл.','Удовлетворительно','Хорошо','Отлично') & |
                      '<</TD><</TR>' )
           End
           Loc:Report.Cat('<</Table><</body><</html>')
           Loc:OutF= GetTempFileName('Tmp')
           Loc:Report.SaveToFile(Loc:OutF)
           

Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1003
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

HTML Writer

Сообщение RaFaeL »

В этом примере отчет статический, а мне нужно скажем так динамический. Разные шрифты, стили, цвета, выравнивание, размеры столбцов и строк, и т.д. и т.п., все это заранее не известно, задается пользователем в свободном виде. Объем данных тоже свободный. Для статических отчетов у нас уже есть WISIWIG HTML-редактор с переменными, не подходит

kreator
✯ Ветеран ✯
Сообщения: 3724
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

HTML Writer

Сообщение kreator »

Вот такой вопрос. А зачем всё это надо? У нас все отчёты можно сохранить в HTML (через стандартный класс). Но это никому не надо, этим не пользуются. Какие-то простые штуки я делаю руками, например, html-письмо. В pdf, Excel, Word сохранить понятно, да, надо, есть смысл. В HTML зачем?
We are hard at work… for you. :)

Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1003
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

HTML Writer

Сообщение RaFaeL »

Для того, чтобы отчеты отображались непосредственно в письме. Будет такая штука - делаются задания, ночью программа по базе делает отчеты и рассылает емайлы, утром их смотрят. Поскольку сейчас зоопарк систем, откуда смотрят почту, практичнее делать это сразу в html, без аттачей. Т.е. открывает директор утром письмо и ему там сразу (утрированно) приход-расход за вчера. Удобно.

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1667
Зарегистрирован: 06 Ноябрь 2014, 12:48

HTML Writer

Сообщение finsoftrz »

Хорошая идея.
Рязань решает.

kreator
✯ Ветеран ✯
Сообщения: 3724
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

HTML Writer

Сообщение kreator »

Ну не знаю. У нас именно так. Но в самом тексте письма "краткое резюме". Пока не было хотелки видеть что-то мощное в самом письме. Поэтому всё предельно просто - текст, таблица. Да и в файл писать не надо наверно. Да и какие-то теги в письме не нужны. Можно начинать с тега "<body>".
We are hard at work… for you. :)

Аватара пользователя
RaFaeL
✯ Ветеран ✯
Сообщения: 1003
Зарегистрирован: 24 Март 2009, 17:59
Откуда: НН
Контактная информация:

HTML Writer

Сообщение RaFaeL »

У вас, я так понимаю, решения для внутреннего использования. У нас - "коробочный" продукт с редактором отчетов, доступным пользователю, и с редактором форматов листов, тоже доступным пользователю. Что они там себе рисуют... Вот у меня такой фантазии нет, а они рисуют. Поэтому и экспорт должен поддерживать по максимуму.

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1667
Зарегистрирован: 06 Ноябрь 2014, 12:48

HTML Writer

Сообщение finsoftrz »

У меня в системе электронных заказов подобный вопрос возникал. Стандартно в генерируемом письме с подтверждением заказа аттачилась экселевская форма. Часть покупателей имело проблему с ее просмотром. Попробовал вариант с письмом в html формате. Выглядит неплохо. Со смартфона тоже нормально читается. Для html используется отдельный дизайнер текстовых форм.
Вложения
podtv.jpg
Рязань решает.

kreator
✯ Ветеран ✯
Сообщения: 3724
Зарегистрирован: 28 Май 2009, 14:54
Откуда: Москва

HTML Writer

Сообщение kreator »

Для меня это две разные истории - отчёт и html-письмо. Всё-таки html не формат для документов. Прислать некую сжатую информацию сразу в теле письма - хорошая идея. Тем более, что html позволяет и интерактивную информацию вставлять (ссылки, например). А когда речь идёт о бланке документа, то нужно вложение. Даже с печатью могут быть проблемы.
We are hard at work… for you. :)

Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 1667
Зарегистрирован: 06 Ноябрь 2014, 12:48

HTML Writer

Сообщение finsoftrz »

Можно и дублировать. Вставлять html в текст письма и одновременно прикреплять файл.
Проблема при работе с прикрепленными файлами реально есть. В моем случае, кому-то нужна экселевская форма для печати или загрузки информации. А кому-то надо быстро глянуть цены, скидки и т.п. по своему отправленному заказу. После приема и обработки заказа оператором, после которой и цены уточняются, и разные скидки рассчитываются, и наличие товара на складе проверяется. А результат посмотреть бывает нужно в пути на смартфоне.

Разумеется, это вполне конкретные случаи, когда есть целесообразность в html форме. У меня еще есть некоторые сомнения, как это все будет выглядеть, когда заказ, скажем, на сотню позиций.
Рязань решает.

Ответить