07. januar 2002 - 15:54Der er
15 kommentarer og 1 løsning
tilsætte årstal på felt
hej jeg vil gerne lave et computed field, som henter en dato i formatet dd-mm i et andet felt og tilsætter det aktuelle årstal....men jeg får incorrect funktion ved (feltnavn+@year)hvad er den rette formel ?? På den måde kan man jo kunstigt gentage events og slippe for at kopiere hele gentagelsesfunktionen med i sin nye kalender.... grunden til denne løsning er at jeg ikke kan få en agent til at køre på tomorrow funktionen medmindre der er årstal med i datofeltet.
Du skal blot sikre at begge felter er på dato-format. Du kan ikke addere et år med \'+\'. Datoer justeres med @adjust. Du skal være sikker på at den samlede tekststreng er en dato, f.eks. 01-12-02 eller 01-12-2001, derfor må du addere \"-\".
Nå ja - klart! Jeg har været lidt hurtig. Hvilket år vil du have sat på: et fast årstal (f.eks. 2001) eller året ekstraktet fra et felt/en værdi (f.eks. @Year(feltnavn) eller @Year(@Now) ) Bemærk, at @Year er en funktion der kræver et argument. Desuden havde jeg glemt et @ før det sidste Text.
feltet hvor jeg henter datoen er et redigerbart felt i formatet date/time day&month (foedselsdag)altså eks. 08-01 og det skal så i et andet felt(foedselsdato) hvor der skal tilsættes årstal, så det computede felt altid vil indeholde den indtastede dato fra det redigerbare felt og så det aktuelle årstal, formålet er at kunne lave en agent som sender en mail til folk dagen før ansattes fødselsdage, som jo er på den samme dato hvert år....
Nåe, så er det noget helt andet vi skal have fat i. Hvis dit oprindelige felt er et dato felt så indeholder det en år, måned, dato, timer, minuter, secunder, men viser kun det du ønsker - her: day&month. Det smarteste (jeg kan komme på) vil være at tjekke for om foedselsdag er imorgen. Det gør du ved at tjekke at du er i samme måned som foedselsdag og at datoen i dag er dagen før foedselsdag: @if(@Month(@Today)=@Month(foedselsdag) & @Day(foedselsdag)-@Day(@Today)= 1; <send mail> ; <DoNothing> )
<send mail> ; <DoNothing> denne del kan den ikke lide inapropriate use of > men bortset fra det er det jo klart en bedre løsning det kan jeg godt se.. :)
Nåeee, det var bare eksempler :-) du må sætte din egen kode ind her. <send mail> kunne være anvendelse af @MailSend funktinen og <DoNothing> ville typisk være \"\" (=Null). Men det er jo en helt anden historie ;-)
nå nu er løsningen vist tæt på, nu har jeg fået brygget flg kode, og den virker tilsyneladende men sender ikke nogen mail ,selvom jeg står i feltet SendTo @If(@Month(@Today)=@Month(foedselsdag) & @Day(foedselsdag)-@Day(@Today)= 1; @MailSend (\"SendTo\";\"\";\"\";\"Fødselsdag\";\"\";\"\"); \"\" );SELECT @All
sagen er at jeg ikke kan få den til at benytte felterne til at finde modtagere af mailen og til subjectet, jeg vil eks. gerne have at subject i mailen bliver indholdet af feltet \"subject\" som indeholder oplysninger om hvem det er der har fødselsdag eks. jeg har fået den til at sende mig en mail ved at skrive mig selv på direkte i agenten men det er jo ikke optimalt....
med denne kode @If(@Month(@Today)=@Month(foedselsdag) & @Day(foedselsdag)-@Day(@Today)= 1; @MailSend (\"Thomas Olesen/Hosen\";\"\";\"\";\"(subject)\";\"\";\"\"); \"\" );SELECT @All
Følgende schedulerede agent undersøger om der skal sendes en mail med subjectet \'Tillykke med i morgen\' til de der har fødselsdag i morgen. Bemærk, kør agenten scheduleret daglig på alle dokumenter i databasen. Du kan evt. forfine kørslen ved at opstille et søge kriterie så kun en bestemt type dokumenter er omfattet. Jeg forudsætter der er et felt, som hedder \'SendTo\' på din form.
@if(@Month(@Today)=@Month(foedselsdag) & @Day(foedselsdag)-@Day(@Today)= 1; @MailSend( SendTo ; \"\" ; \"\" ; \"Tillykke med i morgen\" ; \"Kære \"+@Name([CN];SendTo)+\".\"+@NewLine+@NewLine+\"Du ønskes tillykke med fødselsdagen i morgen.\" ; \"\") ; \"\" )
Hvis f.eks. Subject feltet skal indeholde en anden tekst kan du bare erstatte min tekst med navnet på et felt (men UDEN \" \" omkring).
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.