Запись/Чтение XML, пример обмена по COM соединению

01.06.22

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

Пример работы с XML, запись и чтение, обмен по COM между одинаковыми конфигурациями.

Приветствую вас, друзья. Хочу поделиться опытом работы с файлами XML, возможно, пригодится начинающим в этом деле )

1 пример - запись\чтение XML, выгрузим документ в xml файл и загрузим его обратно

2 пример, выгрузка номенклатуры в идентичную конфигурацию по COM Соединению.

Для выгрузки документа в базу с другой конфигурацией будем объявлять элементы и пространства имен вручную. 

&НаКлиенте
Функция ПолучитьПутьКФайлу(Режим)
	ЗаписьXML = Новый ЗаписьXML;
	///1 ВАРИАНТ, Прописываем путь к фалу, при записи - файл будет перезаписываться 
	ПутьКФайлу = "d:\Temp\Test.XML";
		
	///2 ВАРИАНТ, Указываем путь при сохранении/открытии 
	Диалог = Новый ДиалогВыбораФайла(Режим);
	Диалог.Заголовок = "Выбрать"; 
	Диалог.Фильтр = "XML (*.xml)|*.xml"; 
    Диалог.МножественныйВыбор = Ложь;
	Диалог.Каталог = "F:\";  	//При желании, (Открывается этот диск по умолчанию)
	Если Диалог.Выбрать() Тогда
		ПутьКФайлу = Диалог.ПолноеИмяФайла;
	Иначе 
		возврат Неопределено;
	КонецЕсли;
	
	Возврат ПутьКФайлу ;
КонецФункции

&НаКлиенте
Процедура ЗаписьВРучную_XML()
	
	ПутьКФайлу =  ПолучитьПутьКФайлу(РежимДиалогаВыбораФайла.Сохранение);
	Если ПутьКФайлу = Неопределено Тогда ///Если не выбран путь к фалу прерываем операцию
		возврат;
	КонецЕсли;
	
	Документ = СсылкаНаДокумент;  /// СсылкаНаДокумент - реквизит со ссылкой на документ "ПоступлениеТоваров"
	
	ЗаписьXML.ОткрытьФайл(ПутьКФайлу, "UTF-8"); //Открываем файл для записи, указываем кодировку
	
	ЗаписьXML.ЗаписатьОбъявлениеXML();  // Записываем объявление XML
	ЗаписьXML.ЗаписатьНачалоЭлемента("ПоступлениеТоваров"); // Начало элемента Документа "ПоступлениеТоваров"
	
	ЗаписьXML.ЗаписатьАтрибут("Код",Строка(Документ.Код));   
	ЗаписьXML.ЗаписатьАтрибут("Дата",Строка(Документ.Дата)); 
	ЗаписьXML.ЗаписатьАтрибут("Номер",Строка(Документ.Номер));
	ЗаписьXML.ЗаписатьАтрибут("Ответственный",Строка(Документ.Ответственный));
	ЗаписьXML.ЗаписатьАтрибут("Комментарии",Строка(Документ.Комментарии));
	ЗаписьXML.ЗаписатьАтрибут("Склад",Строка(Документ.Склад));
	
	///Запись табличной части "Товары"
	Для Каждого выборка из Документ.Товары Цикл  // Начинаем выгружать табличную часть "Товары"
		ЗаписьXML.ЗаписатьНачалоЭлемента("ТаблицаТовары"); // Начало элемента "ТаблицаТовары"
		
		ЗаписьXML.ЗаписатьАтрибут("Номенклатура",Строка(Выборка.Номенклатура));
		//ЗаписьXML.ЗаписатьАтрибут("КодНоменклатуры",Строка(Выборка.Номенклатура.Код)); ///ЕСЛИ СОВПАДАЮТ КОДЫ В БАЗАХ, МОЖНО ПРОИЗВОДИТЬ ПОИСК ПО КОДУ ПРИ ЧТЕНИИ
		ЗаписьXML.ЗаписатьАтрибут("Количество",Строка(Выборка.Количество));
		ЗаписьXML.ЗаписатьАтрибут("Цена",Строка(Выборка.Цена));
		ЗаписьXML.ЗаписатьАтрибут("Сумма",Строка(Выборка.Сумма));
		ЗаписьXML.ЗаписатьАтрибут("ЕД",Строка(Выборка.Номенклатура.ЕдиницаИзмерения));
		
		ЗаписьXML.ЗаписатьКонецЭлемента(); // Конец элемента "ТаблицаТовары"
	КонецЦикла;
	ЗаписьXML.ЗаписатьКонецЭлемента(); // Конец элемента "ПоступлениеТоваров"
	Сообщить("Файл успешно записан!");

