One thing I noticed is that you are trying to put a filter string ' red|blue|green' into SETRANGE, which I think is the cause of your error. Read this to learn about the SETRANGE itself: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/methods-auto/record/record-setrange-method You can only use SETRANGE for a single value, or a 'fromValue / toValue' pair of values, so everything between 'fromValue' and 'toValue inclusive. If you are building a filter string like ' red|blue|green' , you will need to use SETFILTER instead, read this: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/methods-auto/record/record-setfilter-method
↧
Forum Post: RE: SETRANGE not applicable on value red|blue
↧
Forum Post: RE: Publish an earlier version of an extension
You'll have to remove the higher version first, I believe you uninstall, then unpublish, then sync in clean mode. check this out: https://docs.microsoft.com/en-us/dynamics365/business-central/dev-itpro/developer/devenv-unpublish-and-uninstall-extension-v2 It's not possible to revert back to a lower version. I don't understand though, you say you're creating a new container. You have control over what is installed there, why not start with the lower version from the start?
↧
↧
Blog Post: Directions EMEA 2019 Afterthoughts
It seems that when my blog posts appear some people hold their breath. Don’t worry, that won’t be nessesairy this time. I am at the Vienna airport and just wanted to write some thoughts I have after the event. When I look at 2.500 people wondering around I don’t see a community. I see individuals. We call it a community because we share the love of a product but we need to move to the next level of community. Business Central Wave II is the first version of Navision without C/Side and a windows client after it was introduced in 1995. For almost 25 years C/Side made our carreers. A lot has happened in 25 years and most solutions grew out to be monolyths. Not because you cannot write clean decoupled code in C/Side but because we lack knowledge and discipline. Now with Extensions and AppSource we have a chance to start over, to do it in a better way. But it does not look like we are doing that. Why did the concept of extensions see the light of day? Because it allows Microsoft a platform that allows Business Central to connect to AppSource. AppSource allows everyone in the world to find your solution without you doing much marketing effort. This means we now have a platform to share repeatable small modules. But this is not what is happening. Partners that did everything themselves in C/Side that led to solutions with thousands of objects that nobody understands anymore are still looking to convert these solutions to AL rather than looking at that is out there and reuse existing apps. I’ve even heard that partners are now merging AL code because they modify the base app. THIS IS HORRIBLE! Giving up C/Side is only worth doing if we get back the repeatability of small reusable components with clear interfaces. WE NEED TO BE A COMMUNITY THAT SHARES! Start sharing IP! Don’t re-invent the wheel because you had to do this in C/Side. In Business Central having 10 ISV solutions in one database is a piece of cake. This is my biggest takeaway. The second thing that was interesting for me was having a conversation with Microsoft. I cannot remember having conversations like I did in the past few days with them in years. We talked about the refactoring and challenges in the future. We agree that breaking changes should never happen again and still we need to continue breaking up the base app into smaller pieces. For this to happen and to avoid future frustration they’ve invited me back to visit Lyngby every now and then in an informal role. I’ve agreed to try that and let’s see what will happen here. I’ve also pushed Microsoft to have better involvement of MVP’s in the next interations. This group of people can give good feedback and seem to have been forgotten in the last 6 to 12 months. The future is uncertain and a lot of decisions need to be made. The road is not paved, The road in many cases has to be created using heavy machinery. Yet Business Central remains the BEST flexible cloud ERP product. The webclient team did a great job making this client on-par with the Windows client in the best way possible. Web development is so much more difficult than the old Win32 UI. See you at NAVTechDays? Find me at the ForNAV or Global Mediator booth.
↧
Forum Post: RE: Extension for send a jSon to a webService
I experimented today a little with JSon arrays sent from BC - first using Azure functions in C# and JavaScript, but then I found out that I have Apache with PHP configured on my laptop, and tried the same with json_decode. $value) $responseString .= "{$value['name']} "; header('Content-Type: application/json'); echo json_encode($responseString); ?> A variation of the classics - "Hello World", but with a list of names in the body of the POST request. And the data I used is a slightly simplified version of your message: a json object containing an array of objects: { "names": [ { "name": "Azure" }, { "name": "Cloud" } ] } And it works without any problems, no matter if I send content as application/json or text/plain. Looks like there is some conversion happening on the server side before the request body is passed to json_decode.
↧
Forum Post: RE: Extension for send a jSon to a webService
Hi Alexander Drogin , Thanks for your answer,as always. Seemes that you've had the same issue as me, but I don't understand what are you seggesting me to do.... You are talking about server side, is that NAV? I must say that this development is an extension created for BC in cloud version
↧
↧
Forum Post: RE: Extension for send a jSon to a webService
That's the matter - I did not have any issues. JSon string gets decoded into an array or object - that code snippet I posted returns the result string with the state code 200. I'm guessing if it could be the Laravel middleware controller which interferes here?
↧
Forum Post: RE: Extension for send a jSon to a webService
So as far as I understand, the jSOn is created as an array, because the string is created with the delimiters and all that, am I right? You return the result string with "echo json_encode($responseString);" instruction I deduce. The web service I must send to the jSon file, as we can see needs to receive a text, but is there any way to do that with an AL edtension for BC on cloud? From an installation in NAV 2018 I send a jSon file to a webService of the same provider, without any problem...
↧
Forum Post: FlowField Issue- NAV 2018
Hi All, I wanted to bring all dimensions on Posted Sales Invoice list. In list I want 'Dimension Value Name' in dimension values. I have created flowfields as below but when opening the page getting below error. whereas if I take 'Dimension Value Code' in CalcFormula -> Field then its working fine but giving 'Dimension Value Code' in Posted Invoice list. I did not get the error. is it because of 'Dimension Value Code' is a normal field and 'Dimension Value Name' is a flow field. Can we take a flowfield in field of a CalcFormula? Kindly suggest? Thanks in advance.
↧
Forum Post: RE: FlowField Issue- NAV 2018
Hi Nikitha, No, flowfield over another flowfield will not work, values you want to show have to be calculated in the OnAfterGetRecord trigger.
↧
↧
Forum Post: RE: Extension for send a jSon to a webService
It seems that the json string is actually correct, and your experiment with Request Bin confirms it. Logged result rather looks as if the initial json string was already deserialized and your custom contact processor receives the contents of the json array instead of the string that is being sent. Probably deserialization is already done by the framework. That very first error message you posted in the question - do you know if it's thrown by the Illuminate routing controller, or by ContactController?
↧
Forum Post: RE: FlowField Issue- NAV 2018
Thanks for the reply Alexander. One more question, Currently I gave filters as below (hardcode filter) But I want to make it dynamic with General Ledger Setup. Suppose in future Dimensions or its sequence get change then I have to change in above field properties. I tried to do that but unable to do that. Thanks in advance.
↧
Forum Post: RE: Extension for send a jSon to a webService
Are you talking about the 500 error? I don't know wo is throwing that error, the web service we are attacking is not ours... Anyway, the error log gives in this case : So, if my jSOn is correctly created, the solutions should be to change something in the webService? It's quite anoying to be able to solve this in earlier versions, but find this type of problems in the last version...
↧
Forum Post: RE: Extension for send a jSon to a webService
This information should be in the callstack, just below the cut in the screenshot. Is Illuminate\http\Request raising the error, or something else? Request string is formed correctly, but Laravel and Symfony http client on which it is built, rely on request headers to figure out payload type. If it worked in a previous version of NAV, but started failing in BC, first of all I would carefully compare all http headers sent in both cases - in NAV and BC. Do they match?
↧
↧
Forum Post: RE: FlowField Issue- NAV 2018
Again, it's not something that can be achieved by using FlowFields. If you want to show a value of a shortcut dimension, you need to get the general ledger setup and apply the filter on the dimension code in OnAfterGetRecord trigger. Or OnAfterGetRecordEvent, if we take the modern way of developing customizations.
↧
Forum Post: RE: FlowField Issue- NAV 2018
Thanks for the reply.
↧
Forum Post: RE: Extension for send a jSon to a webService
Well, I must say that the service I'm using in NAV 18 and this oen are different, but the system provider is the same company. In NAV18 I'm connecting like that: HttpWebRequest := HttpWebRequest.Create('http://XXXXXX.com/ws/api/rest'); HttpWebRequest.Method := 'POST'; HttpWebRequest.ContentType('application/x-www-form-urlencoded'); postString := STRSUBSTNO('json=%1',pJson); StreamWriter := StreamWriter.StreamWriter(HttpWebRequest.GetRequestStream); StreamWriter.Write(postString); StreamWriter.Close; StreamWriter.Dispose; HttpWebRequest.GetResponse; If I use form-urlencode contetn type, I get this error in the actual webService: Sorry but when you talk about laravel, callstack... I feel I'm quite lost...
↧
Blog Post: New View releases new training schedule with 40+ classes offered in 2020
New View Strategies is the go-to source for actionable training and process efficiency in Microsoft Dynamics NAV and Microsoft Dynamics 365 Business Central. Their 2020 schedule of training was just released and includes 17 classroom based boot camps and 24 online classes and includes new next-level offerings including the Advanced Controller’s Boot Camp and Advanced Account Schedules. Remaining Boot Camps being offered in 2019 are: Business Central Essentials Boot Camp (Nov 11-15) Manufacturing Boot Camp (Nov 11-15) Relationship Management (Dec 9-10) Warehousing (Dec 9-13) Advanced Account Schedules (Dec 11-13) Advanced Controller’s Boot Camp (Dec 16-20) See what Bruce Ostrowsky of World Emblem had to say about the recent Account Schedules class he attended: And lastly, YOUR class on schedules has made ME look like a hero. Running month end reports in Jet used to take 2-3 hours and the owner hated the way they looked. Running 6 schedules (CM, YTD, PM, PYTD, Budget CM and Budget YTD) takes about 10 minutes and it’s formatted EXACTLY the way the owner wants – and has wanted for 10 years. And I add ad hoc reports all the time – I LOVE schedules so thank you for making them so easy to understand.
↧
↧
Forum Post: Issue with Lookup of Bal. Account No. field in Cash Receipt Journal - NAV 2013R2
Hi All, I am facing a issue in Cash Receipt Journal, One user A with SUPER permission can see the list if he type name in Bal. Account No. (example bellow if type 'poo' then all customer filtered starting with poo.) But user B with SUPER permission cant see the same list if type name initials in Bal. Account No. Both users are SUPER in same company. What I an missing? because objects are same, both are super user. where and what I need to check? Thanks in advance.
↧
Forum Post: Table Relation with multiple filters
I have the following table relation on my Table which allows the user to select and item # from the item table. The list of items that you can select from is filtered to only display items there the "Item Category Code" = 'ROLL STOCK' I would like to add an 'OR' clause to it so that I can add another Item Category Code = 'Sheet Stock' Thanks Yann field(50084; "Paper Item No."; Code[20]) { TableRelation = Item."No." where ("Item Category Code" = filter ('ROLL STOCK')); }
↧
Forum Post: RE: Table Relation with multiple filters
Just extend the filter: where ("Item Category Code" = filter ('ROLL STOCK|SHEET STOCK')) Although, I would suggest to avoid hardcoding filter values in table relations - these values tend to change with time. Much better if the filtering list is stored as a setup in a table and applied in the OnLookup trigger. Of course, setting a table relation is easier that handling it in code, but its simplicity should not lure developers into bad coding practices.
↧