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

Отчетность "на коленке".

Аватара пользователя

Автор темы
Marrenoloth
завсегдатай
завсегдатай
Сообщения: 504
Зарегистрирован: 05 окт 2009, 10:51
Ф.И.О.: Тихомиров Дмитрий Викторович
Откуда: Москва
Благодарил (а): 15 раз
Поблагодарили: 18 раз
Контактная информация:

Отчетность "на коленке".

Сообщение Marrenoloth » 07 авг 2016, 18:29

Коллеги, добрый день!
Возникла внезапная нестандартная задача:
1) Имеем .CSV файлы с логами некоторой системы.
2) При этом система не умеет генерировать из них отчеты.
3) Нужны отчеты из этих логов в нормальном виде. Типа лого компании, красивые заголовки и т.д. Желателен выход в .PDF.
4) Хочется универсальное решение, которое будет работать и с логами от простых панелей оператора, если их утащить на флешке.
5) Ввиду разного уровня пользователей, хотелось бы в виде "принес файл, нажал одну кнопку, получил отчет". Ну, максимум, еще даты интересующие выставил.

Пока два решения вижу: Или скрипт в эклеле, который будет парсить csv-шки и в этот же эксель выгружать обработанное и отфильтрованное, или генератор отчетов по шаблону из командной строки, т.е. не dll какая-нибудь, а exe-шник, в который передаются параметры. Но первое решение какое-то некрасивое, ексель еще нужен лицензионный, придумывать, как вызывать скрипт, чтобы и кнопка в отчете не торчала и даже бухгалтер бы справился... Второе решение - не нашел нормальных реализаций. Только что-то "для себя в академических интересах". Третья мысль - запихнуть вызов генератора отчетов (типа того же Crystall) в экселевские скрипты vba, но это что-то совсем извращение какое-то... Ну и еще бесплатный для коммерческого использования генератор хотелось бы...
При этом я программист контроллеров и на stl вам напишу! А вот с современными языками общего назначения не дружу совсем. :(

Может ли кто-нибудь помочь советом, в какую сторону копать, чтобы хорошо сделать?

Аватара пользователя

hell_boy
почётный участник форума
почётный участник форума
Сообщения: 1078
Зарегистрирован: 18 янв 2009, 12:25
Ф.И.О.: Дмитрий
Благодарил (а): 2 раза
Поблагодарили: 22 раза

Отчетность "на коленке".

Сообщение hell_boy » 08 авг 2016, 00:05

Я делал vbs, который использовал ODBC для связи с CSV. На выходе был html с динамическим содержимым. Пользователь его просматривал и, если внешний вид удовлетворял, - печатал. PDF - не проблема, вывод в PDF - та же печать. Еще, как вариант для продвинутых и Unix - программа на Python. Язык несложный, есть масса примеров в сети. Для Win есть утилита Python2Exe.
"Умные люди обсуждают идеи, средние - события, а глупые - людей" Л.Н. Толстой


Strohmann
осмотрелся
осмотрелся
Сообщения: 107
Зарегистрирован: 08 ноя 2010, 14:03
Ф.И.О.: Владимир
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Отчетность "на коленке".

Сообщение Strohmann » 08 авг 2016, 04:03

Генерация отчётности из csv - моя давняя головная боль, которая периодически усиливается). Отчёты у нас простенькие и внутренние, поэтому мой опыт может быть неприменим для серьёзной отчётности.
Рассматривал множество вариантов, начинал с макроса в excel, который по прошествии времени разросся до трудномодифицируемого состояния. Сейчас остановился на применении demo-версии Dream Report (ограничение времени автоматического сбора данных - 30 минут, максимум 100 тэгов. Но я генерирую отчёты вручную из готового csv, поэтому ограничение функционала сбора данных мне не мешает, тэгов у меня меньше 100. Надпись о том, что применяется демо-версия элегантно закрашивается красным прямоугольником с логотипом). Если нужно генерировать отчёты быстро и относительно презентабельно, советую посмотреть на этот продукт - закрывает требования пунктов 3-5)
Если же найдёте более интересный и гибкий вариант, прошу поделиться опытом.

