Каталог решений - Формирование XML документа (УПД, счет, накладная, СФ и прочее)

Формирование XML документа (УПД, счет, накладная, СФ и прочее)

Формирование XML документа (УПД, счет, накладная, СФ и прочее)

В наличии

С помощью этого кода для документов базы формируется XML-файл, который можно отправить через ЭДО СБИС, Диадок и пр.
Поддерживается все форматы, которые поддерживает библиотека БЭД.

Категория:

Описание

По следам публикации Игоря Васильева

 

Обработка позволяет формировать XML файл в форматах УПД, УКД, СФ, КСФ, торг-12/Акты, CML (все что поддерживает БЭД 1.9)

При смене библиотеки БЭД на версию 1.9 поменялся механизм формирования документов, из-за чего предыдущая публикация стала не актуальной.

Данный код применим к продуктам 1С с БиблиотекойЭлектронныхДокументов версии 1.9 (БП 3.0.91 и выше)

Обработка показывает пример формирования XML файла, который можно сохранить или скопировать куда Вам надо.

 

Не забывайте править строки, где задаете:

— ТипДокумента (типы можно посмотреть в функции ЭлектронныеДокументыЭДО.СтандартныеТипыДокументов())

— Формат документа (так же поддерживаемые форматы можно посмотреть в ЭлектронныеДокументыЭДО.ПоддерживаемыеФорматы())

		Настройки = ФорматыЭДО.НовыеНастройкиФормированияДокументаПоОбъектуУчета();
		ТипыДокументов = ЭлектронныеДокументыЭДО.СтандартныеТипыДокументов();
		Настройки.ТипДокумента = ТипыДокументов.УПД;
		Форматы = ЭлектронныеДокументыЭДО.ПоддерживаемыеФорматы();
		Настройки.Формат = Форматы.ФНС.УПД2019.ИнформацияПродавца;
		Настройки.ОтключитьРассчетДополнительныхПолей = Истина;
		
		Данные = ФорматыЭДО.НовыеДанныеДляФормированияОсновногоТитула();
		Данные.УникальныйИдентификатор = Строка(Новый УникальныйИдентификатор);
		Данные.Участники.ИдентификаторОтправителя = Документ.Организация.ИНН + 
			"_" + Документ.Организация.КПП;
		Данные.Участники.ИдентификаторПолучателя = Документ.Контрагент.ИНН + 
			"_" + Документ.Контрагент.КПП;
		
		ПараметрыФормирования = ИнтеграцияЭДО.НовыеПараметрыФормированияДанныхОбъектаУчет();
		ЗаполнитьЗначенияСвойств(ПараметрыФормирования, Настройки);
		ОписаниеДанных = ИнтеграцияЭДО.ОписаниеДанныхОбъектаУчета(Документ,
			ПараметрыФормирования);
		Данные.ДанныеДокумента = ОписаниеДанных.Данные;
		
		РезультатФормирования = ФорматыЭДО.СформироватьДанныеОсновногоТитулаПоОбъектуУчета(
			Документ, Настройки, Данные);

Ну и стоит разобрать ошибки формирования ХМД документа, если реквизит структуры РезультатФормирования.ЕстьОшибки равен Истина.

	Если НЕ РезультатФормирования.ЕстьОшибки Тогда
		ДД = РезультатФормирования.Документ.ДвоичныеДанные;
		Результат = ПолучитьСтрокуИзДвоичныхДанных(ДД, КодировкаТекста.System);
		НаименованиеФайла = РезультатФормирования.Документ.ИмяФайла;
	Иначе
		Сообщить("Ошибки:");
		Если РезультатФормирования.Ошибки.Свойство("ЗаполнениеДанных") Тогда
			Для Каждого Ошибка из РезультатФормирования.Ошибки.ЗаполнениеДанных Цикл
				Сообщить(Ошибка.ТекстОшибки);
			КонецЦикла;
		КонецЕсли;
	КонецЕсли;		

Дисклеймер! Возможно и показанный мной метод будет через какое-то время неработоспособен, т.к. использует функции из раздела #СлужебныйПрограммныйИнтерфейс

has been added to your cart:
Оформление заказа