• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Отчеты в Lotus

  • Автор темы LuMee
  • Дата начала
Z

Zeka

я думал, есть какие-то специализированные приложения типа crystal'а, в которых можно красивенько сделать отчетик (crystal + notessql не предлагать :KillMe:)
А почему не предлагать?
Поигрался немного, вроде работает.
Ещё можно Crystal + Notes Native Driver использовать.
Или есть какие-то подводные камни?
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
в последнее время сильно подсел на XML
формируется моментально а потом заставляю его открыть вордом или екселем, получается быстро и шустро
попробуйте сохранить ворд или ексель в XML тогда сразу поймете где и что вам нужно дописать чтобы потом так же открыть
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
215
делал отчеты с выводом файл...
вывод в хехель, КОМовскими методами (42 листа), занимало ок 5-7 минут, причем не самые большие данные (ок 8-ми метров текста)
и это при отсутствии подсчётов
делайте выводы, любители КОМа :KillMe:
в вывод в CSV файлы, да с зипованием - меньше минуты. Написал свои классы, перекрывающие кусок хехель АПИ - шобы код не переделывать

терь об обработке выгруженых (хоть XML, хоть CSV) вьюшек или DbSearch резалтов...
есть замечательный тулз, визуяльный, понимает кучу форматов на вход и выход, коннекты к БД:
iReports



не ну ежели из любви к искусству изобретать собственный велик (очередной), то да...
но время-деньги, и ежели не студент - жалко выкидывать его бездарно
 
В

Вадим М.

Еще давно написал приложение для создания отчетов, сейчас немного поддерживаю. Собирает данные из разных баз данных NSF по предварительным настройкам источников данных и их связей. Источники данных, их атрибуты и связи настраиваются один раз и затем используются для создания различных отчетов. Результат с группировками/сортировками/окрашиванием выводится в Excel, Tidestone F1 (компонет activeX, есть в шаблоне), HTML или сохраняется как документы Notes с возможностью последующего экспорта.

Приложение использовал в нескольких организациях где работал, в принципе все вопросы по отчетности оно закрывало. Если кому интересно скачать можно здесь . Будут вопросы - задавайте...
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
215
Tidestone F1 (компонет activeX, есть в шаблоне)
Tidestone F1 ЕМНИП - проприетарный компонент, с
какой смысл "привязываться" к КОМ, если для отчетов в эхель есть 100500 инструментов, без привязки к винде и закрытым продуктам?
в любых генераторах отчетов есть моменты: кодовая база и её сопровождение; настройки и модификация под задачи; скорость работы и гибкость управления конфигурациями; масштабируемость...
а так... - я полагаю, у каждого, кто работал с доминой, уже есть свои наработки для отчетов ;)
я тоже пытался создать генератор (и даже создал работающий вариант, в ограниченном применении, здесь выкладывал), но смысла (с приходом java разработки) становится все меньше
DDS, REST и прочие особенности современной платформы делают ненужными старые подходы (LS...)
[doublepost=1492443408,1492442904][/doublepost]бегло просмотрел код, может чего не заметил..., но не увидел навигаторов с кэшированием, хэшмапом (аки List)
без подобных подходов - ждать отчета по сколько-нибудь значительной БД придется долго...
для использования подобных оптимизаций - может потреб. доработка существующей БД или создание промежуточной...
короче - репортинг тема объемная и современное её решения, для домины, для меня - однозначно не лежит в рамках LS
[doublepost=1492443569][/doublepost]если в общем смотреть на проделанную работу - да, времени и сил ваших потрачено значительно
 
В

Вадим М.

Tidestone F1 ЕМНИП - проприетарный компонент, с

да, разработчик канул и компонент давно не поддерживается, но работает. Я его оставил для вывода результата и печати, если по каким-то причинам нет Excel

какой смысл "привязываться" к КОМ, если для отчетов в эхель есть 100500 инструментов, без привязки к винде и закрытым продуктам?

на самом деле думаю их не так много...

в любых генераторах отчетов есть моменты: кодовая база и её сопровождение; настройки и модификация под задачи; скорость работы и гибкость управления конфигурациями; масштабируемость...
а так... - я полагаю, у каждого, кто работал с доминой, уже есть свои наработки для отчетов ;)
я тоже пытался создать генератор (и даже создал работающий вариант, в ограниченном применении, здесь выкладывал), но смысла (с приходом java разработки) становится все меньше
DDS, REST и прочие особенности современной платформы делают ненужными старые подходы (LS...)

этой ветке уже больше 10 лет на форуме, но на самом деле мало что поменялось - готового решения для отчетности в лотусе так и не появилось. То что я видел это либо заготовки скрипта для экспорта либо вообще перегон всех данных во вне и генерация отчетов там. Я не претендую на то, что Мастер Отчетов готовое и универсальное решение, но с ним построено масса различных отчетов не в одной организации, причем часто отчеты разрабатывались самими пользователями, если они были в состоянии понять какие данные в отчете являются связанными и установить нужные чекбоксы.

