главная страница
плугины к
 mobilebalance
  оператор utm
  оператор интек-м
  инф.окно интек-м
  оператор инфолайн
  центральный телеграф
  расчетный центр
  расчетный центр (гвс)
  домжилсервис (вода)
  электросеть
  мтс

Плагины для программы MobileBalance
Расчетный центр (горячая вода)
Тип плагина: Операторы
Версия: 1.1
Скачать плагин с открытым исходым кодом - rkcm_water.jsmb

В качестве логина (пароль не нужен) надо использовать лицевой счет.

AnyString: Новые показания из файла
UserName: Адрес
LicSchet: Счет
Balance: Баланс
TarifPlan: Текущие показания

// Плагин для программы MobileBalance: http://mtsoft.ru/mobilebalance/
//
// Инструкция по использованию:
// 1. зайти в настройки программы MobileBalance, перейти на закладку "Плагины: Операторы", добавить плагин.
// 2. После этого перейти на закладку "Телефоны" и в качестве оператора выбрать оператора с названием, указанным ниже.
//
// FullName  : Расчетный центр (вода)
// ShortName : ВодаРЦ
// Version   : 1.1
// Author    : Oleg Chervyakov
// Descript  : Расчетный центр (вода)

function main(){

var p = 0;
    // Разбираем файл с новыми показаниями
    document.location="http://home/meters.txt?" + new Date();

    if(!external.WaitBrowser) return;
    response.pages[p++]=external.source;
    html=document.body.outerHTML;
    regexp=/ГВС: (\d+)/;
    if (res=regexp.exec(html))
    {
      ngvs=res[1];
      response.AnyString="Новые показания: " + ngvs;
    };

    // Заходим на главную страницу
    document.location="https://www.rkcm.ru/meterin/?lcFKey=" + request.loginValue;

    if(!external.WaitBrowser) return;
    response.pages[p++]=external.source;

    // Забираем информацию в переменную html
    html=document.body.outerHTML;

    //Собираем данные
    regexp=/Адрес: <b>(.*?)</;
    if (res=regexp.exec(html))
    {
      response.UserName=res[1];
    };

    regexp=/Лицевой счёт: <b>(.*?)</;
    if (res=regexp.exec(html))
    {
      response.LicSchet=res[1];
    };

    regexp=/ГВС.*\n.*\n.*\n[^>]*>(.*?)[ <&]/;
    if (res=regexp.exec(html))
    {
      response.Balance=gvs=res[1];
    }

    // Смотрим поле введенных показаний
    mti=""
    regexp=/name="mti_([^"]*)"/;
    if (res=regexp.exec(html))
    {
      mti="mti_" + res[1];
    };

    if (mti) {
    var f = document.getElementsByName(mti)[0];
    ogvs = f.value;

    // Вводим новые показания счетчиков
    d = new Date().getDate();
    if ((d > 9) && (((ngvs - gvs > 0) && (ogvs == "")) || (ngvs - ogvs > 0))) {

    f.value=ngvs;
    if (document.getElementsByName("save_mti")) {
       document.getElementsByName("save_mti")[0].click();
    }

    if(!external.WaitBrowser) return;
    response.pages[p++]=external.source;

    // Заново смотрим поле введенных показаний
    mti=""
    regexp=/name="mti_([^"]*)"/;
    if (res=regexp.exec(html)) {
      mti="mti_" + res[1];
      if (mti) ogvs=document.getElementsByName(mti)[0].value;
    }};

    response.TarifPlan="Текущие показания: " + ogvs;
    }

};
main();