- История проекта
- Мониторинг исполнения плана закупок в Битрикс24
- Как создавали решение
- Ролевая модель и доступ
Кто сталкивался с планированием и мониторингом рабочих процессов, тот понимает насколько удобнее смотреть на их прогресс в какой-нибудь сводной таблице, а не в отдельных документах, разложенных по папкам. В компании MR Group хотели собрать в одном месте всю ключевую информацию о ходе закупок для своих строительных проектов. Расскажем как мы помогли с развитием их системы мониторинга, создав раздел с закупками на Битрикс24.
История проекта
Компания MR Group — один из лидеров рынка девелопмента в Москве и Московской области, что подтверждается рейтингами и отраслевыми исследованиями. Количество объектов, находящихся на разных этапах строительного цикла, велико и требует тщательного ресурсного планирования и управления. Одним из рабочих инструментов компании является Система календарно-сетевого планирования (СКСП), позволяющая справляться с любыми задачами: от небольших проектов до крупных инициатив. Каждый проект можно декомпозировать на задачи, назначить ресурсы и определить последовательность их выполнения, подготовить дашборд с текущим срезом по всему объему работ.
Но СКСП заточена только под процесс планирования и управления ресурсами, представлять общую картину по закупкам в доступном виде она не умеет. Если руководитель проекта захочет посмотреть как идут работы на строительной площадке, то ему придется переключиться в приложение для видеонаблюдения, чтобы взглянуть на проектную документацию — перейти в файловое хранилище, поставить задачу исполнителю — в мессенджере, посмотреть ход тендерной закупки — в системе планирования закупок.
Естественным образом возникло желание создать приложение, которое объединит все важные для руководителя инструменты и данные в одном месте. На роль такого приложения был выбран Битрикс24.
В классическом виде Битрикс24 — весьма функциональный комбайн для управления бизнесом. На его базе построено отдельное решение — Корпоративный портал — который обычно используется для организации внутренних коммуникаций. Для мониторинга девелоперских проектов он не разрабатывался. Тем не менее, на его основе MR Group удалось создать отдельную информационную систему мониторинга проектной деятельности.
Из классического Корпоративного портала убрали всё, что не требуется для решения задачи информирования менеджмента о ходе строительства: CRM, чат и звонки, почта, открытые линии и некоторые другие разделы. Группы поменяли «специализацию» и стали Проектами. Не «пострадали» только Задачи.
В итоге MR Group получила уникальную информационную систему (СУИП — Система управления инвестиционными проектами) на сильно кастомизированном Битрикс24, которая умеет:
-
мониторить статус задач в СКСП;
-
показывать real-time картинку со строительных площадок;
-
хранить проектную документацию;
-
показывать «ритм проекта» — фактическое соблюдение сроков и параметров проекта;
-
ставить задачи исполнителям и др.
Главная страница Битрикс-приложения.
Карточка проекта.
В определенный момент появилась потребность обогатить СУИП сведениями о процессе закупок. В соответствующем разделе планировалось выводить информацию о перечне закупок, их статусе, ответственном лице, бюджете, тендерной процедуре и т.д. Для этого предстояло интегрировать кастомный Битрикс24 с системой планирования закупок и СКСП.
Эта задача решалась в рамках технической поддержки. О том насколько нетривиальными могут быть задачи техподдержки мы рассказывали в нашем блоге.
Мониторинг исполнения плана закупок в Битрикс24
В начале любого строительного проекта в СКСП создается План проекта, с которым связан соответствующий План закупок. В «эталонном» Плане закупок зафиксирована определенная последовательность и длительность этапов, но в частном Плане, где всё зависит от особенностей проекта, могут добавляться и удаляться строки, меняться их порядок.
Закупки привязаны к задачам в СКСП и если они там изменились, то в Плане закупок даты должны тоже измениться, и это движение должно быть отражено в СУИП. Особенность здесь в том, что задачи и сроки закупок связаны последовательно, при увеличении сроков первой задачи, следующие должны автоматически сдвигаться вперед.
У каждой закупки в Плане закупок есть ответственный исполнитель, который отмечает в Системе планирования закупок следующие факты: этап закупки начат, сдвиг дат закупки, % исполнения этапа. Это позволяет отслеживать статус каждой из закупок и рассчитывать её плановую дату завершения. Данную информацию и следовало передавать в СУИП.
Как создавали решение
Создавать раздел мониторинга закупок начали с макета.
Макет раздела закупок.
Казалось логичным использовать в Битрикс в качестве «Закупок» сущность «Задачи» (каждая закупка как отдельная задача), но из-за встроенной в Битрикс системы прав доступа к задачам от идеи отказались. В итоге создали отдельную сущность со своими полями, которые определяют уровень и принадлежность закупки (проект/очередь/этап). Для получения списка закупок написали скрипт интеграции с Rabbit MQ, который является поставщиком всех необходимых данных во внутреннем контуре.
Полученные из Rabbit данные раскладываются по инфоблокам для дальнейшего отображения в СУИП. Для этого создана логика выборки закупок и формирования их иерархии по проектам, разделам и этапам.
Выглядит это так.
Главная страница раздела закупок.
Главная страница раздела закупок: перечень закупок проекта
Т.к. вначале предполагался небольшой объём данных для отображения, то фильтрацию и пагинацию изначально не закладывали. В дальнейшем, задачи фильтрации закупок и «листания страниц» приложения стали самыми трудоемкими. Нужно было обрабатывать более тысячи строк, учитывая состояние каждого фильтра для подсчета и вывода необходимого количества страниц в панели навигации.
По первоначальным функциональным требованиям были нужны только два фильтра: по виду тендера и по ответственному. Это позволяло обойтись простым специализированным решением для фильтрации, которое покрывало особенности хранения данных. Но со временем захотелось полномасштабной системы фильтров и специализированное решение становилось сложным.
Дело в том, что из Rabbit вся иерархия закупок передаётся плоским списком, который целиком хранится в таблице на портале. Таким образом, в одной таблице хранятся и закупки, и их разделы (виды тендеров), и их проекты. Любой фильтр, ограничивающий вывод разделов/проектов, должен быть интегрирован с фильтром по этим полям. Следовательно, фильтры нельзя просто так объединять друг с другом.
Решение проблемы фильтров пробовали искать в смене схемы хранения данных на портале. Вначале предполагали такой вариант:
-
В таблице закупок хранятся только сами закупки (нижний уровень).
-
Возможные виды тендеров хранятся в отдельной таблице, на которую ссылается таблица закупок по id записи вида тендера.
-
Хранилищем проектов выступает уже существующий инфоблок «Очереди проектов». Так как с закупками передаются id проекта/очереди/этапа, мы можем однозначно определять нужную карточку в инфоблоке и записывать её id в таблицу закупок.
В результате все поля закупки становятся «самостоятельными», т.е фильтры по ним не имеют взаимосвязей, и их можно соединять друг с другом напрямую. Однако в ходе анализа выяснили, что использовать зависимости между записями неудобно: один и тот же тип закупки в нескольких проектах не мог быть представлен одной записью, т.к. как имел уникальные вторичные значения для каждого проекта. Получалось, что хранить всё в одной таблице и регулировать запросы к ней было многократно проще.
Сейчас все данные по закупкам по-прежнему хранятся в одной таблице, но организованны так, что её можно расценивать как три. Записи самих закупок содержат в себе все данные для фильтрации и пагинации. Когда получена выборка подходящих закупок, вторым запросом извлекаются их типы и проекты.
Закупки, отфильтрованные по выбранному тендеру.
В разделе автоматически подсвечивается ситуация с выдерживанием сроков проекта (зеленый этап завершен раньше срока, красный – отставание), а также выгрузка таблицы в Excel.
Ролевая модель и доступ
В Битрикс24 по умолчанию реализована ролевая модель, с помощью которой можно организовать раздельный доступ к проектам/сделкам. С учетом того, что в СУИП девелоперские проекты — это «группы» в терминологии Битрикс, то можно организовать управление доступом к каждой группе.
У заказчика есть два типа групп:
-
Рабочая группа — это менеджер проекта, экономист, юрист, т.е. те, кто выполняет в проекте конкретную работу. Состав рабочей группы приходит из 1С (через RabbitMQ).
-
Команда проекта — это рабочая группа и наблюдатели, то есть все, кто запросил доступ на просмотр карточки проекта и получил одобрение.
Раздел с тендерами доступен всем пользователям портала, но редактировать закупки могут только администраторы и участники определённой группы Битрикс.
Хотите мониторить в Битрикс24 не только продажи/закупки, но и другие важные процессы? Это возможно. Опишите вашу задачу в форме обратной связи внизу. Наш аналитик перезвонит, чтобы уточнить детали и ответить на ваши вопросы.
- аренда команды (от 2 человек, не менее 3 месяцев);
- итерации с фиксированной ценой (1-3 месяца длительностью).
- регулярные онлайн-планерки с заказчиком;
- квалифицированных специалистов;
- организованную команду (находятся в одном помещении, что упрощает решение рабочих вопросов);
- полную прозрачность и регулярность отчетов о результатах.
- нагруженный интернет-магазин;
- личный кабинет;
- оптовые продажи — B2B-платформа;
- маркетплейс;
- технический аудит сайта;
- Битрикс24 — корпоративные HR-порталы;
- Битрикс24 — построение CRM-системы;
- Битрикс24 — личные кабинеты сотрудников;
- Битрикс24 — аудит портала;
- 1С — интеграция с другими системами;
- 1С — доработка системы;
- маркетинг — комплексное интернет-продвижение;
- маркетинг — продвижение для B2B.
Статьи по теме




