Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

хранение фабрики XDTO отдельно от метаданных

хранение фабрики XDTO отдельно от метаданных
Я
   hawksib
 
16.02.18 - 06:02
при работе с системой меркурий через api в версии 2 при отправке данных получаю фабрику xdto динамически, в результате на получение WSОпределений и создание самой фабрики тратится по 3 секунды, в сумме 6, фабрику получаю 1 раз перед отправкой для всех запросов она подходит, но хочется уменьшить и это время получения фабрики. с версией api 1.4 всё работает быстро, т.к. WS-ссылка http://api.vetrf.ru/schema/platform/services/ApplicationManagementService_v1.4_production.wsdl добавлена в конфигурацию, чего не возможно добиться с WS-ссылкой от версии 2.0 http://api.vetrf.ru/schema/platform/services/2.0-last/ams-mercury-g2b.service_v2.0_production.wsdl т.к. при добавлении возникает ошибка "набор схем не может содержать схемы с одинаковыми целевыми пространствами имен". Появилась такая мысль, что если где-нибудь хранить полученную фабрику. В хранилище значения, я так понимаю не получается: "Ошибка при вызове конструктора (ХранилищеЗначения): Переданное значение не может быть помещено в ХранилищеЗначения, поскольку не сериализуется или содержит вложенный несериализуемый элемент", функция ЗначениеВСтрокуВНутр(ФабрикаXD) возвращает строку, при передаче которой в функцию ЗначениеИзСтрокиВНутр возвращается неопределено. Кто что думает о моей идеи?
 
 
   Dilgorp
 
1 - 16.02.18 - 06:53
(0) Можно хранить xsd схему как макет. И на основании нее создавать объекты XDTO.
Битрикс в своих модулях это практикует.
   Dilgorp
 
2 - 16.02.18 - 06:56
//запись схемы в файл

лКаталогДляСхемыXSD = ПолучитьКаталогВременныхФайлов() + Строка(ГСЧ.СлучайноеЧисло()) + "\" + СокрЛП(УзелОбмена.Код);
СоздатьКаталог(лКаталогДляСхемыXSD);
лфайлСхемыXSD     = лКаталогДляСхемыXSD +"\SchemaXSD_Exchange.XSD";
СхемаXSD          = ПланыОбмена.Б_ОбменССайтом.ПолучитьМакет("СхемаXSDОбмена");
СхемаXSD.Записать(лфайлСхемыXSD);
Параметры.Вставить("ФайлСхемы"            , лфайлСхемыXSD);


//создание фабрики из файла

ПараметрыОбмена.МояФабрикаXDTO         = СоздатьФабрикуXDTO(ПараметрыОбмена.ФайлСхемы);
   hawksib
 
3 - 17.02.18 - 07:21
(2) че-то не могу сообразить, какой должен быть тип макета?
   arsik
 
4 - 17.02.18 - 09:20
(0) может тебе просто схему 1.4 из конфигурации удалить? Тогда нормально импортировать 2.0 получится
   hawksib
 
5 - 17.02.18 - 09:47
(4) там такая wsdl, что она даже в чистую конфу не добавляется
   Cyberhawk
 
6 - 17.02.18 - 11:10
(3) Текстовый документ
   Cyberhawk
 
7 - 17.02.18 - 11:10
Или двоичные данные - как удобнее

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует