Программист 1с
twitter email rss
  • Home
  • Полезности
    • Мобильное приложение курьера
    • MailChimp + УТ 11.
    • 1с-sms
    • Pharma-MPD
    • Зуботехническая лаборатория
  • Блог
  • Партнеры
  • Команда
    • Услуги
    • Опыт
    • Отзывы
    • Контакты
  • Поддержка
    • Инструкция
    • Redmine






Не всегда устраивает 1С с её подходом к визуализации данных. В рамках проекта Pharma-MPD испробовал возможность построения панели отчетов с помощью гаджетов рабочего стола Google. Подробное описание применения с точки зрения пользователя можно прочитать тут.
Для реализации такой схемы необходимо обеспечить гаджеты информацией для отображения. С этим справляется фоновая задача, которая формирует xml-файл и выкладывает его в видное место из сети. По сути мы знаем имя файла и фоновая задача формирует в нем данные с известной нам структурой.

Во время визуализации данных средствами google происходит парсинг нужного xml-файла. В результате мы можем получить отображение данных в динамике, как показано на примере ниже.

Или вот такое вот отображение количества активных пользователей в системе:

Код последнего примера:

  function drawChart(value) {
        var data = new google.visualization.DataTable();
    data.addColumn('string', 'Label');
        data.addColumn('number', 'Value');
    data.addRows(1);
    data.setValue(0, 0, 'Users');
    data.setValue(0, 1, value);
        var chart = new google.visualization.Gauge(document.getElementById('content_div'));
    var options = {width: 400, height: 120, greenFrom: 0, greenTo: 15, redFrom: 25, redTo: 30,
            yellowFrom:15, yellowTo: 25, minorTicks: 5, max: 30};
    chart.draw(data, options);
      }
  function displayActivity() {
    var d = new Date();
    var url = "http://ffmanager.com.ua/statistics.xml" + '?nocache=' + d.getTime();
    var prefs = new _IG_Prefs(__MODULE_ID__);
    // calorie limit set by user
      _IG_FetchXmlContent(url, function (response) {
         if (response == null || typeof(response) != "object" || response.firstChild == null) {
           _gel("content_div").innerHTML = "Invalid data.";
           return;
        }

    var activity = parseInt(response.getElementsByTagName("ActiveUsersCount").item(0).textContent);
    drawChart(activity);
    var refresh_interval = prefs.getInt("refresh_interval");

    setTimeout(displayActivity, refresh_interval * 1000);
   });
  }
  google.setOnLoadCallback(displayActivity);

В коде происходит считывание xml-файла и заполнение этими данными графика. Все коды гаджетов открытые и можно в их свойствах разобрать логику. Для создания гаджетов можно воспользоваться Google Gadgets Editor.

Как уже писал ранее, формирование данных для графиков выполняется с помощью регламентного задания, которое выполняется раз в 15 минут и выкладывает xml-файл в доступное из Сети место. Следующим этапом развития данного подхода может быть использование веб-сервисов для получения данных со стороны 1с после аутентификации пользователя.

Похожие записи:

  1. Обмен данными между 1С и Google Gadget
  2. Выгрузка форматированного документа 1С на свой сайт
  3. Google maps, поиск оптимального маршрута
  4. Определение координат объекта на Google maps
  5. 1C 8.2 и Google Maps
← Выгрузка контактов в контакты Gmail
Печатается табличный документ. А под веб-клиентом? →

Новости

  • Работаем с Opendatabot из 1с
  • Сокращаем ссылки в 1с
  • Загрузка данных из Google spreadsheet в 1с
  • Формирование скриншотов сайтов в 1с
  • Удаление старой номенклатуры

Подписка

Copyright © 2019 danila.org.ua
Умные решения для вашего бизнеса