Thanks Imran for reply. Yes. But the user follows the process- first Invoice Post then Accrual Entries Post.
↧
Forum Post: RE: NAV 2018 - Analysis By Dimension
↧
Forum Post: GL Entry when Post Receipt (Item is non inventory/Service)
Hi All, If item type = service or non inventory, is there anyway to create accounting entries when only post Receipt?
↧
↧
Comment on Professional Business Central Developers?
Listed here you'll learn it is important, them offers the link in an helpful webpage: mobile call forwarding
↧
Forum Post: RE: GL Entry when Post Receipt (Item is non inventory/Service)
Hi Stan, On posting receipts, NAV creates inventory-related G/L entries with expected cost, and the process is initiated from item journal posting routine. These entries are only created if value entry is inventoriable. For items with type "service" or "non-inventory" value entries are always posted with the Inventoriable flag set to FALSE and expected cost amount 0. There is no separate setup to change this condition. No g/l entries will be posted on receiving non-inventoriable items, as there is no related inventory cost.
↧
Blog Post: Microsoft Dynamics 365 Business Central 2019 release Wave 2: Full keyboard shortcut support
Now Wave2 blogging is allowed, there are many topics that I want to share with you .. really, a lot. Time is not on my side – I’m in full preparation for Directions and NAVTechDays, so let’s see. Today, while working on my SaaS-deployment-pipeline in DevOps with ALOps , I DID find the time to say a few words on one of the topics I’m quite excited about: Shortcutkeys in the webclient, or in other words: full keyboard shortcut support ! In my “real world”, users (yes, I do have customers, although people sometimes seem to be thinking otherwise.. ) have been asking this for quite some time .. and finally I can tell them: it works like it should! Obviously you already knew about this, because I already announced it here (and specifically here by Microsoft) – just kidding ;-). How it works? Very simple: you have a “ShortCutKey” property on action, where you can set the ShortCutKey like this example: I guess that doesn’t need too much of explanation, does it ;-)? You can simply do it the same for your actions. And I can tell you: it works ! :-). Knowing this, let’s dive a bit into what Microsoft did… Did Microsoft apply it to the Base Application? Absolutely. Even more, at the current version (a bit depending on localization), I found 1370 places where Microsoft added a ShortCut ! I can only imagine they were able to convert that from the Base Application ;-). This made me think though – are there THAT many shortcuts we need to start learning by heart? I decided to dive a little bit more into it, by analysing all the shortcuts by creating a PowerShell script that loops all al files of the Base Application, and lists all ShortCutKey properties in a csv file. You can find the script here: https://github.com/waldo1001/blog.CALAnalysis/blob/master/ShortCutKeys/GetShortCutKeys.ps1 You can find the output in that same repo , but here is the overview of all shortcuts that I found are implemented: ShortCutKey # of Actions Explanation Alt+D 356 Dimensions Ctrl+Delete 1 Delete Remark: this is only applied on Page “ ItemAvailabilitybyTimeline “ Ctrl+F11 17 Reconcile SplitWhseActivityLine Ctrl+F7 183 Navigate to “Entries” Ctrl+F9 43 “Finish” “Release” “Release to Ship” Approve Release UnappliedEntries Ctrl+Right 2 Post Only on (BC)O365SalesInvoice Page F7 154 Statistics F9 101 Post Return 93 Open This is an interesting one … Shift+Ctrl+D 4 Dimensions Only on these journals: FinancialJournal EBPaymentJournal DomiciliationJournal ApplyGeneralLedgerEntries Shift+Ctrl+F 1 SuggestWorksheetLines on CashFlowWorksheet Shift+Ctrl+F9 1 “Post and Print Put-away” on WarehouseReceipt Shift+Ctrl+I 92 Item & Tracking Lines Shift+Ctrl+L 2 Run (All) on Test Suite Shift+F11 24 Apply Entries Shift+F7 228 Card / Show Document (why not “Enter”? :-)) Shift+F9 68 Post & Print As you see, not really THAT many, but very useful nevertheless.. Now obviously the next question: Can we change a ShortCutKey from within an app? And yes you can! So, if Microsoft has forgotten any, you can add them! Here is an example: As you can see, in this case, I didn’t just add a ShortCutKey, but I even changed the “ALT+D” to something else. And it works .. . Not sure we should all be doing this – and also not sure if everyone would do this, what would happen with conflicting shortcutkeys (although, I guess the “first of last one wins”?), but now at least, you know it’s possible! If you want to play with Wave 2, get started here: https://freddysblog.com/2019/07/31/preview-of-dynamics-365-business-central-2019-release-wave-2/
↧
↧
Forum Post: RE: Notification for change in document
Can you explain in briefly. i only want to send email with the order is revised.
↧
Forum Post: RE: Notification for change in document
Actually in my change log setup sales header and sales line contain all the fields and i cannot set log modification for some fields only
↧
Forum Post: Changing the value of a Text Constant with extensions
Hi everyone, In the standar version of BC365, for the automatic VAT system in spain, there is a codeunit that creates the XML sent to the service. In the header of the created XML, there are 3 URLs, related to the schema, and validated into the server. But depending on the county, the schema is different. Those URLs are defined in global text constants. In the onPremise version, we've changed the value of those text contants, but of course, in the cloud version, that is not possible. is there any way to change the value of a text constant dinamically? Thank you all
↧
Forum Post: RE: Notification for change in document
Is it because you have to log every fields ? If so, then you can filter the "Change Log Entry" table. For example, if you want to retrieve all the modifications every day on table 36 (Sales Header), you can do this in a codeunit : StartDay := CREATEDATETIME(TODAY,0T); //Datetime EndDay := CREATEDATETIME(TODAY,TIME); //Datetime ChangeLogEntry.RESET; //Table 405 ChangeLogEntry.SETRANGE("Table No.",36); //Filter on Sales Header ChangeLogEntry.SETEANGE("Type of Change",ChangeLogEntry."Type of Change"::Modification); ChangeLogEntry.SETRANGE("Date and Time",StartDay,EndDay); IF ChangeLogEntry.FINDSET THEN BEGIN SMTPMailSetup.GET; //Table 409 SMTPMail.CreateMessage('SenderName','Sender mail','Recipient(s) mail(s)','Subject','',TRUE); //Codeunit 400 SMTPMail.AppendBody('Hi,'); SMTPMail.AppendBody(' '); // NewLine REPEAT SMTPMail.AppendBody('Order No. : ' + ChangeLogEntry."Primary Key Field 1 Value"); // Sales Header No. SMTPMail.AppendBody(' '); ChangeLogEntry.CALCFIELDS("Field Caption"); SMTPMail.AppendBody(' Field : ' + ChangeLogEntry."Field Caption"); // Modified Field SMTPMail.AppendBody(' Old Value : ' + ChangeLogEntry."Old Value"); // Old value SMTPMail.AppendBody(' New Value : ' + ChangeLogEntry."New Value"); // New value SMTPMail.AppendBody(' Modified By : ' + ChangeLogEntry."User ID"); // Modified By SMTPMail.AppendBody(' '); UNTIL ChangeLogEntry.NEXT = 0; SMTPMail.AppendBody(' '); SMTPMail.AppendBody('Kind Regards'); SMTPMail.AppendBody(' '); SMTPMail.AppendBody('*** This is an automatically generated email, please do not reply.'); SMTPMail.Send; END; Then you create a job queue with that codeunit and schedule it every day at the end of the day. A better way would be to create a report that gathers the modifications, and send that report via e-mail.
↧
↧
Forum Post: RE: Notification for change in document
You must be having couple of fields so on the basis of that you need to track however you want either with a flag or something else. You may pull the entries from change log entries as well but it may affect somehow performance.
↧
Blog Post: Tip 59# | Multiple Start Configurations in Visual Studio Code
When developing extensions for Business Central you have a wide array of publishing options to choose from. My most used options when working on the ForNAV Customizable Report Pack are our Sandbox and Docker. Testing is best on the Sanxbox for two reasons. First because all the Azure Active Directory stuff actually returns something which is useful for licensing scenario’s. Second because you can easily share the result with the team since everyone is on the same Sandbox. Docker is useful when you don’t want to test on current but on an older or vNext instance. Lastly it’s also possible to install Business Central on your own infrastructure altough this is a dying species. In your Visual Studio Code project you can specify how you want to publish in the launch.json file but did you also know you can setup miltiple configurations and then choose one at the time of publishing. This is how it could look: { "version": "0.2.0", "configurations": [ { "type": "al", "request": "launch", "name": "Docker", "authentication": "UserPassword", "startupObjectType": "Page", "breakOnError": true, "launchBrowser": true, "server": "http://bcsandbox", "serverInstance": "NAV", "enableLongRunningSqlStatements": true, "enableSqlInformationDebugger": true, "schemaUpdateMode": "Synchronize" }, { "type": "al", "request": "launch", "name": "Microsoft cloud sandbox", "startupObjectId": 6188475, "startupObjectType": "Page", "breakOnError": true, "launchBrowser": true, "enableLongRunningSqlStatements": true, "enableSqlInformationDebugger": true, "schemaUpdateMode": "Synchronize" } ] } Now if you publish your code Visual Studio Code will ask for the correct configuration. NOTE: Your credentials cache is shared accross these configurations. You will need to clear the credentials cache if you switch. TIP: You can also use this to create a seperate config for Syncronize and Recreate.
↧
Blog Post: Tip #60 | Suppress Warnings in Visual Studio Code
One of the most anoying things about writing AL code in Visual Studio Code is getting warnings that you cannot fix. Simply impossible. My “favorite” warning is this one For almost a decade it’s been possible to sort on flowfields from code and in reports and in most cases it works fine. On larger datasets it might require a covering index for performance. This warning is a joke because it suggests to add a flowfield to the key’s. Even if it were a normal field; in extensions you cannot influence keys in Base Application anyway. It’s recommended to fix this per project and to do this you need to add a settings.json file to your .vscode folder like this: The content of this file should be something like this: { "name": "ForNAV", "description": "ForNAV Rules", "generalAction": "Hidden", "rules": [ { "id": "AL0432", "action": "Hidden", "justification": "Marked for removal, be careful with this rule…" }, { "id": "AL0254", "action": "Hidden", "justification": "Not possible to solve" },
↧
Blog Post: Tip #61 | .gitignore for AL projects
The Business Central Community loves Git, but GitHub does not seem to even know we exist. It recognises our projects as perl projects and there is no suggestion for a .gitignore file. Why .gitignore? It’s generally considered best practice to use Git for managing uncompiled code, but not to store the result of a project, nor it’s dependencies. Also, settings that may vary from developer to developer are best not to be stored since doing to would continously lead to conflicts with pushing and merging. For AL projects this means we need to exclude our .app file (the result), the alpackages (our dependencies) and the vscode settings file. Or if you want to copy & paste .alpackages/ .vscode/ *.app NOTE: You should create your .gitignore before the initial commit. Removing files later is a tedious process.
↧
↧
Comment on Business Central - Days of Knowledge 2019
It is quite beneficial, although think about the facts when it reaches this target. global call forwarding
↧
Blog Post: Business Central AI Demos and Hands-ons
Those of you who know me, know that a big part of what I do is delivering talks at conferences. Talks, workshops, demos, that kind of stuff. More often than not, quite a lot of time goes into preparation of demos and labs, and also more often than not, the stuff that I prepare just remains in the digital piles of my Dropbox, and fades into oblivion. For three events this year (two Red Carpet events, and one Directions event) I’ve had a chance to prepare some demos and hands-ons around AI and Business Central, covering both what comes out of the box, and custom integration with things that are not a part of the standard. Today, my MVP friend Dmitry Katson asked me if I could share with him the hands-ons I prepared. And so I thought – why not just share it with everyone? So, here it goes: https://github.com/vjekob/bc-ai-demos-labs I’ve put all of the stuff I prepared in this GitHub repo, so if you want to play around with this a little bit, you’re welcome. Probably the most important stuff there is the hands-on exercises (you’ll have them both in PDF and Word format) with (if my memory serves me well) more than 100 of pages of hands-on stuff, that took me quite a while to prepare, test, and write up. Some of it is not up-to-date, because the Azure tools used to manage that stuff changes daily, but you should be able to complete most of those exercises without any issues. There. Done. I hope you can find any use of this. If not, just yell at me here and tell me how useless I’ve become See you soon at Directions and TechDays! Read this post at its original location at http://vjeko.com/business-central-ai-demos-and-hands-ons/ , or visit the original blog at http://vjeko.com . 5e33c5f6cb90c441bd1f23d5b9eeca34 The post Business Central AI Demos and Hands-ons appeared first on Vjeko.com .
↧
Comment on Weekend with David
The next time I read a blog, I hope that it doesnt disappoint me as much as this one. I mean, I know it was my choice to read, but I actually thought you have something interesting to say. All I hear is a bunch of whining about something that you could fix if you werent too busy looking for attention. hasta yatağı
↧
Comment on Weekend with David
It is fine, nonetheless evaluate the information and facts around this correct. Svg Logo
↧
↧
Forum Post: RE: NAV 2018 - Analysis By Dimension
Hi, I found that Analysis View Entry is not getting created. It is creating when I am posting another service order. Where as G/L Entry is creating properly. I do not have idea of Analysis View Entry table. Can some one tell me where can I check why it is not updating? Thanks in Advance.
↧
Blog Post: Working with Azure Blob and NAV
This is something that’s long overdue, I wanted to write this before my summer vacation. My reason for holding back is that I want to share all the code for this project and this needs cleaning up. This is still not done and if you want the code you’ll have to contact me. Why am I still writing this? I am actually writhing this from the “International” airport of Cork Ireland where I spent the day with my friend Tim Grant. Tim and I go way back when we both worked together on the Design Patterns project with Microsoft and the reason for my visit was to help him with his go-to cloud strategy. Last spring we moved all EDI and E-Invoicing at my customer Vos Transport from On-Prem to Azure Blob Storage and Logic Apps. In total we moved 4.5 million files to the cloud and migrated a few dozen EDI processes to use Azure Blob storage as queues. The cost of storage and running this is less than 100 euro’s per month and it is insanely stable. So stable that I had to use Statical Prism today to find some of the code and explain it to Tim. I’ll let this post sit here for a while and see what happens. if I get spammed to share the code I’ll spend the time cleaning it up. If nothing happens than no time is wasted. Enjoy…
↧
Blog Post: Dynamics 365 Business Central Wave 2: on-premise and direct SQL integrations
Do you remember this post ? I wrote it long time ago to explain what happens on SQL Server when you create a new table or you customize an existing table with an AL extension: the new table is created by appending the extension’s ID to the table’s name and also the customization to a standard table creates a new table with the primary key of the original table plus the newly added fields and also with the extension’s ID in the name: dbo.[CompanyName$TableName$ExtensionID] What happens now in Dynamics 365 Business Central Wave 2 release? As you already know, all the standard business logic is now handled by the Microsoft’s Base Application extension. If you check your on-premise SQL Server database, you will see the following: All the standard Dynamics 365 Business Central tables are now in the following format: dbo.[CompanyName$TableName$BaseAppExtensionID] This happens because the Base Application is simply just another extension and on SQL it respects the standard extension’s behaviour. If you need to create direct integrations via SQL Server (not recommended but possible for on-premise scenarios), you now need to remember to always use the above format in the table names (so, please check all your actual SQL queries). How to avoid this? How to avoid to break your existing direct SQL integrations? You’ve only the following chances: Using APIs instead of SQL integration (but I know that this is not always possible) Use SQL views Creating synonyms on SQL A view will permit you to create a query that joins the main table and all the extension’s companion tables that adds extra fields to the main table ( tableextension objects in AL). In a view you can also incapsulate business logic for data retrieval and apply security to your data (like removing columns with sensitive information or filtering out a subset of the records). A synonym is an alias or alternative name for a database object. You can create a synonym in the following way: use CRONUS; CREATE SYNONYM [dbo].[CRONUS International Ltd_$Customer] FOR [dbo].[CRONUS International Ltd_$Customer$437dbf0e-84ff-417a-965d-ed2bb9650972]; GO and now your SQL query will be like in the past: What’s the best choice? My personal opinion is to start creating integrations by using APIs also if you’re with an on-premise platform. In this way you’re ready for the future and expecially you’re ready for the SaaS platform too. If instead you’re forced to use direct SQL integrations (I know that in many on-premise scenarios you can’t totally avoid that) using views or synonyms is your choice. I personally prefer views (more control on what you expose) but a synonym is a very quick and effective way to hide the extension’s IDs.
↧