go to post Eduard Lebedyuk · Jun 19, 2019 I need to run Ensemble Service with special environment variables set, so it's current process for me.
go to post Eduard Lebedyuk · Jun 17, 2019 You can use Apache POI library (or call PS, but cursory googling shows that Word is a requirement via COM objects) for example to get this information. As for how explorer gets doc info - I have honestly no idea.
go to post Eduard Lebedyuk · Jun 14, 2019 It's not a file property. Docx is just a zip archive, inside it is docProps/app.xml file. Here's how it looks like: <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Properties> <TotalTime>4</TotalTime> <Pages>8</Pages> <Words>1882</Words> <Characters>10731</Characters> <Application>Microsoft Office Word</Application> <Lines>89</Lines> <Paragraphs>25</Paragraphs> <CharactersWithSpaces>12588</CharactersWithSpaces> </Properties> Explorer reads the app.xml file and gets information from it. You can do the same I suppose, here's an article on that. In your case you don't want to unpack the whole docx, check this unzip implementation for ObjectScript.
go to post Eduard Lebedyuk · Jun 13, 2019 Fastest (and in non-prod environments easiest) way to save every global would be:Dismount the databaseCopy CACHE.datMount the database
go to post Eduard Lebedyuk · Jun 13, 2019 Docker for windows allows switching between Linux containers and native Windows containers; if you want to use Linux containers (i.e. IRIS), make sure you enabled that modeSee this section in the documentation.
go to post Eduard Lebedyuk · Jun 12, 2019 Looks like a locale problem.Add to the beginning of the script: import locale locale.setlocale(locale.LC_ALL, 'en_US.utf8')
go to post Eduard Lebedyuk · Jun 11, 2019 You need to check access to table.Try write $SYSTEM.SQL.CheckPriv($username,"1,<TABLE>","a") Replace <Table> with your table.
go to post Eduard Lebedyuk · Jun 10, 2019 Check Purge method of Ens.MessageHeader class for example. Here's how it determines cast-off date: set %tDoNotDeleteDate = $$$timeUTCHtoUTC($s($ztimezone'<0:($H-pDaysToKeep+1)_","_($ztimezone*60),1:($H-pDaysToKeep)_","_($ztimezone*60+86400))) So 24 hours.
go to post Eduard Lebedyuk · Jun 10, 2019 %ALLINDEX maybe. Also check alternate plans.Can you show an example:your table definitionsyour queryyour planhow do you think plan should go?
go to post Eduard Lebedyuk · Jun 10, 2019 How do I search?Tried: https://github.com/search?q=language%3Aobjectscript&type=Code but it yielded zero results.
go to post Eduard Lebedyuk · Jun 7, 2019 1. Modern editors color variable based on scope. p/t in the beginning is unnecessary.7. I mean if you develop an API all methods should accept either primitives or ByRefs or json. Not object arguments in one method, primitives in another, etc.8. If you return %Status always return it. If you return $this always return self.9. If your class has several instance methods and each has, let's say "debug" argument, remove this argument from methods and add "debug" as a class property.
go to post Eduard Lebedyuk · Jun 7, 2019 Check this article on iterating dynamic object.Instead of just displaying the fields you can use %Dictionary package to generate corresponding class.After that use new %JSON.Adaptor class (or old %ZEN.Auxiliary.jsonProvider class) to parse JSON into objects.
go to post Eduard Lebedyuk · Jun 6, 2019 Yes for custom storage you'll need to check the storage for hints.In the case of %Dictionary package check %LoadData method.To get method description call: set desc = $$$defMemberKeyGet(CLASS,$$$cCLASSmethod,METHOD,$$$cMETHdescription)