Связаться

Обновление платформы в декабре 2025. Часть 3 — геозоны.

В декабре 2025 выпустили масштабное обновление платформы SKIF.PRO. В этой части мы расскажем об изменениях в разделе Геозоны.

  • Упростили работу со списком геозон:  теперь можно быстро находить нужную геозону на карте и продолжать работу со списком в том же контексте . Редактирование запускается отдельно и не мешает просмотру.
  • Клик по названию геозоны теперь выполняет только одно действие: плавно перемещает карту к геозоне (форма редактирования не открывается).
  • В каждой строке списка добавили кнопку «Редактировать» (иконка карандаша) — редактирование запускается явно по кнопке.
  • При просмотре и редактировании не сбрасываются: фильтры, поисковый запрос и позиция скролла в списке.
  • Комментарий к геозоне теперь можно увидеть через tooltip при наведении (если комментарий заполнен), без открытия формы.
  • Кнопка видимости «глазик» и форма редактирования работают как раньше, функциональность сохранена.

Обновили экран фильтров геозон

  • В фильтрах геозон изменили поведение кнопки применения: раньше она нажималась фактически только по названию, из-за чего пользователи часто «промахивались». Теперь строка кнопки корректно отрабатывает нажатие по всей ширине
  • Улучшили сценарий создания геозоны по координатам. Теперь можно сначала вставить или ввести координаты (например, из Яндекс Карт или Google Maps), а затем выбрать точку на карте и создать геозону.
  • Пользователь может сам ввести или вставить скопированные координаты
    ставит точку на карте

Оптимизировали производительности в сценариях, с большим количеством геозон

  • Провели оптимизацию производительности в сценариях с большим количеством геозон и объектов: интерфейс работает заметно стабильнее при переключении компаний, открытии «Групп мониторинга», а также при массовых операциях с геозонами.
  • Быстрее открываются списки и настройки, меньше задержек при отрисовке на карте и при работе с крупными группами/наборами геозон, особенно в компаниях с тысячами геозон и при активной эмуляции данных.

Что изменилось

  • Привели к корректному поведению отображение названий геозон при большом количестве геозон в компании (чтобы отрисовка не перегружала карту).
  • Оптимизировали представление «Группы мониторинга»: крупные группы открываются быстрее, работа списка стабильнее (в том числе в Firefox).
  • Ускорили первичную загрузку интерфейса в «тяжёлых» сценариях (например, после запуска эмуляции с большим числом объектов и входа в режиме инкогнито).
  • Снизили нагрузку при создании/редактировании рейса с большим количеством геозон: интерфейс ведет себя устойчивее при добавлении геозон.
  • Улучшили массовые операции с геозонами (включая разовое удаление больших объемов)
  • Ускорили получение и применение настроек отображения (включая запросы настроек/свойств), чтобы панель настроек открывалась быстрее.

 

Подписывайтесь на наш канал в телеграм: @skif_gps  и первыми узнавайте обо всех обновлениях платформы.

Другое в блоге

Обновление

В SKIF.PRO расширили возможности работы с компаниями. Теперь один объект мониторинга можно сделать доступным сразу в нескольких компаниях без необходимости создания копий и ручной синхронизации настроек и датчиков.  В платформе SKIF.PRO компания — это отдельное рабочее пространство. В нём находятся его пользователи, объекты, геозоны, уведомления, шаблоны отчетов, настройки и другие сущности. Такой принцип изоляции позволяет разграничивать данные разных организаций и упрощает администрирование. Интегратор работает в контексте выбранной компании, не смешивая её данные с другими клиентами.  По мере развития проектов появились задачи, в которых один и тот же объект должен быть доступен в нескольких компаниях. Например, при филиальной структуре, работе с одним объектом в компаниях с разными часовыми поясами, или для предоставления доступа владельцам, чья техника используется сторонней организацией. Для таких сценариев платформа позволяет делать независимые копии объектов со своим набором датчиков и нужными настройками. Этот вариант по-прежнему доступен, если задачи требуют разных конфигураций одного объекта. Теперь появилась возможность сделать один и тот же объект доступным сразу в нескольких компаниях, сохраняя единую конфигурацию. Интегратору достаточно указать в каких рабочих пространствах он должен быть доступен. Поддерживать копии объектов, вручную или через API переносить изменения между ними больше нет необходимости. Таким образом мы сохранили изоляцию компаний, но добавили возможность использовать общий объект там, где этого требует конкретный проект.  Сейчас новый механизм реализован для объектов. В дальнейшем аналогичный подход планируется распространить на другие сущности платформы, в том числе геозоны и шаблоны.

Подробнее
Обновление

В платформе SKIF.PRO реализована ретрансляция дополнительных статусов, необходимых для допуска беспилотных транспортных средств к эксплуатации на дорогах общего пользования. При ретрансляции SKIF.PRO передаёт параметры подзаписи EGTS_SR_AD_SENSORS_DATA полей ANS1–ANS4. Чтобы использовать доработку, создайте в системе соответствующие датчики и в их настройках укажите ретрансляцию в нужный параметр ANS: статус пассажира — ans2; статус такси — ans3. Новые требования Минтранса вступают в силу 1 октября 2026 года в связи с изменениями экспериментального правового режима. Рекомендуем заранее проверить передачу статусов от оборудования на принимающую сторону. При возникновении вопросов обратитесь в техническую поддержку. Поможем проверить или настроить ретрансляцию. Связаться можно через удобный для вас канал связи: 🔹 портал support.skif.pro 🔹 Telegram-бота @skifgps_bot 🔹 бота в MAX https://max.ru/id9729067730

Подробнее
Обновление

Парк молокозавода из Сибири насчитывает 97 автомобилей, задействованных в перевозке сырья и готовой молочной продукции. У предприятия уже была внедрена система мониторинга, но данные о фактической работе машин оставались отделены от транспортного учёта, а пробег, расход топлива и связанные с ними списания чаще всего определялись по путевым листам. Предприятию было важно проверить фактическую эксплуатацию автомобилей и какие ресурсы можно оптимизировать.  Проект вела компания «ЦИФРА» – интегратор цифровых решений для сельхозпредприятий. В числе направлений компании – ГЛОНАСС мониторинг транспорта, топливный контроль, аналитика и интеграции. Задачей «ЦИФРА» было связать данные мониторинга с внутренним учётом предприятия, выстроить на их основе систему контроля эксплуатации парка и получить независимый источник для проверки. Рассказываем какие нарушения удалось выявить благодаря данным из SKIF.PRO, и какой экономии достичь после того, как разные источники информации начали сопоставляться. Путевой лист перестал быть единственным источником данных Раньше предприятие использовало Wialon, но данные мониторинга существовали отдельно от транспортного учёта. При переходе на SKIF.PRO нужно было не просто перенести объекты в новую систему, а связать телематику с 1С, где велись основные учётные процессы предприятия. Для этого специалисты компании «ЦИФРА» использовали собственную разработку – подсистему «1С–ЦИФРА–SKIF.PRO». Её схема такова: рассчитанные в SKIF.PRO показатели загружались в 1С и сопоставлялись с данными путевого листа, прежде всего с пробегом и расходом топлива. В интерфейсе сотрудник сразу видел значение из документа, данные в системе мониторинга и отклонение между ними в абсолютном и процентном выражении. Если расхождение превышало 3%, служба безопасности молокозавода инициировала внутреннюю проверку и выясняла причину: была потеря сигнала ГЛОНАСС бортовым оборудованием или приписка водителя. Если расхождение превышало 3%, служба безопасности молокозавода инициировала внутреннюю проверку и выясняла причину: была потеря сигнала ГЛОНАСС бортовым оборудованием или приписка водителя. Путевой лист в 1С после интеграции для сравнения показателей из документа, значение SKIF.PRO и отклонение. Сотрудникам транспортной службы завода при этом не требовалось отдельно открывать систему мониторинга, искать автомобиль и вручную сверять данные. А при проведении документа можно было выбрать, какие показатели использовать в отчёте – нормативные, из путевого листа или рассчитанные SKIF.PRO. Антон Теряевдиректор по развитию компании «ЦИФРА» Для интеграции с «1С» нам было важно получать из системы не сырые данные, которые надо потом интерпретировать, а уже рассчитанные показатели. SKIF.PRO сам считает пробег, расход топлива и другие параметры, и в «1С» они поступают уже готовые для использования в учётном процессе. Так путевой лист перестал быть единственным источником информации. У транспортной службы и бухгалтерии появился второй, независимый источник – фактические данные из SKIF.PRO. И когда начали сопоставлять данные из разных систем, то на дальнем и регулярном маршруте выявили одно из первых серьезных расхождений. Одна из деревенских ферм «отдалилась» от завода на 44 км Молокозавод регулярно забирал молоко из одной и той же деревни несколько лет подряд. Фактическое расстояние по маршруту составляло 203 км. Но в путевых листах оно постепенно увеличивалось и за полтора года достигло 247 км. При сопоставлении путевого листа с данными SKIF.PRO заявленный пробег стал выше на 44 км. Машины продолжали ездить по прежнему маршруту, но вместе с километражем росли нормативы расхода топлива и другие связанные с пробегом затраты. Этот маршрут оказался лишь одним из выявленных расхождений. По той же схеме начали проверять остальные путевые листы. И единичная находка стала поводом для системной проверки всего парка. Завышенный пробег влияет не только на объём списанного топлива. От километража зависят и другие эксплуатационные нормативы, в том числе списание масла и шин. Поэтому предприятие пересмотрело сразу нескольких статей затрат, в том числе норм расхода топлива. В результате экономия по автопарку из 97 автомобилей только за один месяц после сверок составила 20 184 литра топлива. Обнаружили причину ухудшения качества продукции  Руководству завода стали поступать жалобы от торговых точек на качество продукции. Товар после поступления начинал портиться уже на второй-третий день, стало больше возвратов от покупателей и списаний товара. Нужно было понять, что происходит с молочной продукцией от отгрузки с завода до разгрузки в другом городе.  Для скоропортящейся продукции устанавливают определенный температурный режим перевозки. Поэтому для рефрижераторов, перевозящих товар, «ЦИФРА» установила датчики температуры в кузов. Если он показывает, что во время эксплуатации температура ниже, чем должна быть по регламенту, это значит, что холодильная установка либо работала на более малых оборотах, либо неисправна. Факт запуска рефрижератора определяли по напряжению сети с помощью абонентского терминала. Но одного температурного датчика было недостаточно. Рост температуры показывал, что режим перевозки нарушен, но не объяснял причину.  У рефрижератора собственный двигатель и отдельный топливный бак. В него установили беспроводные датчики уровня топлива. Если холодильник работал исправно, то уровень топлива снижался постепенно. В SKIF.PRO специалисты интегратора свели четыре типа данных и восстановили картину рейса. Сопоставляли маршрут автомобиля, температуру в кузове, признак работы холодильной установки и уровень топлива в её отдельном баке.  График рейса рефрижератора и график температуры  Выяснилось, что после выезда из города некоторые водители отключали холодильную установку для экономии топлива и снова запускали её только примерно за час-полтора до места доставки. В результате к точке разгрузки внешняя часть продукции успевала охладиться, но внутри температура могла оставаться повышенной.  После того как причина стала понятна, молокозавод усилил контроль за соблюдением температурного режима в пути. В SKIF.PRO настроили уведомления об отклонениях. И если температура в рефрижераторе выше положенного, то диспетчер получает сообщение от системы и может сразу связаться с водителем выяснить причину и принять меры. Таким образом соблюдение режима частично легло на систему мониторинга и перестало зависеть только от внимания водителей.  После внедрения такого контроля количество нарушений при перевозке было минимизировано, а вместе с ними сократилось и число претензий к качеству продукции соответственно. SKIF.PRO стал частью учётных и производственных процессов До проекта данные мониторинга сами по себе не позволяли молокозаводу проверить, насколько показатели в учёте соответствуют реальной эксплуатации автопарка. После перехода на SKIF.PRO телематику связали с 1С, а в самой системе объединили данные транспорта и дополнительного оборудования. А благодаря дополнительным датчикам получился более широкий контур контроля. Он позволил: обнаружить и исключить приписки пробега; организовать отслеживание расхода топлива, сократить его расход более чем на 20 тысяч литров за месяц после внедрения по парку из 97 автомобилей и далее оптимизировать ресурсы на обслуживание; соблюдать условия перевозки скоропортящейся продукцией и сохранить качество продукции; встроить телематические данные в 1С и упростить сотрудникам проверку путевых листов и других транспортных документов без ручного сопоставления нескольких систем.  В этом проекте данные SKIF.PRO стали дополнительным источником проверки внутренних документов. Тот же подход можно использовать и для других процессов, где бизнесу нужны достоверные данные транспорта. Открытый API SKIF.PRO позволяет подключать платформу к корпоративным системам и создавать собственные сценарии интеграции. Расскажите нам о своей задаче – покажем, как её можно реализовать через SKIF.PRO и привлечем компетентного интегратора для внедрения.  [two_banners]

Подробнее
Обновление