Аватара пользователя

TEB
специалист по DEIF
специалист по DEIF
Сообщения: 7909
Зарегистрирован: 17 июн 2008, 15:01
Ф.И.О.: Евгений свет Брониславович
Благодарил (а): 38 раз
Поблагодарили: 66 раз
Контактная информация:

Отчетность "на коленке".

Сообщение TEB » 08 авг 2016, 14:14

С набором надстроек на ексель есть одна проблема: что-то случилось с компом, снесли ексель - потеряли всё, никто мог и не догадываться что там спец.надстройки накручены. Отдельный ЕХЕшник есть надежда что хоть забэкапят.
По вопросам работы Форума можно обратиться ко мне, или по этим контактам.

Аватара пользователя

Exactamente
частый гость
частый гость
Сообщения: 409
Зарегистрирован: 20 ноя 2012, 12:45
Ф.И.О.: :.О.N.Ф
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Отчетность "на коленке".

Сообщение Exactamente » 08 авг 2016, 15:47

ну и вариант n+1 - забомбить на шарпе консольное приложеньице, умеете плюсы и VBA - в c# или, недайбог, VB.net разберётесь быстро. Масса приблуд для работы с экселем, рекомендую http://epplus.codeplex.com/ - ставите через NuGet, дальше выглядит почти как экселевский VBA. Умеет даже графики рисовать, стили, все дела... Для работы с либой, что приятно, непосредственно ни офис, ни эксель не требуется.

Для пдфа тоже что-то есть: https://habrahabr.ru/post/112707/ - но лично ничем не пользовался, не могу порекомендовать.

TEB писал(а):Источник цитаты С набором надстроек на ексель есть одна проблема: что-то случилось с компом, снесли ексель - потеряли всё, никто мог и не догадываться что там спец.надстройки накручены

Скрипты сохраняются в документе и, внезапно, распространяются с ним же. Достаточно потом найди один экземпляр отчёта столетней давности.
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».

Аватара пользователя

TEB
специалист по DEIF
специалист по DEIF
Сообщения: 7909
Зарегистрирован: 17 июн 2008, 15:01
Ф.И.О.: Евгений свет Брониславович
Благодарил (а): 38 раз
Поблагодарили: 66 раз
Контактная информация:

Отчетность "на коленке".

Сообщение TEB » 08 авг 2016, 16:31

Exactamente писал(а):Источник цитаты Скрипты сохраняются в документе

Если это разрешено настройками офиса

Отправлено спустя 1 минуту 5 секунд:
Exactamente писал(а):Источник цитаты Достаточно потом найди один экземпляр отчёта столетней давности.

И опять же при открытии офис выругается на наличие сторонних скриптов, спросит ЧД - рядовой юзер это легко сочтёт за вирус и выкинет документ совсем.
По вопросам работы Форума можно обратиться ко мне, или по этим контактам.


Михайло
почётный участник форума
почётный участник форума
Сообщения: 2230
Зарегистрирован: 10 ноя 2009, 04:58
Ф.И.О.: Толмачев Михаил Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 23 раза
Контактная информация:

Отчетность "на коленке".

Сообщение Михайло » 08 авг 2016, 16:43

С csv-файлами умеют работать многие среды и языки программирования. Ну, например, Delphi. Ведь структура этого файла до ужаса простая.
Я бы наверное попробовал выполнить задачу на Javascript - язык очень похож на упрощенный С, для написания программы нужен только Блокнот, для запуска кода - любой браузер. В яваскрипте есть регулярные выражения (для парсинга), открыть файл, сохранить файл - это не проблема.

Аватара пользователя

Exactamente
частый гость
частый гость
Сообщения: 409
Зарегистрирован: 20 ноя 2012, 12:45
Ф.И.О.: :.О.N.Ф
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Отчетность "на коленке".

Сообщение Exactamente » 08 авг 2016, 17:57

TEB писал(а):Источник цитаты
Exactamente писал(а):Источник цитаты Скрипты сохраняются в документе

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

TEB писал(а):
Exactamente писал(а):Источник цитаты Достаточно потом найди один экземпляр отчёта столетней давности.