КонецПроцедуры

Чтение файла:

&НаКлиенте
Процедура ЧтениеВРучную_XML()
	ПутьКФайлу =  ПолучитьПутьКФайлу(РежимДиалогаВыбораФайла.Открытие);
	Если ПутьКФайлу = Неопределено Тогда ///Если не выбран путь к фалу прерываем операцию
		возврат;
	КонецЕсли;
			
	ЧтениеXML = Новый ЧтениеXML;	
	ЧтениеXML.ОткрытьФайл(ПутьКФайлу);  //Открываем файл
	
	///Запись документа должна быть на сервере
	ЧтениеXMLНаСервере(ЧтениеXML);
	ПоказатьОповещениеПользователя("Уведомление",,"Документ записан!",БиблиотекаКартинок.Успешно32);
КонецПроцедуры

&НаСервере
Процедура ЧтениеXMLНаСервере(ЧтениеXML)
	
	Документ = Документы.ПоступлениеТоваров.СоздатьДокумент();  ///НОВЫЙ ДОКУМЕНТ
	Товары =  Документ.Товары; 									///ТАБЛИЧНАЯ ЧАСТЬ "Товары"
	
	Пока ЧтениеXML.Прочитать() Цикл  //Цикл по структуре
		Если ЧтениеXML.ТипУзла = ТипУзлаXML.НачалоЭлемента Тогда  //Определяем начало элемента
			Если ЧтениеXML.Имя = "ПоступлениеТоваров" Тогда
				Документ.Код 			= ЧтениеXML.ЗначениеАтрибута("Код");
				Документ.Дата 			= Дата(ЧтениеXML.ЗначениеАтрибута("Дата")); ///Преобразовываем обратно в дату
				Документ.Номер 			= ЧтениеXML.ЗначениеАтрибута("Номер");
				Документ.Ответственный 	= Справочники.Пользователи.НайтиПоНаименованию(ЧтениеXML.ЗначениеАтрибута("Ответственный"));
				Документ.Комментарии 	= ЧтениеXML.ЗначениеАтрибута("Комментарии");
				Документ.Склад 			= Справочники.Склады.НайтиПоНаименованию(ЧтениеXML.ЗначениеАтрибута("Склад"));
			КонецЕсли;
			Если ЧтениеXML.Имя = "ТаблицаТовары" Тогда   ///Чтение элемента  "ТаблицаТовары"
				НоваяСтрока = Товары.Добавить();
				НоваяСтрока.Номенклатура       = Справочники.Пользователи.НайтиПоНаименованию(ЧтениеXML.ЗначениеАтрибута("Номенклатура"));
				//НоваяСтрока.КодНоменклатуры  = Справочники.Пользователи.НайтиПоКоду(ЧтениеXML.ЗначениеАтрибута("КодНоменклатуры"));
				НоваяСтрока.Количество         = Число(ЧтениеXML.ЗначениеАтрибута("Количество"));
				НоваяСтрока.Цена               = Число(ЧтениеXML.ЗначениеАтрибута("Цена"));
				НоваяСтрока.Сумма              = Число(ЧтениеXML.ЗначениеАтрибута("Сумма"));
				НоваяСтрока.ЕД                 = НоваяСтрока.Номенклатура.ЕденицаИзмерения;
			КонецЕсли;
		КонецЕсли ;
	КонецЦикла;
	
	Документ.Записать(РежимЗаписиДокумента.Проведение);	

КонецПроцедуры

