Прошу совета: на чем сделать вот такую систему?
Здравствуйте.
Вот сайт-пример по составлению строительной сметы онлайн. Например, типа такого (ссылка).
Мне необходимо разработать сайт (или CRM, ERP?), с помощью которого можно составить смету с материалами и работами. Исключительно онлайн версия, доступ через браузер.
Требования следующие:
Задача-цель: уменьшить время на составление сметы.
Сейчас она составляется по бумажному справочнику (660 страниц), т.к. именно этот справочник содержит по каждой работе важные для нас дополнительные данные (еще 2 колонки). Все должно быть просто, понятно и минимум движений (у нас есть люди, которым «за *»).
Таблицу со списком работ делать на DataTables или какой-нибудь Ajax-поиск?
Формы на FormIt? Или все можно на miniShop2 сделать?
Возможно ли удобно это сделать на MODX Revo или лучше взять тот же SugarCRM (например) и допиливать ее?
Буду благодарен любой мысли или совету!
Вот сайт-пример по составлению строительной сметы онлайн. Например, типа такого (ссылка).
Мне необходимо разработать сайт (или CRM, ERP?), с помощью которого можно составить смету с материалами и работами. Исключительно онлайн версия, доступ через браузер.
Требования следующие:
- Моментальный поиск нужного вида работ (по номенклатуре, ключевому слову) и добавление этой работы в общий список работ. Всего около 13 000 видов работ.
- У каждого вида работ есть Наименование, Единица измерения, Максимальная стоимость работы — ручной труд, Максимальная стоимость работы — механический труд, Максимальная стоимость материалов.
- Список работ добавляется по одному. Должна быть колонка для внесения своей стоимости работы (колонка Фактическая стоимость), несмотря на уже установленную цену из ячейки Максимальная стоимость работы (то есть, если в колонку Фактическая стоимость внесена стоимость, то для расчета используется эта стоимость).
- Возможность добавить самим пользователем Дополнительную работу и внести туда свою стоимость.
- Форму сохранить и экспортировать в pdf, чтобы можно было потом вернуться к ней, внести правки и опять экспортировать в pdf.
Задача-цель: уменьшить время на составление сметы.
Сейчас она составляется по бумажному справочнику (660 страниц), т.к. именно этот справочник содержит по каждой работе важные для нас дополнительные данные (еще 2 колонки). Все должно быть просто, понятно и минимум движений (у нас есть люди, которым «за *»).
Таблицу со списком работ делать на DataTables или какой-нибудь Ajax-поиск?
Формы на FormIt? Или все можно на miniShop2 сделать?
Возможно ли удобно это сделать на MODX Revo или лучше взять тот же SugarCRM (например) и допиливать ее?
Буду благодарен любой мысли или совету!
Комментарии: 31
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
P.S. «DataTables или какого-нибудь Ajax-поиска» являются далеко не первым этапом при разработке. Лучше посмотрите примеры этапов процесса разработки в аналогичных проектах.
P.S. Вчерашний пост был просто «провокацией-лакмусовой бумажкой», так как молчите постоянно, не вытащить вас.
На счёт этапов разработки: Вы сначала нормально сформулируйте, что вам нужно получить на выходе без «как тут» или «аналогично тому сайту». Далее пойдёт разработка интерфейса (на бумаге) в котором будет удобно работать и уже далее пойдут фреймворки. Но по фактукакой именно без разницы, поскольку вопрос для разработчика стоять будет скорее в том где ему будет удобно это реализовать.
Я спросил: «Возможно ли удобно это сделать на MODX Revo или лучше взять тот же SugarCRM (например) и допиливать ее?»
Ответ: «если у вас уже на уровне «DataTables или какого-нибудь Ajax-поиска» возникают вопросы, то вам самостоятельно проект вам не по плечу».
Кому какая разницу кому что по плечу (если только помериться)?
По поводу этапов проектирования и по какой методологии разрабатывать проект — на счет этого вопросов нет.
Количество вопросов («сначала сформулируй») также зависит от выбранной методологии ведения проектов: где-то нужно сразу всё ТЗ выложить и нельзя будет его будет менять в будущем (можно, но будет дорого), а где-то можно возвращаться к ТЗ с хорошей документацией и корректировать задачи, затем опять возвращаться.
Николай, я не разработчик. У меня другие задачи.
P.S. По поводу «нормально сформулировать» — крайне не рационально не опираться на уже подобные, готовые проекты, у которых можно позаимствовать удобный функционал. А не придумывать заново колесо и тратить уйму времени.
P.P.S. За совет «Подходит» — спасибо большое! :)
«если у вас уже на уровне «DataTables или какого-нибудь Ajax-поиска» возникают вопросы, то вам самостоятельно проект вам не по плечу»
Я написал это, потому что реально для разработчиков, способных выполнить подобное ТЗ, не особо волнуют вариации по «DataTables или какого-нибудь Ajax-поиска», т.к. реализация будет производиться тем, что подходит для данного интерфейса + тем фрейворком, который им удобен и известен.
«заниматься фаллометрией»
Вы не девочка, чтобы я этим перед вами занимался.
«Я не разработчик. У меня другие задачи»
Я был прав на счет того, что «самостоятельно проект вам не по плечу».
«За совет «Подходит» — спасибо большое! :)»
Не за что! Нужен честный ответ — обращайтесь!
Но для спокойствия подтверждаю: да, Вы был прав, что мне это не по плечу.
Удачи, Николай. Все еще будет!
Спасибо за честные советы! :))
Прежде чем заимствовать стоит задуматься еще и о том, почему на данных проектах он был использован вообще… Иногда причиной будут “говнокодеры» иногда «извращенцы заказчики» иногда ведущему программисту «жена не дала»… В общем я к тому, что не надо тупо заимствовать.
Но самое главное — на MODX его абсолютно реально создать. Вопрос только в квалификации разработчика.
А на почти на любой CRM-ERP это чуть-ли не в режиме wizard + правка или создание дополнительных модулей или полей (SugarCRM или Vtiger). Можно и Dollibar, или Yetiforce.
Кстати, Михаил, я пару раз опубликовывал задания (заказы) здесь, так только ты один писал не адекватные цены за мелкие задачи. В то время как адекватные ребята получили задания и заработали денег + всегда платил премию за адекватность и качество работы (я не жадный). Поэтому что-то доверия нет к твоим словам.
Что касается противостояния с CRM — если в них все делается так просто, почему же тогда смотришь в сторону MODX?
По поводу «противостояния» — ничего такого с моей стороны нет. Есть MODX Evo, а есть MODX Revo — оба для создания сайтов, но оба для разных задач. Обрати внимание, что я спрашиваю совета в формате ИЛИ.
Михаил, я понимаю, тебе работа нужна.
Не переживай, на текущий момент я не ищу и не беру заказы. Это легко заметить по отсутствию моих комментариев в разделе объявлений о работе.
Когда примешь какое-то решение, озвучь его здесь. А еще интересно увидеть итоговый результат. Для сведения, как решена конкретная задача.
Выбор в пользу VtigerCRM + покупка нескольких плагинов (один из них для генерации pdf-форм, form builder).
Там же куча всяких теров, феров, обновлений, индексы ежеквартально пересчитываются.
Уже из готовой сметы нужно вытаскивать разные срезы.
Для этой цели может легче грандсмету поломать?
Но мы живем в другой стране — у нас строительная документация ведется по-другому. Поэтому вот такие, с виду простые, требования.
Гранд-Смета для России, на русском языке.
Товар — вид работ.
Корзина — смета.
Зарлата — вес.
Материалы — товары + msSetInCart.
Прочие расценки — нужно немного допилить по образцу веса и цены.
Индексы — msOptionsPrice2.
Не все в деньгах меряется :-)
У вас подход «смастерю (в хорошем смысле слова) что угодно из MODX + miniShop». Но после раздумий для меня очевидно, что лучше допиливать CRM, которые как раз ориентированны на решение подобных задач.
Можно пироги хорошо испечь в кастрюле, но лучше на противне.
Мы выбрали Vtiger CRM.
Тоже думаю, что в данном случае miniShop использовать хоть и можно, но несколько более умеренно что ли…
Мне еще интереснее стало посмотреть на результат и его себестоимость.
По поводу результата: система уже в разработке, завтра вечером первичная демонстрация заказчику, завтра же обсуждение запросов на закупку дополнительных модулей. Конечный продукт вряд ли кто увидит, так как делается это для нас, там наши данные. Так что сделать скрины с приватными данными я не могу и не имею права. Будет интересно — напиши к моменту дедлайна, примерно 31 августа, я тебе отвечу в какой фазе проект.
Удачи. Спасибо за совет :)
А смета — это 100% работа с БД и 0% взаимоотношениями с клиентами.
Если вы собираетесь развивать сметы до диаграмм ганта с автоматическими распределениями сроков с объемами по субподрядчикам, то наверно уже можно посмотреть в сторону CRM. В России это точно не имеет смысла делать, т.к. тут с ручным управлением ни один срок не выдерживается.
Вот примерная простейшая архитектура без излишеств:
1. Своя кастомная таблица с полями [key][name][unit][max_manual][max_mech][max_mats], в которую можно все наименования работ с экселя закинуть
2. Сверху формы добавления:
3. Сразу под поиском:
4. Создать страницу с пустым шаблоном для ajax запросов, например, website.com/app, в которую поместить сниппет обработки запросов, в самом сниппете на $action повесить case «search» «select» «create»
5. Добавить скрипт, который на onchange .search-input ловит $(this).attr('name') + $(this).val() и с action «search» направляет всё на /app «search» и возвращает найденные строки, джойнит их и оборачивает, например, в 6. На клик по .selector-item направить $(this).val() на сниппет с case «select», возвращать отдельную работу, например, так:
далее брать стоимость работы по умолчанию и складывать со значением .total-sum
7. Повесить скрипт на на onchange стоимости для каждой добавленной работы и пересчитывать со значением .total-sum
8. После списка добавленных работ:
9. По кнопке .create-order скрипт джойнит добавленные значения из .added-items, и вместе с данными формы отправляет на /app «create»
10. Для «create» нужно создать вторую кастомную таблицу заказов с полями [order_id][works][customer_name][customer_phone][...][date_added], где «works» это список работ в json формате с idx ключом для возможности редактирования данных в будущем
Далее подперчить скриптами, сделать страницу вывода заказов и вроде всё ок
p.s. про единицу измерения не понял
p.s.s. можно вообще без добавления $action case «select» и просто объединить html из пунктов 5 и 6 в каждом результате, а уже стилями ненужное скрывать. Тогда при добавлении просто клонировать объект и подставлять в .added-items, где скрыта кнопка добавления…