«Альтаир»: учёт и себестоимость работ по обслуживанию объектов связи
НТСК обслуживает объекты и линии связи сотовых операторов: выполняет техническое обслуживание (ТО), аварийно-восстановительные (АВР) и ремонтно-восстановительные работы (РВР), в том числе на дизель-генераторных установках (ДГУ), силами собственных бригад и субподрядчиков.
Мы создали для неё комплексную информационную систему «Альтаир», которая объединила круглосуточный диспетчерский центр, выездных исполнителей с мобильным приложением, субподрядчиков и представителей заказчика работ, затем модернизировали её — система стала рассчитывать себестоимость каждой заявки и контролировать оплату по договорам — и сопровождали до 2023 года.
Заказчик
НТСК — подрядная организация, выполняющая работы по обслуживанию инфраструктуры связи по генподрядным договорам с сотовыми операторами и привлекающая субподрядчиков в регионах.
Вызов
Работы на объектах связи идут непрерывно: плановое ТО по графику, аварийные заявки — круглосуточно. В процессе участвуют три стороны — заказчик работ, подрядчик и субподрядчики, — и у каждой свои договоры, цены и зона ответственности.
Что требовалось на этапе создания системы:
- Единый поток заявок. Принимать заявки на АВР и РВР в диспетчерском центре круглосуточно, регистрировать их в одной базе, назначать исполнителей и отслеживать статус до закрытия.
- Связь с выездными бригадами. Исполнитель на объекте должен получать заявку, видеть сведения об объекте и его местоположение и отправлять результаты работ с мобильного устройства, а не по телефону и почте.
- Учёт объектов и договоров. Вести реестр обслуживаемых объектов и линий связи, договоров обслуживания, формировать сводные заказы и отчётность, согласовывать с заказчиком закупку материалов и услуг.
Что требовалось при модернизации:
- Себестоимость каждой заявки. Свести в одной заявке все затраты: договорную стоимость работ, транспорт и топливо, труд исполнителей, время работы ДГУ и материалы, списанные в 1С.
- Цены в разрезе регионов и оборудования. Стоимость одних и тех же видов работ различается по субъектам РФ и типам ДГУ, а у субподрядчиков — свои цены по своим договорам.
- Контроль денег по договорам. Видеть сроки оплаты субподрядчикам и поступлений от заказчика, формировать акты и задания на оплату, передавать документы в 1С и в электронный документооборот.
Коробочные решения закрывают эти задачи по частям: учётная система ведёт материалы и взаиморасчёты, но не работает с выездными бригадами и заявками, а системы управления выездным персоналом не считают себестоимость по ценам генподрядных и субподрядных договоров. Требовалась система, которая связывает всё это вокруг одной заявки.
Решение
Разработана комплексная информационная система «Альтаир» для подрядчика, обслуживающего объекты связи. Главная единица системы — заявка на выполнение работ на объекте: вокруг неё собираются ход работ, исполнители, материалы, затраты, документы и оплата.
Архитектура

