По релевантности По дате

Кейс: обновления для «Сметтера»

Мы внедрили ряд обновлений на сайт «Сметтера». Рассказываем о самой большой сложности и способе ее решения.

«Сметтер» — система для контроля производства работ, финансов, прибыли и расчетов по объектам и сметам в строительстве, ремонте, отделке и благоустройстве. О том, как мы начинали работу над проект, можно прочитать в кейсе.

Активные пользователи «Сметтера» сообщают о недочетах и высказывают пожелания о том, какие опции стоит добавить. На основе фидбека мы продолжили развивать продукт и внедрять новый функционал. Вот список обновлений, реализованных с февраля по май 2018 года:

  • Возможность добавить реквизиты и логотип компании. Они появляются во вкладке «Смета» заказчика и на печатных бланках смет и актов выполненных работ.

Кейс: обновления для «Сметтера» - 1

  • Подстановка позиций из справочника расценок при добавлении новой позиции в смете.

Кейс: обновления для «Сметтера» - 2

  • Удобное копирование данных в смету из таблицы Excel.
    Нужно просто скопировать данные из таблицы Excel или других таблиц и вставить в «Сметтер».

Кейс: обновления для «Сметтера» - 3

  • Справочник расценок.
    Добавлена возможность загружать в «Сметтер» расценки для работ, которые выполняются из проекта в проект. Теперь пользователи «Сметтера» могут быстро составлять сметы и не забывать включить в смету все необходимые работы, так как весь список возможных работ будет у них перед глазами.

Кейс: обновления для «Сметтера» - 4

Наиболее сложной доработкой из перечисленных оказался «Справочник расценок», а именно функционал, отвечающий за сортировку и редактирование позиций в справочнике. Разработка справочника затянулась на долгих три месяца, хотя мы рассчитывали уложиться за месяц.

«Поскольку это веб-приложение и была выбрана схема работы по протоколу HTTP, у нас возникли трудности с отслеживанием очередности запросов. Все действия по изменению сметы на сервере должны выполняться точно в такой же последовательности, что и на клиенте. Так, например, мы не можем изменить название позиции раньше, чем эта позиция появится в базе данных сервера. Запросы с клиента отправляются асинхронно и мы не знаем, в какой последовательности они придут на сервер, также не знаем, с какой скоростью сервер их обработает и отдаст ответ. Таковы особенности работы сети и протокола HTTP, в частности. Поэтому могла возникнуть ситуация, когда данные на сервере начинают отличаться от данных на клиенте, и это особенно касается сортировки.

Позиции в справочнике имеют жесткую двухуровневую структуру, целостность которой обеспечена индексами сортировки и привязкой к родителю (если есть). Нарушение этой структуры может привести (и приводило в сметах) к различным негативным эффектам: например, таким, как неправильный расчет по смете, „пропажа“ позиций на клиенте, либо просто к невозможности продолжить работу по смете на стороне клиента. Таким образом, узким местом стало сохранение структуры позиций в смете. На изменение структуры позиций влияют три действия: добавление, удаление и сама сортировка непосредственно. Кроме того, оставалась нерешенной проблема, когда запрос на обновление позиции приходил раньше, чем запрос на добавление позиции.»

Артем Михайлов, программист

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

 

Команда проекта
  • Руководитель проекта — Наталья Воропаева
  • Дизайнер — Ирина Окулова
  • Верстальщики — Кирилл Дятлов, Максим Сафаралиев
  • Технический директор — Сергей Трифонов
  • Программист — Артем Михайлов

Понравилась статья? Расскажи об этом друзьям!

Комментарии

comments powered by HyperComments
Нужен успешный проект или реклама?
Хочу заказать