What's New für Entwickler

27. Oktober 2016 15:16

Hat mich etwas Zeit gekostet, diese Seite hier zu finden, also verewige ich sie mal hier:
Changes in C/AL Behavior and Support from Earlier Versions of Microsoft Dynamics NAV

Re: What's New für Entwickler

27. Oktober 2016 15:17

Ich habe heute auch schon gesucht. Vielen Dank für deine Mühe.

Neue Systemtabellen

27. Oktober 2016 16:11

Und schon etwas, was ich nicht in der Doku gefunden habe.

Folgende Tabellen im 2-Mio-Bereich sind ggü. NAV 2016 hinzugekommen:

2000000168 Tenant Web Service
2000000169 NAV App Tenant Add-In
2000000170 Configuration Package File
2000000175 Scheduled Task
2000000180 Media Set
2000000181 Media
2000000183 Tenant Media Set
2000000184 Tenant Media
2000000185 Tenant Media Thumbnails
2000000189 Tenant License State
2000000190 Entitlement Set
2000000191 Entitlement
2000000194 Webhook Notification
2000000195 Membership Entitlement
2000000196 Object Options
2000000197 Token Cache
2000000198 Page Documentation
2000000199 Webhook Subscription

Davon finde ich persönlich die "Object Options" spannend - diese ist SourceTable von Page1560 Report Settings.

Onlinehilfe für Entwickler

27. Oktober 2016 16:28

Seit NAV 2017 wird der DevClient ohne integrierte Onlinehilfe ausgeliefert; der gesamte Inhalt für NAV 2017 ist stattdessen unter https://msdn.microsoft.com/en-us/dynamics-nav/index verfügbar.
Aktuell läuft noch die Indizierung der Artikel, das heißt, noch liefert die Suche dort kein Ergebnis. Das wird sich aber noch ändern.

Konsequenz: Bei der Entwicklung steht uns die kontextbezogene Hilfe (z.B. F1 auf die neue Eigenschaft PromotedOnly) nicht mehr zur Verfügung.

Was geblieben ist, ist der Menüpunkt:
Hilfe.JPG

Dieser Menüpunkt aber ruft, genau wie jeder Aufruf von F1, nur den Link auf, welcher unter Extras --> Optionen... --> Hilfe-URL angegeben ist.
Da der Defaultlink mit Verweis auf NAV 2016 aber wenig hilfreich ist, könnt ihr einen beliebigen anderen Link eintragen - wie z.B. den o.g..
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: What's New für Entwickler

27. Oktober 2016 16:54

Hmm. Die Entwicklerhilfe benutzt man nun schon mal häufiger... unverständlich das auf MSDN auszulagern. Das die Suche nicht funktioniert ist leider normal...

Re: What's New für Entwickler

27. Oktober 2016 17:38

jglathe hat geschrieben:Hmm. Die Entwicklerhilfe benutzt man nun schon mal häufiger... unverständlich das auf MSDN auszulagern. Das die Suche nicht funktioniert ist leider normal...


Ich denke das ist nur 'ne Frage der Gewohnheit.
Ich komm ursprünglich aus anderen Programmiersprachen und da ist es gang und gebe die Dokumentation oder Google zu fragen. In den 2 Jahren in denen ich nun mit NAV arbeite, habe ich die F1 Taste noch nicht einmal benutzt.

Re: What's New für Entwickler

28. Oktober 2016 08:34

Ich denke da genauso wie Ted. Das ist eine pure Gewohnheit. Ich brauchte die Hilfe bis jetzt eh nur bei Sachen wie "Wie war nochmal die korrekte Syntax für COPYSTR?". Da hat F1 eh nichts geholfen.

Re: What's New für Entwickler

28. Oktober 2016 09:30

Ich erwarte von einer Hilfe aber schon mehr, als dass der Druck auf F1 lediglich die Startseite im Web aufruft. Dafür reicht auch ein Bookmark im Browser. So verplempert man viel Zeit mit Suchen, wenn man z.B. Infos zu neuen Properties sucht usw.

Re: What's New für Entwickler

28. Oktober 2016 10:12

Genau. Hilfe sollte helfen und nicht so tun.

ToolTip , ApplicationArea

28. Oktober 2016 11:51