Такой метод не всегда эффективен, так как наименования реквизитов могут отличаться, и запись осуществится с ошибками (Например с пустыми реквизитами), вполне подойдет для выгрузки и загрузки определенных элементов между не типовыми конфигурациями. Для более сложных задач (Выгрузка\Загрузка документов и справочников со структурой подчиненности) между не типовыми конфигурациями рекомендуется использовать Конвертацию данных и универсальный обмен данными в формате XML .

Пример Выгрузки и загрузки данных между одинаковыми базами средствами XDTO.

&НаСервере
Процедура ЗаписьСредствамиXDTO_XML()
	
	ПутьКФайлу =  ПолучитьПутьКФайлу(РежимДиалогаВыбораФайла.Сохранение);
	Если ПутьКФайлу = Неопределено Тогда ///Если не выбран путь к фалу прерываем операцию
		возврат;
	КонецЕсли;
	
	Документ = СсылкаНаДокумент;  /// СсылкаНаДокумент - реквизит со ссылкой на документ "ПоступлениеТоваров"
	
    /////////////////////////////////////////////////////////////////////////
    //Выгрузка
    
    Запись = Новый ЗаписьXML;
    ЗаписьXML.ОткрытьФайл(ПутьКФайлу, "UTF-8"); //Открываем файл для записи, указываем кодировку
    
    //записываем объявление xml файла: <?xml version="1.0"?>
    Запись.ЗаписатьОбъявлениеXML();
    
    //записываем корневой элемент, по спецификации xml он может быть только один, назовем его "Данные"
    Запись.ЗаписатьНачалоЭлемента("ПоступлениеТоваров");
    
    //для того чтобы пространства имен не объявлялись сериализатором в кажом элементе, пишем их в корневой элемент
    //они будут работать на все вложеные элементы
    //пространство имен по-умолчанию
    Запись.ЗаписатьСоответствиеПространстваИмен("", "http://v8.1c.ru/8.1/data/enterprise/current-config");
    
    //пространства имен остальные префиксы
    Запись.ЗаписатьСоответствиеПространстваИмен("xsd", "http://www.w3.org/2001/XMLSchema");
    Запись.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
    
       
     //вместо этого кода в боевой реализации выгрузки будет создание ОбъектаXDTO и его сериализация
     //через ФабрикуXDTO и загруженные в нее схемы конфигурации приемника
     СериализаторXDTO.ЗаписатьXML(Запись, Документ.ПолучитьОбъект());
	
	/////ПРИМЕР ЗАПИСИ НЕСКОЛЬКИХ ДОКУМЕНТОВ 
	//Выборка = Справочники.ПоступлениеТоваров.Выбрать();
	//Пока Выборка.Следующий() Цикл        
	//    СериализаторXDTO.ЗаписатьXML(Запись, Выборка.ПолучитьОбъект());
	//КонецЦикла;

    
    //записываем конец корневого элемента
    Запись.ЗаписатьКонецЭлемента();
    Сообщить("Файл успешно записан!");

	//// посмотреть содержимое xml
	//Текст = Запись.Закрыть();
	//Сообщить("Содержимое файла:");
	//Сообщить(Текст);
    
КонецПроцедуры


/////////////////////////////////ЗАГРУЗИМ ОБРАТНО 
////////////////////////////////////////////////////

&НаКлиенте
Процедура  ЧтениеСредствамиXDTO_XML()
	
	ПутьКФайлу =  ПолучитьПутьКФайлу(РежимДиалогаВыбораФайла.Открытие);
	Если ПутьКФайлу = Неопределено Тогда ///Если не выбран путь к фалу прерываем операцию
		возврат;
	КонецЕсли;

	/////////////////////////////////////////////////////////////////////////
    //Загрузка
    
    Чтение = Новый ЧтениеXML;	
	Чтение.ОткрытьФайл(ПутьКФайлу);  //Открываем файл
	
	///Запись документа должна быть на сервере
	ЧтениеXMLНаСервереЧасть2(Чтение);
	
КонецПроцедуры

