Комментарии 8
А теперь на тему как вижу этот бизнес-процесс я. Я как бы много-много занимался разработкой всяких макросов и процессов, которые на Экселе сидят, видел массу.
Эксель хорош гибкостью, но тем же и плох, потому что требует квалифицированного пользователя. Если в той же 1С еще надо умудриться все сломать (тем не менее, ломают все, что может сломаться), то в экселе ломается вообще все, к чему притрагивается пользователь, на раз.
Типично: в Эксель-файл пользователь вставляет список накладных из другого файла Эксель, макрос хватает данные из справочников, обрабатывает и влупляет в SAP нужные данные. Удаленный пользователь звонит, жалуется - не работает ни рожна, обрабатывает только одну накладную, и все. Я беру список, вставляю - все обрабатывается. Так и отвечаю. Через полдня - нет, не работает. Я опять проделываю ту же операцию. Все работает, те же самые накладные, которые у нее не работают. Перезаписываю файл, прошу заново открыть. Нет, не работает, только первая накладная. Прошу расшарить экран, залезаю к ней, ту же операцию провожу, все работает. "Покажи, как делала?". Она вместо диапазона из Эксель берет из письма строку с накладными через запятую, вставляет. Результат немного предсказуем. Причем уже успела нажаловаться начальнику, что у нее ничего не работает. С средним качеством владения инструментом в российских офисах, когда даже по видеоинструкции оператор не может сформировать банальную сводную таблицу, я бы строить на Экселе процессы не рекомендовал. Одно дело, когда таблицы курсируют между аналитиками и руководителями (причем последние в основном смотрят), а другое - когда они добираются до исполнителей (а они неизбежно добираются), и там уже свет туши.
Но это заняло бы месяцы работы, большой бюджет и риск сломать давно работающую логику.
Вообще, я бы настоял на переписывании всех формул. Почему? Потому что со временем в любой таблице, которую легко изменять, накапливаются ошибки - алгоритмов, архитектуры, часть процессов вообще теряют актуальность, а многие надо оптимизировать. Если никто не может логику таблиц описать, то такая таблица - жесточайший бизнес-риск, это ОГРОМНОЕ ПОЛЕ для ошибок и злоупотреблений. Коробка, которая выдает неясно на чем основанные результаты. Например, на одной работе обнаружилось, что себестоимость логистики год считалась в 10 раз меньше факта - ошибка распределения затрат, заложенная в формуле расчета. Причем обнаружилось случайно - кто-то просто протянул до конца формулу, и у маркетологов все распродажи ушли в минус. Стали ковыряться, обнаружили, что формулу никто год не протягивал, а строки добавлялись, и вообще вся формула неверна. Так что переписывание таких инструментов нужно в первую очередь бизнесу. Сломать обычно можно не "работающую" логику, а "криво и непонятно работающую логику", а потом заменить ее на понятную, задокументированную и защищенную от дурака логику. Нужно ли это делать на PHP или еще на чем - вопрос уже технический.
Согласен на все 100% Excel как черный ящик это ужасно, с какой стороны не посмотри. Все это, конечно было объяснено заказчику. Но вот в реальной жизни бизнес не готов к большим изменениям. У них все хорошо работает (по их мнению). Вкладываться в переделку они не хотят. Я их прекрасно понимаю, и не мне их учить зарабатывать деньги и делать ИХ бизнес.
С технической стороны это получилось и работает! Клиент доволен. Со стороны этики профессии могут быть вопросы: но даже не могу сформулировать :))) Может, что решение ненадежное? Но нет же. Это обычный файл, открыл, отредактировал, сохранил (программно).
Почему то бытует мнение о повинности экселей во всех грехах как бизнеса так и разработчиков. Зачастую с обоих сторон собираются дилетанты бизнесовой логики. С другой стороны "разрабы", которые владеют средой по остаточному принципу. На выходе получается нечто неустойчивое ко многим отклонениям от единственно правильного сценария использования. Чтобы создать что либо на любом инструменте и получать крепкий результат - нужна высокая квалификация специалистов и затраты временные. А эксели здесь ни при чем. Это непревзойденный инструмент для малой автоматизации.
А это был Эксель чисто на формулах, без макросов, или vba уже так хорошо поддерживается что - заработало все само?
Ничего необычного.
И еще. Если вы на сервере будете держать экземпляр "книги" все время в запущенном состоянии, что отъест немного памяти, то при каждом пересчете не будете тратить время на ее инициализацию. В результате пересчет будет длиться какие-то микросекунды.
Классно. Спасибо, интересно. Мне давно кажется, что такой путь вполне имеет право на существование в небольших/средних компаниях, а не тащить всех в жёлтый ад 1С с раздуванием штата айтишником на поддержание и лицензиями.
Хотелось бы чуть больше подробностей, конечно.

Когда Excel — это часть архитектуры, или история одной не совсем обычной интеграции