И опять же при открытии офис выругается на наличие сторонних скриптов, спросит ЧД - рядовой юзер это легко сочтёт за вирус и выкинет документ совсем.

А юзер, которму сказали открывать именно этот документ для создания именно этого отчёта будет знать, что нужно нажать именно эту кнопочку.

Но в целом да, абстрактные сферические VBA-макросы в экселе - зло.

ps
TEB писал(а):Источник цитаты рядовой юзер это легко сочтёт за вирус

ох если бы :)
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».

Аватара пользователя

Автор темы
Marrenoloth
завсегдатай
завсегдатай
Сообщения: 504
Зарегистрирован: 05 окт 2009, 10:51
Ф.И.О.: Тихомиров Дмитрий Викторович
Откуда: Москва
Благодарил (а): 15 раз
Поблагодарили: 18 раз
Контактная информация:

Отчетность "на коленке".

Сообщение Marrenoloth » 08 авг 2016, 18:34

Михайло писал(а):Источник цитаты Ну, например, Delphi.
Я бы наверное попробовал выполнить задачу на Javascript

Я ну вообще не программист. Питон бы еще подумал, но время, время...

Михайло писал(а):Источник цитаты В яваскрипте есть регулярные выражения

Если вам сказали, что вашу проблему можно решить с помощю регулярных выражений, значит, у вас две проблемы. (с) Бородатый анекдот.

В целом, я могу это тупо формулами в экселе нафигачить - опыт богатый в этом вопросе. Даже в гуглотаблицах. Но хочется хорошего и красивого решения. Видимо, пока Dream Report, а потом приглашенные специалисты по языкам программирования...

Аватара пользователя

TEB
специалист по DEIF
специалист по DEIF
Сообщения: 7909
Зарегистрирован: 17 июн 2008, 15:01
Ф.И.О.: Евгений свет Брониславович
Благодарил (а): 38 раз
Поблагодарили: 66 раз
Контактная информация:

Отчетность "на коленке".

Сообщение TEB » 08 авг 2016, 19:01

Exactamente писал(а):Источник цитаты Э, вы взяли документ, в него написали макрос, сохранили, отправили пользователю. Будет странно, если перед написанием макроса вы не включите макросы.

Как автор этих макросов - конечно не забуду. Я не про это. Просто в задаче сказано что должно быть понятно даже дворнику - и вот тут могут быть нюансы. :) Например документ могут пересохранить и потерять все макросы, может и антивирус их повыкусывать.

Exactamente писал(а):Источник цитаты А юзер, которму сказали открывать именно этот документ для создания именно этого отчёта будет знать, что нужно нажать именно эту кнопочку.

Да всякие юзеры бывают....
По вопросам работы Форума можно обратиться ко мне, или по этим контактам.


Vadim K
здесь недавно
здесь недавно
Сообщения: 8
Зарегистрирован: 16 окт 2015, 12:23
Ф.И.О.: Вадим К
Поблагодарили: 1 раз

Отчетность "на коленке".

Сообщение Vadim K » 09 авг 2016, 09:45

В общем-то задача стандартная. Для АРМ'ов использую связку SCADA + самописная программа на Delphi, которая закрывает вопросы с графической и табличной отчетностью, выбором заданий из меню (типовые задания в меню добавляют сами пользователи). Освоить какой-либо язык программирования не так сложно (мне сложнее было освоить программирование в STL). Беда только в том, что эти среды разработки стоят денег, а писать для заказчика на пиратском как-то не комильфо...

Оформляйте цитаты корректно, пожалуйста. Админ.

Аватара пользователя

izhidkov
осмотрелся
осмотрелся
Сообщения: 165
Зарегистрирован: 25 фев 2016, 12:18
Ф.И.О.: Жидков Игорь Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 5 раз
Контактная информация:

Отчетность "на коленке".

Сообщение izhidkov » 09 авг 2016, 12:16

Marrenoloth писал(а):Источник цитаты а потом приглашенные специалисты по языкам программирования..

