ik heb een vraagje mbt een datumberekening op een report. Ik wil hierin een veld hebben dat aangeeft dat de klant bijv. in 2 of 3 termijnen mag betalen na resp. 1 maand na fakt.datum en 2 mnd na de faktuur boekingsdatum. Simpel een global aanmaken met als datatype 'date' en dan date1:="sales invoice header"."posting date"+30D werkt niet.
Wie kan mij helpen. Dit moet m.i. eigenlijk heel simpel zijn maar mijn
kennis in c/side is te mager. Alvast bedankt voor jullie reacties.
mvg Adriaan
0
Comments
OF
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
ok, ik ga dat morgen meteen proberen, ik was een eind op weg en had de 2e optie zelf al, echter zonder resultaat waarschijnlijk vanwege verkeerde quotes. Alvast bedankt !
Beide horen zeker thuis in de on-after-get-record van het data-item ?
De OnPreSection- en OnPostSection- triggers zouden ENKEL mogen gebruikt worden om te beslissen of iets moet geprint worden of niet (OnPreSection) en om iets te doen juist na het printen van een section (OnPostSection).
Andere dingen moeten in de OnAfterGetRecord-triggers.
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
"typeconversie is niet mogelijk omdat een van de zijden van een niet toegestaan type is........Date:= Text "
misschien dat je nog even een tip hebt ?
vergissing! het moet zijn:
No PM,please use the forum. || May the <SOLVED>-attribute be in your title!
Eric Wauters
MVP - Microsoft Dynamics NAV
My blog
Eric Wauters
MVP - Microsoft Dynamics NAV
My blog
Wat plaats je in SourceExpr?
Dit al eens geprobeerd:
FORMAT(CALCDATE('<30D>',"sales invoice header"."posting date"))
Dat gebeurt wel eens
Eric Wauters
MVP - Microsoft Dynamics NAV
My blog
Ik zit met het volgende:
date1 :=CALCDATE('<1M>', "Sales Invoice Header"."Posting Date");
date2 :=CALCDATE('<2M>', "Sales Invoice Header"."Posting Date");
BEGIN
IF Cust."Customer Price Group"='PART 2' THEN
termtext:= 'U mag het bedrag ook overmaken in 2 maandelijkse termijnen van € te voldoen per heden en per' ELSE
termtext:='';
IF Cust."Customer Price Group"='PART 3' THEN
termtext1:= 'U mag het bedrag ook overmaken in 3 maandelijkse termijnen van € te voldoen per heden, per en per' ELSE
termtext1:='';
END;
op de lege plaatsen wil ik dus de berekende datums vullen maar als ik daar de formule zet, wordt dit als letterlijke tekst meegenomen. Misschien dat ik een hele andere richting op moet denken ?
al eens met STRSUBSTNO gewerkt?
dan kan u %1 e.d. vervangen door een datum.
In uw voorbeeld zou dit het volgende kunnen zijn:
Ik raad ook aan om de tekst in een tekstconstante te plaatsen ... zodat je multilanguage kunt werken.
Eric Wauters
MVP - Microsoft Dynamics NAV
My blog
Staat trouwens mooi uitgelegd in de C/SIDE help:
Veel succes!
Eric Wauters
MVP - Microsoft Dynamics NAV
My blog
kunnen jullie me nu nog met één ding helpen mbt deze post. Ik heb in het report, in de onaftergetrecord van het data-item "Sales invoice line" onderstaande gezet (tezamen met de vorige tips). Ook staat in de Onpredataitem het commande createtotals met daarin o.a. tot2,tot3,tot2r en tot3r. Ondanks de plaatsing van de velden in de footer krijg ik toch geen totalen maar alleen de berekende velden van de laatste 'sales invoice line' regel. Hoe kan ik het totaal krijgen ?
tot2:="Sales Invoice Line"."Amount Including VAT"/2;
tot3:="Sales Invoice Line"."Amount Including VAT"/3;
tot2r:=round(tot2,0.01);
tot3r:=round(tot3,0.01);
de aangemaakte velden tot2, tot3 en tot2r en tot3r staan al in het commande CREATETOTALS. Deze velden staan niet in de veldenlijst die ik kan selecteren voor de propertie 'Totalfiels'. :-k
tot2:= tot2 + "Sales Invoice Line"."Amount Including VAT"/2;
tot3:= tot3 + "Sales Invoice Line"."Amount Including VAT"/3;
Ha Maximus, het lukt me toch niet. Als ik 2 velden aanmaak met als sourcecode resp. tot2r en tot3r , dan werken die velden wel in de footer section. Maar als ik ze opneem in de onaftergetrecord van de salesline, dan komt er toch een vreemd bedrag in de substr te staan. Nog ideeën ?
Name DataType Subtype Length
tot2 Decimal
tot3 Decimal
tot2r Decimal
tot3r Decimal
en deze gebruik ik op de volgende manier in de onaftergetrecord van dataitem 'sales invoice line':
date1 :=CALCDATE('<1M>', "Sales Invoice Header"."Posting Date");
date2 :=CALCDATE('<2M>', "Sales Invoice Header"."Posting Date");
tot2:="Sales Invoice Line"."Amount Including VAT"/2;
tot3:="Sales Invoice Line"."Amount Including VAT"/3;
tot2r:=ROUND(tot2,0.01);
tot3r:=ROUND(tot3,0.01);
IF Cust."Customer Price Group"='PART 2' THEN
term2:= STRSUBSTNO('U mag het bedrag ook overmaken in 2 maandelijkse termijnen van € %2 te voldoen per heden en per %1.',
date1,tot2r) ELSE
term2:='';
IF Cust."Customer Price Group"='PART 3' THEN
term3:= STRSUBSTNO('U mag het bedrag ook overmaken in 3 maandelijkse termijnen van € %3 te voldoen per heden, per %1 en per %2.',
date1,date2,tot3r) ELSE
term3:='';
De term-teksten komen in de 'sales invoice line'-footer in het report.
Kun je hier wat mee ?
tot2:= tot2 + "Sales Invoice Line"."Amount Including VAT"/2;
tot3:= tot3 + "Sales Invoice Line"."Amount Including VAT"/3;
dit zorgt ervoor dat bij iedere verkoopfactuurregel die voorbijkomt de waarde van Bedrag incl BTW bij tot2 opgeteld wordt. Als alle regels voorbij zijn gekomen en de footersessie komt aan de beurt bevat deze variabele een totaal die je kan laten afdrukken in een textbox met sourceexpression tot2 en tot3.
alles werkt. Bedankt voor de hulp en de tips !