DISKUSE
HCL Domino na NAS QNAP (1)
20.02.2024 10:34

Vložení přílohy do dokumentu MS Word (3)
14.02.2024 20:54

Problěmy s diakritikou. (4)
06.02.2024 17:34

AI pomocnici 
15.01.2024 10:16

Export do pdf souboru (1)
12.01.2024 23:11

Agent přestává fungovat (1)
18.11.2023 06:42

RTF - Computed (2)
19.10.2023 13:00

Čtení polí v neuloženém dokumentu 
08.10.2023 17:15


ŠKOLENÍ


REKLAMA


KOMENTÁŘE
Diskusní skupina: Programování


PlánařRámec nebo okno ?
28.01.2023
21:42:42

ID: 3761.0

Plánař
Dobrý den,
prosím, potřebuji, aby tlačítko se scriptem v jazyce vzorců v dokumentu dělalo malinko rozdílnou akci. Ten rozdíl by určovalo to, zda-li je dokument otevřen v samostatném okně nebo v rámci. Když jsem to posledně řešil, tak jsem to obešel, nyní to nejde. Je nějaká funkce @..., která by to zjistila.

Děkuji
VZ 2 tlačítka a skrývání jednoho z nich
29.01.2023
18:04:13

ID: 3761.1


Ve vlastnostech tlačítka jsou na 5. záložce možnosti skrývání. V části "Hide paragraf when document is " jsou 2 možnosti Previewed for ... a 2 možnosti Opened for ...

Při Previewed for ... bývá dokument obvykle v náhledu v rámci, který by se měl jmenovat NotesPreview, a při Opened for ... bývá otevřen v samostatném okně.

Takže by šlo udělat 2 řádky (tedy odstavce), a na každém z nich jedno tlačítko s jiným zaškrtnutím skrývání. Jedno tlačítko by tak mohlo být schování při náhledu v rámci, a to druhé při otevřeném dokumentu, takže by se lišil i kód podle způsobu zobrazení.
A samozřejmě by šlo v obou případech ještě při skrývání rozlišit, jestli je dokument otevřený jen pro čtení anebo pro úpravy.
Plánař Poděkování
30.01.2023
07:58:14

ID: 3761.2


Dobrý den,

omlouvám se, právě takto to nefunguje. Jde o preview pomocí rámců, nikoliv pomocí preview pohledu.
I ve skrývání bych potřeboval nějakou tu funkci nebo jinou fintu k rozlišení.

Děkuji
VZ Vlastnost třídy NotesUIDocument
30.01.2023
10:29:56

ID: 3761.3


Šlo by využít Lotus Script - vlastnost NotesUIDocument.inPreviewPane?
Viz např. link1

Podle Designer Helpu ke starší verzi 8.5.1 je k inPreviewPane podobný příkaz @Command( [ShowHidePreviewPane] ; showOrHide ) . Jenže ten nezjišťuje stav, ale jen přepíná náhled, takže jestli neexistuje nějaký jiný nedokumentovaný @příkaz, tak asi jen přes ten skript?
Plánař vlastnost NotesUIDocument.inPreviewPane
31.01.2023
12:49:21

ID: 3761.4


Dobrý den,

vyzkoušeno. Vlastnost NotesUIDocument.inPreviewPane to taky neumí.

Probral jsem všechny funkce jazyka vzorců. Projedu ještě vlastnosti LotusScriptu.
mpistora JavaScript
31.01.2023
22:14:16

ID: 3761.5


JavaScript, i ten spouštěný v Notes klientu, to zjistí snadno. Když se dá např. do formuláře do
onLoad - Client - JavaScript
alert(window.top.frames.length);
Tak v normálním okně vypíše 0, ve framesetu počet rámců.

Fatální problém je v tom, že svět JavaScriptu moc nemůže s těmi světy LotusScriptů a formulí komunikovat. Z JavaScriptu jde třeba dle názvu referovat tlačítko a vyvolat klik (což naopak z těch běžných světů nejde).
VZ Z JS do notes.ini?
01.02.2023
15:17:32