Да если вы понимаете что вам вообще нужно в отчетах, то в QT на С++ можно парсить .csv файлы очень быстро и просто. Больше проблема в том, что печать из c++ это та еще беда (конечно если нет лишних пары месяцев). Простые листы А4 с жестким расположением элементов довольно просто печатать, если нужен интерактив и фичи печати как в Ворде то это не так просто...

Конечно QT не бесплатная для коммерческого пользования, но для "себя" можно сделать.
want to have ultimate control, and the sky is the limit!


leon78
завсегдатай
завсегдатай
Сообщения: 565
Зарегистрирован: 25 июл 2008, 09:06
Ф.И.О.: U.L.A.
Благодарил (а): 1 раз
Поблагодарили: 4 раза
Контактная информация:

Отчетность "на коленке".

Сообщение leon78 » 09 авг 2016, 13:27

Одно время мы использовали для отчетов Crystal Reports.
Я лично этим не занимался, поэтому о соответствии функционала изложенным требованиям сказать не могу.
Хард - это то, что можно швырнуть об стенку, а софт - это то, что можно лишь обматерить.

Аватара пользователя

Автор темы
Marrenoloth
завсегдатай
завсегдатай
Сообщения: 504
Зарегистрирован: 05 окт 2009, 10:51
Ф.И.О.: Тихомиров Дмитрий Викторович
Откуда: Москва
Благодарил (а): 15 раз
Поблагодарили: 18 раз
Контактная информация:

Отчетность "на коленке".

Сообщение Marrenoloth » 09 авг 2016, 15:17

В целом, всё свелось к "или покупай, или строй велосипед из веточек и подручных материалов". :)

Кристал и иже с ними (Когда-то общался с продукцией http://www.perpetuumsoft.com/ , но как потребитель конечного результата. Впечатления остались хорошие.) требуют встраивания в некую оболочку, которую ты должен сам написать на одном из современных языков и которая будет подпихивать в генератор имя шаблона и формировать выборку данных. Эксель - уж очень коряво, зато работает и просто как чугунная сковородка. Остальное - за деньги.



Не удержусь, покамментю :-P :
Vadim K писал(а):Источник цитаты Беда только в том, что эти среды разработки стоят денег

IDE, конпиляторов и пр. много и бесплатного и под любые системы. И фришные генераторы отчетов для встраивания в пользовательские программы тоже имеются.

izhidkov писал(а):Источник цитаты в QT на С++ можно парсить .csv файлы очень быстро и просто. Больше проблема в том, что печать из c++ это та еще беда

Та еще беда - это быстро освоить c++ и кьют.

Михайло писал(а):Источник цитаты С csv-файлами умеют работать многие среды и языки программирования. Ну, например, Delphi. Ведь структура этого файла до ужаса простая.

Да. Но Сименс и тут, согласно вашей подписи, "приложил тщательнейшее внимание к каждой мелочи"! :lol:

Аватара пользователя

izhidkov
осмотрелся
осмотрелся
Сообщения: 165
Зарегистрирован: 25 фев 2016, 12:18
Ф.И.О.: Жидков Игорь Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 5 раз
Контактная информация:

Отчетность "на коленке".

Сообщение izhidkov » 09 авг 2016, 17:34

Marrenoloth писал(а):Источник цитаты за деньги

Ну а чего удивительного? Универсальная вешь )

Marrenoloth писал(а):Источник цитаты Та еще беда - это быстро освоить c++ и кьют.

А есть требование быстро? Если денег много найди того кто знает Qt/c++

Много народу "колымит" с Qt ( даже тут есть, не говоря уже о более специфичных форумах, где программисты тусуют), если цену норм предложите могут что угодно сделать. На А4 лист ваш логотип, и графики даже я смогу за день вывести )
want to have ultimate control, and the sky is the limit!

Аватара пользователя

Exactamente
частый гость
частый гость
Сообщения: 409
Зарегистрирован: 20 ноя 2012, 12:45
Ф.И.О.: :.О.N.Ф
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Отчетность "на коленке".

Сообщение Exactamente » 10 авг 2016, 12:10

ауч, тут STL'ем все называют мэковский 61131 ST в сименсовой вариации? А я думал про сиплюсплюсную standard library :crazy0to: нуок, тогда дело усложняется)

