Page 1 of 1

Prohlížečka trendů

PostPosted: Tue 12. Mar 2019 7:27:44
by kmpc
Dobrý den,
otevřu si prohlížečku trendů, navolím si proměnné, které chci zobrazit. Pokud opustím okno s prohlížečkou, následně si ji znova otevřu, tak musím proměnné, které jsem měl předtím zobrazené navolit znova.
Chtěl bych se zeptat, zda je možné (a jak) uložit si poslední nastavení prohlížečky, které si při dalším otevření okna vyvolám.
Jak by se toto dalo řešit pro klienty přes web?

Děkuji za odpověď.

Re: Prohlížečka trendů

PostPosted: Wed 13. Mar 2019 11:06:40
by Pavel Klimíček
Dobrý den.
Nevím jakou verzi PROMOTIC používáte.
Proto popíšu způsob platný pro některou z posledních verzí 8.3.x.

- V obraze který obsahuje prohlížečku trendů založte dvě uživatelské metody nazvané LoadCfgIni a SaveCfgIni s parametrem nazvaným sCfg.
metoda "SaveCfgIni" bude obsahovat tento skript:
Code: Select all
Pm.FileTextWrite "#cfg:" & pContext.User.Name & "_" & "CfgIni.tg", sCfg, false

metoda "LoadCfgIni" bude obsahovat:
Code: Select all
pResult = Pm.FileTextRead("#cfg:" & pContext.User.Name & "_" & "CfgIni.tg", 0)


a nyní v obraze v grafickém objektu prohlížečka trendů bude v metodě "Init" tento skript:
Code: Select all
//#pragma variable sName=Macro("$.text('sys','name')");
//#pragma variable sUnit=Macro("$.text('sys','unit')");
//#pragma variable sMin=Macro("$.text('sys','minimum')");
//#pragma variable sMax=Macro("$.text('sys','maximum')");
//#pragma variable sValue=Macro("$.text('sys','value')");

var i, oTHead = pMe.Items("../TrendHead").Acx;
var oTView = pMe.Acx;

oTHead.SetCellText(0, 2, sName);
oTHead.SetCellText(0, 3, sUnit);
oTHead.SetCellText(0, 4, sMin);
oTHead.SetCellText(0, 5, sMax);
oTHead.SetCellText(0, 6, sValue);

var sCfg = pMe.PmPanel.Methods.LoadCfgIni();
if (sCfg!="")
{
  oTView.LoadCfg("string:" + sCfg, 11);
  oTView.ReadData();
  oTView.Draw();
}
pMe.Vars("CfgIni").Value = oTView.GetCfg("Trends;TimeZoom;", "")


a v události "onStop" stejného objektu:
Code: Select all
var oTView = pMe.Acx;
var sCfg = oTView.GetCfg("Trends;TimeMinMax;", "");
pMe.PmPanel.Methods.SaveCfgIni(sCfg);


Tím máte zaručeno, že každý uživatel bude mít uloženou svou vlastní poslední konfiguraci prohlížečky, která se při otevření obrazu načte a při opuštění uloží.