Witam,
WinXP, Promotic 8.218.
Mam problem z wywołaniem metody Pm.FileTextWrite z poziomu javascript. Ta sama metoda wywołana z panelu utworzonego na VBs działa bez problemu.
Konkretny przykład:
[
var waga1=pMe.Vars("waga1");
var waga2=pMe.Vars("waga2");
var ubytek= waga1-waga2;
var start_data= pMe.Vars("start_data");
var end_data= pMe.Vars("end_data");
//
/*
** pMe.Vars("header") = z pliku, konfigurowany przez użytkownika, logo, nazwa itp.. (;S;cfg\raporty_cfg\html_header1.ini;;) (wczytuje plik graficzny tylko ze ścieżki bezwzględnej)
<img src="C:/Pm/empol_02.jpg" alt="-EMPOL-" align="right" />
<p align="center"><font size="5" color="red" face="Arial"><b>
P.U.K. "EMPOL" Sp. z o.o.<br />
</u></i></b></font>
<font size="4" color="green" face="Courier New"><b><u><i>
oddz. Gorlice, Bioreaktor nr 1 <br /></u>
</u></i></b></font>
<font size="2" color="blue" face="Arial"><b>
dokumentacja przebiegu procesu kompostowania.<br />
</u></i></b></font></p>
*/
var tHead = pMe.Vars("header")+ ("<p><font size='4' color='black' face='Arial'><b><u>KOMORA nr 1<br /></u></i></b></font></p>"); //('<p>KOMORA nr1</p>');
var oText1 = ("<p><font size='3' color='black' face='Courier New'><b>Waga Wsadu przy ZAŁADUNKU ....") + waga1 + ("kg<br />");
oText1 = oText1 + ("Waga Wsadu przy ROZŁADUNKU....")+ waga2 + ("kg<br />");
oText1= oText1 + ("UBYTEK MASY...................")+ ubytek + ("kg<br /></u></i></b></font></p>");
oText1= oText1 + ("<br /><br /><br /><br /><font size='3' color='black' face='Courier New'><i> raport sporządził .............................</i></font>");
//oText1= oText1 + ("<br /><font size='2'><i> (c) 2014 Krzysztof Brudzisz(automatykb.cba.pl)</i></font>");
//tHead= tHead + oText1;
//
var oTView = pMe.Items("/Panel/AxTrendsView").Acx;
var sHtml = oTView.SaveToHtm("ver:1", "return:", "mode:" + oTView.ViewMode + ";");
sHtml = tHead + sHtml;
sHtml = sHtml + (" ******* <br /><br /> ")+ oText1;
if(sHtml != "") // print A4 width:700px;height:930px; (210x297), landscape width:930px;height:700px;
{
Pm.PrintHtmlPage(sHtml, "sourcetype:htmlstring;printer:preview;width:930px;height:700px;");
Pm.FileTextWrite("$path.data:raport1.htm", sHtml, "mode:new;");
}
Pm.FileTextWrite("C:/Pm/Data/raport1.htm", sHtml, "mode:new;"); // bezwarunkowy zapis - test (nie działa)
]
to samo (jako test działamia) w VBs:
[
Dim oTView
'Set oTView = pMe.Items("/PanelTr1/AxTrendsView").Acx
Set oTView = pMe.Items("../AxTr1").Acx
Dim sHtml
sHtml="string:"
oTView.SaveToHtm "ver:1", sHtml, "mode:" & oTView.ViewMode & ";"
Pm.PrintHtmlPage sHtml, "sourcetype:htmlstring;printer:preview;width:2100;height:2790;"
Pm.FileTextWrite "$path.data:raport.htm", sHtml
]
działa bez problemu.
Podobnie ma się rzecz z pMe.PmPanel.Print. Z poziomu VBs działa bez zarzutu
{ pMe.PmPanel.Print 0, "x:100;y:100;dx:300;dy:200;" },
a zpoziomu jscript nie.
Bardzo proszę o pomoc, postawiłem na system Promotic, aplikacja liczy sobie ponad 50 000 lini kodu w XML (jestem na etapie podjęcia decyzji o zakupie licencji develop), zależy mi na tym aby bez problemu wyświetlała się w przeglądarkach i dlatego całość jest w jscript, przepisanie jej od nowa na tym etapie nie wchodzi w grę.
z poważaniem
K.B.