go to post Eduard Lebedyuk · Mar 14, 2018 Have you tried xlsx and displayxlsx (2015.1+) formats? Docs.
go to post Eduard Lebedyuk · Mar 14, 2018 When you're using Import, one record that imports - is it correct (corresponds to one string in csv)?
go to post Eduard Lebedyuk · Mar 13, 2018 Use parameters instead of building the query manually. Everything would be escaped automatically.
go to post Eduard Lebedyuk · Mar 13, 2018 You're importing jitPod.Api.toServer.logon and that's whats imported. I think you skipped step 5, where you replace all reference to Apiwith api.
go to post Eduard Lebedyuk · Mar 13, 2018 Studio is less important here. What does this return: write ##class(%Dictionary.CompiledClass).%ExistsId("jitPod.Api.toServer.logon"),! write ##class(%Dictionary.CompiledClass).%ExistsId("jitPod.api.toServer.logon"),! zwrite ^oddPKG($zcvt("itPod.api", "U"))
go to post Eduard Lebedyuk · Mar 13, 2018 1. Export Api package. 2. Uncompile and Delete all classes from Api package regardless of the case. 3. Delete package with write $System.OBJ.DeletePackage("package name") 4. Check if there's anything related to jitPod.Api package left in: zw ^oddPKG Delete ONLY entries related to your package. 5. In exported code replace Api with api for all classes. 6. Restart Cache. 7. Import classes.
go to post Eduard Lebedyuk · Mar 13, 2018 That would work, but I'm looking for a solution without user code.Some system OutputToDevice method.
go to post Eduard Lebedyuk · Mar 13, 2018 Pattern can be used: Property GUID As %String(PATTERN = "8AN1""-""4AN1""-""4AN1""-""4AN1""-""12AN") [ InitialExpression = {$SYSTEM.Util.CreateGUID()} ]; And A can be replaced with L or U to store GUIDs in one case.
go to post Eduard Lebedyuk · Mar 13, 2018 I'm calling load code like this: csession ensemble "##class(isc.git.GitLab).load()" ObjectScript: /// Do a full load /// do ##class(isc.git.GitLab).load() ClassMethod load() { try { set dir = "/src" do ..log("Importing dir " _ dir) do $system.OBJ.ImportDir(dir, "*.xml", "c", .errors, 1) throw:$get(errors,0)'=0 ##class(%Exception.General).%New("Load & compile error") halt } catch ex { write !,$System.Status.GetErrorText(ex.AsStatus()),! do $system.Process.Terminate(, 1) } } This way process terminates abnormally on error: do $system.Process.Terminate(, 1) And it's usually reported as error in CI/CD systems. Additionally you can grep for "Load & compile error". I'm currently writing a series of articles on continuous delivery, check it out (latest part).
go to post Eduard Lebedyuk · Mar 12, 2018 Pressing on a Toolbar in the first menu should toggle it too.
go to post Eduard Lebedyuk · Mar 12, 2018 I can't see the image. But it should be the last Item in a first part of the View menu. It's also the only item of a first part of the View menu with a dropdown.
go to post Eduard Lebedyuk · Mar 12, 2018 What version of Cache does it require to work?If think it requires 2016.1 but 2016.2+ would be preferable.I notice in the readme that it says to create a / web application. Did you literally mean "/"?You can create non-root (/something) web application, that should not be an issue on windows clients iirc.Read-only office documentsAre OPTIONS requests processed correctly? Check OnHandleOptionsRequest method - you'll need to write a method that processes all OPTION requests and returns relevant headers.If the problem with read-only Word files persists, it can be fixed by one of the above:Use HTTPSRegistry solution 1Registry solution 2Additionally I recommend:Installing 2017.2 (anything 2016.2+) separately and checking that it does workInstalling Wireshark and capturing a sample exchange on 2014.1 and 2017.2Compare these two sessions to understand what fails on 2014.1
go to post Eduard Lebedyuk · Mar 12, 2018 Are you sure the problem is with the BS? Does visual trace stops there?Is your target BP compiled?
go to post Eduard Lebedyuk · Mar 12, 2018 Good article.If you have BO with one message route in message map you can remove the message map altogether and name your method OnMessage - it would be called automatically.
go to post Eduard Lebedyuk · Mar 9, 2018 Can I still add code in Business Studio and it maintain integrity to be able to still open in the BPL editor?It's easier to use one tool to modify BPL. <assign> is available in UI so you can add it without writing XML at all. then the BPL hung.I tested that behavior in BS only and it works there fine there. Maybe it causes BP to break. You can try to set SessionId just before sending request to other BP or BO and then reinstating old SesionId value back. That way persistent session value on disc would stay the same and BP can maybe survive unload from memory.My recommendation is to iterate over result set in BS rather than BP, then send each new snapshot (preferably preprocessed in BS) to BP with new session for each object.
go to post Eduard Lebedyuk · Mar 9, 2018 You can use assign action: <assign property='..%Process.%SessionId' value='""'/> Still, I'd recommend the same trick but in BS not BP: set ..%SessionId = ""
go to post Eduard Lebedyuk · Mar 9, 2018 Set SessionId property to empty string and Ensemble would automatically start a new session.Also why are you iterating over a result set in a BP and not in BS? It would probably be better.
go to post Eduard Lebedyuk · Mar 9, 2018 I want to know if it's possible that when I selected a date in one widjet affected also the other widjet with the same date. 'Yes. When you specifying the target for the widget control you can specify:Empty string for current widget* for all widgetsWidget name for some specific widgetComma-separated string of widget names - to specify arbitrary number of widgetsFourth case sounds like what you need.If exists the possibility to create a generic date and when the user choose the range of date, will affect all of the widjets, independent that are different dates.Can you elaborate on that? Do you mean filtering by week/month/season/year/etc.? That's possible. There are a lot of ranges available, but you can add your own by extending %DeepSee.Time.AbstractLevel.