Save (copy data model from XDTO reference)

This forum is intended for cases when a problem can not be solved due to restrictions of the platform: a bug or lack of functionality.

#1
People who like this:0Yes/0No
Interested
Rating: 32
Joined: Oct 27, 2011
Company: Abaco Soluciones S.A.

Hello.

1C Enterprise have a great object - WS reference, which include XDTO data model. If I want to return the same element I have consulted to eternal SOAP service, I have to recreate it manually in configuration under XDTO packages option.

It would be great if I can copy data model from WS-reference o save Data model from WS reference into XSD to import it again as a data model.

p.s. I know that I could create a factory dynamically and probably use this factory to return XDTO objects, but it will be very handy to have this option, and considering that there is saving command of XDTO package of the configuration it should not be difficult to implement

Edited: Alexey Gerasimov - Jan 15, 2018 12:39 PM
 
#2
People who like this:0Yes/0No
Interested
Rating: 16
Joined: Dec 4, 2017
Company:

Dear Alexey,

By using a WS reference, you can get the corresponding XDTO factory and then use the factory to export the data model from it (refer to the XDTOFactory.ExportXMLSchema() method).

Once you obtained a set of XSD schemas, you can save them to files via the DOM model.

Is this what you wanted to achieve?

Best regards,
Vladimir Gurov

1C Company support team
 
#3
People who like this:0Yes/0No
Interested
Rating: 32
Joined: Oct 27, 2011
Company: Abaco Soluciones S.A.

Ok, I made this:

Code
   Receptor = WSReferences.SRIAutorizacionOffline;
   SSL = New OpenSSLSecureConnection();
   WSProxy = Receptor.CreateWSProxy("http://ec.gob.sri.ws.autorizacion", 
      "AutorizacionComprobantesOfflineService", "AutorizacionComprobantesOfflinePort",,,SSL,
   "https://cel.sri.gob.ec/comprobantes-electronicos-ws/AutorizacionComprobantesOffline");
   
   A = WSProxy.XDTOFactory.ExportXMLSchema("http://ec.gob.sri.ws.autorizacion");


A is a Array of XMLSchema Objects
There is some methods avalable, but how to save it to a file?

Quote
Methods:
CloneComponent
Contains
UpdateDOMElement
ResolveAttributeDeclaration
ResolveAttributeGroupDefinition
ResolveElementDeclaration
ResolveModelGroupDefinition
ResolveTypeDefinition

 
#4
People who like this:0Yes/0No
Interested
Rating: 16
Joined: Dec 4, 2017
Company:

Dear Alexey,

You can save a DOM document to a file by using the DOMWriter object.


For each XMLSchema object that you obtained,

1) synchronize the schema with the underlying DOM element:

XMLSchema.UpdateDOMElement();


2) save the contents of the XMLSchema.DOMElement property to a file with an appropriate format via the DOMWriter object

Best regards,
Vladimir Gurov

1C Company support team
 
Subscribe
Users browsing this topic (guests: 1, registered: 0, hidden: 0)
Be the first to know tips & tricks on business application development!

A confirmation e-mail has been sent to the e-mail address you provided .

Click the link in the e-mail to confirm and activate the subscription.