Tips & Trix - Teknik Jeeves World 2011 Copyright 2011 Jeeves Information Systems AB
Agenda Formulärdesign Förbättra användarvänlighet För systemadministratören Tips vid sökning Nätverkskonfigurering Säkerhet Överföra anpassningar Integration
Förklaring till versionsnumrering Jeeves Universal/Selected 1.0 Jeeves Application v10 Net Kernel v2.3.0 Jeeves Universal/Selected 2.0 Jeeves Application v11.0 Net Kernel 3.0.0 Jeeves Universal/Selected 2.0.3 (service pack 3) Jeeves Applikation v11.0.3.0 Net Kernel 3.0.3
Designa formuläret Ändra steglängd för bättre precision Kortkommando för att flytta/ändra storlek på objekt + = Flytta + = Ändra storlek Få inbäddade listan att anpassa sin höjd efter fönstret genom att sätta höjd = null
Designa formuläret Flytta fält relativt i mesta möjliga mån då den styr hur markören förflyttar sig mellan fälten (tab-ordning). Styr vart markören ska ta vägen då den lämnar ett fält med hjälp av makro. Makrokommando: FocusFormField Makrohändelse: När fält lämnas
Förbättra användarvänligheten Använd makro + kortkommando för att enkelt anropa funktioner på menyn. Exempel: Listan i kopieringsläge Hitta fält (Developer menu > Focus field) Skapa kortkommando med Alt genom att vid namnsättning av objekt sätta &-tecken. Användbart på flikar och knappar. Sätt eller byt ikon på knappar för enklare särskiljning Aktivera/avaktivera knappar Makrokommando: SetFieldProperty('zsbutton',20175,6,'false');
Förbättra användarvänligheten Skapa en formatmall ( Style ) för fält som behöver sticka ut Sätt bakgrundsfärg på obligatoriska fält med makro Makrokommando: SetFieldProperty('orp','artnr',2,'#FFFFB3'); Makrohändelse: Vid ny post Förtydliga mellan editeringsläge och låst läge genom att sätta olika bakgrundsfärg
För systemadministratören Gömma funktioner från menyn men synliga för systemadministratören Gömma alla Jeeves-flikar vid namn Alla fält men synliga för systemadministratören
Modifiera totalfönstret Möjligt att lägga till fält från listan till totalfönstret + flytta fält i totalfönstret Summering för alla poster i listan Värdet från posten med fokus
Makrohändelser Vid inloggning T.ex. Skicka ut ett meddelande till dom som loggar in Efter rapportutskrift
Kalender i makrodialog Kalender (fr.o.m kärnversion 303f)
Sökning Sökurval med # och $ Automatisk sökning
Sökning - Fulltext Stöd fr.o.m Net Kernel 3.0 Bättre prestanda på sökningen istället för % Ytterligare avancerade sökvillkor OR, AND, AND NOT Installation Skapa en full-text katalog i SQL Server Management studio Skapa ett unikt rad index (räknare) för aktuell tabell (ett måste då i stort sett alla Jeeves tabeller har flera fält i nyckeln). Skapa ett full-text index på önskat fält
Systeminställningar i pgm/tabell JINI Förhindra Crystal utskrifter utan begränsningar (varningsdialog) Sektionen: Crystal, Parameter: ConditionAlert. Blockera användare från att göra sökningar utan villkor Sektion: Jeeves, Parameter: BlockWildSearch Datum+Tid mask för t.ex. när posten är skapad (fr.o.m 3.0.3) Sektion: Jeeves, Parameter: DefaultDateTimeMask Visa extra information om aktuellt program Sektion: Zero, Parameter: ShowDebugInfo
Nätverk Klientens ini-fil DefaultIpAddress=NoWarning DefaultIpAddress=* ConnectionType=6 (Net kernel version 3.0.3)
Nätverk Connection Type 2 Ny klient Client Broker Server 1 Connection Type 6 Tillagt fr.o.m Net kernel 3.0.3
Säkerhet DB-Security Inställningar / Makron Security Manager Restriktiva vyer
Inloggningssäkerhet Security Modes (inställningar i tabellen jini för inloggning utan lösenord) SecMode 1 & 2 Lägg upp alla windows användarna i SQL Server Secmode 3 & 4 (nytt fr.o.m kärnversion 3.0.3) Windows användarna behövs inte i SQL Server
Inloggningssäkerhet Windows inloggning för servern (Kärnversion >= 3.0.0) Lägg till Windows användaren som startar Jeeves servrarna i SQL Server. Se till att denna användare har rätt att köra databasproceduren JvsLgCrptV2 Ange ingen användare och lösenord i inställningsfilen för servern
Överföra anpassningar Enkla inställningar. Exportera inställningsgrupper via JvsSiteGroupMappingP Mer avancerad logik Apps Builder Inställningsgrupper Egen databaslogik Egen mall data
Överföra anpassningar Checkbox: Alla användare förvalda (11 sp3) Användbart för inställningar som alla användare av systemet ska ha tillgång till Egentillagda termer Fält till tabell Fält till formulär/lista
Överföra anpassningar Program: JvsSiteMembers Bra för att söka reda på vilka grupper en signatur är kopplad till
Integration mot Jeeves klienten DDE COM / ActiveX
Frågor?
Makro exempel: styr tab-ordning function q_jis_gotofield: boolean; begin FocusFormField('oh','levsattkod'); //Om samma fält (tabell+kolumn) finns flera gånger kan man använda fältets unika id //FocusFormField(' id','130'); end;
Makro exempel: Anropa menyfunktioner function q_jis_find_field: boolean; begin Menucommand(99803); //Arkiv > Developer menu > Find Field end; function q_jis_listwindow_in_copymode: boolean; begin menucommand(973); //Verktyg > Listan i kopieringsläge end;
Makro exempel: Avaktivera knapp function q_jis_disablebtn: boolean; begin if (oh.oeutskrdat = '') then begin setfieldproperty('zsbutton','20192',6,'true'); end else begin setfieldproperty('zsbutton','20192',6,'false'); end; end;
Makro exempel: Obligatoriska fält function q_jis_mandatory_fields: boolean; begin SetFieldProperty('orp','artnr',2,'#FFFFB3'); SetFieldProperty('orp','ordantal',2,'#FFFFB3'); end;
Makro exempel: Kalender i makrodialog function DatumDialog: boolean; var sto,sfrom,stype,sddl:string; begin //Visa kalender i en multigetstringdialog fr.o.m kärnversion 303f if multigetstring('create Timerows', ' ', 'From Date To Date Type', '<%EDITDATE> <%EDITDATE> <%COMBO>'+sDDL,chr(32), sres) then begin sfrom:=extractstring(sres,' ',1); sto:=extractstring(sres,' ',2); stype:=extractstring(sres,' ',3); end; end
Makro exempel: $ sökning function idag: string; begin idag := DateToMaskedString('yyyymmdd',today); end