// Плагин для программы 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();
|