Система построена по трёхуровневой схеме:
- Клиентская часть — веб-приложение («тонкий» клиент в стандартном браузере, без установки ПО на рабочие места) и мобильное приложение для Android;
- Сервер приложений — бизнес-логика на C# под IIS;
- Сервер баз данных — Microsoft SQL Server.
Доступ к системе — только по HTTPS. Файлы пользователей (в том числе аудио и видео) хранятся в файловом хранилище под уникальными именами (GUID), а в базе данных — только их характеристики: исходное имя, тип, размер, даты создания и изменения.
Основные компоненты
1. Заявки и диспетчеризация
Заявки на АВР и РВР принимает единый диспетчерский центр, работающий круглосуточно; плановые заявки на ТО загружаются реестром. Система поддерживает полный жизненный цикл заявки: формирование, назначение исполнителя, смена и отслеживание статуса, отчёт по заявке, включение заявок в сводные заказы.
2. Мобильное приложение исполнителя
Руководитель подразделения назначает заявки на исполнителей, исполнитель получает их в приложении вместе со сведениями об объекте и его местоположением, вносит и отправляет результаты работ. По объекту можно записать и сохранить аудио и видео — они доступны в карточке объекта и в мобильном, и в веб-приложении.
3. Договоры и цены
Система ведёт генподрядные договоры с заказчиком и субподрядные договоры с привязкой к генподрядному. Виды работ и их стоимость загружаются из Excel-шаблона, который система формирует под конкретный договор:
- в шаблоне договора с заказчиком — столбцы по субъектам РФ, где действует договор; для договоров на обслуживание ДГУ — отдельный лист на каждый тип ДГУ;
- шаблон субподрядного договора выгружается уже с перечнем видов работ основного договора и столбцами по регионам субподрядчика;
- иерархия видов работ определяется по порядковому номеру в шаблоне.
Об окончании срока действия договора ответственные сотрудники получают уведомления по электронной почте — за месяц и в день истечения.
4. Расчёт себестоимости заявки
Стоимость выполненных договорных работ рассчитывается в отчёте по заявке и зависит от роли пользователя: субподрядчик видит стоимость по своему договору. Себестоимость заявки складывается из:
- пробега и затрат на топливо транспорта, выезжавшего на работы;
- состава исполнителей и времени выезда и возвращения в подразделение;
- времени работы ДГУ;
- материалов, списанных через 1С: система получает из 1С запасы, закреплённые за материально-ответственными лицами, и формирует задания на списание.
5. Взаиморасчёты и документы
В карточке заказа формируются акты выполненных работ и задания на оплату; отчёт о планируемых поступлениях показывает ожидаемые оплаты по договорам. Акты и платёжные поручения передаются в 1С, документы — в систему электронного документооборота Диадок.
Формы заказов и актов настраиваются в конструкторе форм выгрузки без программирования: состав, наименования и ширина столбцов, шапка формы, виды работ (ТО, АВР, РВР). Форма настраивается одна на договор и выглядит одинаково в отчёте по заявке и в заказе.
6. Рабочее место регионального представителя заказчика работ
Представители заказчика работают в той же системе: создают заявки и согласуют объёмы выполненных работ. Каждый видит только заявки своего региона.
7. Массовая загрузка данных
Реестры плановых заявок и новых объектов загружаются из Excel-шаблонов, которые формирует система; шаблон заполняется вне системы и загружается обратно в соответствующий реестр.
Роли пользователей
- Диспетчер — принимает и регистрирует заявки, контролирует их выполнение.
- Руководитель подразделения — назначает заявки на исполнителей.
- Исполнитель — получает заявки и отправляет результаты из мобильного приложения.
- Субподрядчик — выполняет заявки и видит стоимость работ по своему договору.
- Региональный представитель заказчика работ — создаёт заявки и согласует объёмы работ своего региона.
- Ответственные за договоры и взаиморасчёты — ведут договоры и цены, акты, задания на оплату, контролируют поступления.
Технологический стек
| Слой | Технология | Причина выбора |
|---|---|---|
| Backend | C#, IIS | Строгая типизация бизнес-логики расчётов и документов; серверная платформа заказчика |
| База данных | Microsoft SQL Server | Серверная инфраструктура заказчика |
| Веб-клиент | «Тонкий» клиент в браузере (Firefox, Chrome, Safari) | Работа без установки ПО на рабочие места, в Windows и Linux |
| Мобильное приложение | Android | Устройства выездных исполнителей |
| Хранение файлов | Файловое хранилище с GUID-именами, метаданные в БД | Аудио и видео не раздувают базу данных |
| Интеграции | 1С, Диадок, электронная почта | Материалы и взаиморасчёты остаются в учётной системе, документы — в ЭДО |
| Импорт данных | Excel-шаблоны, формируемые системой | Структура файла под контролем системы — загрузка без ручного сопоставления |
| Безопасность | HTTPS, ролевой доступ | Шифрование канала; каждый видит свои договоры, цены и регион |
| Инфраструктура | Windows Server — на серверах заказчика | Требование заказчика |
Подходы, которые себя оправдали
- Заявка — единица учёта. Все затраты, документы и файлы привязаны к заявке, поэтому себестоимость получается как результат обычной работы, а не как отдельный отчёт, собираемый вручную.
- Шаблон формирует система. Excel-шаблон под конкретный договор выгружается из системы и загружается обратно с той же структурой — цены по регионам и типам ДГУ попадают на свои места без ручного сопоставления.
- Ролевой расчёт стоимости. Заказчик работ, подрядчик и субподрядчики работают в одной системе, но каждый видит цены только своего договора.
- Учёт остаётся в 1С. Система не дублирует бухгалтерию: получает остатки материалов, передаёт задания на списание, акты и платёжные поручения.
- Поэтапная модернизация. Шесть последовательных этапов, каждый заканчивается работающей функцией; завершает модернизацию опытная эксплуатация с обновлением инструкций.
Результаты
Ключевой результат модернизации — себестоимость каждой заявки: затраты на транспорт, людей, работу ДГУ и материалы сводятся с договорной стоимостью работ по ценам заказчика и субподрядчиков, а оплата по договорам отслеживается в той же системе.
Что даёт система
| Что появилось | Эффект |
|---|---|
| Единая база заявок и диспетчерский центр 24/7 | Каждая заявка зарегистрирована, назначена и отслеживается до закрытия |
| Мобильное приложение исполнителя | Результаты работ поступают с объекта, без пересказа по телефону и почте |
| Себестоимость заявки | Видно, во что обходится каждая заявка, каждый объект и каждый договор |
| Цены по регионам и типам ДГУ | Стоимость работ считается по условиям конкретного договора и региона |
| Мониторинг оплат и интеграция с 1С и Диадок | Акты, задания на оплату и ожидаемые поступления — в одном контуре |
| Рабочее место представителя заказчика | Заявки и согласование объёмов — в системе, а не в переписке |
Сроки
Мы создали систему, модернизировали её и сопровождали до закрытия проекта:
- Создание: 2016 — заявки и диспетчеризация, мобильное приложение исполнителя, реестры объектов и договоров, сводные заказы и отчётность.
- Модернизация: 2017 — шесть последовательных этапов, каждый заканчивался работающей функцией.
- Сопровождение и развитие: до 2023 года.
Модернизированная система развёрнута на серверах заказчика; заказчику переданы обновлённые инструкции, дистрибутив и исходный код.
В 2023 году проект закрыт в связи с реорганизацией НТСК и прекращением деятельности юридического лица.