бегло просмотрел код, может чего не заметил..., но не увидел навигаторов с кэшированием, хэшмапом (аки List)
без подобных подходов - ждать отчета по сколько-нибудь значительной БД придется долго...
для использования подобных оптимизаций - может потреб. доработка существующей БД или создание промежуточной...
короче - репортинг тема объемная и современное её решения, для домины, для меня - однозначно не лежит в рамках LS

отчет со структурой средней сложности ( 2-3 связи, 10-15 столбцов ) на данных из 100 000 документов в клиенте строится 5-10 минут. Не знаю насколько это быстро или долго, но ведь можно использовать фоновый режим построения (клиент продолжает работать) или вообще выполнять построение отчета на сервере. Ограничения по количеству документов нет - в какой-то версии я этот баг устранил...
 

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
215
на самом деле думаю их не так много..
их достаточно, чтобы не использовать КОМ, никакой
POI org.apache.poi.xssf - на запись все замечательно - стрим (что и нужно в отчетах), на чтение чуть по-развесистей (если не морочится с типом данных - все просто)
xdocreport - если не excel
jasperreports - это комбайн еще и собственным генератором форм (ireport designer)
jxls - назначение понятно из названия, темлейты как в xdocreport
замечу - это все бесплатные и ОСС инструменты с очень подробной документацией и примерами
проприетарных тоже - вагон и тележка, один из - aspose - имеет биндинги ко всем современным языкам

и да - если разбирать JS/java (ну т.е. - ориентация на сервисы масштабируемость) - то вопрос о том, что использовать, даже не встает - КОМу там места нет
[doublepost=1492505894,1492505623][/doublepost]
Ограничения по количеству документов нет
ограничение есть исходя из 32бит для LS
и оно достижимо, на больших коллекциях, ведь док в память грузится весь
 
Последнее редактирование:
M

MaxP

Приветствую. Чтобы не плодить темы, напишу тут.
Set xlApp = createObject("Excel.Application")
Есть рабочий код, запуск агента вручную формирует файл и сохраняет его на диске (xlApp.ActiveWorkbook.SaveAs SaveName).
По расписанию не создает. Есть On Error + agentLog и принты по всему коду, но никаких ошибок или намеков на них нет.
Права на создание файла есть (код перед этим создает папку).
В чем может быть дело?

UPD. Нагуглил. Запустил сервер как приложение, не как сервис. Пошло.
 
Последнее редактирование модератором:

lmike

нет, пердело совершенство
Lotus Team
27.08.2008
7 941
609
BIT
215
UPD. Нагуглил. Запустил сервер как приложение, не как сервис. Пошло.
"... но продолжали жрать кактус" ;)
ЗЫЖ ту олл - м.б. создать ветку МСО + LDN ибо ну вот никак не соотносятся сакральные знания по "запуску в космос" из КОМы ни с ЛС ни с собаками...
 

garrick

Lotus Team
26.10.2009
1 351
151
BIT
188
Set xlApp = createObject("Excel.Application")...
Корректнее сначала пытаться получить уже ранее запущенный экземпляр Excel через GetObject, а если такого не оказалось, то тогда уже запускать новый CreateObject. Ещё часто бывает, что Excel виснет и надо "ходить" на сервер что бы пинать его или прибивать зависшие копии руками через диспетчер задач и, конечно, неплохо бы быть в этом случае быть виндусовым админом сервера (иметь права). @lmike не зря ругается - OLE на сервере - это зло. Это диверсия, Это мина замедленного действия. Если вам нужен результат в Excel, используйте Apache POI, например. Ещё вариант, когда нужные данные регулярно перегружаются в реляционную СУБД и оттуда уже используются для построения отчёта стандартными, специально для этого предназначенными, инструментами.
 

NetWood

Lotus Team
17.04.2008
545
93
BIT
8
Приветствую. Чтобы не плодить темы, напишу тут.
Set xlApp = createObject("Excel.Application")
Есть рабочий код, запуск агента вручную формирует файл и сохраняет его на диске (xlApp.ActiveWorkbook.SaveAs SaveName).
По расписанию не создает. Есть On Error + agentLog и принты по всему коду, но никаких ошибок или намеков на них нет.
Права на создание файла есть (код перед этим создает папку).
В чем может быть дело?
Еще может быть столетний боян на Cannot Create Automation Object excel.
Запускаете из командной строки dcomcnfg. Там смотрите в свойствах DСOM приложения Excel и в Удостоверении ставите не Запускающий пользователь, а Текущий пользователь. Иногда требуется указать явно имя пользователя с админскими правами. Тогда этот юзер будет автром создаваемого Excel-обжекта в свойствах файла.
30083
 

savl

Lotus Team
28.10.2011
2 597
310
BIT
180
еще есть прикол с папкой sysWow64 для x64 оси, там в ней создать папку desktop
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!