08. september 2003 - 10:55Der er
13 kommentarer og 1 løsning
Readers field
Jeg har en form med et Readers field. Men det bliver gemt uden READACCESS NAMES som flag (feltmærke)? Det er redigerbart og magen til felter andre steder, som fungerer fint...Hvordan dælen kan det være ?
Jeg ved ikke om det kan være det, men jeg har været ude for noget lignende i et tilfælde, hvor feltet blev modificeret som item i LotusScript. Da jeg satte IsNames property til True på det pågældende item, virkede det.
Jeg har oplevet det før i en form, som blev oprettet af en agent, hvor læserfeltet var computed when composed. Der måtte jeg også sætte IsNames property til True efterfølgende.
Nå det er da et meget almindeligt feltnavn. Jeg har oplevet problemer med felter i adressebøger, som opførte sig mærkelig. Har du set om det samme sker hvis du omdøber feltnavnet? Evt. skifte til AUTHOR typen?
En god kommentar kommer aldrig for sent !. Men det er mere det med at feltet ikke gemmes som et readersfield, selvom det bliver oprettet som et (ikke i script). Og som sagt, kan jeg godt få det ændret efterfølgende i lotus script....bare mystisk !
Hvordan bliver dokumentet oprettet? @Agenter kan ikke oprette Readers-felter, og jeg har set at dokumenter, som ikke er oprettet med en formular (via agent eller lignende) bibeholder den oprindelige Text-felt-undertype, selvom de efterfølgende gemmes med en formular der har den ønskede type.
Jeg har før oplevet, at en form bliver syg og eneste løsning er at oprette en ny og kopiere felterne over et efter et. Man skal i den henseende være påpasselig med, hvordan man sletter felter - har jeg læst mig til. Man skal stille sig foran det og slette det med "delete", ikke markere nogle stykker op og slette dem. Det bringer uorden i notes' interne tabel over felterne.
->khln: Det er delvist rigtigt. Det drejer sig om den interne felttabel (UNK tabel), som prøver at holde øje med hvilke felter der er anvendt i databasen. Hvis man har et felt, som der også henvises til i andre formularer, så gør det ikke så meget at markere felterne og slette dem an bloc. Men hvis feltet kun findes på denne formular og iøvrigt ikke skal anvendes længere, så skal man stille sig på feltet og trykke <Delete> for at feltet bliver slettet fra UNK-tabellen. Men det er kun aktuelt for databaser med en UNK-tabel på omkring 64Kb. eller svarende til ca. 3000 felter. Desuden er det muligt at sætte et databaseattribut som tillader flere felter (kan have sine ulæmper).
Check lige i dokument-properties hvor mange eksemplarer af feltet du har. Hvis der er f.ex. to kan det ene felt have værdien mens det andet har flagene. Hvis der er flere skal de skæres ned til et, der har flag og værdier. Det overlades som en øvelse til den opmærksomme læser... ;-)
Der kan komme flere (muligvis endda versionsafhængigt *g*) hvis man laver New NotesItem() eller bruger en af kopieringsfunktionerne (NotesDocument.CopyAllItems() o.s.v.) og feltet allerede er der. Det er normalt ikke kritisk ved tekstfelter o.s.v. da værdierne så blot bliver lagt sammen når dokumentet kommer i redigeringstilstand, men når der er andre flag går det galt (jeg har selv oplevelser med IsReaders, IsNames og IsAuthors). I de tilfælde skal man tage fat i et NotesItem og lave AppendToTextList() hvis der skal flere værdier på, eller slette og genopbygge feltet hvis det har forholdsvist faste værdier.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.