In Pages ist jetzt überall ToolTip versorgt. An sich eine praktische Sache für den Anwender. Leider wurde das nicht so umgesetzt, dass man das wie die Captions von der Tabelle aus versorgt und in der Page bei Bedarf noch übersteuert. Wenn ein Feld in mehreren Pages auftaucht, muss dieser Text auch mehrfach eingepflegt werden, und bei Änderungen geht das Spiel von vorne los.
ToolTip.png


Außerdem neu: ApplicationArea bei Feldern…
ApplicationArea0.png

…und bei Actions, Parts, MenuSuites. Teils ist dieses Property gefüllt (ggf. auch mit mehreren kommaseparierten Werten) oder <Undefined>.
ApplicationArea.png

Auswirkung im Code
ApplicationArea2.png


Beide Änderungen bedeuten teilweisen massiven Zusatzaufwand beim Mergen von Pages aus alten Versionen, der sich bei zusätzlichen Sprachlayern in ToolTipML noch weiter potenziert.

Edit 30.05.2017
Weitere mögliche Auswirkungen von ApplicationArea:
https://markbrummel.blog/2016/11/19/nav2017-applicationarea-the-mistery-of-disapearing-controls/
https://saurav-nav.blogspot.de/2016/12/microsoft-dynamics-nav-2017-thoughts-on.html
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Webclient unter iOS

28. Oktober 2016 14:51

Der Safari-Browser unter iOS (iPad, iPhone) wird im Gegensatz zu NAV 2016 beim Webclient nicht mehr unterstützt (Support unter OSX auf Mac bleibt). Hier muss statt dessen die Universal App genutzt werden.
http://www.slideshare.net/Solution_Systems/microsoft-dynamics-nav-2017-switching-to-the-web-client

Suchfunktion

2. November 2016 12:00

Natalie hat geschrieben:Seit NAV 2017 wird der DevClient ohne integrierte Onlinehilfe ausgeliefert; der gesamte Inhalt für NAV 2017 ist stattdessen unter https://msdn.microsoft.com/en-us/dynamics-nav/index verfügbar.
Aktuell läuft noch die Indizierung der Artikel, das heißt, noch liefert die Suche dort kein Ergebnis. Das wird sich aber noch ändern.

Mitterlweile sind die Seiten indiziert, d.h. die Suche funktioniert nun. Bitte beachtet aber, dass die Seiten für NAV 2017 NICHT mehr unter Source "Library" gelistet sind - dort stehen alle Artikel bis einschließlich NAV 2016.
Suche.JPG
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Crash möglich bei IF NOT INSERT THEN MODIFY

2. November 2016 16:14

IF NOT INSERT THEN MODIFY war ja schon immer schlampig, wenn auch praktisch :wink: . Solche Stellen gab es vielfach auch im Standard.
Aus Performancegründen gehört eigentlich eine GET-Abfrage davor.

Ab NAV 2017 kommt es es aber bei einigen Tabellen (mit Events :?: ) beim MODIFY zum Absturz des Clients, also wenn der Datensatz schon existierte.

Der Code auf den Zahlungsbedingungen wird mehrfach ausgeführt, der auf der Debitortabelle nur beim ersten Mal (INSERT) , danach folgt Absturz.
Code:
// INSERT und MODIFY wird je nach Ausgangslage ausgeführt
PaymentTerms.INIT;
PaymentTerms.Code := 'XXXX';
PaymentTerms.Description := 'XY';
IF NOT PaymentTerms.INSERT THEN
   PaymentTerms.MODIFY;

// Nur INSERT. MODIFY wird nicht ausgeführt, Windowsclient stürzt ab
Customer.INIT;
Customer."No." := 'XXXX';
Customer.Name := 'XY';
IF NOT Customer.INSERT THEN
   Customer.MODIFY;

Extensions der Demo-DB können Probleme machen

2. November 2016 16:58

Ich konnte in meiner Entwicklungsdatenbank plötzlich keine Bestellungen mehr öffnen: "Das Objekt vom Typ Query mit der ID 1850 wurde nicht gefunden."
Habe ich eine neue Bestellung anlegen wollen, ist mir der Client bei Validierung der Kreditorennr. abgestürzt.

