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: 0 Yes / 0 No
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: 0 Yes / 0 No
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: 0 Yes / 0 No
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: 0 Yes / 0 No
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.

/* Ультимативный фикс для всех уровней заголовков в контенте */ .workarea h1, .workarea h2, .workarea h3, .workarea h4, .workarea h5, .workarea h6, .content h1, .content h2, .content h3, .content h4, .content h5, .content h6, div[id*="content"] h5, div[class*="content"] h5 { display: block !important; font-weight: 700 !important; color: #005aa0 !important; /* Наш фирменный синий */ text-transform: none !important; margin-top: 30px !important; margin-bottom: 15px !important; line-height: 1.2 !important; font-family: Arial, sans-serif !important; } /* Принудительные размеры в пикселях (чтобы не зависеть от % или em) */ .workarea h1, .content h1 { font-size: 28px !important; } .workarea h2, .content h2 { font-size: 24px !important; } .workarea h3, .content h3 { font-size: 21px !important; } .workarea h4, .content h4 { font-size: 19px !important; } .workarea h5, .content h5 { font-size: 18px !important; } /* Для 5 решеток ##### */ .workarea h6, .content h6 { font-size: 16px !important; } /* Фикс, если Битрикс добавил лишние отступы перед списками после заголовка */ .workarea h5 + ul, .content h5 + ul { margin-top: 5px !important; }