Tekst op rapport bij bepaalde gelijkenis veld

Red-Eagle
Member Posts: 107
Ik wil op een report een stuk tekst weergeven als er aan bepaalde voorwaarde voldaan wordt.
De code is als volgt:
IF "Purchase Line".Element = '%.20.%' THEN BEGIN
Locatie := Text013
END ELSE BEGIN
Locatie := ''
END;
De bedoeling is dus dat locatie text013 wordt als er in elementveld .20. voorkomt
Wat doe ik fout?
De code is als volgt:
IF "Purchase Line".Element = '%.20.%' THEN BEGIN
Locatie := Text013
END ELSE BEGIN
Locatie := ''
END;
De bedoeling is dus dat locatie text013 wordt als er in elementveld .20. voorkomt
Wat doe ik fout?
0
Answers
-
% kan je in een SQL statement gebruiken maar niet in C/AL voor het filteren.
Kijk eens naar de on-line help van STRPOS en wijzig de IF in:
IF STRPOS("Purchase Line".Element,'.20.') > 0 THEN BEGINNo support using PM or e-mail - Please use this forum. BC TechDays 2024: 13 & 14 June 2024, Antwerp (Belgium)0 -
Bedankt voor de hulp, heb nu de volgende code gedaan:
IF STRPOS("Purchase Line".Element,'.20.') > 0 THEN BEGIN
Locatie := Text013;
END ELSE BEGIN
Locatie := '';
END;
Helaas is resultaat nog steeds leeg. Wanneer ik gewoon alleen locatie := text013 neem krijg ik wel resultaat, dus dat gedeelte zit in ieder geval goed
Het element wat in het veld staat is 01.20.0100, maar dit kan ook bijvoorbeeld 02.20.0200 zijn.0 -
STRPOS werkt in ieder geval naar behoren zoals je met deze code zelf kan uittesten:
codElement := '01.20.0100'; IF STRPOS(codElement,'.20.') > 0 THEN MESSAGE('.20. aanwezig') ELSE MESSAGE('.20. niet aanwezig');
Misschien dat de record-var "Purchase Line" niet correct is?
Of dat deze code uitgevoerd wordt nadat Locatie al is afgedrukt?
Moeilijk te zeggen zonder alle code te zien.No support using PM or e-mail - Please use this forum. BC TechDays 2024: 13 & 14 June 2024, Antwerp (Belgium)0 -
Dat begrijp ik. Met de code is ook niks waarschijnlijk. De plek kan natuurlijk wel.
Dit zijn de dataitems van het rapport:
DataItem Name
Purchase Header <Purchase Header>
Integer CopyLoop
Integer PageLoop
Purch. Comment Line <Purch. Comment Line>
Integer DimensionLoop1
Purchase Line <Purchase Line>
Integer RoundLoop
Integer DimensionLoop2
Integer VATCounter
Integer VATCounterLCY
Integer Total
Integer Total2
Integer Total3
Integer Total4
Purchase Header - OnAfterGetRecord()
// Buitenmontage voor krat
IF STRPOS("Purchase Line".Element,'.20.') > 0 THEN BEGIN
Locatie := Text013;
END ELSE BEGIN
Locatie := '';
END;
// Buitenmontage voor krat
Heb je hier al wat meer aan?0 -
Als Locatie op regelniveau wordt afgedrukt, dan moet je code in de Purchase Line dataitem staan.
Wordt Locatie afgedrukt op de header, dan moet je nog een FIND doen om een inkoopregelrecord op te halen in de Purchase Header dataitem. Als er dan regels zijn met verschillende Locaties (met en zonder '.20.' in het veld Element) dan heb je wellicht probleem.No support using PM or e-mail - Please use this forum. BC TechDays 2024: 13 & 14 June 2024, Antwerp (Belgium)0 -
Locatie wordt op headerniveau afgedrukt. Van die regelnummers weet ik, maar voor de situatie dat wij dit rapport gebruiken komt dit niet voor.0
-
Ik heb nu dit van de code gemaakt:
IF "Purchase Line".FIND('-') THEN BEGIN
IF STRPOS("Purchase Line".Element,'.20.') > 0 THEN
Locatie := Text013;
END ELSE BEGIN
Locatie := '';
END;
maar nu neemt hij altijd text0130 -
Als je geen filters hebt gezet voor de velden "Document Type" en "Document No." dan heeft ie het verkeerde record opgehaald.No support using PM or e-mail - Please use this forum. BC TechDays 2024: 13 & 14 June 2024, Antwerp (Belgium)0
-
Het is gelukt bedankt voor de hulp!!
Voor de volledigheid even de code die ik heb gebruikt, mocht iemand anders ook zoiets nodig hebben:
"Purchase Line".SETRANGE("Document No.", "Purchase Header"."No.");
"Purchase Line".SETRANGE("Document Type", "Purchase Header"."Document Type");
IF "Purchase Line".FIND('-') THEN BEGIN
IF STRPOS("Purchase Line".Element,'.20.') > 0 THEN
Locatie := Text013;
IF STRPOS("Purchase Line".Element,'.30.') > 0 THEN
Locatie := Text013;
END ELSE BEGIN
Locatie := '';
END;0
Categories
- All Categories
- 73 General
- 73 Announcements
- 66.6K Microsoft Dynamics NAV
- 18.7K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 617 NAV Courses, Exams & Certification
- 2K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 320 Dynamics CRM
- 111 Dynamics GP
- 10 Dynamics SL
- 1.5K Other
- 990 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 35 Design Patterns (General & Best Practices)
- 1 Architectural Patterns
- 10 Design Patterns
- 5 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1.1K General Chat
- 1.6K Website
- 83 Testing
- 1.2K Download section
- 23 How Tos section
- 252 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions