XDTO для чайников

Публикация № 1068187

Разработка - Системная интеграция - Обмен через XML

XDTO

Пример использования XDTO пакетов для выгрузки документа с табличной частью.

По пакетам XDTO уже существует достаточно много статей, прочитав которые я потратил еще достаточно много времени чтобы разобраться как написать обмен, используя эту технологию. Сейчас я уверенно могу сказать, что все достаточно просто и покажу это на примере.

В примере мы выгрузим из демо базы БП 3 документ «Реализация (акты, накладные)» в самописную конфигурацию.

Конфигурация, в которую будем загружать данные будет состоять из следующих объектов:
Справочники: Номенклатура, Контрагенты. Перечисления: СтавкиНДС. Документы: РеализацияТоваровУслуг.

Оказывается, в демо базе БП 3 есть расширение «ФормированиеТестовыхДанных», значит им и воспользуемся, не будем создавать собственное.

Добавим пакет XDTO. Имя: ВыгрузкаРеализаций. URI пространство имен: infostart.

В пакете добавим тип объекта «ДокументРеализация».

В объект добавим свойства: Ссылка, Дата, Номер, Контрагент.

Пакет 1

Создадим обработку «Выгрузка реализаций»

Выгрузка реализаций

Код команды выгрузки:

&НаСервере
Функция КомандаВыгрузитьНаСервере()
	// Вставить содержимое обработчика.
	ЗаписьXML = Новый ЗаписьXML();
    ЗаписьXML.УстановитьСтроку();
	
	РеализацияXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("infostart", "ДокументРеализация"));
	РеализацияXDTO.Ссылка = СериализаторXDTO.XMLСтрока(выбРеализация.Ссылка);
	РеализацияXDTO.Дата = выбРеализация.Дата;
	РеализацияXDTO.Номер = выбРеализация.Номер;
	РеализацияXDTO.Контрагент = выбРеализация.Контрагент.Наименование;
	
	ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, РеализацияXDTO);
	
	Возврат ЗаписьXML.Закрыть();

КонецФункции

&НаКлиенте
Процедура КомандаВыгрузить(Команда)
	ОбъектXDTO = КомандаВыгрузитьНаСервере();
	
	ЗаписьXML = Новый ЗаписьXML();
	ЗаписьXML.ОткрытьФайл(выбФайл);
	ЗаписьXML.ЗаписатьОбъявлениеXML();
	ЗаписьXML.ЗаписатьБезОбработки(ОбъектXDTO);
		
	ЗаписьXML.Закрыть(); 
	
КонецПроцедуры

Результат 

<?xml version="1.0" encoding="UTF-8"?>
<ДокументРеализация xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="infostart">
<Ссылка xsi:type="xs:string">63d07913-1e98-11e6-a31d-14dae9b19a48</Ссылка>
<Дата xsi:type="xs:dateTime">2016-12-29T12:00:00</Дата>
<Номер xsi:type="xs:string">0000-000603</Номер>
<Контрагент xsi:type="xs:string">Внуковский комбинат бортового питания</Контрагент>
</ДокументРеализация>

Изменим форму представления для свойств объекта XDTO

Результат

<?xml version="1.0" encoding="UTF-8"?>
<ДокументРеализация Контрагент="Внуковский комбинат бортового питания" Номер="0000-000603" Дата="2016-12-29T12:00:00" Ссылка="63d07913-1e98-11e6-a31d-14dae9b19a48" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="infostart"/>

Переходим к загрузке данных. Создадим обработку загрузки.

Код 

&НаСервереБезКонтекста
Функция ПолучитьСсылкуПоУИ(УникальныйИдентификатор, МенеджерОбъекта)
	УИДСсылки = СериализаторXDTO.XMLЗначение(Тип("УникальныйИдентификатор"), УникальныйИдентификатор);
	Возврат МенеджерОбъекта.ПолучитьСсылку(УИДСсылки);
КонецФункции

&НаСервереБезКонтекста
Процедура ЗагрузитьРеализации(ТекстФайла)
	ЧтениеXML = Новый ЧтениеXML();
	ЧтениеXML.УстановитьСтроку(ТекстФайла);
	
	РеализацияXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ФабрикаXDTO.Тип("infostart", "ДокументРеализация")); 
	
	
	сРеализацияТоваров = ПолучитьСсылкуПоУИ(РеализацияXDTO.Ссылка, Документы.РеализацияТоваровУслуг);
	
	оРеализацияТоваров = сРеализацияТоваров.ПолучитьОбъект();
	Если оРеализацияТоваров = Неопределено Тогда
		оРеализацияТоваров = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
		оРеализацияТоваров.УстановитьСсылкуНового(сРеализацияТоваров);
	КонецЕсли;
	
	оРеализацияТоваров.Дата = РеализацияXDTO.Дата;
	оРеализацияТоваров.Номер = РеализацияXDTO.Номер;
	
	оРеализацияТоваров.Записать(РежимЗаписиДокумента.Запись);
	
КонецПроцедуры

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

Проверяем загрузку. Выполнение прерывается ошибкой. Через отладку можно увидеть, что значения свойств объекта РеализацияXDTO имеют строковый тип, конкретно дата в таком виде преобразуется к пустому значению.

В пакете XDTO укажем свойству "Дата" тип

Проверим еще раз загрузку, все должно было пройти успешно.

Отдельно обращу внимание на эту строчку кода

РеализацияXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ФабрикаXDTO.Тип("infostart", "ДокументРеализация")); 

При чтение объекта XDTO я принудительно указал его тип, хотя параметр не является обязательным. И сделал я это не просто так, для корневого элемента тип объекта не выгружается, это хорошо видно в xml файле, где все свойства выгружали в форме элементов. Для объекта ДокументРеализация не указан атрибут xsi:type.

<?xml version="1.0" encoding="UTF-8"?>
<ДокументРеализация xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="infostart">
<Ссылка xsi:type="xs:string">63d07913-1e98-11e6-a31d-14dae9b19a48</Ссылка>
<Дата xsi:type="xs:dateTime">2016-12-29T12:00:00</Дата>
<Номер xsi:type="xs:string">0000-000603</Номер>
<Контрагент xsi:type="xs:string">Внуковский комбинат бортового питания</Контрагент>
</ДокументРеализация>

В свойство "контрагент" мы помещали наименование контрагента. Добавим новый тип объекта в пакет XDTO "СправочникКонтрагенты" со свойствами: Ссылка, Код, Наименование, НаименованиеПолное. Для свойства "Контрагент" в типе объекта "ДокументРеализация" укажем форму хранения в виде элемента. Внесем изменения в код выгрузки.

&НаСервере
Функция КомандаВыгрузитьНаСервере()
	// Вставить содержимое обработчика.
	ЗаписьXML = Новый ЗаписьXML();
    ЗаписьXML.УстановитьСтроку();
	
	КонтрагентXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("infostart", "СправочникКонтрагенты"));
	КонтрагентXDTO.Ссылка = СериализаторXDTO.XMLСтрока(выбРеализация.Контрагент.Ссылка);
	КонтрагентXDTO.Код = выбРеализация.Контрагент.Код;
	КонтрагентXDTO.Наименование = выбРеализация.Контрагент.Наименование;
	КонтрагентXDTO.НаименованиеПолное = выбРеализация.Контрагент.НаименованиеПолное;
	
	РеализацияXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("infostart", "ДокументРеализация"));
	РеализацияXDTO.Ссылка = СериализаторXDTO.XMLСтрока(выбРеализация.Ссылка);
	РеализацияXDTO.Дата = выбРеализация.Дата;
	РеализацияXDTO.Номер = выбРеализация.Номер;
	РеализацияXDTO.Контрагент = КонтрагентXDTO;
			
	ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, РеализацияXDTO);
	
	Возврат ЗаписьXML.Закрыть();

КонецФункции

Думаю, здесь все понятно.

Дольше всего я не мог разобраться, как выгружать табличные части.

Создадим тип объекта "ТабличнаяЧасть" со свойством "Строки".

Максимальное количество -1, означает неограниченное количество элементов.

Создадим объект.

ТоварыXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("infostart", "ТабличнаяЧасть"));

И посмотрим его свойства в отладчике.

Дальше, думаю, уже все понятно. Изменения в коде обработки выгрузки.

&НаСервере
Функция КомандаВыгрузитьНаСервере()
	// Вставить содержимое обработчика.
	ЗаписьXML = Новый ЗаписьXML();
    ЗаписьXML.УстановитьСтроку();
		
	КонтрагентXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("infostart", "СправочникКонтрагенты"));
	КонтрагентXDTO.Ссылка = СериализаторXDTO.XMLСтрока(выбРеализация.Контрагент.Ссылка);
	КонтрагентXDTO.Код = выбРеализация.Контрагент.Код;
	КонтрагентXDTO.Наименование = выбРеализация.Контрагент.Наименование;
	КонтрагентXDTO.НаименованиеПолное = выбРеализация.Контрагент.НаименованиеПолное;
	
	РеализацияXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("infostart", "ДокументРеализация"));
	РеализацияXDTO.Ссылка = СериализаторXDTO.XMLСтрока(выбРеализация.Ссылка);
	РеализацияXDTO.Дата = выбРеализация.Дата;
	РеализацияXDTO.Номер = выбРеализация.Номер;
	РеализацияXDTO.Контрагент = КонтрагентXDTO;
	
	ТоварыXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("infostart", "ТабличнаяЧасть"));
	
	Для Каждого сТовары Из выбРеализация.Товары Цикл
		НоменклатураXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("infostart", "СправочникНоменклатура"));
		НоменклатураXDTO.Ссылка = СериализаторXDTO.XMLСтрока(сТовары.Номенклатура);
		НоменклатураXDTO.Код = сТовары.Номенклатура.Код;
		НоменклатураXDTO.Наименование = сТовары.Номенклатура.Наименование;
		НоменклатураXDTO.НаименованиеПолное = сТовары.Номенклатура.НаименованиеПолное;
		
		сТоварыXDTO = ФабрикаXDTO.Создать(ФабрикаXDTO.Тип("infostart", "ДокументРеализацияТовары"));
		сТоварыXDTO.Номенклатура = НоменклатураXDTO;
		сТоварыXDTO.Количество = сТовары.Количество;
		сТоварыXDTO.Цена = сТовары.Цена;
		сТоварыXDTO.Сумма = сТовары.Сумма;
		сТоварыXDTO.СтавкаНДС = XMLСтрока(сТовары.СтавкаНДС);
		сТоварыXDTO.СуммаНДС = сТовары.СуммаНДС;
		
		ТоварыXDTO.Строки.Добавить(сТоварыXDTO);
	КонецЦикла;
	
	РеализацияXDTO.тчТовары = ТоварыXDTO;
				
	ФабрикаXDTO.ЗаписатьXML(ЗаписьXML, РеализацияXDTO);
	
	Возврат ЗаписьXML.Закрыть();

КонецФункции

Код загрузки

&НаСервереБезКонтекста
Процедура ЗагрузитьРеализации(ТекстФайла)
	ЧтениеXML = Новый ЧтениеXML();
	ЧтениеXML.УстановитьСтроку(ТекстФайла);
	
	РеализацияXDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ФабрикаXDTO.Тип("infostart", "ДокументРеализация")); 
	
	
	сРеализацияТоваров = ПолучитьСсылкуПоУИ(РеализацияXDTO.Ссылка, Документы.РеализацияТоваровУслуг);
	
	оРеализацияТоваров = сРеализацияТоваров.ПолучитьОбъект();
	Если оРеализацияТоваров = Неопределено Тогда
		оРеализацияТоваров = Документы.РеализацияТоваровУслуг.СоздатьДокумент();
		оРеализацияТоваров.УстановитьСсылкуНового(сРеализацияТоваров);
	КонецЕсли;
	
	оРеализацияТоваров.Дата = РеализацияXDTO.Дата;
	оРеализацияТоваров.Номер = РеализацияXDTO.Номер;
	
	КонтрагентXDTO = РеализацияXDTO.Контрагент;
	сКонтрагент = ПолучитьСсылкуПоУИ(КонтрагентXDTO.Ссылка, Справочники.Контрагенты);
	оКонтрагент = сКонтрагент.ПолучитьОбъект();
	Если оКонтрагент = Неопределено Тогда
		оКонтрагент = Справочники.Контрагенты.СоздатьЭлемент();
		оКонтрагент.УстановитьСсылкуНового(сКонтрагент);
	КонецЕсли;
	
	оКонтрагент.Код = КонтрагентXDTO.Код; 
	оКонтрагент.Наименование = КонтрагентXDTO.Наименование; 
	оКонтрагент.НаименованиеПолное = КонтрагентXDTO.НаименованиеПолное; 
	оКонтрагент.Записать();
	
	оРеализацияТоваров.Контрагент = оКонтрагент.Ссылка;
	оРеализацияТоваров.Товары.Очистить();
	Для Каждого сТоварыXDTO Из РеализацияXDTO.тчТовары.Строки Цикл
		сТовары = оРеализацияТоваров.Товары.Добавить();
		ЗаполнитьЗначенияСвойств(сТовары, сТоварыXDTO,,"СтавкаНДС,Номенклатура");
		сТовары.СтавкаНДС = Перечисления.СтавкиНДС[сТоварыXDTO.СтавкаНДС];
		
		НоменклатураXDTO = сТоварыXDTO.Номенклатура;
		сНоменклатура = ПолучитьСсылкуПоУИ(НоменклатураXDTO.Ссылка, Справочники.Номенклатура);
		оНоменклатура = сНоменклатура.ПолучитьОбъект();
		Если оНоменклатура = Неопределено Тогда
			оНоменклатура = Справочники.Номенклатура.СоздатьЭлемент();
			оНоменклатура.УстановитьСсылкуНового(сНоменклатура);
		КонецЕсли;
		
		оНоменклатура.Код = НоменклатураXDTO.Код; 
		оНоменклатура.Наименование = НоменклатураXDTO.Наименование; 
		оНоменклатура.НаименованиеПолное = НоменклатураXDTO.НаименованиеПолное; 
		оНоменклатура.Записать();
		
		сТовары.Номенклатура = оНоменклатура.Ссылка;
	КонецЦикла;

	
	оРеализацияТоваров.Записать(РежимЗаписиДокумента.Запись);
	
КонецПроцедуры

Для создания примера использовались программные файлы 1С:Предприятие 8.3 (8.3.14.1694).

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

Наименование Файл Версия Размер
XDTO для чайников:
.zip 50,93Kb
29.05.19
21
.zip 1.0 50,93Kb 21 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. androidT1C 73 29.05.19 15:56 Сейчас в теме
О! Спасибо.
Одна вещь перечеркивает всю нужность XDTO в 1С: при изменении структуры данных для обмена (например, добавить всего одно новое поле) придется изменять конфигурацию. Это никуда не годится.
TreeDogNight; Kolzah; 9-pm; acanta; +4 Ответить
2. acanta 74 29.05.19 15:59 Сейчас в теме
(1) может есть возможность сделать такой макет в обработке?
3. fenixnow 173 29.05.19 17:12 Сейчас в теме
(1) Считаем, что структура выгрузки определяется пакете ХДТО и все прекрасно :)
4. HAMMER_59 202 29.05.19 17:45 Сейчас в теме
(1) Как-то очень не внимательно даже начало статьи прочитали - в примере для демо базы я храню пакет в расширении.
Также пакет XDTO можно прекрасно хранить в файле.

Кроме того в статье далеко не полный обзор возможностей применения XDTO, всего лишь простенький пример с которого можно начать знакомство с технологией.

Пора уже завести правило на Инфостарт.
Не согласен - критикуй, критикуешь - предлагай, предлагаешь - делай, делаешь - отвечай!
A7758735; user1021675; cleaner_it; dbachinsky; victorree; Gendelf; Olga_aku; kraynev-navi; +8 Ответить
13. androidT1C 73 30.05.19 10:10 Сейчас в теме
(4)
Также пакет XDTO можно прекрасно хранить в файле.

Можно пример? Меня от XDTO, в самом деле, удерживает необходимость внесения изменений в конфигурацию.
16. prosto_tak 30.05.19 15:43 Сейчас в теме
(13)
Экспортируете пакет в .xsd, текст из .xsd копируете в макет. Далее все просто:

ЧтениеХМЛ = Новый ЧтениеXML();
	ЧтениеХМЛ.УстановитьСтроку(ПолучитьМакет("МакетС_XSD").ПолучитьТекст());	
	ПостроительDOM = Новый ПостроительDOM();
	Документ = ПостроительDOM.Прочитать(ЧтениеХМЛ);
	ПостроительСхем = Новый ПостроительСхемXML();
	Схема = ПостроительСхем.СоздатьСхемуXML(Документ.ЭлементДокумента);
	НаборСхем = Новый НаборСхемXML();
	НаборСхем.Добавить(Схема);
	
	НоваяФабрикаХДТО = Новый ФабрикаXDTO(НаборСхем);
Показать
36. alekshihanov 27.09.19 09:17 Сейчас в теме
(4)
Не согласен - критикуй, критикуешь - предлагай, предлагаешь - делай, делаешь - отвечай!


Получится: Не согласен - отвечай.
5. fr13 714 30.05.19 04:49 Сейчас в теме
Ок, если это пример для чайников, то зачем сразу учить неправильно? Выгружаете ссылочные объекты, но не используете гуиды или хотя бы инн у того же контрагента, зато есть СериализаторXDTO для номенклатуры.
Я бы на Вашем месте повнимательнее изучил метариалы по этой теме.
bulpi; jONES1979; Неопределено; +3 Ответить
6. HAMMER_59 202 30.05.19 06:27 Сейчас в теме
(5)
И что по вашему эти строчки выгружают?
КонтрагентXDTO.Ссылка = СериализаторXDTO.XMLСтрока(выбРеализация.Контрагент.Ссылка);
РеализацияXDTO.Ссылка = СериализаторXDTO.XMLСтрока(выбРеализация.Ссылка);
НоменклатураXDTO.Ссылка = СериализаторXDTO.XMLСтрока(сТовары.Номенклатура);

А что делает эта строчка кода?
сНоменклатура = ПолучитьСсылкуПоУИ(НоменклатураXDTO.Ссылка, Справочники.Номенклатура);
Код функции ПолучитьСсылкуПоУИ, я действительно, забыл выложить, но как по Вашему что она делает?
Не использует ли случаем Справочники.Номенклатура.ПолучитьСсылку()? И что же эта функция интересно делает, не по уникальному идентификатору, случаем, получает ссылку на объект?
7. fr13 714 30.05.19 08:45 Сейчас в теме
(6) хорошо, допустим гуиды все таки есть, но они появляются уже в коде ближе к окончанию публикации без всяких объяснений почему вдруг наименование стало не пригодным и как нужно связать реализацию и контрагента в пакете (форма хранения - элемент, которую указываете Вы, не счиатется).
Далее, у Вас везде используется разименование (обращение к реквизитам через точку). Плюс ко всему название переменных (я про префиксы) - Вы для себя что ли пишите или для людей?
9. HAMMER_59 202 30.05.19 09:23 Сейчас в теме
(7) Я так понимаю в вашей голове летает мысль, что синхронизацию баз лучше делать, используя планы обмена, в таком случае не нужно каждый раз выгружать данные по подчиненным объектам.
Цель какая статьи? Показать технологию XDTO. Вам не понятно зачем остальной код написан максимально упрощенно?
Может вам стоит задуматься прежде всего над собой, а не других критиковать?
Batman; user774630; TreeDogNight; GreenDragon; +4 Ответить
11. fr13 714 30.05.19 09:59 Сейчас в теме
(9) Вы где про планы обмена в моих сообщениях прочитали?
Если делаете что-то, то делайте это хорошо. Вот и все.
На этом прекращаю общение с Вами. Успехов.
12. GreenDragon 30.05.19 10:10 Сейчас в теме
(11) Бугурт вообще не по теме. Уважаемый, вы действительно глупо выглядите
15. HAMMER_59 202 30.05.19 11:32 Сейчас в теме
(7)
Плюс ко всему название переменных (я про префиксы) - Вы для себя что ли пишите или для людей?

Странно такое слышать от человека, который выкладывает статьи с кодом на английском языке. У вас то код, конечно, кошерный, суффиксы, префиксы, а главное не для себя, а для людей, всем же крайне понятно на английском. Крайне странно, статьи у вас такие, что не каждый осилит прочитать и осознать, а тут код проще некуда, но разобраться не смогли.
Ну, и конечно, в ваших статьях все данные из базы извлекаются оптимальным запросом, ах да, у вас просто абстрактный код, т.к. запросы слишком громоздко выглядят, да и нет смысла их включать в статью.
Rustam10; +1 Ответить
8. zqzq 21 30.05.19 09:11 Сейчас в теме
В примере мы выгрузим из демо базы БП 3 документ «Реализация (акты, накладные)» в самописную конфигурацию.
Такое впечатление, что данный пример сильно проще было бы сделать с помощью Конвертации данных 2. И поддержка + доработка/расширение проще, чем в этой низкоуровневой XDTO. Но может пример неудачный, и в обмене с не-1С системами XDTO засияет?
10. HAMMER_59 202 30.05.19 09:48 Сейчас в теме
(8) Т.е. я тебе должен бы ещё описать как и где использовать технологию XDTO?
Тебе кажется что использование XDTO для синхронизации баз - не комильфо?
Конвертация данных лучше?
Прекрасно, напиши статью, очень будет интересно посмотреть на изящность реализации синхронизации баз, используя КД.
30. Yashazz 3199 21.09.19 23:07 Сейчас в теме
(10) Такие статьи были, и были на ИС; ищи лучше. И среди них была пара действительно изящных решений.
17. bulpi 173 30.05.19 17:06 Сейчас в теме
Статья вроде полезная, но мелкие огрехи не дают поставить плюс.
1)Автор, ну что это за "выбРеализация.Ссылка" ? А нельзя без ".Ссылка" ? Раздражает.
2)В выгрузке зачем использовать ЗаписьXml 2 раза ?
3)Получить ссылку по УИ можно гораздо короче

и т.д.
18. HAMMER_59 202 31.05.19 07:30 Сейчас в теме
(17)
1. Взял куски кода из реальной синхронизации, в ней переменная содержит объект полученный из плана обмена. В конкретном случае ни на что не влияет, т.к. дальше идет обращение к другим реквизитам объекта.
2. Действительно можно было воспользоваться другим объектом для записи текста в файл. Сильно бы изменился результат? Или вы предлагаете использовать поток? Тогда пришлось бы усложнять код. А может вы просто не заметили передачу данных с сервера на клиент, а затем с клиента в файл?
3. Очень интересно как можно проще. Сейчас в коде 2 строчки. Первая - десериализация УИД из XML. Вторая получение ссылки через менеджер.

Перед собой я ставил цель - показать на простом примере, как начать работать с XDTO.
Пример простой?
По работе с XDTO есть какие-то претензии?

Слышали такую фразу: "Лучшее, враг хорошего"?
20. bulpi 173 31.05.19 11:54 Сейчас в теме
(18)
1.Когда я вижу конструкцию вида "Ссылка.Ссылка", я думаю, что автор - неквалифицированный новичок, и перестаю дальше читать (как правило). В данном случае это не так. Получается когнитивный диссонанс :)

2.Возражение снимаю. Действительно, гонять файл туда-сюда не проще.

3.сРеализацияТоваров =XmlЗначение(Тип("ДокументСсылка.РеализацияТоваровУслуг"),РеализацияXDTO.Ссылка);

4)Пример простой, да

5)По работе с XDTO претензий нет.

6)В данном случае лучшее - не враг хорошего. Вы пишете методическую статью, почти главу учебника. Сейчас сотня новичков скопирует себе это как образец для подражания. А потом я, грязно матерясь :) , буду за ними исправлять конструкции типа Ссылка.Ссылка
Yashazz; fr13; HAMMER_59; +3 Ответить
21. HAMMER_59 202 31.05.19 13:48 Сейчас в теме
(20)
сРеализацияТоваров =XmlЗначение(Тип("ДокументСсылка.РеализацияТоваровУслуг"),РеализацияXDTO.Ссылка);

Не знал что так можно, спасибо, за интересный вариант.
31. Yashazz 3199 21.09.19 23:09 Сейчас в теме
(21) а вы, батенька, слушайте, а не начинайте сразу возбухать. Вы ещё мнооого чего не знаете, уж поверьте)

ладно у bulpi было время вас просветить, так оно не у всех есть)
19. rudnitskij 31.05.19 11:16 Сейчас в теме
По-моему, передавать данные с помощью универсального обмена в формате XML неизмеримо проще, XDTO для такой задачи кажется слишком громоздким
22. starik-2005 2152 31.05.19 17:23 Сейчас в теме
Сколько страсти! А есть еще такой объект, как сериализатор XDTO - там схема не нужна, т.к. используется схема метаданных.

А по поводу XDTO, то это, фактически, xsd-схема, описанная в "терминах" объекта "ПакетXDTO" от 1С, который сам по себе поддерживает только малую часть "стандарта" - https://www.w3.org/TR/xmlschema11-1/

С помощью такой схемы вполне реально сделать обмен через веб-сервисы (SOAP), но нет особого смысла делать это для HTTP-сервисов (REST), т.к. тот же JSON занимает меньше места.
Yashazz; acanta; +2 Ответить
23. Region102 03.06.19 11:21 Сейчас в теме
(22) XDTO применяется при обмене между разнородными системами, если объекты в базах идентичны, то серилизатор значительно удобнее. А для JSON тоже надо писать функции серилизации и десериализации, так что при обмене именно 1С - 1С мне кажется лучше XDTO, тем более пакет отлично ложится в сообщения плана обмена. Да и скорость обработки тоже надо измерять, но мне кажется, что XDTO быстрее формирует xml чем обычные механизмы.
24. starik-2005 2152 03.06.19 13:23 Сейчас в теме
(23)
для JSON тоже надо писать функции серилизации и десериализации
В действительности не надо - достаточно структуры с именованными полями, в которых также может находиться структура. И все это через ЗаписьJSON (как, собственно, и через СериализаорХДТО) вполне себе работает, т.е. не нужно мутить бесполезную схему, достаточно просто написать что-то типа "Новый Структура("Поле1, Поле2, ...");" или вообще взять ключи структуры из метаданных. Я твк делал обмен из четырех баз в одну - заняло день, а это даже на конвертации больше времени занимает, при том отлаживать проще - вот у тебя сериализованная структура в хоть XML, хоть в JSON, хоть вообще через "значениеВСтрокуВнутр()" - пофиг.
25. HAMMER_59 202 03.06.19 13:31 Сейчас в теме
(24) Написать подобный обмен недолго и не сложно, проблема поддерживать такой обмен. Нужно со временем внести изменения в структуру, и это становится серьезной проблемой. При обмене между 8-кой и 7-кой при помощи XML, в итоге пришел к тому, что начал все документировать, иначе просто невозможно потом вспомнить что же там за структура. Естественно, объектов у меня там было не 2 и не 3 а на порядок больше.
32. Yashazz 3199 21.09.19 23:13 Сейчас в теме
(23)
XDTO быстрее формирует xml

Не совсем так. До определённого предела да, более выигрышно и быстро, но если вложенные структуры типов достаточно сложны, или не в рамках одного пакета, или там зависимости кривые/сложные, или записей более определённого количества, то хдто начинают проигрывать, причём достаточно сильно. Опять же зависит, какой фабрикой пользоваться - синглтоном или конкретно созданной. У меня бывали случаи, когда хдто в разы проигрывал другим инструментам, да и сериализаторы падали от "несъедобного" объёма.
Это тема отдельной большой статьи, ващета.
26. Trotter_NN 16.09.19 10:24 Сейчас в теме
Как у Вас записались данные в файл на этом моменте ?
РеализацияXDTO.Контрагент = КонтрагентXDTO;

КонтрагентXDTO - у меня равен ОбъектXDTO и в xml ничего не добавляется.
27. HAMMER_59 202 18.09.19 07:27 Сейчас в теме
(26) А какой тип вы ждете при работе с XDTO?
Не считая примитивных типов там всего два типа ОбъектXDTO и СписокXDTO, которые в последствии сериализуются в XML.
У ОбъектXDTO есть метод Тип(), посмотрите какого типа у Вас ОбъектXDTO, дальше уже нужно смотреть что там в пакете XDTO.
34. HAMMER_59 202 23.09.19 06:59 Сейчас в теме
(33) А остальные статьи на инфостарте Вам нравятся? Статей подобной этой на тему: "Как сделать?" не так много, а вот развлекательные статьи ежедневно да не по одной размещают, и у этих авторов рэйтинги куда выше.
Критиковать каждый дурак может. Я вроде, так и написал, что не знаю где нормальную документацию можно найти, Видимо Вы знаете, ну так напишите, что лучше бы я почитал и далее по списку, и я бы обязательно почитал, хорошие курсы также приветствуются.
35. Yashazz 3199 23.09.19 09:03 Сейчас в теме
(34) Да вообще-то я сразу и написал, только вот модераторам не нравится якобы, что картиночка не отображается) не хотят пропускать публикацию)))
37. Franchiser 47 23.11.19 14:58 Сейчас в теме
На скрине у свойства Дату указано что это атрибут, а далее приведен текст выгрузки где Дата это элемент.
38. HAMMER_59 202 25.11.19 07:09 Сейчас в теме
(37) Можно поконкретнее по какой части кода вы определили что Дата это элемент, а не атрибут.
39. Franchiser 47 25.11.19 10:56 Сейчас в теме
(38) по приведенному вами тексту в xml



Результат

<?xml version="1.0" encoding="UTF-8"?>
<ДокументРеализация xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="infostart">
<Ссылка xsi:type="xs:string">63d07913-1e98-11e6-a31d-14dae9b19a48</Ссылка>
<Дата xsi:type="xs:dateTime">2016-12-29T12:00:00</Дата>
<Номер xsi:type="xs:string">0000-000603</Номер>
<Контрагент xsi:type="xs:string">Внуковский комбинат бортового питания</Контрагент>
</ДокументРеализация>
40. Franchiser 47 25.11.19 11:03 Сейчас в теме
(38) спасибо за статью, очень понравилась.
Понял, вы текст выгрузки привели далее что дата это атрибут, а не элемент.
Статья помогла разобраться в моей проблеме : начиная с 8.3.8 нужно указывать "квалифицированная форма элемента " = истина иначе совсем не так выглядит выгрузка.
Оставьте свое сообщение

См. также

Выгрузка и загрузка XML для управляемых форм 8.3 (с отбором)

Обмен через XML v8 v8::УФ 1cv8.cf Абонемент ($m)

В работе постоянно приходится разделять в различные базы или объединять несколько организаций в одну базу, долгое время пользовался стандартной обработкой выгрузка-загрузка из UNIREPS 8.2, в режиме обычного приложения, но, к сожалению, для управляемого приложения стандартная обработка из UNIREPS 8.3 (Диск ИТС) не позволяет нормально сделать выгрузку с отбором, поэтому ей никогда не воспользовался. Решил что напишу обработку, которая позволит делать отборы в различных вариациях, кроме того, в обработках из UNIREPS (8.2 и 8.3) существенно отличается процесс загрузки предопределенных, что не всегда удобно при больших объемах данных. Обработка написана на базе UNIREPS 8.3, но есть существенные изменения. Но интерфейс доработан так, чтобы обработка была похожа на старую добрую обработку из UNIREPS 8.2, к которой все так привыкли.

1 стартмани

05.11.2019    6792    123    o.kovalev    14    

Преобразование XML файла в переменную структура, Загрузка в дерево значений

Обмен через XML v8 1cv8.cf Абонемент ($m)

Обработка, демонстрирующая работу процедур и функций по преобразованию XML файла в дерево значений, а также в переменную типа структура.

1 стартмани

14.09.2019    6433    9    vik070777    18    

Документы и Справочники в JSON

Обмен через XML v8 1cv8.cf Абонемент ($m)

Пример выгрузки всех данных Документа или Справочника в JSON

1 стартмани

20.06.2019    9563    12    darkmessiahan    15    

Универсальный обмен данными XML (с гибкими отборами и сохранением вариантов настроек)

Обмен через XML v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка предназначена для загрузки и выгрузки данных по правилам обмена в любых конфигурациях, реализованных на платформе 1С:Предприятие 8.3. Преимуществом перед типовой обработкой является добавленный функционал: #1. Установка произвольных фильтров на выгружаемые объекты при помощи механизма системы компоновки данных #2. Сохранение различных вариантов настроек (сохраняются правила обмена, фильтры выгрузки, параметры, настройки обработки) - что позволяет гибко настроить в базе-источнике фильтры для выгрузки объектов по различным правилам обмена для различных баз-приемников, сохранить выполненные настройки и в будущем уже пользоваться этими вариантами настроек. Проверялась на 1С:ERP Управление предприятием 2.4.7.141.

1 стартмани

29.04.2019    11303    208    sapervodichka    20    

Выгрузка и загрузка данных XML 8.3 на управляемых формах с отбором и конструктором запроса (в полной мере возможности реализованы для версии 1С:Предприятия 8.3 выше версии 8.3.5)

Обмен через XML Инструментарий разработчика v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

В этой форме всегда не хватало конструктора запросов для удобной выгрузки уникальных элементов по ссылке. Теперь он здесь есть. Как только стало возможным создавать конструктор запроса в управляемых формах, я добавил её в стандартную обработку. Необходимо напомнить, что обработка функционирует полноценно только с версии 8.3.5 1С:Предприятия 8.3.

1 стартмани

24.04.2019    6421    34    AlexandrSmith    1    

1C + Python + Django Rest Framework + Vue.js. Опыт несложной full-stack разработки

Практика программирования Внешние источники данных Обмен через XML WEB Разработка v8 1cv8.cf Абонемент ($m)

В этой статье мы рассмотрим путь и основные моменты создания небольшого вэб-сервиса, который мы называем "Онлайн Прайс-лист". Выгрузка из 1С, бэкенд, фронтенд, получение заказов в 1С.

1 стартмани

22.04.2019    26822    32    riposte    63    

Выгрузка - загрузка данных в XML с отбором по организации Промо

Обмен через XML Перенос данных из 1C8 в 1C8 v8 1cv8.cf Абонемент ($m)

Выгрузка - загрузка данных в XML с отбором по организации (УФ)

1 стартмани

25.05.2014    44270    297    buganov    42    

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

Обмен через XML v8 Россия Абонемент ($m)

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

1 стартмани

21.04.2019    8854    9    axae    10    

Выгрузка и загрузка данных XML с гибкими отборами

Обмен через XML Перенос данных из 1C8 в 1C8 v8 1cv8.cf Абонемент ($m)

Обработка выгрузки и загрузки данных через XML между идентичными конфигурациями с возможностью установки произвольных отборов на выгружаемые объекты.

1 стартмани

07.04.2019    13369    338    sapervodichka    7    

Перенос данных КА 1.1 -> КА 2

Перенос данных из 1C8 в 1C8 Обмен через XML v8 КА1 КА2 Россия Абонемент ($m)

Перенос данных КА 1.1 => КА 2 с помощью правил обмена данными в формате XML КД 2 (переносятся остатки, документы, справочная информация).

5 стартмани

20.03.2019    12917    233    gudogu    127    

Правила конвертации документов ЗУП 2.5 - ЗУП 3.1 Промо

Обмен через XML Зарплата Перенос данных из 1C8 в 1C8 Зарплата v8 v8::СПР ЗУП2.5 ЗУП3.x Россия БУ Абонемент ($m)

Правила конвертации документов ЗУП 2.5 - ЗУП 3.1. Позволяют вести параллельную работу в базах ЗУП редакций 2,5 и 3.1.

10 стартмани

06.03.2018    34901    151    kostya_whiskas    24    

Обработка для выгрузки и загрузки данных XML 8.3. С отбором, предпросмотром данных и сохранением настроек

Обмен через XML Перенос данных из 1C8 в 1C8 v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Обработка Выгрузки и загрузки данных XML 8.3 на управляемых формах. Универсальная обработка "Выгрузка и загрузка данных XML" производит полную или частичную выгрузку данных информационной базы в файл в формате XML. Впоследствии этот файл может быть загружен в информационную базу с помощью этой же обработки. Формат файла выгрузки отличается от формата файла, создаваемого при выгрузке по плану обмена, заголовочной частью. (Описание взято с ИТС)

1 стартмани

07.03.2019    10629    175    Gmix    5    

Правила обмена УПП 1.3 -> БП 3.0 (+ БП КОРП 3.0 + перенос остатков)

Перенос данных из 1C8 в 1C8 Обмен через XML v8 УПП1 КД БП3.0 БУ Абонемент ($m)

Актуальные правила обмена: УПП 1.3.137.1 -> БП 3.0.76.77; УПП 1.3.137.1 -> БП КОРП 3.0.76.77; УПП 1.3.128.1 -> БП 3.0.74.63; УПП 1.3.128.1 -> БП КОРП 3.0.74.63; УПП 1.3.123.3 -> БП 3.0.71.83; УПП 1.3.123.3 -> БП КОРП 3.0.71.83; УПП 1.3.118.1 -> БП 3.0.68.61; УПП 1.3.118.1 -> БП КОРП 3.0.68.61.

1 стартмани

04.03.2019    8679    210    Смешной 1С    41    

1С: Розница/УТ 10.3. ЕГАИС, загрузка акцизных марок в справочник Штрихкоды и Упаковки, регистр Акцизные марки из XML-сообщений входящих ТТН ЕГАИС + Печать акцизных марок

Розничная торговля Обработка справочников Обмен через XML Ценники Розничная торговля v8 Розница Розничная и сетевая торговля (FMCG) Россия Абонемент ($m)

Пакетная загрузка/обновление списка акцизных марок ЕГАИС из входящих ТТН ЕГАИС. Для 1С Розница 2.2.9.ХХХ/2.2.10.ХХХ//2.2.11.ХХХ/2.2.12.ХХХ/Управление торговлей 10.3.49.ХХХХ и выше с возможностью печати

1 стартмани

31.01.2019    14969    126    independ    107    

Создание в 1С 7.7 XML в формате EnterpriseData (универсальный формат обмена), версия 1.5. Инструкции и примеры переноса данных из устаревшей конфигурации 1С 7.7 в любую современную 1С 8.3, поддерживающую EnterpriseData, через Конвертацию данных 3 Промо

Перенос данных из 1С7.7 в 1C8.X Обмен через XML v7.7 v8 1cv7.md Россия Абонемент ($m)

Воспользоваться современным средством переноса данных "Конвертация данных 3.0.5.3" можно только выгрузив из системы - источника данных XML в формате обмена данными EnterpriseData. В этой публикации можно скачать приемы выгрузки из 1С 7.7 универсального формата обмена для Конвертации данных 3. Выполняем перенос данных из «1С:Предприятие 7.7» в «1С:Предприятие 8.3». Используем Конвертацию данных КД 3.0 из 1c 7.7 --> 1С 8.3. На первой стадии еще не опубликовано иного способа подложить файл для Конвертации данных 3 кроме как сформировать его вручную, постараемся решить данную проблему.

1 стартмани

26.02.2018    34732    49    ksnik    3    

Ручная выгрузка и загрузка данных через универсальный обмен данными с настройками (расширение, платформа 8.3+)

Обработка документов Обработка справочников Обмен через XML Перенос данных из 1C8 в 1C8 v8 Розница УНФ ERP2 БП3.0 УТ11 КА2 ЗУП3.x Абонемент ($m)

Данное расширение (не требует изменения конфигураций) служит как надстройка для конфигураций, у которых обмен между базами происходит через универсальный формат (EnterpriseData), с использованием стандартных правил конвертации, которые уже есть в конфигурации. Интерфейс адаптирован для простых пользователей, сделан общий отбор по Организации для всех документов, имеется пару настроек для передачи в параметры конвертации, которые расположены в общем модуле конфигураций, а так же есть возможность выбора запуска - в фоне или в текущем сеансе. Теперь не нужно настраивать обмен между базами, для того чтоб просто перенести нужные документы. Подходит точно для УТ 11.4, БП 3.0.67, КА 2.4.5, Розница 2.2.9 (Обновление 1.2 от 02.03.2019)

2 стартмани

19.01.2019    17498    116    hakerxp    10    

Перенос данных КА 1.1.115.1 => БП 3.0.75.104 (перенос остатков, документов, зарплатный блок и справочной информации)

Перенос данных из 1C8 в 1C8 Обмен через XML v8 КА1 БП3.0 Россия Абонемент ($m)

Переносятся: остатки по счетам 01, 02, 10, 20, 41, 60, 62, 71, 97 и их субсчетам; документы; отдельно можно перенести справочники (номенклатура, контрагенты, договоры контрагентов, организации, склады, физические лица, сотрудники).

5 стартмани

22.12.2018    11116    315    gudogu    152    

Универсальный обмен данными в формате XML (2.1.8) 8.3 УФ с отбором и без модальности

Обмен через XML v8 v8::УФ 1cv8.cf Абонемент ($m)

К типовой обработке "Универсальный обмен данными в формате XML" добавлены отбор и возможность работать в конфигурациях с отключенным режимом модальности.

1 стартмани

07.11.2018    19224    269    nicxxx    7    

SOAP для чайников

Обмен через XML WEB v8 1cv8.cf Абонемент ($m)

Немножко про SOAP сервис. И пример работы с подключением и получением данных по SOAP за 5 минут.

1 стартмани

05.09.2018    37359    34    dusha0020    18    

003. Почему я больше не люблю "Выгрузку Загрузку XML"

Обмен через XML v8 1cv8.cf Абонемент ($m)

Ниже будет много букаф, но если коротко — можно ускорить этот инструмент в 1000 раз

1 стартмани

03.09.2018    6811    8    Nikola23    8    

Редактор движений документа. Сохранение в XML, обмен между базами, замена регистратора. Промо

Обработка документов Универсальные обработки Обмен через XML v8 Абонемент ($m)

Редактор набора записей движений документа. Позволяет сохранить набор записей в XML, в настройки пользователя, прочитать сохраненный XML в другой идентичной базе, заменить регистратор. Можно изменять порядок записей, менять активность, как массово, так и по одной и др. Тонкий клиент, управляемые формы.

1 стартмани

07.09.2016    37763    152    Aphanas    4    

Простой эмулятор вызова веб-сервиса 1С с просмотром результата

Обмен через XML WEB v8 1cv8.cf Россия Абонемент ($m)

Последнее время все чаще сталкиваюсь с разработкой веб-сервисов средствами 1С. Для ускорения разработки и отладки написал внешнюю обработку. На какой-то сверх-крутой функционал она не претендует, но, может, кому-то пригодится.

1 стартмани

24.04.2018    11249    18    anvolkov1cbit    9    

Правила переноса документов из ЗУП 2.5 в ЗУП 3.1

Обмен через XML Перенос данных из 1C8 в 1C8 Зарплата Управление персоналом (HRM) Зарплата Управление персоналом (HRM) v8 v8::СПР ЗУП2.5 ЗУП3.x Россия БУ Абонемент ($m)

Перенос документов, справочников и планов видов расчета из конфигурации 1С ЗУП 2.5 в ЗУП 3.1.

3 стартмани

28.03.2018    25706    408    Cobranet123    64    

Организация обмена с базой филиала (розничного магазина) в торговой сети через XML (универсальный обмен)

Обмен через XML Перенос данных из 1C8 в 1C8 Розничная торговля Розничная торговля v8 КД УТ11 Розничная и сетевая торговля (FMCG) Абонемент ($m)

В статье по шагам рассматривается создание обмена между центральной базой и базами филиалов на базе конфигурации УТ 11. Для решения поставленной задачи было решено не использовать РИБ, т.к. требуется односторонний обмен ограниченным набором данных, к тому же по определенным условиям. Обмен реализован на основе типовой синхронизации на основе универсального обмена в формате EnterpriseData. Данная публикация может быть полезна внедренцам, которые работают с торговыми сетями, в том числе по модели франчайзинга.

1 стартмани

26.02.2018    34044    13    Kutuzov    18    

Загрузка файлов грузовых таможенных деклараций из файлов ФТС формата xml (Альта софт, Сигма софт, Декларант +) Промо

Внешнеэкономическая деятельность (ВЭД) Обмен через XML Внешнеэкономическая деятельность (ВЭД) v8 v8::БУ БП3.0 Россия БУ Абонемент ($m)

Федеральная таможенная служба России давно поддерживает унифицированный формат электронных документов для обмена с информационными системами предприятий. xmlns="urn:customs.ru:Information:ExchangeDocuments:" если что. Структура, утвержденная комиссией Таможенного союза. Осталось только сделать загрузку в 1С из этого формата. На выходе - два документа ГТД по импорту и Поступление (акты, накладные)

5 стартмани

09.08.2016    42013    170    capitan    283    

Перенос данных. Правила конвертации из УТ 10.3 в УТ 11.4

Перенос данных из 1C8 в 1C8 Обмен через XML v8 УТ10 КД УТ11 Россия Абонемент ($m)

Правила конвертации из УТ10.3(10.3.32.2) в  УТ11.4(11.4.1.261) (для переноса остатков, справочников)

2 стартмани

02.01.2018    43461    348    appolon321    36    

Пример заполнения/создания файла XML из XSD схемы, используя XDTO

Обмен через XML WEB v8 1cv8.cf Абонемент ($m)

Добрый день, коллеги! Наконец-то дошли руки написать сию статью. Хочу поделиться своим опытом по разбору xsd схемы используя Фабрику XDTO, а также связанным с этим XML файлом. Думаю, наверняка кому-то понадобится.

1 стартмани

21.12.2017    40747    52    sandybaev    23    

Правила переноса документов из ЗУП 2.5 в ЗУП 3.1

Перенос данных из 1C8 в 1C8 Обмен через XML Зарплата Управление персоналом (HRM) Зарплата Управление персоналом (HRM) v8 v8::СПР ЗУП3.x Россия БУ Абонемент ($m)

Перенос документов из ЗУП 2.5 в ЗУП 3.1 - позволяет снизить объем работ при опытной эксплуатации ЗУП 3.1 параллельно с ЗУП 2.5.

1 стартмани

04.12.2017    30067    494    AntonH851    38    

1С:Интеграция ЕГАИС + Инвентаризация на ТСД Промо

Обработка справочников Обмен через XML Оптовая торговля Оптовая торговля v8 1cv8.cf Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Абонемент ($m)

Интеграция ЕГАИС модуля для 1С: 8.3 + модуль WMS контура для инвентаризации алкогольных марок на ТСД.

1 стартмани

10.12.2015    34016    27    JetBrain    5    

Механизмы и транспорт обмена данными. Пример создания в КД 2.1 правил обмена данными ЗУП 2.5 -> БП 3.0. Выгрузка ведомостей и банковских счетов. Передача параметров обмена из Источника в Приемник. ВыгрузитьПоПравилу(). ПередатьОдинПараметрВПриемник().

Обмен через XML Перенос данных из 1C8 в 1C8 v8 ЗУП2.5 КД БП3.0 Абонемент ($m)

В статье рассказываю: 1) о механизмах и транспорте обмена данными, где одной из сторон обмена выступает конфигурация на базе 1С, и о том, какой транспорт и в каких случаях лучше использовать 2) о решении задачи выгрузки данных документа «Зарплата к выплате организаций» (с выгрузкой банковский счетов физ лиц документа) из ЗУП 2.5.123.1 (далее Источник) в БП КОРП 3.0.52.39 (далее Приемник) путем создания правил обмена данными с использованием конфигурации «Конвертация данных» (далее просто КД) ред. 2.1.8.2. для (далее ЗкВО) 3) о тестирование полученных правил обмена данными.

1 стартмани

03.11.2017    29788    5    RailMen    5    

XML JSON преобразователь

Обмен через XML v8 1cv8.cf Россия Абонемент ($m)

Обработка демонстрирует возможность программного преобразования XML в JSON и обратно без подключения внешних модулей.

1 стартмани

11.10.2017    14669    46    m-rv    4    

Правила обмена ЗУП 3.1 - БП 2.0 и ЗУП 3.1 - УПП 1.3 (отражение, ведомости и справочники)

Перенос данных из 1C8 в 1C8 Обмен через XML Зарплата Управление персоналом (HRM) Зарплата Управление персоналом (HRM) v8 v8::БУ v8::СПР БП2.0 БП3.0 ЗУП3.x Россия БУ Абонемент ($m)

Правила обмена для выгрузки документов "Отражение зарплаты в бухучете", "Ведомость в банк", "Ведомость в кассу", справочников "Сотрудники" и "Физические лица"

1 стартмани

01.08.2017    71841    1533    forseil    205    

Простой универсальный обмен между отличающимися конфигурациями. Код открыт! (СериализаторXDTO,ПостроительDOM) +примеры использования Промо

Обмен через XML v8 1cv8.cf Абонемент ($m)

Очень удобная обработка всего с двумя "командами": Выгрузить(Что, Куда) Загрузить(Откуда)

1 стартмани

02.09.2015    21881    100    Mi4man    15    

«Горыныч - то НЕ НАСТОЯЩИЙ!» … или О Конвертации Данных ред.3 (КД 3) и обменах в универсальном формате Enterprise Data… доступным русско-народным языком

Внешние источники данных Обмен через XML Перенос данных из 1C8 в 1C8 v8 КД Абонемент ($m)

Тем, кто хочет быстро разобраться с темой инструмента Конвертация данных 3.0 и технологией обмена по новому формату 1С, активно применяемому во всех новых конфигурациях от 1С на БСП, расширяющем возможности интеграции, пакет полезных материалов.

1 стартмани

13.06.2017    19229    138    Davlad_A    16    

"Конвертация данных" + Git. Решение проблемы различий в файлах

Инструментарий разработчика Обмен через XML v8 КД Абонемент ($m)

Как известно, типовая конфигурация «Конвертация данных» обладает одним недостатком, мешающим работать с ней в Git-е. Если выгруженные из нее правила обмена загрузить в другую КД, а потом снова выгрузить, то полученные два файла будут очень сильно отличаться друг от друга, и при сравнении (diff) доработок будет невозможно провести код-ревью, равно как найти сами изменения, которые закоммитил разработчик.

1 стартмани

08.06.2017    22306    39    stas_ganiev    13    

Пообъектный разбор разметки

Инструментарий разработчика Обмен через XML v8 Абонемент ($m)

Обработка облегчает разбор разметки XML и позволяет обращаться с узлами (элементами, тэгами) почти как с объектами, не привлекая XDTO и не описывая формат предварительно. При этом обходится без загрузки всего файла в оперативную память, что позволяет читать файлы любого размера.

1 стартмани

26.04.2017    8384    4    9-pm    8    

Навигатор по файлу обмена Промо

Универсальные обработки Обмен через XML v8 1cv8.cf Абонемент ($m)

Просмотр содержимого XML-файла выгрузки данных

5 стартмани

02.04.2014    28459    35    RocKeR_13    22    

XMPP(jabber) на чистом 1С

Обмен через XML v8 1cv8.cf Абонемент ($m)

На сайте infostart, есть несколько реализаций работы 1С с протоколом XMPP (jabber), но в основном они на использование сторонних библиотек (нативных), которые надо регистрировать в операционке (и только в винде), или на основе других систем - php, python и т.п. Предлагаю пример реализации отправки сообщения через этот протокол только средствами 1С.

1 стартмани

26.12.2016    14582    14    kodnik    10    

Загрузка XML в дерево значений

Обмен через XML v8 1cv8.cf Абонемент ($m)

Случайно наткнулся на статью с алгоритмом загрузки XML-строки в дерево значений и подумал, а не проще ли сделать это через механизм XDTO рекурсивно. На мой взгляд, решение получилось неплохое - даже атрибуты грузит..

1 стартмани

17.11.2016    22535    46    starik-2005    24    

Обмен данными онлайн через Веб-сервис с использованием обработки "Универсальный обмен данными XML"

Обмен через XML v8 1cv8.cf Абонемент ($m)

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

2 стартмани

28.10.2016    39451    229    linkov    47    

Перенос справочников и документов из 1С 7.7 "Торговля и склад 9.2" в 1С 8.2 "Бухгалтерия предприятия 2.0". Промо

Перенос данных из 1С7.7 в 1C8.X Обмен через XML v8 БП2.0 1С7:ТиС Россия Абонемент ($m)

Немного доработанные типовые правила обмена для конфигураций из ТиС 9.2. в БП 2.0 - «ПОД_Перенос_Справочников_ТиС_БП20.xml» и «ОбработкаВыгрузкиСправочников.ert». Добавлены правила выгрузки справочников: Организации, контрагенты и номенклатура. Доработал типовые ПОД для переноса только контрагентов и номенклатуры без документов в новую базу бухгалтерии 2.0, протестировал на типовых конфигурациях ТиС 9.2 рел.984 и БП 2.0.64.23.

1 стартмани

05.06.2015    47512    91    Kuzya_brаtsk    3    

Использование SoapUi для работы с веб-сервисами. Часть 2

Практика программирования Обмен через XML v8 Абонемент ($m)

Сложные примеры работы с xml в веб-сервисах 1С.

1 стартмани

04.10.2016    19847    17    kiv1c    6    

Использование SoapUi для работы с веб-сервисами. Часть1

Практика программирования Обмен через XML v8 Абонемент ($m)

Как работать с SoapUi для тестирования веб-сервисов .

1 стартмани

30.09.2016    116800    35    kiv1c    29    

Перенос данных из Бухгалтерии 2.0 в Бухгалтерию 3.0 Промо

Перенос данных из 1C8 в 1C8 Обмен через XML v8 БП2.0 БП3.0 Россия БУ Абонемент ($m)

Перенос данных и остатков с Бухгалтерии 2.0 в Бухгалтерию 3.0 с помощью универсального обмена данными XML.

1 стартмани

30.12.2014    42704    297    sergeyzhuravlev    10    

Обмен документами по правилам КД 2.0 с помощью внешней обработки

Обмен через XML v8 1cv8.cf Абонемент ($m)

Вам нужно разово выгрузить документ? Настроить периодическую выгрузку, не снимая конфигурацию с поддержки? Вы написали правила на КД 2.0 и думаете, как лучше дальше поступить? Тогда эта обработка для Вас.

1 стартмани

09.03.2016    10236    64    Ifboop_Figure    11    

Генерация кода 1С:8 для создания XML файла

Инструментарий разработчика Обмен через XML v8 1cv8.cf Абонемент ($m)

Внешняя обработка для генерации кода 1С:8, создающего XML файл.

1 стартмани

22.02.2016    10609    71    ily.fomin    5    

Разбор XML Документа с помощью XDTO, без использования XDTO-пакетов и XML-схем (для очень ленивых)

Обмен через XML v8 1cv8.cf Абонемент ($m)

Как разобрать XML Документ с помощью XDTO без изменений в конфигурации, без XML-схем данных, и при этом не выпасть с ошибкой "не достаточно памяти" ? Тем более что вам этот XML Документ нужно считать разово.

1 стартмани

14.11.2015    20799    39    TESL    8    

Пример обработки загрузки данных из XML-файла в облаке 1С:Fresh

Практика программирования Обмен через XML v8 УНФ Абонемент ($m)

Внешняя обработка, адаптированная для работы в УНФ, размещенной в облаке 1С:Fresh (легко редактируется под любую другую конфигурацию) В обработке использованы следующие механизмы (их варианты при работе в безопасном режиме): 1. Механизм выполнения сценариев дополнительных обработок. 2. Механизм отложенной записи объектов. 3. Механизм клиент-серверной передачи файлов. 4. Механизм чтения XML в безопасном режиме. 5. Механизм создания и поиска элементов с помощью UID.

1 стартмани

20.10.2015    19370    59    laperuz    18