Еще есть предложение выкинуть тег
Код:
<BORNIN>
6r0Pyw96QEuSMjyuR=RKPTiS
</BORNIN>
т.к. рискну предположить что The input is not a valid Base-64 string as it contains ругается именно на него. На всякий случай вот рабочий код выгрузки с 1с 8.1.
Код:
Функция ВыгрузитьАкт(ДокЗаказМагазина)
// пытаемся создать выход из производства
Файл = Новый Файл (КаталогВременныхФайлов() + "PO" + СокрЛП(ДокЗаказМагазина.Номер) + ".xml");
// получаем следующий номер документа
НомерДокумента = ЗапросыКСуперМаг.ПолучитьНомерДокумента("DB", "PO", 55);
Если НомерДокумента = Неопределено тогда
Сообщить("Невозможно получить номер документа с системы СМ+.", СтатусСообщения.Важное);
Возврат Неопределено;
КонецЕсли;
ИтогоВыполненоСумма = ДокЗаказМагазина.Заказ.Итог("Сумма");
// генерим случайное число для заголовка пакета
СлЧисло = Новый ГенераторСлучайныхЧисел();
ИмяПакета = Формат(ДокЗаказМагазина.Дата,"ДФ=yyMMddhhmmss") + "_" + Строка(СлЧисло.СлучайноеЧисло(0, 9999999) ) + "_1";
// начинаем запись XML
ОбъектXML = Новый ЗаписьXML;
ОбъектXML.ОткрытьФайл(Файл.ПолноеИмя);
// заголовок
ОбъектXML.ЗаписатьНачалоЭлемента("PACKAGE");
ОбъектXML.ЗаписатьАтрибут("name", ИмяПакета);
ОбъектXML.ЗаписатьНачалоЭлемента("POSTOBJECT");
ОбъектXML.ЗаписатьАтрибут("description", "Выход из производства");
ОбъектXML.ЗаписатьАтрибут("action", "normal");
ОбъектXML.ЗаписатьНачалоЭлемента("Id");
ОбъектXML.ЗаписатьТекст("PO" + НомерДокумента);
ОбъектXML.ЗаписатьКонецЭлемента();
// основной докукмет
ОбъектXML.ЗаписатьНачалоЭлемента("PO");
ОбъектXML.ЗаписатьНачалоЭлемента("SMDOCUMENTS");
ОбъектXML.ЗаписатьНачалоЭлемента("ID");
ОбъектXML.ЗаписатьТекст(НомерДокумента);
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("DOCTYPE");
ОбъектXML.ЗаписатьТекст("PO");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("CREATEDAT");
ОбъектXML.ЗаписатьТекст(Формат(ДокЗаказМагазина.ДатаПоставки,"ДФ=yyyy-MM-dd") + "T09:00:00+06:00");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("CURRENCYMULTORDER");
ОбъектXML.ЗаписатьТекст("0");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("CURRENCYRATE");
ОбъектXML.ЗаписатьТекст("1");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("CURRENCYTYPE");
ОбъектXML.ЗаписатьТекст("1");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("DOCSTATE");
ОбъектXML.ЗаписатьТекст("1");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("ISROUBLES");
ОбъектXML.ЗаписатьТекст("1");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("LOCATIONTO");
ОбъектXML.ЗаписатьТекст("55");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("OPCODE");
ОбъектXML.ЗаписатьТекст("13");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("PRICEROUNDMODE");
ОбъектXML.ЗаписатьТекст("2");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("TOTALSUM");
ОбъектXML.ЗаписатьТекст(Формат(ИтогоВыполненоСумма,"ЧРД=.; ЧН=0; ЧГ=0") );
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("TOTALSUMCUR");
ОбъектXML.ЗаписатьТекст(Формат(ИтогоВыполненоСумма,"ЧРД=.; ЧН=0; ЧГ=0") );
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьКонецЭлемента();
// вывод табличной части
ВыведеннаяСтрока = 1;
Для каждого строка из ДокЗаказМагазина.Заказ Цикл
Если НЕ строка.КоличествоПроизведенное = 0 тогда
ОбъектXML.ЗаписатьНачалоЭлемента("SMSPEC");
ОбъектXML.ЗаписатьНачалоЭлемента("DOCID");
ОбъектXML.ЗаписатьТекст(НомерДокумента);
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("DOCTYPE");
ОбъектXML.ЗаписатьТекст("PO");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("SPECITEM");
ОбъектXML.ЗаписатьТекст(Строка(строка.НомерСтроки) );
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("ARTICLE");
ОбъектXML.ЗаписатьТекст(СокрЛП(строка.Номенклатура.Код) );
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("DISPLAYITEM");
ОбъектXML.ЗаписатьТекст(Строка(строка.НомерСтроки) );
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("ITEMPRICE");
ОбъектXML.ЗаписатьТекст(Формат(строка.Цена,"ЧРД=.; ЧН=0; ЧГ=0") );
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("ITEMPRICECUR");
ОбъектXML.ЗаписатьТекст(Формат(строка.Цена,"ЧРД=.; ЧН=0; ЧГ=0") );
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("ITEMPRICENOTAX");
ОбъектXML.ЗаписатьТекст(Формат(строка.Цена,"ЧРД=.; ЧН=0; ЧГ=0") );
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("QUANTITY");
ОбъектXML.ЗаписатьТекст(Формат(строка.КоличествоПроизведенное,"ЧРД=.; ЧН=0; ЧГ=0") );
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("TOTALPRICE");
ОбъектXML.ЗаписатьТекст(Формат(строка.Сумма, "ЧРД=.; ЧН=0; ЧГ=0"));
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("TOTALPRICECUR");
ОбъектXML.ЗаписатьТекст(Формат(строка.Сумма, "ЧРД=.; ЧН=0; ЧГ=0"));
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("TOTALPRICENOTAX");
ОбъектXML.ЗаписатьТекст(Формат(строка.Сумма, "ЧРД=.; ЧН=0; ЧГ=0"));
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьКонецЭлемента();
ВыведеннаяСтрока = ВыведеннаяСтрока + 1;
КонецЕсли;
КонецЦикла;
ОбъектXML.ЗаписатьНачалоЭлемента("SMDOCPRODOUT");
ОбъектXML.ЗаписатьНачалоЭлемента("ID");
ОбъектXML.ЗаписатьТекст(НомерДокумента);
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("DOCTYPE");
ОбъектXML.ЗаписатьТекст("PO");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("STORELOC");
ОбъектXML.ЗаписатьТекст("55");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьНачалоЭлемента("ZONEID");
ОбъектXML.ЗаписатьТекст("1");
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьКонецЭлемента();
// закрывающие теги
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.ЗаписатьКонецЭлемента();
ОбъектXML.Закрыть();
// отправляем по почте и ждем ответа
Сообщения = "";
флУспех = ЗапросыКСуперМаг.ВыгрузитьДокументВПочтуСМ(Файл, "\\SERVER\mail\xml\", Сообщения);
// если выгрузка успешна сообщаем номер документа
Если флУспех тогда
Сообщить("Для заказа " + ДокЗаказМагазина.Номер + " выгружен акт с номером " + НомерДокумента);
возврат НомерДокумента;
Иначе
Сообщить("При выгрузке произошли следующие ошибки");
Сообщить(Сообщения);
возврат Неопределено;
КонецЕсли;
УдалитьФайлы(Файл.ПолноеИмя);
КонецФункции