Вопрос «а мои данные я смогу забрать» обычно получает ответ «конечно, экспорт есть». Ответ может быть правдивым и всё равно бесполезным, потому что словом «экспорт» называют слишком разное: и кнопку под графиком, которая отдаёт нарисованное на экране за выбранный там же период, и передачу всего архива вместе с перечнем точек и журналом аварий. Что именно имел в виду подрядчик, выясняется в тот день, когда данные понадобились: при споре с поставщиком ресурсов, при разборе аварии или при переезде к другому исполнителю.
Дальше — семь вопросов и разбор ответов на них. К каждому вопросу написано, как звучит ответ, за которым стоит работающая выгрузка, и как звучит вежливый отказ. Порядок неважен, важен последний вопрос: без пробного файла первые шесть остаются словами.
Вопрос 1. Что входит в выгрузку, кроме графиков
Просите не «экспорт», а перечень того, что уходит в файл. «Данные объекта» — это не только кривые на экране, и разница вылезает позже:
- •Архив показаний по всем точкам, а не только по выведенным на мнемосхему,
- •Журнал событий и аварий: возникновение, снятие, квитирование,
- •Журнал действий оператора: кто и когда менял уставку или режим,
- •Действующие уставки, расписания и настройки регулирования,
- •Перечень точек: имя, единицы измерения, шкала, привязка к оборудованию,
- •Описание обмена: протокол, адреса, что откуда читается.
Хороший ответ идёт по этому списку и говорит, что из него выгружается штатно, что по запросу, а что не выгружается вовсе. Плохой — сводит всё к первому пункту: «графики выгрузим». Два последних пункта — перечень точек и описание обмена — это и есть то, без чего архив остаётся столбцами чисел неизвестно о чём.
Вопрос 2. В каком виде приходит файл
Открытый формат — это тот, чья спецификация опубликована и который открывается посторонней программой. Общеупотребимые примеры — CSV, XML, JSON: описание их устройства общедоступно, поэтому разобрать такой файл может чужая программа, а не только та, которая его записала. Проверять на слово не нужно: спросите, чем ещё, кроме вашей системы, этот файл читается, и попросите назвать формат по имени. Отчёт в PDF выгрузкой не является — в нём уже принято решение, что и как усреднить, а исходных значений нет.
Отдельно оговорите собственный формат подрядчика. Он допустим как дополнение — иногда в нём удобнее хранить конфигурацию целиком, — но не как единственный путь. Если файл открывается только просмотрщиком исполнителя, привязка к нему никуда не делась, просто переехала из интерфейса в формат.
Вопрос 3. С какой подробностью и за какой период
Здесь прячется потеря, которую нельзя отыграть. Спрашивайте тремя частями: с каким шагом пишется архив, хранятся ли исходные значения или только усреднённые, и на какую глубину назад архив вообще лежит. Усреднение необратимо: если в хранилище остаются средние за час, суточный пик и короткий провал уже не восстановить ничем — ни выгрузкой, ни обращением к подрядчику.
Вторая часть того же вопроса — что происходит со старыми данными, когда глубина хранения исчерпана. Удаляются, прореживаются, переезжают в архив с другим шагом. Ответ «храним всё и всегда» стоит переспросить: у хранилища есть размер, а значит, где-то задано правило, по которому старое уступает место новому. Вопрос в том, знаете ли его вы.
Вопрос 4. Что стоит рядом с числом
Столбец значений без сопровождения защитить в споре нельзя. Спросите, что в файле есть помимо самих чисел:
- •Имя точки и единицы измерения — иначе непонятно, что за величина,
- •Время с указанием часового пояса и в одинаковом формате по всему файлу,
- •Признак недостоверности: связь потеряна, датчик неисправен, значение подставлено,
- •Отметка, что значение усреднено или интерполировано, а не измерено.
Признак недостоверности важнее, чем кажется. Без него провал связи не отличить от честного нуля, и в разборе аварии обе стороны будут читать один файл по-разному. С часовым поясом та же история: расхождение в час превращает сверку суточных объёмов в спор ни о чём.
Вопрос 5. Кто формирует файл и что будет, когда мы поссоримся
Выгрузка вами самими и выгрузка по заявке годятся одинаково — при одном условии: в договоре записаны состав, формат и срок. Разница появляется не в спокойный день, а в конфликтный. Ответ «понадобится — выгрузим» означает, что обязанности нет: есть добрая воля, и заканчивается она вместе с отношениями.
Тем же вопросом закройте расторжение: в какой срок и в каком виде передаётся полный архив и остаётся ли доступ к системе на время переезда. Это тот же самый пункт, что и передача исходников и доступов, только про данные — что проверить в документах заранее, разобрано в статье что проверить в договоре до ухода подрядчика.
Вопрос 6. Ответит ли файл на ваш вопрос
Выгрузка нужна не ради файла. Возьмите один свой сценарий и проверьте на нём: свести показания с начислением поставщика ресурсов, посчитать наработку оборудования до обслуживания, разобрать ночную аварию поминутно, передать историю другому исполнителю. Спросите прямо: «вот этот вопрос по вашему файлу закрывается?»
Сюда же — имена точек. Если вместо имени в перечне стоит внутренний код канала без расшифровки, перенос истории в другую систему превращается в ручной разбор каждого столбца. Читаемые имена и привязка к оборудованию должны быть частью выгрузки, а не знанием, которое живёт в голове инженера подрядчика.
Вопрос 7. Покажите пробный файл
Первые шесть ответов проверяются одним действием: пробная выгрузка за одни сутки — с действующего объекта подрядчика или со стенда. Просить её надо до подписания: состав и формат выгрузки — предмет договорённости, и спорить о них, когда работа уже сдаётся, поздно. Натурные испытания вроде отключения канала связи, наоборот, делаются на приёмке: там проверяют поведение объекта, а не то, о чём договорились на бумаге.
| Что смотрим | Как проверяем | Признак проблемы |
|---|---|---|
| Полнота | Сверить состав файла с перечнем точек | В файле только то, что выведено на экран |
| Совпадение с экраном | Взять три значения на выбор и найти их в тренде | Расходятся или сдвинуты по времени |
| Время | Посмотреть границу суток и часовой пояс | Пояс не указан, сутки начинаются не там, где ожидали |
| Пропуски | Найти участок с обрывом связи | Пропуск подменён нулём или последним значением |
| Читаемость | Открыть файл посторонней программой | Нужен просмотрщик подрядчика |
| События | Запросить журнал аварий за тот же период | Журнал не выгружается вовсе |
Результат проверки стоит приложить к договору вместе с самим файлом-образцом. Тогда предметом обязательства становится не слово «экспорт», а конкретный вид выгрузки, который обе стороны видели.
Ответы, за которыми обычно ничего нет
Отказ редко звучит как отказ. Чаще это спокойная фраза, после которой разговор уходит в сторону. Ниже — те, что встречаются чаще всего, и чем их разворачивать обратно.
| Что отвечают | Что за этим стоит | Что переспросить |
|---|---|---|
| «Экспорт, конечно, есть» | Речь про кнопку на экране графика | Покажите файл за сутки по всем точкам |
| «Выгрузим в таблицу» | Назван формат, но не состав | Что будет в столбцах, попадут ли события и уставки |
| «Пришлём отчёт» | Отчёт — это свод, исходных значений в нём нет | Нужны исходные значения, свод — отдельно |
| «Данные и так у вас в кабинете» | Доступ к экрану подменяет владение архивом | Как забрать архив целиком и в каком виде |
| «Понадобится — сделаем» | Обязанности нет, есть добрая воля | Запишем в договор состав, формат и срок |
| «Формат наш, дадим просмотрщик» | Привязка осталась, просто переехала в формат | Чем ещё этот файл открывается |
Что записать в договор
Всё выясненное разговором переносится в документы одним абзацем. Минимум, который стоит требовать:
- •Состав выгрузки: архив, события, действия оператора, уставки, перечень точек,
- •Формат — названный по имени, с условием, что он открытый,
- •Порядок и срок выгрузки: кто формирует, за сколько дней, как часто,
- •Глубина хранения и правило прореживания старых данных,
- •Описание обмена с оборудованием: протокол, адреса, единицы измерения,
- •Передача полного архива при расторжении, со сроком,
- •Файл-образец как приложение — предмет обязательства, а не слово «экспорт».
Соседний по смыслу вопрос — что на объекте продолжит работать при обрыве связи и где копится история, пока сервер недоступен. Он проверяется тем самым натурным испытанием на приёмке — физическим отключением канала связи — и разобран отдельно: что спросить про работу объекта без облака.
Что это меняет
Семь вопросов не делают данные вашими. Они показывают, ваши ли они, — пока решение ещё не принято и деньги не уплачены. На объектах, которые ведём мы, ответ на первый из них не зависит от того, как сложатся отношения: данные принадлежат заказчику и выгружаются в открытом формате, а вместе с системой передаётся описание, как всё устроено, — написанное для инженера, который придёт после нас. Полный перечень того, что заказчик забирает на руки, собран на странице что мы делаем и что остаётся у вас.
Частые вопросы
Что считать открытым форматом выгрузки?
Тот, спецификация которого опубликована и который открывается посторонней программой — без просмотрщика подрядчика и без обращения к нему. Общеупотребимые примеры — CSV, XML, JSON. Практический признак простой: файл читает инженер, у которого нет доступа к вашей системе диспетчеризации. Собственный формат допустим как дополнение, но не как единственный способ забрать архив.
Отчёт в PDF — это выгрузка данных?
Нет. Отчёт показывает уже принятое решение о том, что и как усреднить, а исходных значений в нём нет. По отчёту нельзя пересчитать наработку по другой границе суток, свести показания с расчётом поставщика ресурсов или разобрать аварию поминутно. Просите исходные значения, а свод — отдельно и вдобавок.
Кто должен нажимать кнопку выгрузки?
Годится и выгрузка вами самими, и выгрузка по заявке — при условии, что в договоре записаны состав, формат и срок. Не годится ответ «понадобится — сделаем»: это не обязанность, а добрая воля, и заканчивается она ровно тогда, когда отношения портятся. Отдельно оговаривается передача полного архива при расторжении.
Зачем в выгрузке список точек и единицы измерения?
Без них столбец чисел не данные, а набор цифр: непонятно, что за величина, в чём измеряется и к какому оборудованию относится. Список точек с именами, единицами и шкалами — часть передаваемого наравне с архивом. Он же нужен, чтобы перенести историю в другую систему без ручного разбора каждого столбца.
Как проверить выгрузку до подписания договора?
Попросить пробный файл за одни сутки с действующего объекта подрядчика или со стенда: несколько точек плюс журнал событий. Дальше сверить три значения на выбор с тем, что показывает экран, посмотреть границу суток и участок с обрывом связи. Проверка занимает вечер и делается до денег, а не после.