|
|
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! На практике приходилось писать не мало сложных макросов на VBA через excel, которые формируют разные отчеты. Особенности: 1. Начиная с выгрузки данных с OLAP, обработки заголовков, дополнительной обработки данных, создание отдельных excel файлов, вставка вкладок, вставка таблиц и диаграмм, соответствующее оформление. Со временем часто дорабатывались эти макросы. 2. Сформированные файлы-отчеты рассылались по соответственному городу, каждый город в какие то колонки нужно ввести значения или выбрать значение из списка, потом получить обратно заполненные, сделать свод, провести некую обработку и получить некие обработанные таблицы. Какие то excel-файлы синхронизировались с другими excel-файлами. Есть риски, что файлы могут не синхронизироваться. 3. Если произошла доработка макроса, то пользователям отсылается доработанный файл. 4. При этом появляется необходимость иметь отдельные небольшие базы данных для хранения дополнительных справочников, сопоставлении, темповых таблиц, чем все хранить на отдельных excel-листах как справочные таблицы. Получается тут не только автоматизация сложных отчетов, но и наличие небольшого электронного документооборота. Понимаешь, что писать макросы через excel же становится не эффективно при перечисленных задач. Надо переходить на другой уровень программирования. Решение вижу такое - написать программку на VB.Net или С# как виндоус форма через Visual Studio. Пока экспериментирую с VB.Net. Открывается форма как меню, там размещены разные вкладки, кнопки, и каждая кнопка формирует свой отчет, есть кнопки по введению данных в дополнительные справочные таблицы. Эта программка будет устанавливаться каждому пользователю. Програмка имеет подключение не только к OLAP, но и к небольшой базе данных либо Microsoft Access, либо Microsoft Server (если разрешат). Эта программка типа маленькой 1С или Axapta, но она специализированная под конкретную аналитику с небольшими бизнес процессами. Ничего лишнего. У нас есть Axapta, но работает с OLTP. А тут программка выгружает сразу из OLAP и сразу формирует нужные отчеты. С возможностью постоянной доработки. 1. Хотелось бы узнать Ваше мнение по данному решению. Что нужно учесть, какие подводные камни есть, у кого какой подобный опыт был и решал подобную проблему. Насколько эффективно выбрано данное решение? 2. Потом эта программка будет постоянно дорабатываться. Добавляться новые кнопки, дорабатываться какие то процедуры, изменения в структуре базе данных. Тут важно чтобы после изменения установленная программа у пользователей сама обновлялась. Или сделать подобное как у 1С у пользователей стоит как тонкий клиент и ему ничего переустанавливать не надо. Что тут надо учесть? Как тут надо правильно дорабатывать и обновлять так, чтобы без ущерба все было? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 10:03 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
ferzmikk, кто такие пользователи? сколько их? где сидят? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 10:21 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
можно вместо Access и MSSQL (который кстати говоря платные) использовать SQL-Lite, SQL там вполне себе обычный. То, что вы описали можно сделать в качестве Excel Addin'а, который будет встраиваться в Ribbon Excel'я, иметь свои панели и прочее. Это более трудозатратно, но будет более осмысленно, как по мне. Так как отчеты у Вас всё равно формируются в Excel. Сам плагин можно рассылать и устанавливать как обычную программу (набор DLL файлов). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 11:39 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
skyANAferzmikk, кто такие пользователи? сколько их? где сидят? В зависимости от того, что за отчет. Для начала следует учесть, что есть excel-ий файл с макросом (далее буду называть инструмент ). И этот инструмент формирует отдельный excel-ий файл (далее - отчет ). Возьму три отчета. Для первого отчета . 6 пользователей, у которых инструмент. Они в разных городах. Это менеджеры. С помощью инструмента обновляют исходники, формируют отчеты и рассылают определенным пользователям. Формируется почти ежедневно. У отчета около 100 пользователей. Просто читают отчет. Сидят в разных городах. Это директора подразделении, начальники отдела продаж, супервайзеры. Для второго отчета . 1 пользователь, у которых инструмент. Это аналитик. Формирует раз в месяц. 50 пользователей отчета. Читают отчет + заполняют данные в отдельных колонках, потом присылают обратно. Также в разных городах. Директора подразделении, начальники. Для третьего отчета. 1 пользователь, у которых инструмент. Это другой аналитик. Формирует раз в месяц. 30 пользователей отчета. Для заполнения данных и обратно присылают. Также в разных городах. Директора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 11:45 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
Roman Mejtesможно вместо Access и MSSQL (который кстати говоря платные) использовать SQL-Lite, SQL там вполне себе обычный.SQL-Lite - как вариант. Я думал, что SQL-Lite используется только для разработки мобильных приложении. Если использовать SQL-Lite, то какие там минусы, ограничения? Вот например SQL у Access 1997 года, сильно ограниченный по возможностям по сравнению с Microsoft SQL Server: отсутствие темповых таблиц, отсутствуют функции нумерации строк, кросс и т. д. Очень много с ограничениями столкнулся с ODBC. Я правильно понимаю, они бывают и бесплатные, и платные? То, что вы описали можно сделать в качестве Excel Addin'а, который будет встраиваться в Ribbon Excel'я, иметь свои панели и прочее. Это более трудозатратно, но будет более осмысленно, как по мне. Так как отчеты у Вас всё равно формируются в Excel. Сам плагин можно рассылать и устанавливать как обычную программу (набор DLL файлов). Есть необходимость сделать более удобный и интуитивно понятный интерфейс, наличие кнопок, которые фомируют excel-файлы, работать с дополнительными справочными таблицами (не с боевой базой данных). Возможность делать отметки как в 1С типа "Провести" и потом отсылается на электронную почту типа как задача. Все таки VB.Net мощнее чем VBA. Понимаешь, что надо делать более серьезный единый инструмент. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 12:07 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
ferzmikkЗдравствуйте! На практике приходилось писать не мало сложных макросов на VBA через excel, которые формируют разные отчеты. Особенности: 1. Начиная с выгрузки данных с OLAP, обработки заголовков, дополнительной обработки данных, создание отдельных excel файлов, вставка вкладок, вставка таблиц и диаграмм, соответствующее оформление. Со временем часто дорабатывались эти макросы. 2. Сформированные файлы-отчеты рассылались по соответственному городу, каждый город в какие то колонки нужно ввести значения или выбрать значение из списка, потом получить обратно заполненные, сделать свод, провести некую обработку и получить некие обработанные таблицы... " И если пользователь играет эльфами то эльфы в лесу, домики деревяные набигают солдаты дворца и злодеи." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 12:07 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
ferzmikkRoman Mejtesможно вместо Access и MSSQL (который кстати говоря платные) использовать SQL-Lite, SQL там вполне себе обычный.SQL-Lite - как вариант. Я думал, что SQL-Lite используется только для разработки мобильных приложении. Если использовать SQL-Lite, то какие там минусы, ограничения? Вот например SQL у Access 1997 года, сильно ограниченный по возможностям по сравнению с Microsoft SQL Server: отсутствие темповых таблиц, отсутствуют функции нумерации строк, кросс и т. д. Очень много с ограничениями столкнулся с ODBC. Я правильно понимаю, они бывают и бесплатные, и платные? Платный Access если его целиком ставить, ODBC драйвер для Access`а бесплатный, качай с сайта МС и пользуйся. MSSQL тоже имеет бесплатную Express версию, правда с ограничениями функционала . Есть другие бесплатные СУБД (MariaDB, Postgres и т.д.) Как понимаю задача не требует легкой переносимости приложения, поэтому лучше взять полноценную СУБД. Если все пользователи всех подразделений/филиалов соединены в единую внутреннюю сеть, то БД можно общую сделать, т.е. одну на всех. Еще лучше сразу делать web-интерфейс и пусть через браузер работают хоть откуда. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 12:41 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
Oracle надо ставить. XE бесплатный, его возможностей за глаза хватает для подобного рода поделий. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 12:49 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
Решение вижу такое - написать программку на VB.Net или С# как виндоус форма через Visual Studio Для вашей задачи - вполне разумно. Далее- ограничений MS SQL Express вам хватит вполне, использовать другую базу при ваших объемов и стеке .Net/Excel не советую. Вопрос обновления решается по-разному. Все зависит от количества пользователей и сложности задачи. Простейший вариант на "до 10" пользователей - банальный запуск программы с 1 сетевой папки. Работает и не требует никаких телодвижений. Второй вариант - запуск через программу обновления. Она проверяет в сетевой папке новые файлы и библиотеке и копирует их. Третий - полноценный софт для обновления и/или использование MSI Судя по вашим планам, я бы начал сначала с первого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 12:58 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
Dima Еще лучше сразу делать web-интерфейс и пусть через браузер работают хоть откуда. Для программы, цель которой генерация сложных xls файлов веб интерфейс... вещь, мягко говоря, спорная. А судя по "доработкам" основная цель программы - именно генерировать отчетность в excel для последующего анализа. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 13:00 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
dvimDima Еще лучше сразу делать web-интерфейс и пусть через браузер работают хоть откуда. Для программы, цель которой генерация сложных xls файлов веб интерфейс... вещь, мягко говоря, спорная. А судя по "доработкам" основная цель программы - именно генерировать отчетность в excel для последующего анализа. Какая разница между VB.NET и ASP.NET в плане генерации эксель-файлов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 13:03 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
Dima TКакая разница между VB.NET и ASP.NET в плане генерации эксель-файлов? да хоть на php ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 13:08 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
ferzmikkskyANAferzmikk, кто такие пользователи? сколько их? где сидят? В зависимости от того, что за отчет. Для начала следует учесть, что есть excel-ий файл с макросом (далее буду называть инструмент ). И этот инструмент формирует отдельный excel-ий файл (далее - отчет ). Возьму три отчета. Для первого отчета . 6 пользователей, у которых инструмент. Они в разных городах. Это менеджеры. С помощью инструмента обновляют исходники, формируют отчеты и рассылают определенным пользователям. Формируется почти ежедневно. У отчета около 100 пользователей. Просто читают отчет. Сидят в разных городах. Это директора подразделении, начальники отдела продаж, супервайзеры. Для второго отчета . 1 пользователь, у которых инструмент. Это аналитик. Формирует раз в месяц. 50 пользователей отчета. Читают отчет + заполняют данные в отдельных колонках, потом присылают обратно. Также в разных городах. Директора подразделении, начальники. Для третьего отчета. 1 пользователь, у которых инструмент. Это другой аналитик. Формирует раз в месяц. 30 пользователей отчета. Для заполнения данных и обратно присылают. Также в разных городах. Директора. 8 пользователей, 3 отчёта, ползапроса в сутки... О каком ущербе речь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 13:22 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
skyANAО каком ущербе речь? Я про обновление приложения. В случае какой то доработки для одного отчета - не поломалось на формирование другого отчета. Например, в общей форме есть процедура, которая может вызываться для формирования разных отчетов. Со временем эту процедуру доработал, например, добавил проверку, добавил аргумент и т. д. Что потом первый отчет нормально формируется, а второй отчет - появляется ошибка. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 13:30 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
dvimиспользовать другую базу при ваших объемов и стеке .Net/Excel не советую.Почему? Вопрос обновления решается по-разному. Все зависит от количества пользователей и сложности задачи. Простейший вариант на "до 10" пользователей - банальный запуск программы с 1 сетевой папки. Работает и не требует никаких телодвижений.Не хотелось лишний раз раздавать файлы с макросом. Легко скопировать, код защитить полностью не получится. Второй вариант - запуск через программу обновления. Она проверяет в сетевой папке новые файлы и библиотеке и копирует их.Только как это программа обновления выглядит? Третий - полноценный софт для обновления и/или использование MSI Вот такой вариант мне больше нравится. Судя по вашим планам, я бы начал сначала с первого. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 13:52 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
Всяк кулик своё болото хвалит)) schiOracle ... XE бесплатный они прикололись и версию XE 11 g ограничили 11 Г б БД. В связи с этим стоит подумать, хранить ли готовые бинарники в БД или же в файловой системе, а в БД тогда только их ИДшники. dvim MS SQL Express ... использовать другую базу ... не советую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 17:12 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
Берешь бесплатную VS, бесплатный MS SQL Express, VB.NET. В VS есть штатный механизм деплоймента с поддержкой версионного обновления. Хотя не помню, есть ли он в бесплатной версии, но в любом случае есть сторонние плагины. Ничего изобретать не надо, все просто. Вопрос только доступа, как вариант VPN. Ну, а так выбор средств огромный, если есть желание (и необходимость) потом расширять это чудо, то можно подумать заранее. Например, у MS SQL Express есть ограничения по размеру, а платный очень недешевый. Может тогда выбрать другую СУБД? И т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 17:20 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
ferzmikkskyANAО каком ущербе речь? Я про обновление приложения. В случае какой то доработки для одного отчета - не поломалось на формирование другого отчета. Например, в общей форме есть процедура, которая может вызываться для формирования разных отчетов. Со временем эту процедуру доработал, например, добавил проверку, добавил аргумент и т. д. Что потом первый отчет нормально формируется, а второй отчет - появляется ошибка. Кривые руки не исправит никакое ПО. Пишите нормальный код и проблем не будет. Напишите две процедуры, они друг друга ломать не будут. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 17:25 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
exp98schiOracle ... XE бесплатный они прикололись и версию XE 11 g ограничили 11 Г б БД. В связи с этим стоит подумать, хранить ли готовые бинарники в БД или же в файловой системе, а в БД тогда только их ИДшники. Я так понимаю 11 Гб потому что в MS SQL Express всего 10 Гб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.07.2017, 20:06 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
AddxБерешь бесплатную VS, бесплатный MS SQL Express, VB.NET. В VS есть штатный механизм деплоймента с поддержкой версионного обновления. Хотя не помню, есть ли он в бесплатной версииТам есть пункт "Приложение следит за обновлениями, расположенными в следующем месте:", если это то, но в любом случае есть сторонние плагины.Для примера какие это плагины? Ничего изобретать не надо, все просто. Вопрос только доступа, как вариант VPN. Ну, а так выбор средств огромный, если есть желание (и необходимость) потом расширять это чудо, то можно подумать заранее. Например, у MS SQL Express есть ограничения по размеру, а платный очень недешевый.По размеру понятно, а функции (ROW_NUMBER, RANK, PIVOT, EOMONTH и т. д. плюс темповые таблицы как переменные) все работают как у полноценного MS SQL? Может тогда выбрать другую СУБД? И т.д.Если Вы имеете в виду основную СУБД, то поменять уже никак. Если только говорить о дополнительной СУБД, то рассматриваю варианты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 00:06 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
schiOracle надо ставить. XE бесплатный, его возможностей за глаза хватает для подобного рода поделий.Какие есть ограничения, если сравнивать с MS SQL Express? Ограничения с темповыми таблицами? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 00:19 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
Если я программирую на VB.Net, то этого достаточно будет исходя из перечисленных задач? Или лучше на C#? VB.Net в чем проигрывает по сравнению с C#? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 00:24 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
ferzmikkЕсли я программирую на VB.Net, то этого достаточно будет исходя из перечисленных задач? Или лучше на C#? VB.Net в чем проигрывает по сравнению с C#? Советую C# осваивать. По большому счету разница C# и VB.Net в синтаксисе кода, т.к. в итоге ты будешь использовать классы .Net, а они одинаковы для обоих ЯП. Судя по форуму про .Net на VB.Net мало кто пишет, как следствие тем кто про него спрашивает мало кто подсказать может. В основном все на C#. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 08:01 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
Dima TСудя по форуму про .Net на VB.Net мало кто пишет, как следствие тем кто про него спрашивает мало кто подсказать может. В основном все на C#.Учитывая такой момент, что создаваемый софт будет создавать не мало excel-их файлов со множественными вкладками, вставка ListObjects, Chart, PivotTable, PivotChart, события, оформление, защита. Раньше на VBA через excel программировал. Важно чтобы C# все это смог потянуть. А VBA и VB.Net они похожи. Следовательно можно еще ссылаться по форуму про Microsoft Office и по форуму про Visual Basic . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 08:20 |
|
||
|
Автоматизация отчетов + небольшой электронный документооборот
|
|||
|---|---|---|---|
|
#18+
ferzmikkА VBA и VB.Net они похожи. VBA и VB.Net похожи только на первый взгляд. Из форума по VB вопросы по VB.Net модераторы переносят в форум по .Net ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.07.2017, 08:59 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=39482376&tid=1340348]: |
0ms |
get settings: |
10ms |
get forum list: |
17ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
137ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 458ms |

| 0 / 0 |