Moment, Query 1850?? Kenn ich nicht.
Der Debugger zeigte ausschließlich Code aus folgendem Objekt an: Codeunit 1854 Item Sales Forecast Notifier. Bitte was?
Ach ja, die Demo-DB hat ja Demo-Extensions. In meinem Falle ist es "Sales and Inventory Forecast".

Nach einem Dienstneustart war der Fehler jedenfalls weg.

Nachtrag: So schön stehts nur, wenn man den Debugger anschmeißt und diesen hart beendet:
Category: EventSubscription

Message <ii>EventSignature failure: SubScriber assy = Microsoft.Dynamics.Nav.BusinessApplication.Codeunit1854, NavAppGroup_49a42569b24519d2383ad6888fae1e4a, Version=10.0.13682.0, Culture=neutral, PublicKeyToken=null, target assy = Microsoft.Dynamics.Nav.BusinessApplication.Codeunit1854, NavAppGroup_49a42569b24519d2383ad6888fae1e4a, Version=10.0.13682.0, Culture=neutral, PublicKeyToken=null, Subscriber signature = 'System.Void Microsoft.Dynamics.Nav.BusinessApplication.Codeunit1854.OnAfterCurrPurchaseOrder(Microsoft.Dynamics.Nav.Runtime.INavRecordHandle rec)', target signature = 'Microsoft.Dynamics.Nav.BusinessApplication.Codeunit1854 Item Sales Forecast Notifier[ID=1854](Microsoft.Dynamics.Nav.BusinessApplication.Record38)', exception = System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> Microsoft.Dynamics.Nav.Types.Exceptions.NavNCLDebuggerActivityAbortedException: Die aktuelle Aktion wurde vom Debugger beendet.
at Microsoft.Dynamics.Nav.Runtime.Debugger.DebugRuntime.ProcessBreak(NavMethodScope methodScope, Exception exception, Boolean setIgnoreSkip)
at Microsoft.Dynamics.Nav.Runtime.Debugger.DebugRuntime.ProcessException(NavMethodScope methodScope, Exception exception)
at Microsoft.Dynamics.Nav.Runtime.ExecutionListener.CompoundExecutionListener.ProcessException(NavMethodScope methodScope, Exception exception)
at Microsoft.Dynamics.Nav.Runtime.NavMethodScope.ProcessException(Exception exception)
at Filter.InvokeWithFilter(NavMethodScope )
--- End of inner exception stack trace ---
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.Dynamics.Nav.EventSubscription.NavEventScope.CallEventSubscriber(NavEventSubscription subscriber, NavApplicationObjectBase subscriberInstance, Object[] parameters)</ii>
ProcessId: 12496
Tag: 00000BC
ThreadId: 33
CounterInformation:


Der eigentliche Clientabsturz scheint das hier zu sein:
Category: EventSubscription

Message <ii>(TargetInvocationException): <ii>Exception has been thrown by the target of an invocation.
StackTrace:
at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at Microsoft.Dynamics.Nav.EventSubscription.NavEventScope.CallEventSubscriber(NavEventSubscription subscriber, NavApplicationObjectBase subscriberInstance, Object[] parameters)
</ii></ii>
ProcessId: 12496
Tag: 000008W
ThreadId: 11

Datenbanksperren

3. November 2016 10:27

Oh gucke mal :-)
Datenbanksperren1.JPG

Datenbanksperren2.JPG

Monitoring SQL Database Locks

Edit:
Setup SQL Database Locks
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: What's New für Entwickler

3. November 2016 11:03

Ja, die sind echt toll, weil sie nur auf einem NST funktionieren. Sperren über/von mehrere(n) NSTs kann man da nicht ansehen...

Re: Onlinehilfe für Entwickler

4. November 2016 11:40

Natalie hat geschrieben:Seit NAV 2017 wird der DevClient ohne integrierte Onlinehilfe ausgeliefert; der gesamte Inhalt für NAV 2017 ist stattdessen unter https://msdn.microsoft.com/en-us/dynamics-nav/index verfügbar.

Lest nun vom NAV Team Blog die Hintergründe: Dynamics NAV and Help: A new world
Grund für dem Umzug der Entwicklerhilfe:
This means that you will be able to contribute to our content, such as suggesting new code examples, or making clarifications in our content.

