Zobrazení hodnot proměnných (PmaData) v tabulce (LogTable)

Toto je hlavní technické fórum pro diskusi o problémech při vytváření PROMOTIC aplikací a jejich řešení.

Zobrazení hodnot proměnných (PmaData) v tabulce (LogTable)

Postby Michael_S » Tue 24. Sep 2024 15:42:06

Nějak už si nevím rady, jak načíst hodnoty z objektu "Data" dle indexu (ne dle názvu) do tabulky. Hlásí "'Pm(...)' má hodnotu null nebo není objekt." a zobrazuje prázdné řádky.
Nedaří se mi ani jednotlivě do textového pole. Jaká je správná syntaxe, a jak ukládat do tabulky ve formátu "název proměnné + Hodnota + kWh"?
Potřebuju ten výpis hodnot pak uložit do textového souboru a proto se mi tato tabulka s ukládáním na tlačítko zdá vhodná.
Díky

Code: Select all
Onrefresh:
var oTable = pMe.Form.GetItem("idTable");
var oTabArea = oTable.GetArea(11);
var nRows = oTabArea.RowCount;

var i;
var napocitano;
for (i = 11; i < 92; i++)
{
oTable.InsertRow(1, 0);
napocitano = pMe.Pm("../../Data/Socomec").Item(i).Value;
oTabArea.GetRow(0).GetCell(0).Value = napocitano;
   Pm.Debug("i=" + i + " " + napocitano);
}
Attachments
data do tabulky.png
data do tabulky.png (61.18 KiB) Viewed 413 times
Michael_S
 
Posts: 3
Joined: Tue 24. Sep 2024 15:20:53

Re: Zobrazení hodnot proměnných (PmaData) v tabulce (LogTable)

Postby Petr Návrat » Thu 03. Oct 2024 7:58:46

Dobrý den

V obraze se nelze přímo odkazovat na Pma objekty ve stromu Pma objektů (např. používat pMe.Pm("/data/xy")).
Pokud je potřeba v obrazu ovlivnit jiný objekt v aplikaci, pak to lze provést:
- datovou vazbou
- voláním metod pMe.PmPanel.Methods.XXX(a,b,..).

Pro Vás to asi znamená:
- v obraze zavolat:
var aMojePoleDat = pMe.PmPanel.Methods.DejMojePoleDat();
.. zpracování aMojePoleDat ..

- obraz pošle volání této metody do aplikace (metoda bude umístěna v daném PmaPanel v kartě Methods),
aplikace tuto metodu zavolá a výsledek zase pošle zpět do obrazu.
tzn. tato metoda v aplikaci načte pole dat (metoda DejMojePoleDat je v aplikaci, není v obrazu)
a metoda toto pole vrátí pomocí:
var aMojePoleDat;
.. Naplnění aMojePoleDat ..
return aMojePoleDat;

Tato trochu složitější koncepce je proto že obraz může běžet jako Web obraz v prohlížeči úplně na jiném počítači
a tam Pma objekty nejsou přímo přístupné.
Ale pMe.PmPanel.Methods.xxx umožní poslat požadavek na data do aplikace.

Petr Návrat
navrat@microsys.cz
Petr Návrat
Administrátor
 
Posts: 100
Joined: Thu 13. Dec 2012 14:32:08

Re: Zobrazení hodnot proměnných (PmaData) v tabulce (LogTable)

Postby Michael_S » Tue 29. Oct 2024 17:19:03

Děkuji za odpověď.
volání metod pMe.PmPanel.Methods.XXX(a,b,..) používá vaše vzorová aplikace, kde to funguje hezky pro ukládání CSV z trendů
Pokud toto zřetězené volání metod použiju ve své aplikaci, tak mám v "Errors" záložce "Script" tohle:

Objekt tuto vlastnost nebo metodu nepodporuje.

Jak pro zkopírovaný kód z vzorové aplikace pro "SaveToCsv" tak i pro všechny ostatní pokusy volat metodu mimo Pmg.
Michael_S
 
Posts: 3
Joined: Tue 24. Sep 2024 15:20:53

Re: Zobrazení hodnot proměnných (PmaData) v tabulce (LogTable)

Postby Petr Návrat » Fri 01. Nov 2024 8:09:27

Hlášení chyby určitě vrací ještě další informaci pomocí které můžete zjistit příčinu chyby.
Já Vaši aplikaci nemám takže to zjistit nemohu.
Asi máte chybu ve skriptu.
Nevím jak jste tento skript vytvořil.
Pokud je to přebráno z našich předkonfigurací tak nevím z jakých.

Petr Návrat
Petr Návrat
Administrátor
 
Posts: 100
Joined: Thu 13. Dec 2012 14:32:08


Return to Nevím jak...

Who is online

Users browsing this forum: No registered users and 2 guests

cron