ID: 3761.6


Snad by šlo tu informaci o Frame z JS zapsat třeba do notes.ini pomocí metody session.setEnvironmentVar, a pak si ji v kódu tlačítka načíst přes @Environment. Jen by to chtělo nějak zajistit její aktualizaci, tedy při jakém eventu by se měla zase vymazat. A ohlídat, aby si ji jednotlivé dokumenty navzájem nepřepisovaly, pokud by jich bylo otevřených více současně, některé ve framesetu a jiné bez něj.
Plánař Děkuji
03.02.2023
12:47:19

ID: 3761.7


Děkuji za příspěvky.

Požádal jsem AI o spolupráci.

Úžasná komunikace (nemyslím to ironicky).

Jen to řešení asi není ono nebo jsem ho nepochopil (zhruba toto):

@Command([IsDocumentBeingEdited];ID)="0" ....Rámec
@Command([IsDocumentBeingEdited];ID)="1" ....Vlastní okno
VZ AI si asi vymýšlí neexistující příkazy
03.02.2023
21:59:58

ID: 3761.8


Nelze použít něco, co nějaký jazykový rádoby AI robot asi poskládá z dostupné obecné dokumentace jako příkazy, které v daném prostředí nikdy neexistovaly.

Je to možné detekovat tím způsobem přes JS. Ve formuláři najít událost onLoad, a v ní to přepnout v políčku "Run" z "Web" na "Client". Když se tam pak dá ten alert(window.top.frames.length);, tak by měl vyskočit při otevření dokumentu dialog, kde bude buď 0 anebo počet rámců.
Pokud to jde takto zobrazit, tak by ten počet měl jít zapsat tím JS třeba i do nějaké proměnné v notes.ini přes setEnvironmenVar.
Jakmile to bude zapsáno v notes.ini, tak už by se to mělo načíst přes funkci @Environment v tom původním tlačítku, a podle toho se v tom tlačítku rozhodnout.
Ovšem je třeba dořešit, jak tu proměnnou pro @Environment nazvat. Kdyby bylo současně v LN klientovi otevřeno více takových dokumentů, tak by měl mít každý svou vlastní proměnnou. Tzn. dávat do názvu proměnné nějaký jednoznačný identifikátor. Možná tedy k názvu přidat @DocumentUniqueID , což by šlo snad zjistit i v JS přes getUniversalID(). A doufat, že nikdo neotevře stejný dokument v LN klientovi vícekrát současně, což jde třeba z pohledu přes klávesovou zkratku Ctrl+E.

Důležité bude také ty proměnné z notes.ini vyčistit, tzn. třeba před zavřením dokumentu v eventu QueryClose by to snad šlo zase použitím @Environment, pokud se to přepne z LotusScript na Formula.
VZ Ještě jedna možnost
05.02.2023
08:30:34

ID: 3761.9


Pokud to tlačítko má něco dělat jen u dokumentu, který je v režimu editace (@IsDocBeingEdited), možná by ten počet rámců z události onLoad šlo v JS uložit do nějakého pole v dokumentu. Podle toho pole by se pak rozhodl ten kód v tlačítku. Nemusel by se tedy používat notes.ini a řešit identifikátory. Také by to řešilo editaci nových dosud neuložených dokumentů, protože každý dokument by si nesl svou informaci o počtu rámců.
Plánař Poděkování
22.02.2023
10:14:06

ID: 3761.10


Dobrý den,

určitě zkusím, co mi radíte. Z nedostatku času jsem to zatím vyřešil pomocí vypočítávaných polí.
Preview v jiném rámci to stíhá jinak, než dokument v samostatném okně.

Děkuji

Přidejte názor
Autor:
Profese:
E-mail: i
URL:
Phone:
Předmět:
Obsah příspěvku (i):

Kolikátý je den v měsíci ? (číslovkou bez tečky)