&НаСервере
Перем КонтекстЭДОСервер Экспорт;
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Параметры.Свойство("АвтоТест") Тогда
Возврат;
КонецЕсли;
КонтекстЭДОСервер = ДокументооборотСКО.ПолучитьОбработкуЭДО();
Заголовок = "Подтверждение получения " + Параметры.ИмяФайла;
Попытка
ПутьКФайлу = ПолучитьИмяВременногоФайла();
ПолучитьИзВременногоХранилища(Параметры.ПодтверждениеПолучения).Записать(ПутьКФайлу);
ЧтениеТекста = Новый ЧтениеТекста;
КонтекстЭДОСервер.ЧтениеТекстаОткрытьНаСервере(ЧтениеТекста, ПутьКФайлу);
СтрокаXML = ЧтениеТекста.Прочитать();
ЧтениеТекста.Закрыть();
ОперацииСФайламиЭДКО.УдалитьВременныйФайл(ПутьКФайлу);
Исключение
Отказ = Истина;
ТекстСообщения = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru='Ошибка чтения содержимого подтверждения из файла: %1'"), Символы.ПС + Символы.ПС + ИнформацияОбОшибке().Описание);
ОбщегоНазначения.СообщитьПользователю(ТекстСообщения);
Возврат;
КонецПопытки;
ДеревоXML = КонтекстЭДОСервер.ЗагрузитьСтрокуXMLВДеревоЗначений(СтрокаXML);
Если ДеревоXML = Неопределено Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
УзлыДатаВремяПолучения = ДеревоXML.Строки.НайтиСтроки(Новый Структура("Имя, Тип", "датаВремяПолучения", "Э"), Истина);
Если УзлыДатаВремяПолучения.Количество() = 0 Тогда
ДатаВремяПолучения = "";
Иначе
ДатаВремяПолучения = Формат(ДатаВремяИзСтрокиXML(УзлыДатаВремяПолучения[0].Значение), "ДЛФ=DDT; ДП=-");
КонецЕсли;
УзлыИдентификаторДокумента = ДеревоXML.Строки.НайтиСтроки(Новый Структура("Имя, Тип", "идентификаторДокумента", "Э"), Истина);
Если УзлыИдентификаторДокумента.Количество() = 0 Тогда
ИдентификаторЗапроса = "";
Иначе
ИдентификаторЗапроса = УзлыИдентификаторДокумента[0].Значение;
КонецЕсли;
ЦиклОбмена = Параметры.ЦиклОбмена;
ФорматДокументооборота = Параметры.ЦиклОбмена.ФорматДокументооборота;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Печать(Команда)
ОписаниеОповещения = Новый ОписаниеОповещения("ПечатьЗавершение", ЭтотОбъект);
ДокументооборотСКОКлиент.ПолучитьКонтекстЭДО(ОписаниеОповещения);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ПечатьЗавершение(Результат, ДополнительныеПараметры) Экспорт
КонтекстЭДОКлиент = Результат.КонтекстЭДО;
РезультатНастройки = Новый Структура("ПечататьПодтвержденияПолученияЗапросаПФР, ФорматДокументооборота", Истина, ФорматДокументооборота);
КонтекстЭДОКлиент.СформироватьИПоказатьПечатныеДокументы(ЦиклОбмена, РезультатНастройки);
КонецПроцедуры
&НаСервереБезКонтекста
Функция ДатаВремяИзСтрокиXML(ЗначениеСтр)
Попытка
Возврат XMLЗначение(Тип("Дата"), ЗначениеСтр);
Исключение
Возврат '00010101';
КонецПопытки;
КонецФункции
#КонецОбласти