Vadim K писал(а):Источник цитаты Беда только в том, что эти среды разработки стоят денег

Всё давно есть в бесплатных версиях. Если совесть давит, то можно приложить какую-нибудь опенсорцную лицензию - в данном случае это не офигеть как принципиально держать исходники в секрете.

izhidkov писал(а):Источник цитаты А есть требование быстро? Если денег много найди того кто знает Qt/c++

точно, и к 100 килобайтному экзешнику прикладывать 5гиговый дистр кьюти :lol:
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».

Аватара пользователя

Автор темы
Marrenoloth
завсегдатай
завсегдатай
Сообщения: 504
Зарегистрирован: 05 окт 2009, 10:51
Ф.И.О.: Тихомиров Дмитрий Викторович
Откуда: Москва
Благодарил (а): 15 раз
Поблагодарили: 18 раз
Контактная информация:

Отчетность "на коленке".

Сообщение Marrenoloth » 10 авг 2016, 13:26

Exactamente писал(а):Источник цитаты ауч, тут STL'ем все называют мэковский 61131 ST в сименсовой вариации?

Можете звать меня ретроградом и отщепенцем! :crazy0to:

Exactamente писал(а):Источник цитаты к 100 килобайтному экзешнику прикладывать 5гиговый дистр кьюти

И толстую пачку денег! :lol:

Вообще, с другой стороны, если разработать свой такой генератор отчетов и поставить ценник в 5к рублей, вы бы купили? :ges_hmm:

Аватара пользователя

Exactamente
частый гость
частый гость
Сообщения: 409
Зарегистрирован: 20 ноя 2012, 12:45
Ф.И.О.: :.О.N.Ф
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Отчетность "на коленке".

Сообщение Exactamente » 10 авг 2016, 14:12

Лично я бы при необходимости свой написал, с поэтессами и преферансом) потому что времени на это уйдёт максимум неделя с перекурами на основную работу, а в чужом самописном непроверенном решении огрести проблем можно о-го-го, и никаких гарантий, что даже тривиальную багу автор быстро починит. А так обычно везде, где я видел, отчёты генерятся из скады + excel vba, и особых страданий никто не испытывает.

тут штука в чём, у вас задача - генерить непонятно что конкретно из, почему-то, csv. Удивительное стечение обстоятельств и неопределённости. Большой оптимизм - надеяться, что у кого-то возникнет необходимость решить такую же задачу, и этот кто-то вообще будет знать про ваше решение.
«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».

Аватара пользователя

izhidkov
осмотрелся
осмотрелся
Сообщения: 165
Зарегистрирован: 25 фев 2016, 12:18
Ф.И.О.: Жидков Игорь Алексеевич
Благодарил (а): 1 раз
Поблагодарили: 5 раз
Контактная информация:

Отчетность "на коленке".

Сообщение izhidkov » 10 авг 2016, 17:11

Exactamente писал(а):Источник цитаты точно, и к 100 килобайтному экзешнику прикладывать 5гиговый дистр кьюти

В архиве VCRedistr86 + qtdll-ки+простенький ewe весят 16 Мб.... (без архива 70Мб) windeployqt подготавливает только нужные dll
да и сам qt+msvc весит всего 903 Мб
want to have ultimate control, and the sky is the limit!

Аватара пользователя

Exactamente
частый гость
частый гость
Сообщения: 409
Зарегистрирован: 20 ноя 2012, 12:45
Ф.И.О.: :.О.N.Ф
Благодарил (а): 3 раза
Поблагодарили: 3 раза

Отчетность "на коленке".

Сообщение Exactamente » 19 авг 2016, 20:35

«Сразу видно внимание к каждой мелочи, неиспорченным не осталось ничто».


SaNNy
осмотрелся
осмотрелся
Сообщения: 131
Зарегистрирован: 01 фев 2010, 10:37
Ф.И.О.: Ананьев А.А.
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Отчетность "на коленке".

Сообщение SaNNy » 31 авг 2016, 22:04

Может такое подойдет http://csvquickviewer.com


Вернуться в «MES - Системы автоматизации управления производством»



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей