Перенос данных с использованием XDTO

08.03.21

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Использование объекта типа "ОбъектXDTO" для переноса данных из одной конфигурации в другую

Скачать файлы

Наименование Файл Версия Размер
Перенос данных с использованием XDTO
.zip 212,13Kb
22
.zip 212,13Kb 22 Скачать

Здравствуйте! Моя статья посвящена моему вниканию в XDTO, первые шаги. Статьи по XDTO есть, но там слишком много теории.

Предисловие

Мне захотелось попробовать использовать XDTO для написания своего переноса данных из одной конфигурации в другую. У меня была конкретная цель: создать управляемый перенос данных из одной конфигурации в другую. Из дописанной УТ10 в БУХ30. Естественно, в УТ10 нет БСП. У нас использовалась конвертация данных 2, я умею ей пользоваться, в некотором смысле, и даже вижу косяки в ее справке. Но гибкость переноса маловата. Данные перенести можно, но мне не нравилась малая скорость, сложность создания/изменения своего алгоритма загрузки. Например, некоторые документы мне нужно принимать, другие - нет, по каким-то условия, некоторые проводить, а некоторые - не трогать совсем, необходимость использования разных правил обмена для разных конфигураций, сложность просмотра данных при отладке и т.д. Но я в работе всегда стараюсь пробовать новые механизмы, чтобы осознавать, чем хорош/плох (хорошо, когда соотношение 50/50, люблю хорошую ортогональность) тот или иной подход. Скорее всего то понимание, которое я хочу показать, возможно завтра уже вызовет у меня только улыбку. Но я думаю стоит поделиться, уверен, кому-то поможет.

Итак, начинаю описывать то, что я понял...

Для начала, необходимо представить три понятия...

  1. ...Что такое пакет XDTO. Пакет XDTO - это описание того, как нужно строить XML. Какие там узлы вложены, сколько их и как интерпретировать содержимое узлов. Интерпретация узлов зависит от...
  2. ...Пространства имен. Это некое абстрактное название совокупности описаний этих интерпретаций. Видя в узле атрибут xmlns:v8="http://v8.1c.ru/8.1/data/enterprise/current-config" мы понимаем, что в подчиненных узлах этого узла данные типа <ДокументОснование xsi:type="v8:DocumentRef.Возврат">fdfddc9e-6357-11e9-9869-c86000e2d5b1</ДокументОснование> означают, что тип "DocumentRef.Возврат" относится к v8, а v8 - это префикс пространства имен, которое мы объявили для этого узла (или вышестоящего). В этом примере получается так: содержимое "fdfddc9e-6357-11e9-9869-c86000e2d5b1" узла <ДокументОснование> следует интерпретировать согласно типу "DocumentRef.Возврат", описанному в пакете с пространством имен "http://v8.1c.ru/8.1/data/enterprise/current-config". Создание объекту описанных типов согласно пространству имен занимается...
  3. ...ФабрикаXDTO. ФабрикаXDTO знает типы объектов по своим пакетам и умеет создавать ОбъектXDTO по типам, описанным в них. Есть глобальная фабрика. Она знает обо всех типах данной конфигурации. Но можно создавать свою фабрику по своим схемам.

Моя задача по-большей части заключалась в том, чтобы логичным образом перенести ссылки на документы. Ссылка в одной конфигурации должна соответствовать ссылке в другой и чтобы это сразу было видно в отладчике, в свойстве ОбъектXDTO. Но вот незадача: в одной конфигурации документ называется, например, "ВозвратОтПокупателя", а в другой - "Возврат". А ссылки должны совпадать. Незадача это потому что пространство имен конфигурации в обоих базах называется одинаково: "http://v8.1c.ru/8.1/data/enterprise/current-config". Вот только в каждой из них свои объекты. Или, например, названия перечислений или значения перечислений разные.

Можно, конечно, всё создавать вручную через ЗаписьXML, все атрибуты и узлы, согласно конфигурации базы-приемника... Но! Мне далеко не всегда нравится состав реквизитов этих объектов. Например, для чего мне в формируемом XML по документу платежки данные счетов учета? Или мне не хотелось создавать в передаваемом XML данные для РасшифровкаПлатежа. Мне хотелось сделать свой ОбъектXDTO, со своими свойствами, которые сочту необходимыми для переноса. 

Решение

Создаем ПакетXDTO в базе-приемнике (это у меня БУХ30, я добавил расширение, но возможно это можно создавать и в блокноте или еще каком-то инструменте) и экспортируем его в файл .xsd. Затем экспортируем всю конфигурацию базы приемника в другой файл. Экспорт осуществляется вот:

Выгрузка .xsd конфигурации 

В базе-источнике для создания своей фабрики из двух файлов .xsd пишем вот что:

Функция ПолучитьСхемуXML(ИмяФайла)
	Файл = Новый Файл(ИмяФайла);
	ЧтениеXML = Новый ЧтениеXML;
	// Открыть файл XML
	ЧтениеXML.ОткрытьФайл(Файл.ПолноеИмя);
	// Создать построитель документа DOM по умолчанию
	ПостроительDOM = Новый ПостроительDOM;
	// Прочитать файл XML в документ DOM
	ДокументDOM = ПостроительDOM.Прочитать(ЧтениеXML);
	// Создать построитель схемы XML по умолчанию
	ПостроительСхемыXML = Новый ПостроительСхемXML;
	// Получить схему XML из документа DOM
	СхемаXML = ПостроительСхемыXML.СоздатьСхемуXML(ДокументDOM);
	Возврат СхемаXML;	
КонецФункции
  


НаборСхемXML = Новый НаборСхемXML;
Файл = Новый Файл("D:\XDTO\export-2.xsd");
НаборСхемXML.Добавить(ПолучитьСхемуXML(Файл.ПолноеИмя));
Файл = Новый Файл("D:\XDTO\export.xsd");
НаборСхемXML.Добавить(ПолучитьСхемуXML(Файл.ПолноеИмя));
МояФабрика = Новый ФабрикаXDTO(НаборСхемXML);

Таким образом у нас получается Фабрика, которая может создавать объекты с необходимыми типами.

Пакет в базе-приемнике выглядит так: 

 

Это то, как я хочу переносить данные. Этот мой пакет имеет пространство имен с именем (http://www.sample-package.org). Мне в документе ОплатаПлатКартой не нужны счета и все реквизиты контрагента. Мне у контрагента нужно наименование и возможно ссылка. Тип у свойства Ref типа объекта Контрагента - строка. Потому что я не собираюсь сопоставлять контрагентов по ссылке. А вот тип свойства Ref у типа объекта ОплатаПлатКартой - DocumentRef.ОплатаПлатежнойКартой из пространства имен конфигурации http://v8.1c.ru/8.1/data/enterprise/current-config. Именно поэтому нам нужна директива импорта и это то, ради чего я это делал: просмотр в отладчике этого свойства у ОбъектXDTO выдаст реальную ссылку в базе-приемнике.

ВидОперации тоже имеет тип из типов конфигурации.

А вот ДокументОснование не имеет типа, он имеет открытый тип. В базе приемнике у соответствующего документа составной тип, поэтому при формировании XML необходимо передавать тип.

Вот как выглядит функция формирования XML:

	ЗаписьXML = Новый ЗаписьXML;
	ЗаписьXML.УстановитьСтроку();
	ЗаписьXML.ЗаписатьОбъявлениеXML();
	ЗаписьXML.ЗаписатьНачалоЭлемента("root");
	ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("", "http://www.sample-package.org");	
	ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("v8", "http://v8.1c.ru/8.1/data/enterprise/current-config");	
	
	МассивДокументов = ПолучитьСписокДокументов();
	
	Для Каждого ТекЭлемент Из МассивДокументов Цикл
		Объект = ТекЭлемент.ПолучитьОбъект();
		ТипРеализация = МояФабрика.Тип("http://v8.1c.ru/8.1/data/enterprise/current-config", "DocumentRef.Реализация");
		ТипДокумента = МояФабрика.Тип("http://www.sample-package.org", "ОплатаПлатКартой");
		ТипКонтрагента = МояФабрика.Тип("http://www.sample-package.org", "Контрагент");
		ТипВозврата = МояФабрика.Тип("http://v8.1c.ru/8.1/data/enterprise/current-config", "DocumentRef.Возврат");
		ТипОплата = МояФабрика.Тип("http://v8.1c.ru/8.1/data/enterprise/current-config", "EnumRef.ВидыОперацийПлатКарта");
		
		КонтрагентXDTO = МояФабрика.Создать(ТипКонтрагента);
		КонтрагентXDTO.Ref = XMLСтрока(Объект.Контрагент);
		КонтрагентXDTO.Description = "" + Объект.Контрагент;
		
		ОбъектXDTO = МояФабрика.Создать(ТипДокумента); 
		ОбъектXDTO.Ref = XMLСтрока(Объект.Ссылка);
		ОбъектXDTO.Description = "" + Объект;
		ОбъектXDTO.СуммаДокумента = Объект.СуммаДокумента;
		ОбъектXDTO.ВидОперации = МояФабрика.Создать(ТипОплата, "ОплатаПокупателя");
		ОбъектXDTO.Контрагент = КонтрагентXDTO;
		ОбъектXDTO.ДокументОснование = МояФабрика.Создать(ТипВозврата, Объект.ДокументОснование.УникальныйИдентификатор());
		
		МояФабрика.ЗаписатьXML(ЗаписьXML, ОбъектXDTO);
	КонецЦикла;
	
	ЗаписьXML.ЗаписатьКонецЭлемента();
	
	Результат = ЗаписьXML.Закрыть();

Функции списка документов не привожу - это просто ссылки на документы оплаты.

Объекты XDTO создаются фабрикой по типу полученному из фабрики: сначала получаем тип, потом создаем ОбъектXDTO (или ЗначениеXDTO, как в случае, например, с перечислением).

Обратите внимание, как формируется свойство Ref для Контрагента - это просто строка, полученная из ссылки.

Обратите внимание на заполнение свойства ДокументОснование. Мы создаем фабрикой значение из ТипВозврата, передавая ей уникальный идентификатор ссылки основания. У документа основания в базе-источнике составной тип: РеализацияТоваровУслуг и ВозвратОтПокупателя. А вот в базе-приемнике они называются иначе: Реализация и Возврат. 

Наименования значений перечислений в базе источнике и в базе приемнике тоже разные: Оплата, Возврат и ОплатаПокупателя, ВозвратПокупателю. В приведенном примере заполняется однозначно, но, думаю, понятно, что в реальном обмене необходимо добавлять условия, как именно заполнять создаваемый ОбъектXDTO.

Итого получается XML:

<?xml version="1.0"?>
<root xmlns="http://www.sample-package.org" xmlns:v8="http://v8.1c.ru/8.1/data/enterprise/current-config">
	<ОплатаПлатКартой xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
		<Ref>fdfddc9f-6357-11e9-9869-c86000e2d5b1</Ref>
		<Description>Оплата платежной картой 000000001 от 20.04.2019 15:35:46</Description>
		<ВидОперации>ОплатаПокупателя</ВидОперации>
		<Контрагент>
			<Ref>fdfddc9b-6357-11e9-9869-c86000e2d5b1</Ref>
			<Description>Виктор</Description>
		</Контрагент>
		<СуммаДокумента>1000</СуммаДокумента>
		<ДокументОснование xsi:type="v8:DocumentRef.Возврат">fdfddc9c-6357-11e9-9869-c86000e2d5b1</ДокументОснование>
	</ОплатаПлатКартой>
	<ОплатаПлатКартой xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
		<Ref>fdfddca0-6357-11e9-9869-c86000e2d5b1</Ref>
		<Description>Оплата платежной картой 000000002 от 20.04.2019 15:35:57</Description>
		<ВидОперации>ОплатаПокупателя</ВидОперации>
		<Контрагент>
			<Ref>fdfddc9b-6357-11e9-9869-c86000e2d5b1</Ref>
			<Description>Виктор</Description>
		</Контрагент>
		<СуммаДокумента>300</СуммаДокумента>
		<ДокументОснование xsi:type="v8:DocumentRef.Возврат">fdfddc9e-6357-11e9-9869-c86000e2d5b1</ДокументОснование>
	</ОплатаПлатКартой>
</root>

Для чтения такого XML в базе приемнике пишем короткую функцию:

	ЧтениеXML = Новый ЧтениеXML;
	ЧтениеXML.УстановитьСтроку(ДанныеXML);
	ЧтениеXML.Прочитать();
	ЧтениеXML.Прочитать();
	ТипXML = ПолучитьXMLТип(ЧтениеXML);
	ТипXDTO = ФабрикаXDTO.Тип(ТипXML);
	ОбъектXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ТипXDTO);

ЧтениеXML.Прочитать() - это условная функция, чтобы выйти на нужный узел, добавьте циклов сами, как вам нужно. По узлу определяем ТипXML, находим его в ФабрикаXDTO (здесь фабрика - глобальная, потому что у меня прямо в конфигурации есть нужный пакет XDTO), получая ТипXDTO. По этому типу XDTO читаем объект.

После этого кода в ОбъектXDTO будет следующее:

Сравните с тем, что было в исходной базе:

Необходимые мне ссылки преобразовались, как мне было нужно.

В прилагаемом файле архив с базами, где в отладчике можно посмотреть, как это работает.

Буду рад критике и предложениям!

XDTO обмен

См. также

SALE! 10%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

22320 руб.

12.06.2017    129870    669    289    

368

SALE! 10%

Перенос данных из УПП 1.3 / КА 1.1 в БП 3.0

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Россия Бухгалтерский учет Платные (руб)

Для данного перехода не существует стандартной обработки от компании 1С. Наша разработка позволяет перенести остатки по всем счетам бухгалтерского учета, документы за период и всю нормативно справочную информацию из "1С: Управление производственным предприятием 1.3" / "1С:Комплексная автоматизация 1.1" в программу "1С:Бухгалтерия предприятия 3.0" на выбранную дату начала ведения учета. В обработке имеется фильтр по организациям и множество других параметров выгрузки. Поддерживается несколько сценарией работы: как первичного полного переноса, так и догрузки только новых документов из УПП 1.3 / КА 1.1 в БП 3.0. Обмен проводится либо с помощью правил (тариф "Базовый"), либо с помощью готовых обработок для обмена, которые можно подключить к конфигурациям (тариф "Удобно"). Конфигурации при использовании обмена остаются полностью типовыми. Перенос данных возможен в 1С: Бухгалтерию 3.0 версии ПРОФ, КОРП или базовую.

43889 39500 руб.

25.02.2015    165777    366    232    

354

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 14.05.2023, версия 9.4 - 9.8)

5988 руб.

20.11.2015    144676    337    366    

474

SALE! 10%

Перенос данных из ERP 2 (ЕРП) / КА 2 в ЗУП 3 [КД 2]

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Наша обработка позволяет не только перенести все документы и справочную информацию из ERP 2 или КА 2 в ЗУП 3, но и организовать регулярный обмен данными между программами 1С:ERP 2 / КА 2 и 1С:ЗУП 3. Вы можете выбрать период отбора данных и установить фильтр по организациям, чтобы выгружать только необходимую информацию. Более того, перенос оперативно обновляется при выходе новых релизов программы 1С, так что вы всегда будете иметь самую актуальную версию обработки. Наша компания также предоставляет техническую поддержку по вопросам, возникающим при использовании обработки. Вы можете обратиться к нам через тикеты на Инфостарте, и мы оперативно решим любые вопросы. Мы гарантируем, что наша обработка будет надежным инструментом для вашего бизнеса, который упростит и ускорит процесс взаимодействия с программами 1С.

43889 39500 руб.

03.12.2020    31791    64    54    

66

[ED2] Обмен УПП 1.3, КА 1.1, УТ 10.3 с EnterpriseData (универсальный формат обмена), обработка

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Платформа 1C v8.2 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

12600 руб.

18.02.2016    178161    539    507    

497

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С: Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила тестировались на конфигурациях УПП 1.3 (1.3.212.x) и БП 3.0 (3.0.142.x). Правила подходят для версии ПРОФ и КОРП.

25000 руб.

15.12.2021    17065    101    36    

54

SALE! 10%

Перенос данных из БП 3.0 в УНФ 3.0 / УНФ 1.6

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Бухгалтерия 3.0 Россия Платные (руб)

Обработка позволяет начать вести учет в программе "1С:Управление нашей фирмой" редакции 3.0 или 1.6, то есть перенести в нее из существующей базы "1С:Бухгалтерия предприятия, ред. 3.0" начальные остатки на выбранную дату, документы за период времени и также всю необходимую справочную информацию. По вашему запросу мы можем бесплатно добавить в правила переноса дополнительные виды объектов (например, новые виды документов). Обработка по переходу на новую программу 1С включает в себя правила конвертации в формате XML, обработку для выгрузки и загрузки данных, а также инструкцию по работе. В стоимость переноса включена техподдержка в течение месяца с момента покупки, а также получение обновлений переноса в течение 4 месяцев.

43889 39500 руб.

10.07.2018    64413    33    112    

40

SALE! 10%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Перенос данных осуществляется из 1С:ERP 2 / 1С:КА 2 / 1С:УТ 11 в 1С:БП 3.0. Правила обмена оперативно обновляются при выходе новых релизов программы 1С, так что вы всегда будете иметь самую актуальную версию обработки. Наша компания также предоставляет техническую поддержку по вопросам, возникающим при использовании обработки. Вы можете обратиться к нам через тикеты на Инфостарте, и мы оперативно решим любые вопросы. Мы гарантируем, что наша обработка будет надежным помощником для вашего бизнеса, который упростит и ускорит процесс взаимодействия между программами 1С.

35000 31500 руб.

15.04.2019    64997    160    128    

92
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. HAMMER_59 239 23.04.19 07:23 Сейчас в теме
Все подумываю написать статью "XDTO для чайников", а тут смотрю может уже и не нужно.
Сейчас также пишу синхронизацию между доработанной УТ 10.1 и БП 3, рекомендую посмотреть стандартные правила обмена УТ 10.3 -> БП 3.
По статье отметил бы:
- Непонятно зачем программно делать экспорт схемы, когда можно через графический интерфейс.
- У меня самый большой затык был с коллекциями, например, строки табличной части документа, на самом деле все просто, но без примера сложно разобраться.
2. PLAstic 294 23.04.19 09:10 Сейчас в теме
(1) На этом форуме их полно уже. Напишите лучше про какие-нибудь интересные нюансы вроде:
1) Как с помощью XDTO сформировать массив из нуля элементов и выгрузить его в JSON.
2) Как недопустить платформенного эксепшна при парсинге JSON по XDTO при наличии в нём пустого массива.

Я откровенно задолбался общаться с 1Сниками, не хотят они регистрировать эти ошибки. Уже всё им прислал, даже ссыль на RFC с переводом.
4. plevakin 23.04.19 09:27 Сейчас в теме
(2) ПрочитатьJSON(ЧтениеJSON,истина) не предлагать?
5. PLAstic 294 23.04.19 09:55 Сейчас в теме
(4) Конечно, нет. Мне же надо преобразовать к типу объекта со всеми вытекающими проверками структуры пакета и значений.
7. axae 107 23.04.19 11:21 Сейчас в теме
(1)
о статье отметил бы:
- Непонятно зачем программно делать экспорт сх
А если поменяется конфа бухгалтерии? Допускаю, что это редко, но всё же... Тут просто интересно было, на самом деле конечно можно и так взять откуда-нибудь. Конкретно в моей ситуации схему бухгалтерии отдает httpСервис.
8. axae 107 23.04.19 11:26 Сейчас в теме
(1)
XDTO для чайников
- Я как раз тот чайник! Но спросить, к сожалению, не у кого все эти нюансы, да и элементарные вещи.
3. plevakin 23.04.19 09:25 Сейчас в теме
А если есть схема не в XSD а в таком виде

<?xml version="1.0" encoding="utf-8" ?>
- <edmx:Edmx Version="4.0" xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx">
- <edmx:DataServices>
- <Schema Namespace="Request.WebAPI.Models.V1" xmlns="http://docs.oasis-open.org/odata/ns/edm">
- <EntityType Name="Request">
- <Key>
<PropertyRef Name="Id" />
</Key>


Ее можно как-то прочитать средствами 1C?
6. PLAstic 294 23.04.19 10:02 Сейчас в теме
(3) Загрузи XDTO-пакет, ссылка у тебя есть. Если лень искать, то вот:

http://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/cs01/schemas/edm.xsd
http://docs.oasis-open.org/odata/odata-csdl-xml/v4.01/cs01/schemas/edmx.xsd
9. user1302499 26.11.19 12:50 Сейчас в теме
И как понять где какой код должен быть?
10. axae 107 02.12.19 08:34 Сейчас в теме
(9) В базе-источнике получаем фабрику XDTO на основании схем базы источника. Создаем объекты с использованием типов, предоставляемых этой фабриком и записываем их в файл (ну или еще куда-нибудь). В базе-приемнике просто читаем объекты из файла. Это вкратце так.
11. Demlan 19.09.20 16:38 Сейчас в теме
Получаю фабрику из WSОпределения на мобильном. Создаю объект XDTO. И тут возникает вопрос: т.к. свойств очень много в центральной базе у объекта, а в мобильнике мало то можно как-нибудь заполнить при создании на мобильнике все свойства объекта значениями по умолчанию? Просто возникает ошибка если свойства не заполнены.
14. axae 107 08.03.21 17:09 Сейчас в теме
(11) В схеме нужно указать, что свойство необязательно, кажется за это отвечает свойство "Минимальное количество"
12. user1488247 21.02.21 21:22 Сейчас в теме
"Затем экспортируем всю конфигурацию базы приемника в другой файл" не совсем понятно, как экспортировать
13. axae 107 08.03.21 17:08 Сейчас в теме
(12) Я добавил скриншот! Нужно правой кнопкой по ПакетыXDTO - Экспорт конфигурации
Оставьте свое сообщение