Hilfe für cmdlets:
The downside of being one of the first products on a new platform is that the platform is still evolving. As a result, we are not able to publish the Help for our Windows PowerShell cmdlets online yet. But you still have access to Help for the cmdlets and their parameters using the Get-Help command in the Administration shell or the Development Shell.

Zum Help Server:
We have now moved to a new toolset for creating Learn More content that results in far prettier HTML files. You can see this new format in the new, smaller CAB files on the DVD for the RTM version of Dynamics NAV 2017, such as help-en-US.cab.
[...]
So we chose to give you the new Help content on the DVD, and then give you the big packages of rebranded legacy Help later. [...]
Customizations and add-ons on Help Server are the same as before, unless you choose to convert your user assistance to go the same way as we have: Tooltips and a reduced number of conceptual topics on Help Server.

Publish-NAVApp mit DB u. Instanz auf getrennten Servern

4. November 2016 20:34

Wenn eine Datenbank mit Extensions und deren zugehörige Serverinstanz auf verschiedenen Servern liegen, kommt es in NAV 2017 zum Abbruch beim Publish-NAVApp Cmdlet mit Wortlaut: "Fehler bei Ändern für Datenbank" , darauf folgend der Datenbankname mitsamt einem dabei generierten UUID-Suffix.
Es bleibt dann nur diese temporäre Datenbank auf dem Server zurück, die aber mit dem Development Environment nicht geöffnet und nur noch gelöscht werden kann.
Extens1.png
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: What's New für Entwickler

5. November 2016 00:00

Bei mir ist ein neues "Feature", dass der Developmentclient beim Compileall auf der Demo-DB einen Fehler in einer Page im 9000er- Bereich bringt, und bei Designversuch auf diese Page abstürzt :shock:

P.S. gibt es eigentlich auch Funktionen, die man einem Kunden zeigen sollte bzw. könnte? :twisted:

Gruß Fiddi

Re: What's New für Entwickler

7. November 2016 09:55

fiddi hat geschrieben:P.S. gibt es eigentlich auch Funktionen, die man einem Kunden zeigen sollte bzw. könnte? :twisted:

:greenarrow: Bitte hier lang, es sei denn, du meintest Entwicklerfunktionen

Re: What's New für Entwickler

8. November 2016 03:41

Erfahrungsbericht von Waldo: How I upgraded to Microsoft Dynamics NAV 2017

Debugger-Crash

11. November 2016 15:50

Bis zum CU1 für NAV 2017 (erscheint im Dezember) bleibt uns leider ein Überbleibsel aus NAV 2016 CU12 erhalten:
Wenn ihr per Debugger in eine große Codeunit absteigt (die Grenze kenne ich nicht), schmiert der Debugger mit Fehlermeldung ab. Workaround nicht möglich (außer natürlich, die Codeunit in viele kleine Codeunits aufzuteilen ....).
Bitte startet euren DevClient stets als Admin - es scheint so, als würde das den Rest des WindowsClients (!) stabil halten, ansonsten raucht euch der ganze WinClient auch noch ab. Auch andere Nebenwirkungen sind nicht auszuschließen.

Korrigiert in NAV 2016 CU13: viewtopic.php?p=124381#p124381

Microsoft/AL auf Github

30. November 2016 10:38

Auch wenn der neue Codeeditor für Extensions noch nicht verfügbar ist
(Zitat Vincent Nicolas von den TechDays "We are building an extension for extensions." :wink: für Visual Studio Code),

das Repository nimmt schon Formen an:
https://github.com/Microsoft/AL

Mit "HelloWorld" geht es wie immer beim neuen Sprachen los.

Hashtag bei Twitter zum Thema: #DYNDEV365

Extensions 2.0 - Status Quo und Ausblick

14. Dezember 2016 09:06

Mehr zu Extensions 2.0 und dessen, was ihr mit https://github.com/Microsoft/AL machen sollt - oder auch nicht:
More Information About the Developer Preview for Dynamics NAV

Re: What's New für Entwickler

20. Dezember 2016 13:33

Das "Weihnachtsgeschenk" ist fertig:
Announcing the Preview of Development Tools for Dynamics NAV