How to block or deactivate other costing method and retain FIFO costing method only in Nav 2013 R2? Thank you. Hardelito
↧
Forum Post: Blocking Other Costing Method and retain FIFO
↧
Blog Post: The Future of NAV Business
Two weeks after Directions EMEA is finished, we finally got the newest release of NAV. Now we have NAV 2017 and we expect Dynamics 365 BE during the next year (I think on non-US market). We sow the AND story about NAV and Dynamics 365, but I still think NAV partners are on the very important crossroads. I don’t expect they need to choose what business they will need to continue, because I strongly believe we can continue with both of these products, but I’m sure partners have to change their approach to this business. And this is not connected with NAV or Dyn365; new approach must be used for both of them. They have to find the best possible way to transfer their business to cloud, they have to change the way of developing (extensions, events…) and so on. Because of that, I strongly recommend to all Dynamics partners to read the good story on MSDynamicsWorld about how Microsoft Dynamics NAV partners face crucial decisions on their future . This article can help to NAV partners how to focus thinking about their businesses. Early adopters of new business model will be in much better positions in the future and because of that it is very important not to become obsolete.
↧
↧
Forum Post: RE: Blocking Other Costing Method and retain FIFO
Hi, Show the FIFO costing method only in the list option. Regards,
↧
Blog Post: NAV 2017 Demo Image on Azure
Dynamics NAV 2017 has been published three days ago and we already got NAV 2017 Demo Image on Azure. This is very short period and this is amazing. All people who want to test NAV 2017 don’t need to install it on its computers, but they can use it on Azure. Great job. Currently, we can create demo image only if we use old Azure Portal. We just need to start with new virtual machine from gallery image and choose Dynamics NAV 2017. We need to configure a few fields and wait a few minutes. And yes, we can use NAV 2017 with a lot of interesting tools. But be careful; if you prefer new Azure Portal, you cannot do it. It is still not possible, but I expect it will be done in few following days. Now, just go to the old portal and finish procedure. Of course, you can see this VM using new portal as classic VM, but you cannot create it. If you need this VM only for testing, my recommendation is to use D1 or A2 sizes. They are good enough for all tests and you will not spend a lot of your money for this purpose. When you create VM and run it, you can start with initializing of NAV. On my first sight, there are the same PS scripts as well as on the older NAV demo images. I will test all of them and if I find something new, I’ll publish this.
↧
Blog Post: Dynamics NAV – Verwendung von Queries
Hallo liebe Leser, mit Dynamics NAV 2013 wurde uns die Objektart Query ( MSDN – Queries / MSDN – Working with Queries ) vorgestellt und von Microsoft zur Verfügung gestellt. In der letzten Zeit sah ich mehrere alte Umsetzungen oder auch neue Anfragen zu Programmierungen, wo es sich förmlich anbot Queries als Objektart zu verwenden. Daher möchte ich heute kurz darauf eingehen, wo und wann sich die Verwendung von Queries lohnen kann und habe dafür auch ein Beispiel vorbereitet. Meiner Meinung nach gibt es zwei signifikante Unterschiede zwischen RETEAP UNTIL NEXT Schleifen und Queries: Mit einem FINDSET oder FIND(‚-‚) werden immer alle Felder aus der entsprechenden Tabelle geholt. Bei der Query ruft man nur die benötigten Felder ab. Bei verschachtelten Schleifen (Beispiel Debitor -> Debitorenposten) wird zu jedem Debitor einzeln alle gefilterten Debitorenposten geholt. Eine Query holt diese Daten kombiniert, da das SQL Skript anders aufgebaut ist. Wie groß der Unterschied zwischen einer Query und verschachtelten Schleifen oder auch Datasets sein kann, werde ich an folgender Anforderung zeigen: „Erstelle einen Monatsbericht, der pro Monat und pro Mitarbeiter anzeigt, ob dieser mehr als 8 Stunden gearbeitet hat.“ Das Beispiel ist stark vereinfacht und bezieht sich jetzt auf folgende Tabellen: Ressource, Projektposten, (optional Projektbuchblattzeile). Wir befassen uns nur mit dem Ermitteln der erforderlichen Daten. Die Ausgabe und die Filterung lasse ich komplett außen vor. Das Dataset könnte beispielsweise so aussehen: Ressource –>Projektposten: Hierbei würden alle Projektposten einfach im Dataset übergeben und im RDL summiert. Alternativ dazu könnten wir die Daten auch im C/AL schon gruppieren (Buffertabelle) Die Laufzeit bei ca. 1 Millionen Projektposten beträgt bei mir ca. 42 Sekunden (nur die Verarbeitung im C/AL ohne Datasetübergabe oder Layout. Ressource –> Datum –> Projektposten: Pro Ressource bauen wir per Dataset eine Schleife über jeden Tag im Filter und laufen dann pro Tag durch die Projektposten der Ressource Die Laufzeit bei ca. 1 Millionen Projektposten beträgt bei mir auch hier ca. 42 Sekunden (nur die Verarbeitung im C/AL ohne Datasetübergabe oder Layout. Warum in diesem Fall nicht eine Query nutzen, die mir schon pro Ressource und pro Tag die summierte Menge ausgibt? Die Query muss dann so aussehen: Wir benötigen die Ressourcennummer, das Buchungsdatum und das summierte Feld Menge. Sobald wir „Method Type“ = Totals auf dem Feld Menge einstellen, bekommen alle anderen Felder den Haken „Group by“. Die Ressourcen-Tabelle wird über die Nummer mit der Projektpostentabelle über den DataItemLink verknüpft. Das war’s, mehr muss man nicht machen. Führen wir die Query einfach mal aus: Die Abfrage dauert keine 2 Sekunden, obwohl ich am 02.01.2016 1 Millionen Projektposten erstellt habe. Diese Query integriere ich nun in einen Bericht. Leider weiß ich nicht wie viele Einträge die Query hat, daher habe ich mich entschieden, die Query in eine temporäre Buffer Tabelle zu schreiben und die Buffertabelle dann noch komplett zu durchlaufen (Gibt dazu auch ein HowDoI Video für eine Debitoren TOP 10 Liste: How Do I: Create a Report Using a Query in Microsoft Dynamics NAV 2013 R2 ) Die Laufzeit beträgt dann sage und schreibe 2 Sekunden. Für mich ist das ein Unterschied wie Tag und Nacht. Ok, ich habe nun keine Möglichkeit alle Felder der Tabelle für die Filterung des Anwenders zu nutzen, aber das ist meistens auch nicht nötig. Die benötigten Felder kann man entsprechend als Filter in der Query und als Filter in der Requestpage (ausprogrammiert) hinterlegen und das sorgt für einen erheblichen Performanceboost. Wer es selber ausprobieren möchte, kann die Objekte in einer Cronus DB ausführen. Ihr müsst Euch lediglich vorher genug Projektposten erstellen. FOB und TXT könnt ihr hier herunterladen: 161029_queryimreport.zip Wer sich damit noch nicht befasst hat, sollte mal einen Blick darauf werfen.
↧
↧
Forum Post: Unable to set Unit_Price on sales line via webservice
Hi, I have been struggling with an issue, and am also somewhat an amateur developer as well. I have a php function, which creates a new sales line to an existing blanket sales order. I do this via both update and update_multiple methods. I can create new sales lines, and my code works all the time. If i add to my code ability to set the "Unit_Price", i get an error: The Sales Line already exists. Identification fields and values: Document Type='Blanket Order',Document No.='3060',Line No.='10000' If i write some code that first creates the blanket order, and then updates it with sales lines, i can make it work. The code for update is more or less the same. The sales line as far as i can see, is always new, even if the blanket order itself is new or old. Or is this where i am wrong? The only solution i see this far, is to re-read the order after i have put everything but the unit_price, and then set the price only. I am struggling on how to identify the line to edit, since there is no identical key, except the "key". What i am trying to say, how do i know which key i want to make an update to, after i have created a new line. NAV does not say "you just created xxx with key xxx. I have to read the order and somewhat guess which line i just created. Anywho, here is my code: Code: $service = new NTLMSoapClient($pageURL); $blanketorder = new stdClass(); $sq = new stdClass(); $update = new stdClass(); // Read order to update foreach ($varelinjeny as $order1) { $blanketorder = array('No' => $order1[onr]); $result = $service->Read($blanketorder); $blanket = $result->OrderCard; $key = $result->OrderCard->Key; //Set the key to use for update-message later on $sq->Key = $key; $ii = 0; $i = -1; foreach ($varelinjeny as $ordre1) { $ii++; unset ($salesLine); $salesLine = new stdClass(); // $salesLine->Key = $ii;; //this only works if i create the order first $vare = explode("|",$ordre1[varenr]); $i++; $salesLine->Type = 'Item'; $salesLine->No = $vare[0]; $salesLine->Unit_Price = "123"; //comment out this, and code is ok if ($ordre1[otf] == 'on') { $salesLine->One_time_fee = 'true'; } else { $salesLine->One_time_fee = ''; } $salesLine->Antall_opprinnelig_bestil = $ordre1[antall]; //some custom fields if (!empty($ordre1[nocat])) { $salesLine->Username = $ordre1[nocat]; } if (!empty($ordre1[linespeed])) { $salesLine->Line_Speed = $ordre1[linespeed]; } if (!empty($ordre1[binding])) { $salesLine->Subscription_Time = $ordre1[binding]; } if (!empty($ordre1[smbnr])) { $salesLine->Communication_Number = $ordre1[smbnr]; } // Add SalesLineList to SalesQuote $sq->SalesLines[$i] = $salesLine; } } $update->OrderCard = $sq; $result = $service->Update($update); Thanks -- Kim
↧
Forum Post: Reporting Data Setup error in NAV 2017
Hello, When setting up Reporting Data in NAV 2017 Cronus db, I am getting the error "There was an error loading the object" :) Screenshot is attached. It happens after selecting Page 22 and clicking Next. It happens on any page actually. Does anyone have any suggestions to resolve the error? Much Thanks Kind Regards, -Vasu
↧
Forum Post: Microsoft FLOW and NAV 2017 connection issues
I am trying to create a Microsoft FLOW to Dynamics NAV 2017 Cronus db and running into issues. Thought I’d run it by you. https://flow.microsoft.com/en-us/ Below are the steps I am following: My Flows >> Create from Blank. Type NAV, it comes up with the 2 available options. Select Dynamics NAV - When a record is created Then it prompts for Connection Info. I created a webservice entry in NAV 2017 for the Item List Page and copied and pasted the ODATA URL into this field from NAV. I tried entering the username a few different ways since it was failing. But the latest entry for user name and company name are exactly as in NAV 2017 Cronus db. Then when I click Create, it comes up with the Table Name selection. When I click the drop down button, it shows the error: "Could not retrieve values. Invalid Mashup expression using supplied values. inner exception. Dynamics 365 for Financials Request failed. The remote name could not be resolved Mycomputername.domain Any suggestions? Much Thanks Kind Regards, -Vasu
↧
Blog Post: Happy Diwali 2016: To All Readers and Gift For Me.
Hi Freinds, Today we all Indians and 13 other Countries are celebrating one of the major festival Diwali. My blog readers are my Online Family. So wishing my online family a Very Happy and Prosperous Diwali. May you all attain full inner illumination! May the supreme light of lights enlighten your understanding! May you all attain the inexhaustible spiritual wealth of the Self! May you all prosper gloriously on the material as well as spiritual planes! As a part of my gift, I would like you to review / connect with me on Social Media of your Choice. Please take 5 minutes and review on Social Media using buttons below. It helps others to get connected and increasing the size of our Online Family. Thank you for time and Enjoy Your Diwali. Will see with New post after Diwali. Regards, Saurav Dhyani saurav-nav.blogspot.com
↧
↧
Forum Post: RE: Reporting Data Setup error in NAV 2017
Could you please tell where are you trying to set up the reporting data in NAV 2017? Are you using RapidStart? And the screenshot's missing.
↧
Forum Post: RE: Unable to set Unit_Price on sales line via webservice
You don't need to guess. The sales line you are creating will be having the same value for Document Type and Document No. as the Sales Header (or Order). Apply a filter on these 2 fields find the last record and update unit cost in it. OR you may do what you're doing, i.e. update the line once it is inserted. This way you still have the reference of the record in memory. Insert and then modify the line. Hope it helps.
↧
Forum Post: RE: Blocking Other Costing Method and retain FIFO
Hi Do you mean to say you would like to display only one costing method in Item card. Then you have to change in Item card page/form.
↧
Blog Post: NAV 2017-C/AL Properties
In NAV 2017 some new C/AL properties has been introduced by looking at the user requirement . These properties are introduced to give user more flexibility over the UI and give more user friendly experience. Application Area :- This property set application areas that apply to the control and this property applies to Page field, part, and action controls. Report request page field controls. MenuSuite items This property used to hide the control in user interface .i.e. You need to tag the controls by specifying the text string with comma separated values Example If you want tag Vendor list in Menu Suite then you can mention #Basic,#Suite in applicationarea Note :- This property is working based on the table 9178 application area setup .You can define more but still in future release it may be change again. Gesture:- This property specially for touch interface devices like Phone client. The property has the following values: Value Description None No gesture for the action. LeftSwipe Swipe in from the right edge of the touch interface. RightSwipe Swipe in from the left edge of the touch interface. You typically use the Gesture property on list type pages for executing an action on items in a repeater control. In Action Designer, you can use the Gesture column to view the Gesture property value for all page actions. If the Gesture column is not visible, then on the View menu, choose Show Column , and then select Gesture . TestPermissions :- Specifies a value that can be used to determine which permission sets are used on tests that are run by test codunits or test functions. This property applies To test codeunits that have subtype property set to Test To Test functions are functions that have the FunctionType property set to Test . The property has the following values: Disabled Restrictive NonRestrictive InheritFromTestCodunit PromotedOnly:- This property specifies whether actions to be displayed on HOME tab of ribbon and not on the tab where it is defined. You can set either Yes or No in this property . Default value is No This property in not relevant on Microsoft Dynamics NAV Tablet client and Microsoft Dynamics NAV Phone client because only promoted actions are displayed on these clients. Cheers...
↧
↧
Forum Post: Error of importing data on Power BI Gateway from NAV2013 R2
Dear Experts, who has any idea about this error of importing data on power BI Gateway from NAV2013 R2?? for knowing on Cronus Company(2013 R2) I don't have any problem. So after I have imported the object of queries on my development and I published them on NAV2013 R2 with the same name on NAV2016 I have got two different error on two different companies. This is this first error Column 'No' wasn't found. And in the event viewer same error on different column like 'posting date' ; 'Amount' And this is the second error on another company. we Couldn't parse Odata.... Waiting your reply. Thank you
↧
Forum Post: Hide standard actions in ribbon
Is there a way using code I might disable standard action buttons in the ribbon of a page? I dont want users to mess with some of them such as: find, update, show as graphic, attachments, notes... Even I get in the page throught -configure option at starting nav, I keep getting all those buttons back everytime we modify the page.
↧
Forum Post: RE: Hide standard actions in ribbon
i tested wth nav 2016 cu 1 sales order list. worked fine. that can depend on the build version. solution options: * restart nav service * remove acc. record in tables object metadata and profile metadata * recompile the page object
↧
Forum Post: RE: Hide standard actions in ribbon
That will hide standard ribbon buttons as I need?
↧
↧
Blog Post: Dynamics NAV – Verwendung von Queries #2 – Generische Diagramme
Hallo Leute, im Beitrag Dynamics NAV – Verwendung von Queries habe ich über einen nützlichen Anwendungsfall von Queries (Abfragen) gesprochen. In diesem Beitrag möchte ich über eine weitere Einsatzmöglichkeit von Queries, den generischen Diagrammen, berichten. Wer sich zuerst einlesen möchte, der kann sich den Beitrag im MSDN ansehen ( How to: Create Generic Charts ). Des Weiteren gib es hier auch eine Einleitung auf deutsch, wie generische Diagramme eingerichtet werden können ( Microsoft Dynamics NAV 2013 – neue Auswertungsmöglichkeiten ). In den generischen Diagrammen kann ich grundsätzlich zwischen zwei Datenquellen wählen: Tabellen und deren Felder Abfragen (Queries) und deren Spalten & Filter Generische Diagramme bieten sich für eine schnelle Auswertung bestimmter Daten an. In meinem Beispiel befassen wir uns daher mit Kunden- und Lieferanten-Stammdaten. Wir wollen beispielsweise wissen, welche Kunden oder Lieferanten ein Saldo von höher als 1.000 bzw. 10.000 € aufweisen. Wir schauen uns daher die Debitoren mit einem Saldo von mehr als 10.000 € an. Diese Information steht uns im Microsoft Standard über das Feld Saldo in der Kundentabelle (Tabelle 18 Customer) und in der Lieferantentabelle (Tabelle 23 Vendor) bereits mit dem Flowfield „Balance“ (Saldo) zur Verfügung. Wenn wir nun versuchen unsere Anforderung mit einem generischen Diagramm umzusetzen, dann könnte das so aussehen: ID = T18_50000 (Tabelle 18 / 50000 erstes individuelles generisches Diagramm) Name = Debitor (Saldo MW > 10000) Herkunftsart = Tabelle Herkunfts-ID = 18 Erforderliche Kennzahl (Balance LCY) -> Saldo (MW) y-Achse – Titel = Saldo (MW) x-Achse – Feld = Name x-Achse – Titel = Name Beschreibung = Zeigt alle Debitoren mit einem Saldo (MW) > 10.000 € Filter auf das Feld Balance (LCY) = „>10000“ Nun integrieren wir das Diagramm in unserer Rollencenter. Dafür führe ich folgende Schritte durch: Öffnen des Rollencenters (Ich nutze für mein Beispiel das Rollencenter 9007 -> Profil Einkäufer) Anpassen der Rollencenterseite Diagrammabschnitt hinzufügen und somit ein „Leeres Diagramm“ im Layout des Rollencenters erzeugen. Im Rollencenter das „Leere Diagramm“ auswählen und dort auf Anpassen klicken: Das individuelle Diagramm auswählen „T18_50000“ und mit „OK“ bestätigen. Nun können wir uns das Ergebnis ansehen: Je nach Anzahl der detaillierten Debitorenposten kann die Performance hier stark schwanken. Ich habe per Stapelverarbeitung 500.000 detaillierte Debitorenposten in einem Cronus Mandanten erzeugt. Trotz meiner sehr leistungsstarken Testumgebung benötigt das generische Diagramm nun ca. 30 Sekunden zum Anzeigen der Daten. Es kann also festhalten werden: Umso mehr detaillierte Debitorenposten vorhanden sind umso länger braucht das Diagramm. Das liegt einfach daran, dass die folgenden Kriterien ungünstig sind: Berechnung eines Flowfields pro Debitor Filterung auf ein FlowField So sieht das dann für den Anwender aus und das jedes Mal, wenn die Rollencenterseite geöffnet wird. Das ist dann nicht mehr so schön. Die Alternative dazu stellt eine Query da, die wesentlich schneller ist. Ich orientiere mich am Flowfield, da ich das exakt gleiche Ergebnis haben möchte. So sieht dann meine Query aus: No. – aus der Debitorentabelle Name – aus der Debitorentabelle Amount / Amount (LCY) aus der Detaillierten Debitorenpostentabelle und die Verknüpfung über das Feld Debitorennr. Die Einrichtung des generischen Diagramms ist fast identisch mit der Einrichtung der Debitorentabelle (siehe oben). Folgende Änderungen sind vorhanden: Herkunftart = Abfrage Herkunfts-ID: 50001 Erforderliche Kennzahl -> Aggragation „Summe“ Ansonsten sind nur die Feldnamen etwas anders. Nun können wir das Diagramm im Rollencenter austauschen und müssen dann den Client einmal neustarten: Nach dem Neustart ist das generische Diagramm sofort geladen. Keine Wartezeit! Hier ist die Query wesentlich schneller als die Flowfield Variante. Auch wenn ich viel Kritik über Query gelesen habe und es auch berechtigte Kritik gibt, weil es beispielsweise keine Standardintegration von Queries in Seiten oder Berichten als SourceTable gibt, so darf man nicht vergessen, dass Queries in manchen Bereichen sehr große Vorteile aufweisen können. Das Query Objekt (Debitorensalden) könnt ihr hier herunterladen: 161030_CustomerBalanceQuery.zip
↧
Forum Post: RE: Unable to set Unit_Price on sales line via webservice
Hi, thanks! When you say filter, how can i find the last record? Does this have a identifier as "being the last"? I have not seen any pattern in the keys to use them to find something. 2: When you say "update line once inserted", what is the NAV logic in this? As far as i know I am doing it all at once. The update message sends a array with sales line content, all of it is inserted in one operation and then validated. Or do NAV actually do this in some other sequence? I have been thinking about creating a line with only "item" as type. Then, filtering and identifying this line and fill it with the rest. However this limits me to only one line at a time. As now, my code allows me to send two or more sales lines in my initial array, and then PHP loops trough it. (Thats why i have the foreach loops in place) Best regards
↧
Forum Post: Open statement Posting Issue
I got one message when i try to post sales open statement for one outlet. (You don't have the following permission on tabledata Replen setup : Read) Even i have the permission super . Thanks to help.
↧