Dynamics 365 Blog

Schau auf dich, bleib zu Hause
 

Fehler "The step failed" beim Platformupdate 32 beim Aktualisieren des Retail self service

Tritt während eines Platform Updates eines lokalen VPCs folgender Fehler auf...

GlobalUpdate script for service model: RetailSelfService on machine: D365Local
Update Retail self service.
UpdateRetailSelfService.ps1 failed.
The step failed
The step: 52 is in failed state, you can use rerunstep command to debug the step explicitly
   at Microsoft.Dynamics.AX.AXUpdateInstallerBase.RunbookExecutor.ExecuteRunbookStepList(RunbookData runbookData, String updatePackageFilePath, Boolean silent, String stepID, ExecuteStepMode executeStepMode, Boolean versionCheck, Parameters parameters)
   at Microsoft.Dynamics.AX.AXUpdateInstaller.Program.InstallUpdate(String[] args)
   at Microsoft.Dynamics.AX.AXUpdateInstaller.Program.Main(String[] args)

...kann es möglicherweise helfen, den Azure Storage Emulator zu starten und danach den Updatevorgang beim betroffenen Schritt fortzusetzen.


 
 
 

Labelfile auf einer Entwicklungsumgebung entfernen

Wenn man in die Verlegenheit kommen sollte, auf einer Entwicklungsumgebung ein Labelfile löschen zu müssen, sollte man in jedem Fall anschließend prüfen, ob in der folgenden Verzeichnissen noch Fragmente dieses Labelfiles übrig geblieben sind:

  • C:\AOSService\PackagesLocalDirectory\WpPlm\WpPlm\AxLabelFile
  • C:\AOSService\PackagesLocalDirectory\WpPlm\Resources (inkl. Unterverzeichnisse je Sprache)

 
 
 

Einfache Zeitmessung im Code

Um die Ausführungsdauer einer Funktion/Logik zu messen, kann man System.Diagnostics.Stopwatch verwenden:

System.Diagnostics.Stopwatch watch = new System.Diagnostics.Stopwatch();
watch.Start();
// ... do something
watch.Stop();
info(strFmt("%1ms", watch.ElapsedMilliseconds));

 
 
 

[BPFrameworkFatalException]:A fatal exception occured in the Best Practices framework

Ich hatte in der Vergangenheit immer wieder das Problem, daß die BP-Prüfung nicht alle zu erwartetenden Abweichungen gefunden hat oder sogar der folgende Fehler ausgegeben wurde:

[BPFrameworkFatalException]:A fatal exception occured in the Best Practices framework.

In all diesen Fällen hat es geholfen, die folgende Regel zu deaktivieren: BPCheckTableDimensionFields

D365 Best practice rules

Gefunden habe ich den entscheidenden Tip in der Dynamics 365 Community


 
 
 

Dimensions-Anzeigewert auf Basis eines LedgerDimension-Feldes ermitteln

Wenn man sich per Code den Anzeigewert einer als RefRecId gespeicherten Finanzdimension ermitteln möchte, kann sich der nachstehenden Funktion aus der LedgerDimensionFacade bedienen:

DimensionDisplayValue displayValue = 
LedgerDimensionFacade::getDisplayValueForLedgerDimension(ledgerJournalTrans.LedgerDimension);

 
 
 

FormViewOption einer Form per Code steuern

Um die FormViewOption einer Form zu steuern, kann man Code wie den folgenden verwenden:

public static void setFormViewOption(
    FormRun _formRun,
    FormViewOption _formViewOption = FormViewOption::Details
    )
{
    if (_formRun
        && _formRun.viewOptionHelper())
    {
        _formRun.viewOptionHelper().setViewOption(_formViewOption);
    }
}

 


 
 
 

Best-Practice-Abweichungen unterdrücken

Prinzipiell sollte jede Lösung in Dynamics 365 for Finance and Operations frei von Best-Practice-Abweichungen sein, dennoch gibt es ab und an die Notwendigkeit, sie unterdrücken zu müssen.

Ein solcher Fall sind beispielsweise Eventhandler, die ein vorgegebenes Paramterprofil aufweisen, im Falle eine Nicht-Verwendung eines dieser Parameter aber eine BP-Abweichung verursachen.

class MyFreeTextInvoiceHeaderFooterTmpEH
{
    [DataEventHandler(tableStr(FreeTextInvoiceHeaderFooterTmp), DataEventType::Inserting)]
    public static void FreeTextInvoiceHeaderFooterTmp_onInserting(Common sender, DataEventArgs e)
    {
        FreeTextInvoiceHeaderFooterTmp freeTextInvoiceHeaderFooterTmp;
    
        freeTextInvoiceHeaderFooterTmp = sender;
    
        if (freeTextInvoiceHeaderFooterTmp.CompanyBankAccount == "")
        {
            freeTextInvoiceHeaderFooterTmp.CompanyBankName = "Unknown";
        }
    }
}

Bei obigem EH würde folgende BP-Abweichung ausgegeben werden, da der Parameter e nicht verwendet wird:

BP Rule: [BPParameterNotUsed]:The parameter 'e' is not used.


 
 
Seiten 1 2 3 4 » 

 

 
 
 
Beiträge des aktuellen Monats
April 2020
MoDiMiDoFrSaSo
 12345
6789101112
13141516171819
20212223242526
27282930 
 
© 2006-2020 Heinz Schweda | Impressum | Kontakt | English version | Mobile Version
Diese Webseite verwendet Cookies, um Benutzern einen besseren Service anzubieten. Wenn Sie weiterhin auf der Seite bleiben, stimmen Sie der Verwendung von Cookies zu.  Mehr dazu