Lägg till visnings- eller redigeringsmetod via tillägg i Dynamics 365
Publicerad: 16 februari 2025 kl. 11:56:07 UTC
Senast uppdaterad: 12 januari 2026 kl. 08:57:29 UTC
I den här artikeln förklarar jag hur man använder ett klasstillägg för att lägga till en displaymetod i en tabell och ett formulär i Dynamics 365 for Operations, inklusive X++-kodexempel.
Add Display or Edit Method via Extension in Dynamics 365
Även om det generellt sett är bra att överväga att använda visnings- eller redigeringsmetoder i Dynamics, så är de ibland det bästa alternativet.
Tidigare versioner av Dynamics och Axapta var det väldigt enkelt att skapa visnings- eller redigeringsmetoder på tabeller och formulär, men när jag nyligen råkade behöva skapa min första redigeringsmetod i Dynamics 365 upptäckte jag att proceduren för att göra det är något annorlunda.
Det finns uppenbarligen flera giltiga metoder, men den jag tycker är bäst (både vad gäller intuitivitet och kodsnygghet) är att använda en klasstillägg. Ja, man kan använda klasstillägg för att lägga till metoder till andra elementtyper än klasser – i det här fallet en tabell, men det fungerar även för formulär.
Skapa först en ny klass. Du kan döpa den till vad du vill, men av någon anledning måste den ha suffixet "_Extension". Låt oss säga att du behöver lägga till en displaymetod till CustTable, du kan till exempel döpa den till MyCustTable_Extension.
Klassen måste dekoreras med ExtensionOf för att systemet ska veta vad du utökar, så här:
public final class MyCustTable_Extension
{
}
Nu kan du bara implementera din displaymetod i den här klassen, precis som du skulle ha gjort direkt i tabellen i tidigare versioner av Dynamics - "detta" refererar till och med till tabellen, så att du kan komma åt fält och andra metoder.
Till exempel kan en klass med en enkel (och helt värdelös) displaymetod som bara returnerar kundens kontonummer se ut så här:
public final class MyCustTable_Extension
{
public display CustAccount displayAccountNum()
{
;
return this.AccountNum;
}
}
För att lägga till visningsmetoden i ett formulär (eller ett formulärtillägg om du inte kan redigera formuläret direkt) måste du lägga till ett fält i formuläret manuellt och se till att använda rätt typ (sträng i det här exemplet).
Sedan, på kontrollen, ställer du in DataSource till CustTable (eller vad namnet nu är på din CustTable-datakälla) och DataMethod till MyCustTable_Extension.displayAccountNum (se till att inkludera klassnamnet, annars kan kompilatorn inte hitta metoden).
Och du är klar :-)
Uppdatering: Det är inte längre nödvändigt att inkludera namnet på tilläggsklassen när man lägger till displaymetoden i ett formulär, men vid den ursprungliga publiceringstillfället var det det. Jag lämnar informationen här ifall vissa läsare fortfarande använder äldre versioner.
Vidare läsning
Om du gillade det här inlägget kanske du också gillar dessa förslag:
- Visual Studio hänger sig vid start under laddning av senaste projekt
- Sätt Dynamics 365 FO Virtual Machine Dev eller Test i underhållsläge
- Uppdatera Financial Dimension Value från X++ Code i Dynamics 365