&НаСервере
Процедура ЧтениеXMLНаСервереЧасть2(Чтение)
	
	//прочитаем начало xml файла
    Чтение.ПерейтиКСодержимому();
    
    //прочитаем начало корневого элемента
    Чтение.Прочитать();
    
    //читаем содержимое пока текущим не станет конец корневого элемента, т.к. мы писали туда только целые элементы справочника,
    //а сериализатор читает каждый из их полностью, то мы упремся именно в конец корневого
    Пока Чтение.ТипУзла<>ТипУзлаXML.КонецЭлемента Цикл
        
        //читаем очередной элемент справочника
        Объект = СериализаторXDTO.ПрочитатьXML(Чтение);
        //покажем что прочитали, осталось только записать объект
        Сообщить(""+ТипЗнч(Объект)+" - "+Объект);
		Объект.Записать(РежимЗаписиДокумента.Проведение);
    КонецЦикла;
    
    Чтение.Закрыть();

КонецПроцедуры

 

Пример выгрузки номенклатуры в одинаковую базу, без сохранения файла XML на диске: 

&НаСервере
Функция ПодключениеПоCOM()
	//КаталогБазыДанных="C:\ЗУП3";     ///ФАЙЛОВАЯ БАЗА
	
	БазаДанных		="ZUP3";          ///СЕРВЕР
	Сервер			="Server1";
	Пользователь	="Admin";
	Пароль			="Admin";

	V8 = Новый COMОбъект("V83.ComConnector"); 
	//Открытие = "file='" + КаталогБазыДанных + "'; usr='" + Пользователь + "'; pwd='" + Пароль + "';";        			/// ФАЙЛОВОЕ
	Открытие= "srvr='" + Сервер + "'; ref='" + БазаДанных + "'; usr='" + Пользователь + "'; pwd='" + Пароль + "';";     /// СЕРВЕРНОЕ
		
	Соединение = V8.Connect(Открытие);
	Возврат Соединение;	
КонецФункции

&НаСервере
Процедура ПодключитьсяИЗаписать()

	Соединение = ПодключениеПоCOM();
    /////////////////////////////////////////////////////////////////////////
    //Выгрузка
    
    Запись = Новый ЗаписьXML;
    Запись.УстановитьСтроку();
    
    //записываем объявление xml файла: <?xml version="1.0"?>
    Запись.ЗаписатьОбъявлениеXML();
    
    //записываем корневой элемент, по спецификации xml он может быть только один, назовем его "Данные"
    Запись.ЗаписатьНачалоЭлемента("Данные");
    
    //для того чтобы пространства имен не объявлялись сериализатором в кажом элементе, пишем их в корневой элемент
    //они будут работать на все вложеные элементы
    //пространство имен по-умолчанию
    Запись.ЗаписатьСоответствиеПространстваИмен("", "http://v8.1c.ru/8.1/data/enterprise/current-config");
    
    //пространства имен остальные префиксы
    Запись.ЗаписатьСоответствиеПространстваИмен("xsd", "http://www.w3.org/2001/XMLSchema");
    Запись.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
    
    //ограничение количества выгружаемых элементов для примера
    Кол = 4;
    Выборка = Справочники.Номенклатура.Выбрать();
    Пока Выборка.Следующий() Цикл
        
        //вместо этого кода в боевой реализации выгрузки будет создание ОбъектаXDTO и его сериализация
        //через ФабрикуXDTO и загруженные в нее схемы конфигурации приемника
        СериализаторXDTO.ЗаписатьXML(Запись, Выборка.ПолучитьОбъект());
        //
        
        Кол = Кол - 1;
        Если Кол=0 Тогда
            Прервать;
        КонецЕсли;
    КонецЦикла;
    
    //записываем конец корневого элемента
    Запись.ЗаписатьКонецЭлемента();
    Текст = Запись.Закрыть();
    
    //а теперь загрузим это  в новую базу 
    
    /////////////////////////////////////////////////////////////////////////
    //Загрузка
    
    Чтение = Соединение.NewObject("ЧтениеXML");
    Чтение.УстановитьСтроку(Текст);
    
    //прочитаем начало xml файла
    Чтение.ПерейтиКСодержимому();
    
    //прочитаем начало корневого элемента
    Чтение.Прочитать();
    
    //читаем содержимое пока текущим не станет конец корневого элемента, т.к. мы писали туда только целые элементы справочника,
    //а сериализатор читает каждый из их полностью, то мы упремся именно в конец корневого
    Пока Чтение.ТипУзла<>ТипУзлаXML.КонецЭлемента Цикл
        
        //читаем очередной элемент справочника
        Объект = Соединение.СериализаторXDTO.ПрочитатьXML(Чтение);
        
        //покажем что прочитали, осталось только записать объект
       // Сообщить(""+ТипЗнч(Объект)+" - "+Объект);
	   
	   //Запишем..
		Объект.Записать();
    КонецЦикла;
    
    Чтение.Закрыть();
	Сообщить("Операция завершена!");
	