Мы разработали встроенного ИИ-ассистента, который работает непосредственно с данными SKIF.PRO и позволяет получать нужную информацию в режиме диалога. Пользователь может написать вопрос в чате или задать его голосом.  SKIF.PRO — первая среди российских платформ спутникового мониторинга, которая интегрировала функции ИИ-автоматизации непосредственно в платформу. В настоящее время инструмент проходит этап тестирования. Если вы желаете принять участие и опробовать его на своем автопарке – оставьте заявку.   /* Всё под префиксом sgpn-, окно — под своим id: тема сайта сюда не влезает, и фрагмент не трогает тему. */ .sgpn-cta { display: block; margin: 28px 0; padding: 0; text-align: left; font-family: 'Manrope', system-ui, sans-serif; } .sgpn-cta .sgpn-trigger, #sgpn-modal .sgpn-submit { -webkit-appearance: none !important; appearance: none !important; box-sizing: border-box !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 9px !important; width: auto !important; max-width: 100% !important; height: 52px !important; min-height: 52px !important; margin: 0 !important; padding: 0 26px !important; border: 0 !important; border-radius: 8px !important; background: linear-gradient(100deg, #2450C8 0%, #7A3F91 52%, #D9285C 100%) !important; color: #fff !important; font-family: 'Manrope', system-ui, sans-serif !important; font-size: 16px !important; font-weight: 600 !important; font-style: normal !important; line-height: 1 !important; letter-spacing: 0 !important; text-transform: none !important; text-decoration: none !important; text-shadow: none !important; white-space: nowrap !important; vertical-align: middle; box-shadow: 0 1px 2px rgba(16, 24, 40, .05) !important; outline: none !important; opacity: 1 !important; filter: none; transform: none; cursor: pointer !important; transition: transform 170ms cubic-bezier(.2, .7, .3, 1), box-shadow 170ms cubic-bezier(.2, .7, .3, 1), filter 170ms cubic-bezier(.2, .7, .3, 1) !important; } .sgpn-cta .sgpn-trigger:hover, #sgpn-modal .sgpn-submit:hover { background: linear-gradient(100deg, #1C43B4 0%, #6C357F 52%, #C41F50 100%) !important; color: #fff !important; transform: translateY(-1px) !important; box-shadow: 0 14px 30px -10px rgba(27, 92, 211, .28) !important; } .sgpn-cta .sgpn-trigger:active, #sgpn-modal .sgpn-submit:active { transform: translateY(0) !important; filter: brightness(.92) !important; } .sgpn-cta .sgpn-trigger:focus-visible, #sgpn-modal .sgpn-submit:focus-visible { box-shadow: 0 0 0 3px rgba(27, 92, 211, .18) !important; } .sgpn-cta .sgpn-trigger::before, .sgpn-cta .sgpn-trigger::after { content: none !important; display: none !important; } /* ---------- Окно ---------- */ #sgpn-modal { display: none; position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 2147483000; margin: 0; padding: 20px; border: 0; background: rgba(15, 19, 25, .45); align-items: center; justify-content: center; font-family: 'Manrope', system-ui, sans-serif; font-size: 16px; font-weight: 400; line-height: 1.5; color: #0F1319; text-align: left; -webkit-font-smoothing: antialiased; } #sgpn-modal.sgpn-is-open { display: flex; animation: sgpn-fade 180ms ease-out; } #sgpn-modal, #sgpn-modal *, #sgpn-modal *::before, #sgpn-modal *::after { box-sizing: border-box; } #sgpn-modal * { margin: 0; padding: 0; border: 0; background: none; box-shadow: none; float: none; font-family: inherit; font-size: inherit; font-weight: inherit; font-style: normal; line-height: inherit; letter-spacing: normal; text-transform: none; text-decoration: none; text-shadow: none; text-indent: 0; text-align: left; color: inherit; min-width: 0; max-width: none; min-height: 0; opacity: 1; visibility: visible; } #sgpn-modal *::before, #sgpn-modal *::after { content: none; } #sgpn-modal .sgpn-hidden { display: none !important; } #sgpn-modal .sgpn-dialog { display: flex; flex-direction: column; gap: 18px; width: 560px; max-width: 100%; max-height: 88vh; overflow: auto; overscroll-behavior: contain; padding: 32px 36px; border-radius: 14px; background: #fff; box-shadow: 0 30px 70px -20px rgba(9, 26, 64, .5); animation: sgpn-pop 180ms cubic-bezier(.2, .7, .3, 1); } /* В окне с прокруткой блоки не должны сжиматься по высоте. */ #sgpn-modal .sgpn-dialog > *, #sgpn-modal .sgpn-form > * { flex-shrink: 0; } #sgpn-modal .sgpn-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; } #sgpn-modal .sgpn-head__text { display: flex; flex-direction: column; gap: 8px; } #sgpn-modal .sgpn-title { display: block; font-size: 28px; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; color: #0F1319; } #sgpn-modal .sgpn-lead { display: block; font-size: 15px; line-height: 1.55; color: #5C6575; } #sgpn-modal .sgpn-close { -webkit-appearance: none; appearance: none; display: flex; align-items: center; justify-content: center; flex: none; width: 34px; height: 34px; padding: 0; border: 0; border-radius: 8px; background: #F1F3F7; color: #5C6575; cursor: pointer; outline: none; transition: background 170ms cubic-bezier(.2, .7, .3, 1), color 170ms cubic-bezier(.2, .7, .3, 1); } #sgpn-modal .sgpn-close:hover { background: #E4E8EF; color: #0F1319; } #sgpn-modal .sgpn-close:active { background: #D7DCE6; } #sgpn-modal .sgpn-close:focus-visible { box-shadow: 0 0 0 3px rgba(27, 92, 211, .18); } #sgpn-modal .sgpn-close svg, #sgpn-modal .sgpn-done__icon svg { display: block; flex: none; fill: none; stroke: currentColor; } /* ---------- Форма ---------- */ #sgpn-modal .sgpn-form { display: flex; flex-direction: column; gap: 18px; } #sgpn-modal .sgpn-field { display: flex; flex-direction: column; gap: 7px; } #sgpn-modal .sgpn-label { display: block; font-size: 13px; font-weight: 500; line-height: 1.4; color: #0F1319; cursor: default; } #sgpn-modal .sgpn-req { color: #D9285C; } #sgpn-modal .sgpn-hint { display: block; font-size: 12px; line-height: 1.45; color: #8A93A3; } #sgpn-modal .sgpn-error { display: block; font-size: 12px; line-height: 1.4; color: #D9285C; } #sgpn-modal .sgpn-seg { display: flex; gap: 10px; } #sgpn-modal .sgpn-seg__btn { -webkit-appearance: none; appearance: none; display: flex; align-items: center; justify-content: center; flex: 1; height: 44px; min-height: 44px; padding: 0 18px; border: 1px solid #CBD4E3; border-radius: 8px; background: #fff; font-size: 14px; font-weight: 500; line-height: 1.2; color: #0F1319; text-align: center; white-space: nowrap; cursor: pointer; outline: none; transition: background 170ms cubic-bezier(.2, .7, .3, 1), border-color 170ms cubic-bezier(.2, .7, .3, 1), color 170ms cubic-bezier(.2, .7, .3, 1); } #sgpn-modal .sgpn-seg__btn:hover { border-color: #AEBBD1; background: #fff; color: #0F1319; } #sgpn-modal .sgpn-seg__btn.sgpn-is-active { background: #1B5CD3; border-color: #1B5CD3; color: #fff; } #sgpn-modal .sgpn-seg__btn:focus-visible { box-shadow: 0 0 0 3px rgba(27, 92, 211, .18); } #sgpn-modal .sgpn-input { -webkit-appearance: none; appearance: none; display: block; width: 100%; height: 44px; min-height: 44px; padding: 0 14px; border: 1px solid #CBD4E3; border-radius: 8px; background: #fff; font-size: 14px; font-weight: 400; line-height: normal; color: #0F1319; outline: none; box-shadow: none; transition: border-color 170ms cubic-bezier(.2, .7, .3, 1), box-shadow 170ms cubic-bezier(.2, .7, .3, 1); } #sgpn-modal .sgpn-input::placeholder { color: #8A93A3; opacity: 1; } #sgpn-modal .sgpn-input:hover { border-color: #AEBBD1; } #sgpn-modal .sgpn-input:focus { border-color: #1B5CD3; box-shadow: 0 0 0 3px rgba(27, 92, 211, .18); } #sgpn-modal .sgpn-input.sgpn-is-error { border-color: #D9285C; box-shadow: 0 0 0 3px rgba(217, 40, 92, .14); } #sgpn-modal .sgpn-trap { position: absolute !important; left: -9999px !important; top: auto; width: 1px; height: 1px; overflow: hidden; } #sgpn-modal .sgpn-check { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; } #sgpn-modal .sgpn-check__box { -webkit-appearance: checkbox; appearance: auto; display: block; flex: none; width: 18px; height: 18px; margin: 1px 0 0; padding: 0; accent-color: #1B5CD3; cursor: pointer; position: static; } #sgpn-modal .sgpn-check__text { display: block; font-size: 13px; line-height: 1.5; color: #5C6575; } #sgpn-modal .sgpn-legal { color: #D9285C; font-weight: 500; text-decoration: none; border-bottom: 1px solid rgba(217, 40, 92, .35); transition: color 170ms cubic-bezier(.2, .7, .3, 1), border-color 170ms cubic-bezier(.2, .7, .3, 1); } #sgpn-modal .sgpn-legal:hover { color: #B81F4C; border-color: #B81F4C; } #sgpn-modal .sgpn-status { display: block; font-size: 13px; line-height: 1.45; color: #D9285C; } #sgpn-modal .sgpn-submit { display: flex !important; width: 100% !important; } #sgpn-modal .sgpn-submit:disabled, #sgpn-modal .sgpn-submit:disabled:hover { background: #B9C3D4 !important; color: #fff !important; box-shadow: none !important; transform: none !important; filter: none !important; cursor: not-allowed !important; } #sgpn-modal .sgpn-submit.sgpn-is-loading { opacity: .85 !important; cursor: progress !important; pointer-events: none; } #sgpn-modal .sgpn-spinner { display: inline-block; width: 14px; height: 14px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .45); border-top-color: #fff; animation: sgpn-spin 700ms linear infinite; } #sgpn-modal .sgpn-done { display: flex; flex-direction: column; gap: 12px; outline: none; } #sgpn-modal .sgpn-done__icon { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: #EDF2FF; color: #1B5CD3; } #sgpn-modal .sgpn-done__title { display: block; font-size: 20px; font-weight: 600; line-height: 1.3; letter-spacing: -.01em; color: #0F1319; } #sgpn-modal .sgpn-done__text { display: block; font-size: 16px; line-height: 1.55; color: #5C6575; } @keyframes sgpn-pop { from { opacity: 0; transform: translateY(10px) scale(.985); } to { opacity: 1; transform: none; } } @keyframes sgpn-fade { from { opacity: 0; } to { opacity: 1; } } @keyframes sgpn-spin { to { transform: rotate(360deg); } } /* Узкий экран — окно становится листом снизу, варианты выбора — друг под другом. */ @media (max-width: 560px) { #sgpn-modal { padding: 0; align-items: flex-end; } #sgpn-modal .sgpn-dialog { width: 100%; max-height: 92vh; padding: 24px 20px; gap: 14px; border-radius: 14px 14px 0 0; } #sgpn-modal .sgpn-form { gap: 14px; } #sgpn-modal .sgpn-title { font-size: 22px; } #sgpn-modal .sgpn-seg { flex-direction: column; } .sgpn-cta .sgpn-trigger { width: 100% !important; } } @media (prefers-reduced-motion: reduce) { #sgpn-modal, #sgpn-modal * { animation-duration: 1ms !important; animation-iteration-count: 1 !important; transition-duration: 1ms !important; } .sgpn-cta .sgpn-trigger { transition-duration: 1ms !important; } } Оставить заявку Записаться на тестирование Оставьте контакты — свяжемся, когда включим доступ. Вы уже работаете на SKIF.PRO? Да, уже на SKIF.PRO Пока нет Название компании в SKIF.PRO * Как оно написано в списке компаний SKIF.PRO — по нему включим доступ. Укажите компанию Как к вам обращаться * Напишите имя Телефон * Оставьте телефон E-mail * Укажите e-mail, например name@company.ru Сайт Я ознакомлен(а) с Политикой обработки персональных данных и даю согласие на обработку своих данных Оставить заявку Заявка принята Свяжемся, когда включим доступ. Если есть типовой случай, который хотите проверить первым, — расскажите о нём при разговоре. (new Function(decodeURIComponent(escape(atob("Lyog0JrQvdC+0L/QutCwIMKr0J7RgdGC0LDQstC40YLRjCDQt9Cw0Y/QstC60YPCuyDRgSDQvtC60L3QvtC8INC30LDRj9Cy0LrQuCDigJQg0YfQuNGC0LDQtdC80YvQuSDQuNGB0YXQvtC00L3QuNC6INGB0LrRgNC40L/RgtCwINC00LvRjyBuZXdzLWJ1dHRvbi5odG1sLgogICDQkiBuZXdzLWJ1dHRvbi5odG1sINC+0L0g0LvQtdC20LjRgiDQsiBiYXNlNjQ6IFdvcmRQcmVzcyAod3B0ZXh0dXJpemUpINC/0L7RgNGC0LjRgiDQutCw0LLRi9GH0LrQuCDQsiDRgtC10LrRgdGC0LUg0LfQsNC/0LjRgdC4LgogICDQn9C+0YHQu9C1INC/0YDQsNCy0LrQuCDQt9C00LXRgdGMINC/0LXRgNC10YHQvtCx0YDQsNGC0YwgbmV3cy1idXR0b24uaHRtbCAoYmFzZTY0INGN0YLQvtCz0L4g0YTQsNC50LvQsCDQsiDRgtC10LPQtSA8c2NyaXB0PikuCgogICDQl9Cw0Y/QstC60LAg0YPRhdC+0LTQuNGCINCyINC+0LHRgNCw0LHQvtGC0YfQuNC6INGC0LXQvNGLIHNraWYucHJvIOKAlCDRgtC+0YIg0LbQtSwg0YfRgtC+INGDINGE0L7RgNC80Ysg0L3QsCDRgdGC0YDQsNC90LjRhtC1CiAgINC00LvRjyDQuNC90YLQtdCz0YDQsNGC0L7RgNC+0LIgKGluZGV4Lmh0bWwpOiBhY3Rpb249c2tpZl9haV9iZXRhLCDQv9C+0LvRjyBjb21wYW55MSwgcGhvbmUxLCBlbWFpbDEsCiAgIG1zZzE7INC+0YHRgtCw0LvRjNC90L7QtSDRgdC+0LHQuNGA0LDQtdGC0YHRjyDQsiDRgtC10LrRgdGCIG1zZzEuINCh0L4g0YHRgtGA0LDQvdC40YbRiywg0L7RgtC60YDRi9GC0L7QuSDQutCw0Log0YTQsNC50LssINC+0YLQv9GA0LDQstC40YLRjAogICDQvdC10LvRjNC30Y86INGE0L7RgNC80LAg0L/QuNGI0LXRgiDQt9Cw0Y/QstC60YMg0LIg0LrQvtC90YHQvtC70Ywg0Lgg0L/QvtC60LDQt9GL0LLQsNC10YIgwqvQl9Cw0Y/QstC60LAg0L/RgNC40L3Rj9GC0LDCuy4KCiAgINCk0YDQsNCz0LzQtdC90YIg0LzQvtC20L3QviDQstGB0YLQsNCy0LjRgtGMINCyINC30LDQv9C40YHRjCDQvdC10YHQutC+0LvRjNC60L4g0YDQsNC3OiDQvtC60L3QviDQvtGB0YLQsNGR0YLRgdGPINC+0LTQvdC+LCDQu9C40YjQvdC40LUg0LrQvtC/0LjQuAogICDRg9Cx0LjRgNCw0Y7RgtGB0Y8sINCy0YHQtSDQutC90L7Qv9C60Lgg0L7RgtC60YDRi9Cy0LDRjtGCINC10LPQvi4gKi8KKGZ1bmN0aW9uICgpIHsKICAndXNlIHN0cmljdCc7CgogIGlmICh3aW5kb3cuX19zZ3BuTmV3cykgeyB3aW5kb3cuX19zZ3BuTmV3cy5zY2FuKCk7IHJldHVybjsgfQoKICB2YXIgRU5EUE9JTlQgPSAnL3dwLWFkbWluL2FkbWluLWFqYXgucGhwJzsKICB2YXIgQUNUSU9OID0gJ3NraWZfYWlfYmV0YSc7CiAgdmFyIE1FVFJJS0FfSUQgPSAxMDQwNTM5MzU7CiAgdmFyIEZJRUxEUyA9IFsnY29tcGFueScsICduYW1lJywgJ3Bob25lJywgJ2VtYWlsJ107CiAgdmFyIEZPQ1VTQUJMRSA9ICdhW2hyZWZdLCBidXR0b246bm90KFtkaXNhYmxlZF0pLCBpbnB1dDpub3QoW2Rpc2FibGVkXSk6bm90KFt0eXBlPSJoaWRkZW4iXSksICcgKwogICAgICAgICAgICAgICAgICAnc2VsZWN0Om5vdChbZGlzYWJsZWRdKSwgdGV4dGFyZWE6bm90KFtkaXNhYmxlZF0pLCBbdGFiaW5kZXhdOm5vdChbdGFiaW5kZXg9Ii0xIl0pJzsKICB2YXIgb3BlbmVkQXQgPSBEYXRlLm5vdygpOwoKICB2YXIgbW9kYWwgPSBudWxsOwogIHZhciBsYXN0VHJpZ2dlciA9IG51bGw7CiAgdmFyIHNhdmVkID0gbnVsbDsKCiAgZnVuY3Rpb24gZWFjaChsaXN0LCBmbikgeyBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGxpc3QsIGZuKTsgfQoKICAvLyDQk9C+0LTQuNGC0YHRjyDQtNC70Y8gVGFiOiDQstC40LTQuNC8INC4INC90LUg0LLRi9C60LvRjtGH0LXQvSDQuNC3INC+0LHRhdC+0LTQsCAo0LrQsNC6INC/0L7Qu9C1LdC70L7QstGD0YjQutCwKS4KICBmdW5jdGlvbiB2aXNpYmxlKGVsKSB7CiAgICBpZiAoZWwudGFiSW5kZXggPCAwKSByZXR1cm4gZmFsc2U7CiAgICByZXR1cm4gISEoZWwub2Zmc2V0V2lkdGggfHwgZWwub2Zmc2V0SGVpZ2h0IHx8IGVsLmdldENsaWVudFJlY3RzKCkubGVuZ3RoKTsKICB9CgogIC8qIC0tLS0tLS0tLS0g0J7QutC90L4gLS0tLS0tLS0tLSAqLwoKICBmdW5jdGlvbiBpc09wZW4oKSB7IHJldHVybiAhIW1vZGFsICYmIG1vZGFsLmNsYXNzTGlzdC5jb250YWlucygnc2dwbi1pcy1vcGVuJyk7IH0KCiAgZnVuY3Rpb24gb3Blbih0cmlnZ2VyKSB7CiAgICBpZiAoIW1vZGFsIHx8IGlzT3BlbigpKSByZXR1cm47CiAgICAvLyDQotC10LzQsCDQuNC70Lgg0YDQtdC00LDQutGC0L7RgCDQvNC+0LPRg9GCINC+0LHQtdGA0L3Rg9GC0Ywg0LHQu9C+0Log0LIg0LrQvtC90YLQtdC50L3QtdGAINGBIG92ZXJmbG93L3RyYW5zZm9ybSDigJQKICAgIC8vINGC0L7Qs9C00LAgcG9zaXRpb246IGZpeGVkINC/0LXRgNC10YHRgtCw0ZHRgiDRgNCw0LHQvtGC0LDRgtGMLiDQntC60L3QviDQttC40LLRkdGCINC/0YDRj9C80L4g0LIgYm9keS4KICAgIGlmIChtb2RhbC5wYXJlbnROb2RlICE9PSBkb2N1bWVudC5ib2R5KSBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKG1vZGFsKTsKICAgIGxhc3RUcmlnZ2VyID0gdHJpZ2dlciB8fCBkb2N1bWVudC5hY3RpdmVFbGVtZW50OwogICAgdmFyIGh0bWwgPSBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ7CiAgICBzYXZlZCA9IHsgaHRtbDogaHRtbC5zdHlsZS5vdmVyZmxvdywgYm9keTogZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyB9OwogICAgaHRtbC5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nOwogICAgZG9jdW1lbnQuYm9keS5zdHlsZS5vdmVyZmxvdyA9ICdoaWRkZW4nOwogICAgbW9kYWwuY2xhc3NMaXN0LmFkZCgnc2dwbi1pcy1vcGVuJyk7CiAgICAvLyDQpNC+0LrRg9GBIOKAlCDQvdCwINC/0LXRgNCy0YvQuSDRgdC+0LTQtdGA0LbQsNGC0LXQu9GM0L3Ri9C5INGN0LvQtdC80LXQvdGCLCDQsCDQvdC1INC90LAg0LrRgNC10YHRgtC40LouCiAgICB2YXIgZmlyc3QgPSBudWxsOwogICAgdmFyIGl0ZW1zID0gbW9kYWwucXVlcnlTZWxlY3RvckFsbChGT0NVU0FCTEUpOwogICAgQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChpdGVtcywgZnVuY3Rpb24gKGVsKSB7CiAgICAgIGlmIChlbC5oYXNBdHRyaWJ1dGUoJ2RhdGEtc2dwbi1jbG9zZScpIHx8ICF2aXNpYmxlKGVsKSkgcmV0dXJuIGZhbHNlOwogICAgICBmaXJzdCA9IGVsOwogICAgICByZXR1cm4gdHJ1ZTsKICAgIH0pOwogICAgaWYgKCFmaXJzdCkgewogICAgICB2YXIgZG9uZSA9IG1vZGFsLnF1ZXJ5U2VsZWN0b3IoJyNzZ3BuLWRvbmUnKTsKICAgICAgZmlyc3QgPSBkb25lICYmIGRvbmUub2Zmc2V0SGVpZ2h0ID8gZG9uZSA6IGl0ZW1zWzBdOwogICAgfQogICAgaWYgKGZpcnN0KSBmaXJzdC5mb2N1cygpOwogIH0KCiAgZnVuY3Rpb24gY2xvc2UoKSB7CiAgICBpZiAoIWlzT3BlbigpKSByZXR1cm47CiAgICBtb2RhbC5jbGFzc0xpc3QucmVtb3ZlKCdzZ3BuLWlzLW9wZW4nKTsKICAgIGlmIChzYXZlZCkgewogICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUub3ZlcmZsb3cgPSBzYXZlZC5odG1sOwogICAgICBkb2N1bWVudC5ib2R5LnN0eWxlLm92ZXJmbG93ID0gc2F2ZWQuYm9keTsKICAgICAgc2F2ZWQgPSBudWxsOwogICAgfQogICAgaWYgKGxhc3RUcmlnZ2VyICYmIGxhc3RUcmlnZ2VyLmZvY3VzKSBsYXN0VHJpZ2dlci5mb2N1cygpOwogIH0KCiAgZnVuY3Rpb24gaW5pdE1vZGFsKG0pIHsKICAgIG0uc2V0QXR0cmlidXRlKCdkYXRhLXNncG4tcmVhZHknLCAnMScpOwoKICAgIC8vINCa0LvQuNC6INC/0L4g0L/QvtC00LvQvtC20LrQtSDQt9Cw0LrRgNGL0LLQsNC10YIsINC60LvQuNC6INCy0L3Rg9GC0YDQuCDQvtC60L3QsCDigJQg0L3QtdGCLgogICAgbS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGZ1bmN0aW9uIChlKSB7CiAgICAgIGlmIChlLnRhcmdldCA9PT0gbSkgY2xvc2UoKTsKICAgIH0pOwogICAgZWFjaChtLnF1ZXJ5U2VsZWN0b3JBbGwoJ1tkYXRhLXNncG4tY2xvc2VdJyksIGZ1bmN0aW9uIChidG4pIHsKICAgICAgYnRuLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgY2xvc2UpOwogICAgfSk7CgogICAgLy8g0KTQvtC60YPRgSDQvdC1INGD0YXQvtC00LjRgiDQt9CwINC/0YDQtdC00LXQu9GLINC+0LrQvdCwLgogICAgbS5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgZnVuY3Rpb24gKGUpIHsKICAgICAgaWYgKGUua2V5ICE9PSAnVGFiJykgcmV0dXJuOwogICAgICB2YXIgaXRlbXMgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyLmNhbGwobS5xdWVyeVNlbGVjdG9yQWxsKEZPQ1VTQUJMRSksIHZpc2libGUpOwogICAgICBpZiAoIWl0ZW1zLmxlbmd0aCkgcmV0dXJuOwogICAgICB2YXIgZmlyc3QgPSBpdGVtc1swXTsKICAgICAgdmFyIGxhc3QgPSBpdGVtc1tpdGVtcy5sZW5ndGggLSAxXTsKICAgICAgaWYgKGUuc2hpZnRLZXkgJiYgKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgPT09IGZpcnN0IHx8ICFtLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSkgewogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsgbGFzdC5mb2N1cygpOwogICAgICB9IGVsc2UgaWYgKCFlLnNoaWZ0S2V5ICYmIChkb2N1bWVudC5hY3RpdmVFbGVtZW50ID09PSBsYXN0IHx8ICFtLmNvbnRhaW5zKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQpKSkgewogICAgICAgIGUucHJldmVudERlZmF1bHQoKTsgZmlyc3QuZm9jdXMoKTsKICAgICAgfQogICAgfSk7CgogICAgaW5pdEZvcm0obSk7CiAgfQoKICAvKiAtLS0tLS0tLS0tINCk0L7RgNC80LAgLS0tLS0tLS0tLSAqLwoKICBmdW5jdGlvbiBpbml0Rm9ybShtKSB7CiAgICB2YXIgZm9ybSA9IG0ucXVlcnlTZWxlY3RvcignI3NncG4tZm9ybScpOwogICAgdmFyIGRvbmUgPSBtLnF1ZXJ5U2VsZWN0b3IoJyNzZ3BuLWRvbmUnKTsKICAgIHZhciBzdGF0dXMgPSBmb3JtLnF1ZXJ5U2VsZWN0b3IoJ1tkYXRhLXNncG4tc3RhdHVzXScpOwogICAgdmFyIGxhYmVsID0gZm9ybS5xdWVyeVNlbGVjdG9yKCdbZGF0YS1zZ3BuLWNvbXBhbnktbGFiZWxdJyk7CiAgICB2YXIgaGludCA9IGZvcm0ucXVlcnlTZWxlY3RvcignW2RhdGEtc2dwbi1jb21wYW55LWhpbnRdJyk7CiAgICB2YXIgc3VibWl0ID0gZm9ybS5xdWVyeVNlbGVjdG9yKCdidXR0b25bdHlwZT0ic3VibWl0Il0nKTsKICAgIHZhciBjb25zZW50ID0gZm9ybS5lbGVtZW50cy5jb25zZW50OwoKICAgIC8vINCf0LXRgNC10LrQu9GO0YfQsNGC0LXQu9GMIMKr0JLRiyDRg9C20LUg0YDQsNCx0L7RgtCw0LXRgtC1INC90LAgU0tJRi5QUk8/wrsKICAgIHZhciBzZWdCdG5zID0gZm9ybS5xdWVyeVNlbGVjdG9yQWxsKCdbZGF0YS1zZ3BuLXNlZ10nKTsKICAgIGVhY2goc2VnQnRucywgZnVuY3Rpb24gKGJ0bikgewogICAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7CiAgICAgICAgZWFjaChzZWdCdG5zLCBmdW5jdGlvbiAoYikgewogICAgICAgICAgdmFyIGFjdGl2ZSA9IGIgPT09IGJ0bjsKICAgICAgICAgIGIuY2xhc3NMaXN0LnRvZ2dsZSgnc2dwbi1pcy1hY3RpdmUnLCBhY3RpdmUpOwogICAgICAgICAgYi5zZXRBdHRyaWJ1dGUoJ2FyaWEtcHJlc3NlZCcsIFN0cmluZyhhY3RpdmUpKTsKICAgICAgICB9KTsKICAgICAgICB2YXIgb25Ta2lmID0gYnRuLmdldEF0dHJpYnV0ZSgnZGF0YS1zZ3BuLXNlZycpID09PSAneWVzJzsKICAgICAgICBmb3JtLmVsZW1lbnRzLm9uX3NraWYudmFsdWUgPSBvblNraWYgPyAneWVzJyA6ICdubyc7CiAgICAgICAgbGFiZWwudGV4dENvbnRlbnQgPSBvblNraWYgPyAn0J3QsNC30LLQsNC90LjQtSDQutC+0LzQv9Cw0L3QuNC4INCyIFNLSUYuUFJPJyA6ICfQmtC+0LzQv9Cw0L3QuNGPJzsKICAgICAgICBoaW50LnRleHRDb250ZW50ID0gb25Ta2lmCiAgICAgICAgICA/ICfQmtCw0Log0L7QvdC+INC90LDQv9C40YHQsNC90L4g0LIg0YHQv9C40YHQutC1INC60L7QvNC/0LDQvdC40LkgU0tJRi5QUk8g4oCUINC/0L4g0L3QtdC80YMg0LLQutC70Y7Rh9C40Lwg0LTQvtGB0YLRg9C/LicKICAgICAgICAgIDogJ9Cd0LDQt9Cy0LDQvdC40LUg0LLQsNGI0LXQuSDQutC+0LzQv9Cw0L3QuNC4LdC40L3RgtC10LPRgNCw0YLQvtGA0LAuJzsKICAgICAgfSk7CiAgICB9KTsKCiAgICAvLyDQn9C+0LrQsCDRgdC+0LPQu9Cw0YHQuNC1INC90LUg0L7RgtC80LXRh9C10L3Qviwg0LrQvdC+0L/QutCwINC+0YLQv9GA0LDQstC60Lgg0L3QtdCw0LrRgtC40LLQvdCwLgogICAgZnVuY3Rpb24gc3luY0NvbnNlbnQoKSB7IHN1Ym1pdC5kaXNhYmxlZCA9ICFjb25zZW50LmNoZWNrZWQ7IH0KICAgIGNvbnNlbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgc3luY0NvbnNlbnQpOwogICAgc3luY0NvbnNlbnQoKTsKCiAgICBmdW5jdGlvbiBzZXRFcnJvcihuYW1lLCBvbikgewogICAgICB2YXIgaW5wdXQgPSBmb3JtLmVsZW1lbnRzW25hbWVdOwogICAgICBpbnB1dC5jbGFzc0xpc3QudG9nZ2xlKCdzZ3BuLWlzLWVycm9yJywgb24pOwogICAgICBpbnB1dC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaW52YWxpZCcsIG9uID8gJ3RydWUnIDogJ2ZhbHNlJyk7CiAgICAgIGZvcm0ucXVlcnlTZWxlY3RvcignW2RhdGEtc2dwbi1lcnJvcj0iJyArIG5hbWUgKyAnIl0nKS5jbGFzc0xpc3QudG9nZ2xlKCdzZ3BuLWhpZGRlbicsICFvbik7CiAgICB9CgogICAgRklFTERTLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHsKICAgICAgZm9ybS5lbGVtZW50c1tuYW1lXS5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGZ1bmN0aW9uICgpIHsKICAgICAgICBpZiAodGhpcy52YWx1ZS50cmltKCkpIHNldEVycm9yKG5hbWUsIGZhbHNlKTsKICAgICAgfSk7CiAgICB9KTsKCiAgICBmdW5jdGlvbiB1dG0oKSB7CiAgICAgIHZhciBvdXQgPSB7fTsKICAgICAgbmV3IFVSTFNlYXJjaFBhcmFtcyhsb2NhdGlvbi5zZWFyY2gpLmZvckVhY2goZnVuY3Rpb24gKHYsIGspIHsKICAgICAgICBpZiAoay5pbmRleE9mKCd1dG1fJykgPT09IDApIG91dFtrXSA9IHY7CiAgICAgIH0pOwogICAgICByZXR1cm4gb3V0OwogICAgfQoKICAgIGZ1bmN0aW9uIGZpbmlzaCgpIHsKICAgICAgZm9ybS5jbGFzc0xpc3QuYWRkKCdzZ3BuLWhpZGRlbicpOwogICAgICBkb25lLmNsYXNzTGlzdC5yZW1vdmUoJ3NncG4taGlkZGVuJyk7CiAgICAgIGRvbmUuZm9jdXMoKTsKICAgIH0KCiAgICBmb3JtLmFkZEV2ZW50TGlzdGVuZXIoJ3N1Ym1pdCcsIGZ1bmN0aW9uIChlKSB7CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgICAgc3RhdHVzLmNsYXNzTGlzdC5hZGQoJ3NncG4taGlkZGVuJyk7CgogICAgICB2YXIgYmFkID0gbnVsbDsKICAgICAgRklFTERTLmZvckVhY2goZnVuY3Rpb24gKG5hbWUpIHsKICAgICAgICB2YXIgdmFsdWUgPSBmb3JtLmVsZW1lbnRzW25hbWVdLnZhbHVlLnRyaW0oKTsKICAgICAgICB2YXIgd3JvbmcgPSAhdmFsdWUgfHwgKG5hbWUgPT09ICdlbWFpbCcgJiYgIS9eW15AXHNdK0BbXkBcc10rXC5bXkBcc10rJC8udGVzdCh2YWx1ZSkpOwogICAgICAgIHNldEVycm9yKG5hbWUsIHdyb25nKTsKICAgICAgICBpZiAod3JvbmcgJiYgIWJhZCkgYmFkID0gZm9ybS5lbGVtZW50c1tuYW1lXTsKICAgICAgfSk7CiAgICAgIGlmIChiYWQpIHsgYmFkLmZvY3VzKCk7IHJldHVybjsgfQoKICAgICAgLy8g0J/QvtC70LUt0LvQvtCy0YPRiNC60LAg0LfQsNC/0L7Qu9C90LXQvdC+IOKAlCDRjdGC0L4g0LHQvtGCOiDQtNC10LvQsNC10Lwg0LLQuNC0LCDRh9GC0L4g0LLRgdGRINC/0YDQvtGI0LvQvi4KICAgICAgaWYgKGZvcm0uZWxlbWVudHMud2Vic2l0ZS52YWx1ZSkgeyBmaW5pc2goKTsgcmV0dXJuOyB9CgogICAgICB2YXIgb25Ta2lmID0gZm9ybS5lbGVtZW50cy5vbl9za2lmLnZhbHVlID09PSAneWVzJzsKICAgICAgdmFyIG1hcmtzID0gdXRtKCk7CiAgICAgIHZhciBtc2cgPSBbCiAgICAgICAgJ9Cj0LbQtSDRgNCw0LHQvtGC0LDQtdGCINC90LAgU0tJRi5QUk86ICcgKyAob25Ta2lmID8gJ9C00LAnIDogJ9C90LXRgicpLAogICAgICAgIChvblNraWYgPyAn0JrQvtC80L/QsNC90LjRjyDQsiBTS0lGLlBSTzogJyA6ICfQmtC+0LzQv9Cw0L3QuNGPOiAnKSArIGZvcm0uZWxlbWVudHMuY29tcGFueS52YWx1ZS50cmltKCksCiAgICAgICAgJ9Ca0L7QvdGC0LDQutGC0L3QvtC1INC70LjRhtC+OiAnICsgZm9ybS5lbGVtZW50cy5uYW1lLnZhbHVlLnRyaW0oKSwKICAgICAgICAn0KHRgtGA0LDQvdC40YbQsDogJyArIGxvY2F0aW9uLmhyZWYKICAgICAgXTsKICAgICAgdmFyIHV0bUtleXMgPSBPYmplY3Qua2V5cyhtYXJrcyk7CiAgICAgIGlmICh1dG1LZXlzLmxlbmd0aCkgewogICAgICAgIG1zZy5wdXNoKCfQnNC10YLQutC4OiAnICsgdXRtS2V5cy5tYXAoZnVuY3Rpb24gKGspIHsgcmV0dXJuIGsgKyAnPScgKyBtYXJrc1trXTsgfSkuam9pbignLCAnKSk7CiAgICAgIH0KCiAgICAgIHZhciBkYXRhID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpOwogICAgICBkYXRhLmFwcGVuZCgnYWN0aW9uJywgQUNUSU9OKTsKICAgICAgZGF0YS5hcHBlbmQoJ3NraWZfaHAnLCAnJyk7CiAgICAgIGRhdGEuYXBwZW5kKCdjb21wYW55MScsIGZvcm0uZWxlbWVudHMuY29tcGFueS52YWx1ZS50cmltKCkpOwogICAgICBkYXRhLmFwcGVuZCgncGhvbmUxJywgZm9ybS5lbGVtZW50cy5waG9uZS52YWx1ZS50cmltKCkpOwogICAgICBkYXRhLmFwcGVuZCgnZW1haWwxJywgZm9ybS5lbGVtZW50cy5lbWFpbC52YWx1ZS50cmltKCkpOwogICAgICBkYXRhLmFwcGVuZCgnbXNnMScsIG1zZy5qb2luKCdcbicpKTsKICAgICAgZGF0YS5hcHBlbmQoJ3ByaXZhY3lfY29uc2VudCcsICdvbicpOwogICAgICBkYXRhLmFwcGVuZCgnc2tpZl9lbGFwc2VkJywgU3RyaW5nKERhdGUubm93KCkgLSBvcGVuZWRBdCkpOwoKICAgICAgaWYgKGxvY2F0aW9uLnByb3RvY29sID09PSAnZmlsZTonKSB7CiAgICAgICAgY29uc29sZS5pbmZvKCdb0JjQmC3QsNGB0YHQuNGB0YLQtdC90YJdINC30LDRj9Cy0LrQsCAo0YHRgtGA0LDQvdC40YbQsCDQvtGC0LrRgNGL0YLQsCDQutCw0Log0YTQsNC50LssINC90LUg0L7RgtC/0YDQsNCy0LvQtdC90LApOicsIE9iamVjdC5mcm9tRW50cmllcyhkYXRhKSk7CiAgICAgICAgZmluaXNoKCk7CiAgICAgICAgcmV0dXJuOwogICAgICB9CgogICAgICBzdWJtaXQuZGlzYWJsZWQgPSB0cnVlOwogICAgICBzdWJtaXQuY2xhc3NMaXN0LmFkZCgnc2dwbi1pcy1sb2FkaW5nJyk7CiAgICAgIHN1Ym1pdC5pbm5lckhUTUwgPSAnPHNwYW4gY2xhc3M9InNncG4tc3Bpbm5lciI+PC9zcGFuPtCe0YLQv9GA0LDQstC70Y/QtdC8JzsKCiAgICAgIGZldGNoKEVORFBPSU5ULCB7CiAgICAgICAgbWV0aG9kOiAnUE9TVCcsCiAgICAgICAgaGVhZGVyczogeyAnWC1SZXF1ZXN0ZWQtV2l0aCc6ICdYTUxIdHRwUmVxdWVzdCcgfSwKICAgICAgICBib2R5OiBkYXRhLAogICAgICAgIGNyZWRlbnRpYWxzOiAnc2FtZS1vcmlnaW4nCiAgICAgIH0pLnRoZW4oZnVuY3Rpb24gKHIpIHsKICAgICAgICBpZiAoIXIub2spIHRocm93IG5ldyBFcnJvcihyLnN0YXR1cyk7CiAgICAgICAgcmV0dXJuIHIuanNvbigpOwogICAgICB9KS50aGVuKGZ1bmN0aW9uIChyZXMpIHsKICAgICAgICBpZiAocmVzLnN0YXR1cyAhPT0gJ29rJykgdGhyb3cgbmV3IEVycm9yKHJlcy5tc2cgfHwgJ2Vycm9yJyk7CiAgICAgICAgaWYgKHJlcy5tZXRyaWthICYmIHR5cGVvZiB3aW5kb3cueW0gPT09ICdmdW5jdGlvbicpIHdpbmRvdy55bShNRVRSSUtBX0lELCAncmVhY2hHb2FsJywgcmVzLm1ldHJpa2EpOwogICAgICAgIGZpbmlzaCgpOwogICAgICB9KS5jYXRjaChmdW5jdGlvbiAoKSB7CiAgICAgICAgc3VibWl0LmRpc2FibGVkID0gZmFsc2U7CiAgICAgICAgc3VibWl0LmNsYXNzTGlzdC5yZW1vdmUoJ3NncG4taXMtbG9hZGluZycpOwogICAgICAgIHN1Ym1pdC50ZXh0Q29udGVudCA9ICfQntGB0YLQsNCy0LjRgtGMINC30LDRj9Cy0LrRgyc7CiAgICAgICAgc3RhdHVzLnRleHRDb250ZW50ID0gJ9Cd0LUg0L/QvtC70YPRh9C40LvQvtGB0Ywg0L7RgtC/0YDQsNCy0LjRgtGMINC30LDRj9Cy0LrRgy4g0J/QvtC/0YDQvtCx0YPQudGC0LUg0LXRidGRINGA0LDQtyDRh9C10YDQtdC3INC80LjQvdGD0YLRgy4nOwogICAgICAgIHN0YXR1cy5jbGFzc0xpc3QucmVtb3ZlKCdzZ3BuLWhpZGRlbicpOwogICAgICB9KTsKICAgIH0pOwogIH0KCiAgLyogLS0tLS0tLS0tLSDQn9C+0LjRgdC6INC+0LrQvdCwINC4INC60L3QvtC/0L7QuiDQvdCwINGB0YLRgNCw0L3QuNGG0LUgLS0tLS0tLS0tLSAqLwogIC8qINCS0YvQt9GL0LLQsNC10YLRgdGPINC60LDQttC00YvQvCDQstGB0YLQsNCy0LvQtdC90L3Ri9C8INGE0YDQsNCz0LzQtdC90YLQvtC8OiDQvtC60L3QviDQvtGB0YLQsNGR0YLRgdGPINC+0LTQvdC+ICjQv9C10YDQstC+0LUpLAogICAgINC60L7Qv9C40Lgg0LjQtyDRgdC70LXQtNGD0Y7RidC40YUg0LLRgdGC0LDQstC+0Log0YPQtNCw0LvRj9GO0YLRgdGPLCDQvdC+0LLRi9C1INC60L3QvtC/0LrQuCDQv9C+0LTQutC70Y7Rh9Cw0Y7RgtGB0Y8g0Log0L3QtdC80YMuICovCgogIGZ1bmN0aW9uIHNjYW4oKSB7CiAgICBlYWNoKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5zZ3BuLW1vZGFsJyksIGZ1bmN0aW9uIChtKSB7CiAgICAgIGlmICghbW9kYWwpIHsgbW9kYWwgPSBtOyBpbml0TW9kYWwobSk7IHJldHVybjsgfQogICAgICBpZiAobSAhPT0gbW9kYWwgJiYgbS5wYXJlbnROb2RlKSBtLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobSk7CiAgICB9KTsKICAgIGVhY2goZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnNncG4tdHJpZ2dlcicpLCBmdW5jdGlvbiAoYnRuKSB7CiAgICAgIGlmIChidG4uZ2V0QXR0cmlidXRlKCdkYXRhLXNncG4tcmVhZHknKSkgcmV0dXJuOwogICAgICBidG4uc2V0QXR0cmlidXRlKCdkYXRhLXNncG4tcmVhZHknLCAnMScpOwogICAgICBidG4uYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBmdW5jdGlvbiAoKSB7IG9wZW4oYnRuKTsgfSk7CiAgICB9KTsKICB9CgogIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBmdW5jdGlvbiAoZSkgewogICAgaWYgKChlLmtleSA9PT0gJ0VzY2FwZScgfHwgZS5rZXkgPT09ICdFc2MnKSAmJiBpc09wZW4oKSkgY2xvc2UoKTsKICB9KTsKCiAgd2luZG93Ll9fc2dwbk5ld3MgPSB7IHNjYW46IHNjYW4sIG9wZW46IG9wZW4sIGNsb3NlOiBjbG9zZSB9OwogIHNjYW4oKTsKICBpZiAoZG9jdW1lbnQucmVhZHlTdGF0ZSA9PT0gJ2xvYWRpbmcnKSBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgc2Nhbik7Cn0pKCk7Cg==")))))() Нужные данные без поиска по отчётам Пользователь формулирует задачу, а ассистент сам определяет, какие данные нужны для ответа, получает их из SKIF.PRO и помогает перейти от общего вопроса к подробному анализу объектов. Для пользователя нет необходимости самостоятельно искать нужный раздел или строить несколько отчётов. Достаточно попросить ассистента собрать сводку по группе объектов за последнюю неделю. Он получит необходимые данные и покажет общую картину по автопарку: сколько объектов онлайн и не выходят на связь, какие машины движутся и какие стоят, количество поездок, пробег, заправки и сливы. Результат может быть представлен в виде сводки, графика, трека или данных на карте. Далее можно уточнить информацию, перейти к отдельному объекту или подробнее разобрать найденное событие. Ассистент сохраняет контекст диалога, поэтому пользователю не приходится каждый раз заново формулировать исходную задачу. От получения данных – к их анализу ИИ-ассистент может не только собрать информацию, но и выполнить аналитику. Одной из таких задач, которые можно ему делегировать – это проверка сливов топлива. Человеку, чтобы разобраться насколько слив реальный, нужно посмотреть данные по событию, проверить настройки тарировки и сглаживания датчика и сопоставить другие параметры. Мы перенесли эту логику действий в ИИ-чат. Пользователь указывает объект и событие и просит проверить слив. Ассистент самостоятельно получает данные, анализирует их и выдаёт результат с объяснением своей оценки. Для специалиста это сокращает количество ручных действий при первичной проверке и позволяет быстрее перейти к разбору причины события. Безопасная работа с данными ИИ-ассистент работает внутри пользовательской сессии SKIF.PRO. Поэтому он работает только с теми компаниями и объектами, которые доступны конкретному пользователю. Для обеспечения безопасности ассистент работает в режиме только для чтения. Он может извлечь данные, проанализировать их и показать результат, но изменить или удалить информацию в системе не может. Преимущества для интегратора Для интегратора ИИ-ассистент становится дополнительным инструментом при продаже и сопровождении клиентов.  Он помогает быстрее разбирать обращения в техподдержку, сокращает время на обработку типовых запросов и освобождает его для задач, где требуется экспертная оценка. Ассистент может быстрее знакомить клиента с возможностями SKIF.PRO. Можно перейти от общей демонстрации платформы к конкретной задаче и показать, какие данные и инструменты SKIF.PRO помогают её решать. Следующий этап – автоматизация регулярных задач Одно из направлений развития нового инструмента – регулярные сводки по автопарку. Уже прорабатываются сценарии, где ассистент сможет самостоятельно формировать утренние, вечерние или недельные сводки о состоянии объектов, поездках, заправках, сливах и других событиях. Ещё одно направление – объединение ИИ с базой знаний wiki.skif.pro. Пользователь сможет в процессе работы спросить, как выполнить нужное действие, или настроить функцию, и получить ответ из Wiki в том же окне ассистента. Никита Бронскийгенеральный директор «СКИФ ЭПП» SKIF.PRO – профессиональный инструмент мониторинга с широкими возможностями для глубокой работы с данными. При этом за продуктами такого класса часто тянется стереотип, что они сложные и требуют много усилий на освоение. В течение последнего года в развитии SKIF.PRO мы много внимания уделяли тому, чтобы работа с платформой была интуитивно понятной даже новичку. ИИ-ассистент стал логичным продолжением начатого. Он поможет пользователям быстрее освоиться в интерфейсе, найти нужную функцию и перейти к первым рабочим задачам буквально за несколько действий. А опытные интеграторы смогут делегировать ИИ-ассистенту свои регулярные задачи и автоматизировать операционку там, где это необходимо. Присоединяйтесь к тестированию ИИ-ассистент доступен для теста по запросу. Мы подключаем интеграторов, готовых проверять его в рабочих задачах и делиться обратной связью. Если ответ ассистента на ваш вопрос оказался неточным, не помог решить задачу или вам не хватает какой-то возможности, напишите об этом прямо в окне ассистента. Ваши ответы ускорят развитие новой возможности.  Узнать подробнее о новой возможности платформы и оставить заявку на тестирование можно на странице https://skif.pro/ai-assistant/

Подробнее

Мы используем файлы cookie и сервис веб-аналитики Яндекс Метрика для улучшения работы сайта. Оставаясь на сайте, вы соглашаетесь с Политикой конфиденциальности. ✕

Хорошо