Kurro Lopez · Jul 17, 2019 go to post

Hi Vikram,

Have you checked if you have granted privileges?

Best regards,

Francisco Lopez

Kurro Lopez · May 31, 2019 go to post

It's a great plugin. Works in server side like Studio IDE. I need to check debug plugging.

I just miss a way to to push my code into a repository (Git, TFS,...) because there is not a copy in my disk folder (like Atelier). To do it, I need to synchronize all my code in Atelier and push into Git.

4.9 over 5

Best regards,

Francisco López

Kurro Lopez · May 30, 2019 go to post

As says the song.... "Words don't came easy to me, How can I find a way to say.. THANKS"

I see you in Spanish Developer Community and this community too wink

Best regards

Francisco López

Kurro Lopez · May 24, 2019 go to post

Good point.

I'll do it.

It's not as elegant as <foreach> but...

Maybe is not elegant, but this idea is from a gentleman, so it has glamour wink

Best regards,

Francisco Lopez

Kurro Lopez · May 24, 2019 go to post

So it is not possible to do in a DTL?

As you say, I need to do it as code, instread of DTL.

Thanks for the answer

Kurro Lopez · May 23, 2019 go to post

Exactly... using %Save aftewards RemoveItem in Ens.Config.Production works

Thanks for all

Kurro Lopez · May 23, 2019 go to post

it is a mistake when I've copied it in the post. The original code is the same name, and I get the idItem, thanks

Kurro Lopez · May 22, 2019 go to post

Cache for Windows (x86-64) 2017.2.1 (Build 801_3U) Thu Apr 12 2018 10:02:23 EDT

Kurro Lopez · May 22, 2019 go to post

Yes I have,

but it doesn't work, the item is removed from database but it still into production.cls, so the production is unestable. I should to remove the item manually.

Kurro Lopez · May 22, 2019 go to post

Congratulations to all Spanish community and, in particular, congratulations to @David.Rechefor this great work.

Muchas gracias

Kurro Lopez · May 21, 2019 go to post

Yes, using Serenji extension.

You say that is only server-side code? it's strange, because the client-side is changed too

Kurro Lopez · May 21, 2019 go to post

Ok, I'll try.

I've checked that it compile, is synchronized server-client and vice versa.

It's good. Only I'm missing the intellisense

Thanks for all

Kurro Lopez · May 21, 2019 go to post

Ok, it was due server port. Now it is connected with the server, but ObjectScript VSCode extension is disabled. Now, I'm not able to compile :(

All previous configuration for ObjectScript VSCode extension was working, and the configuration still in folder configuration and workspace configuration.

Edited: If I disable Serenji, ObjectScript VSCode begin to work

Kurro Lopez · May 21, 2019 go to post

Hi George,

I'm trying to configure Serenji in server and client. In workspace configuration I've got the following code:

"settings": {
        "objectscript.conn.host": "1.1.1.1",
        "objectscript.conn.label": "DEV",
        "objectscript.conn.password": "<myPassword>",
        "objectscript.conn.version": 2,
        "objectscript.conn.active": true,
        "objectscript.autoCompile": true,
        "objectscript.autoPreviewXML": true,
        "serenji.servers": {
            "1.1.1.1":{
                "host": "1.1.1.1",
                "port":43221,
                "username":"_SYSTEM",
                "password": "<myPassword>"
            }
        }
    }

I've replaced IpServer and myPassword for security.

In server I've installed as is explained in https://georgejames.com/files-cgi/doc/serenji/3.0.2/GettingStarted.html

Now, my question is... How to sync the code? I'm not see any menu item or something to do it, maybe I'm not using correctly.

Best regards.

Edited: I've created the worspace and it is trying to connect, but I have the following error:

 
[trace] stat /
[error] Timed out connecting to Serenji Service at 1.1.1.1:43221 (1.1.1.1)
 

 (Real IP is changed)

The server hasn't any firewall that is blocking it. Any idea?

Kurro Lopez · May 17, 2019 go to post

WOW !!!! IT WORKS !!!!

Thanks for all.

I going to add this method in my utility library

Best regards,

Francisco Lopez

Kurro Lopez · May 10, 2019 go to post

Thanks for the comment...

As you says, it works with all superclass that it has, i.e. %Library.Base or Ens.Request

The %IsA(superclass) is more effective

Kurro Lopez · May 10, 2019 go to post

Well, next time I need to read the documentation in depth.

There is a base method to check if a class extends of other one

set obj = ##class(MyLibrary.ChildClass01).%New()

## this retrieves 1
wobj.%Extends("MyLibrary.ParentClass")

## this retrieves 0
wobj.%Extends("MyLibrary.ParentClassFake")

This has been a "Rubber duck", this is a sample of guide-book of rubber duck. wink

More info Clase %Library.SystemBase

Best regards,

Francisco López

Kurro Lopez · May 3, 2019 go to post

Hi,

Try the following code. It only works if the class parent is Ens.DataTransformDTL

// Create a query to get only my class (in MyClass and sub folders)

setquery="SELECT ID FROM %Dictionary.ClassDefinition WHERE ID LIKE 'MyClass.%' AND super='Ens.DataTransformDTL'"settStatement = ##class(%SQL.Statement).%New()setqStatus=tStatement.%Prepare(query)settResult = tStatement.%Execute()

while tResult.%Next() {

   set dtlName = tResult.%Get("ID")

   setclassObject = $CLASSMETHOD(dtlName ,"%New")
   
   write !,"DTL: "_dtlName
   write !,"Source type: "_classObject.GetSourceType()
   write !,"Target type: "_classObject.GetTargetType()
   write !

}

Remember: It works only if the class inherits from Ens.DataTransformDTL, if you know which class is the one that inherits the DTL you want to examine, change the name of the value of 'Super' in the previous query

Best regards,

Francisco Lopez

Kurro Lopez · Apr 30, 2019 go to post

Please, use the DTL class properties

set obj=##class(EXC.DTL.Lamont).%New()

write 'Source type: '_obj.GetSourceType()

write 'Target type: '_obj.GetTargetType()

Have a look the following documentation

Ens.DataTransformDTL

Best regards,

Francisco López

Kurro Lopez · Apr 18, 2019 go to post

Please, you have to map the class too. It is into Routine database.

Check previously what is the Global name to map it.

Kurro Lopez · Apr 18, 2019 go to post

Hi,

You need to map the other Global database into your namespace. This is the only way to have visibility of other database

Kurro Lopez · Feb 21, 2019 go to post

Thanks Eduard,

Note: I've udpdated my comment, to show that there is two customers

Currently we are not able to rename the link of the Client1 to http://localhost:57772/api/myprocess/Client1/method1, the new customer will have this prefix without problem (http://localhost:57772/api/myprocess/Client2/method1)

Now we have solved this problem adding the forward in Class1, and not using the My.Code.BS.ApiRoute.

Of course, In Security - Applications - Web Applications, I've defined the Dispatch class to My.Code.BS.Class1

Next iteration we'll try to change the URL of Client1 and use the ApiRoute class.

Best regards