КонецПроцедуры

Кстати, можно использовать данный метод между не типовыми конфигурациями,  без использования "СериализаторXDTO" как в первом примере )

Спасибо за внимания! Прошу строго не судить ) возможно данный пример поможет именно для решение вашей задачи !) Удачи (=

Буду рад услышать более эффективные решения для подобных задач ! Спасибо !)

XML ЗаписьXML ЧтениеXML COMСоединение ОбменXML

См. также

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

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

28000 руб.

15.12.2021    23084    158    47    

117

Перенос данных 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 руб.

12.06.2017    140100    781    295    

409

SALE! 10%

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

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

50722 45650 руб.

15.04.2019    71484    180    148    

120

SALE! 10%

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

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

50722 45650 руб.

24.04.2015    194123    148    242    

279

SALE! 10%

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

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

48278 43450 руб.

03.12.2020    35991    90    62    

86

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

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    10446    11    8    

13

Перенос данных 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, почту.

15300 руб.

18.02.2016    186125    580    509    

519

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

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.19.x).

28000 руб.

23.07.2020    49736    214    69    

174
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. gospodenkods 09.09.19 08:29 Сейчас в теме
Интересно. А какой смысл гонять xml через COM ? Имея COM можно и напрямую общаться не используя XML
artfa; fomix; altu71; nomad_irk; A_Max; +5 Ответить
5. cool99 09.09.19 11:50 Сейчас в теме
(1)
(4)
Можно банально гонять XML/JSON через WS предварительно зазиповав в хранилище значения
6. gospodenkods 09.09.19 13:32 Сейчас в теме
(5)
Можно конечно .

Но XML через COM уж больно броско в глаза .

По мне так COM если есть , то через него напрямую и работать .

XML / JSON особенно over HTTP тогда , когда или нет вариантов COM или клиенты разные.
2. dsdred 3526 09.09.19 09:42 Сейчас в теме
И опять COM, xml...
У Вас же была предыдущая статья с web-сервисами, зачем тут то опять "назад в прошлое"?
3. user5300 1055 09.09.19 09:53 Сейчас в теме
(2) Не все хотят заморачиваться с Web - Сервисами, а здесь обзор простого примера,
и (1) Сериализатор поможет избавится от большого программного кода (=
4. dsdred 3526 09.09.19 09:59 Сейчас в теме
(3)
Не все хотят заморачиваться с Web - Сервисами

Согласен, можно менее геморойно использовать http-сервисы и OData

Сериализатор поможет избавится от большого программного кода

Согласен, при этом 1C работает с форматом JSON
7. ovasiliev 5 09.10.19 16:14 Сейчас в теме
Что вы напали на человека? Если у вас две базы на одном серваке крутятся, вы для риал-тайм обмена между ними будете веб-сервер поднимать и с веб-сервисами заморачиваться?..
А XML - стандартный формат обмена данными даже в клиент-серверном взаимодействии. Всё через сериализацию..
freeek; yaroslavch; akR00b; Drivingblind; user5300; +5 Ответить
8. akR00b 24 18.01.21 08:35 Сейчас в теме
СпасибО! Людям не знающим будет полезно.
freeek; criptid; user5300; +3 Ответить
9. TytovV 01.06.22 16:23 Сейчас в теме
&НаКлиенте
Процедура ЗаписьСредствамиXDTO_XML() в данной процедуре

Строка
СериализаторXDTO.ЗаписатьXML(Запись, Документ.ПолучитьОбъект());

В текущих реалиях интересно как на тонком клиенте получаете объект документа, на тонком это не работает.
Оставьте свое сообщение