#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
КонтекстЭДО = ДокументооборотСКО.ПолучитьОбработкуЭДО();
ПутьКОбъекту = КонтекстЭДО.ПутьКОбъекту;
Организация = Параметры.Организация;
РежимМоделиСервиса = КриптографияЭДКО.РаботаВМоделиСервиса();
РежимФормы = Параметры.РежимФормы;
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей") Тогда
ИнтернетПоддержкаПодключена = ОбщегоНазначения.ОбщийМодуль("ИнтернетПоддержкаПользователей").ЗаполненыДанныеАутентификацииПользователяИнтернетПоддержки();
КонецЕсли;
Если РежимМоделиСервиса Тогда
Попытка
АдресДляОтвета = ОбщегоНазначения.ОбщийМодуль("ИнформационныйЦентрСервер").ОпределитьАдресЭлектроннойПочтыПользователя();
БазаПодключенаКУСП = ОбщегоНазначения.ОбщийМодуль("ИнформационныйЦентрВызовСервера").ДанныеНастроекИнтеграцииСУСП().ПодтвержденКодДляИнтеграцииСУСП;
Исключение
БазаПодключенаКУСП = Ложь;
КонецПопытки;
КонецЕсли;
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей") Тогда
ПочтаПодключена = ОбщегоНазначения.ОбщийМодуль("РаботаСПочтовымиСообщениями").ДоступныеУчетныеЗаписи(Истина).Количество() > 0
КонецЕсли;
ЗаполнитьСписокТК(Параметры.Контейнеры);
ВсегоВАрхиве = РегистрыСведений.СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.СостояниеАрхива().ВсегоВАрхиве;
КлючСохраненияПоложенияОкна = "Вариант" + Строка(РежимМоделиСервиса) + Строка(БазаПодключенаКУСП)
+ Строка(ИнтернетПоддержкаПодключена) + Строка(РежимФормы);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
УстановитьВидимостьЭлементов();
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовШапкиФормы
#КонецОбласти
#Область ОбработчикиКомандФормы
&НаКлиенте
Процедура Перечень_ТекущиеФайлы(Команда)
КнопкаОбращение(ПереключательВсеФайлы = 0);
КонецПроцедуры
&НаКлиенте
Процедура Перечень_ВсеФайлы(Команда)
КнопкаОбращение(Ложь);
КонецПроцедуры
&НаКлиенте
Процедура Отмена(Команда)
Если РежимФормы = "Выгрузка" Тогда
Закрыть(Ложь);
Иначе
Закрыть();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура Обращение_Пропустить(Команда)
Закрыть(КодВозвратаДиалога.Да);
КонецПроцедуры
&НаКлиенте
Процедура Обращение_ТекущиеФайлы(Команда)
КнопкаОбращение(Истина);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
Процедура ЗаполнитьСписокТК(МассивОбъектов)
ТаблицаТК.Очистить();
Если МассивОбъектов = Неопределено ИЛИ МассивОбъектов.Количество() = 0 Тогда
Возврат;
КонецЕсли;
ТекстЗапрос =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ТранспортноеСообщениеКонтейнерыПрисоединенныеФайлы.Ссылка КАК Файл,
| СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Владелец КАК ВладелецФайла,
| СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.ИмяФайла КАК ИмяФайла,
| СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Объект КАК Объект
|ИЗ
| Справочник.ТранспортноеСообщениеКонтейнерыПрисоединенныеФайлы КАК ТранспортноеСообщениеКонтейнерыПрисоединенныеФайлы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ТранспортныеКонтейнеры КАК ТранспортныеКонтейнеры
| ПО (ТранспортныеКонтейнеры.ТранспортноеСообщение = ТранспортноеСообщениеКонтейнерыПрисоединенныеФайлы.ВладелецФайла)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеАрхивированияФайловДОСКонтролирующимиОрганами КАК СостояниеАрхивированияФайловДОСКонтролирующимиОрганами
| ПО (СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Объект = ТранспортныеКонтейнеры.ТранспортноеСообщение)
| И (СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.ИмяФайла = ТранспортныеКонтейнеры.ИмяФайла)
| И (СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Владелец = ЗНАЧЕНИЕ(Перечисление.ВидыАрхивируемыхМетаданныхДО.ТранспортныеКонтейнеры))
|ГДЕ
| ТранспортноеСообщениеКонтейнерыПрисоединенныеФайлы.Ссылка В(&МассивОбъектов)
| И СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Архивный = ИСТИНА
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТранспортноеСообщениеКонтейнерыПрисоединенныеФайлы.Ссылка,
| СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Владелец,
| СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.ИмяФайла,
| СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Объект
|ИЗ
| Справочник.ЦиклыОбмена КАК ЦиклыОбмена
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ТранспортноеСообщение КАК ДокументТранспортноеСообщение
| ПО ЦиклыОбмена.Ссылка = ДокументТранспортноеСообщение.ЦиклОбмена
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ТранспортныеКонтейнеры КАК ТранспортныеКонтейнеры
| ПО (ТранспортныеКонтейнеры.ТранспортноеСообщение = ДокументТранспортноеСообщение.Ссылка)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеАрхивированияФайловДОСКонтролирующимиОрганами КАК СостояниеАрхивированияФайловДОСКонтролирующимиОрганами
| ПО (СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Объект = ТранспортныеКонтейнеры.ТранспортноеСообщение)
| И (СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.ИмяФайла = ТранспортныеКонтейнеры.ИмяФайла)
| И (СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Владелец = ЗНАЧЕНИЕ(Перечисление.ВидыАрхивируемыхМетаданныхДО.ТранспортныеКонтейнеры))
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТранспортноеСообщениеКонтейнерыПрисоединенныеФайлы КАК ТранспортноеСообщениеКонтейнерыПрисоединенныеФайлы
| ПО (ТранспортноеСообщениеКонтейнерыПрисоединенныеФайлы.ВладелецФайла = ДокументТранспортноеСообщение.Ссылка)
|ГДЕ
| ЦиклыОбмена.Ссылка В(&МассивОбъектов)
| И СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Архивный = ИСТИНА
|
|ОБЪЕДИНИТЬ ВСЕ
|
|ВЫБРАТЬ
| ТранспортноеСообщениеКонтейнерыПрисоединенныеФайлы.Ссылка,
| СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Владелец,
| СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.ИмяФайла,
| СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Объект
|ИЗ
| Документ.ТранспортноеСообщение КАК ДокументТранспортноеСообщение
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ТранспортныеКонтейнеры КАК ТранспортныеКонтейнеры
| ПО (ТранспортныеКонтейнеры.ТранспортноеСообщение = ДокументТранспортноеСообщение.Ссылка)
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.СостояниеАрхивированияФайловДОСКонтролирующимиОрганами КАК СостояниеАрхивированияФайловДОСКонтролирующимиОрганами
| ПО (СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Объект = ТранспортныеКонтейнеры.ТранспортноеСообщение)
| И (СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.ИмяФайла = ТранспортныеКонтейнеры.ИмяФайла)
| И (СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Владелец = ЗНАЧЕНИЕ(Перечисление.ВидыАрхивируемыхМетаданныхДО.ТранспортныеКонтейнеры))
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ТранспортноеСообщениеКонтейнерыПрисоединенныеФайлы КАК ТранспортноеСообщениеКонтейнерыПрисоединенныеФайлы
| ПО (ТранспортноеСообщениеКонтейнерыПрисоединенныеФайлы.ВладелецФайла = ДокументТранспортноеСообщение.Ссылка)
|ГДЕ
| ТранспортныеКонтейнеры.ТранспортноеСообщение.Ссылка В(&МассивОбъектов)
| И СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Архивный = ИСТИНА";
Запрос = Новый Запрос(ТекстЗапрос);
Запрос.УстановитьПараметр("МассивОбъектов", МассивОбъектов);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
НоваяСтрока = ТаблицаТК.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Выборка);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура КнопкаОбращение(Режим = Истина)
Если РежимМоделиСервиса И БазаПодключенаКУСП Тогда
Если ОтправитьОбращение() = Ложь Тогда
СбойОтправки();
Иначе
ЗакрытьФорму();
КонецЕсли;
ИначеЕсли НЕ РежимМоделиСервиса И ИнтернетПоддержкаПодключена Тогда
ОтправитьОбращениеИТС(Режим);
ИначеЕсли НЕ РежимМоделиСервиса И ПочтаПодключена Тогда
ОтправитьПисьмо(Режим);
Иначе
Перечень_Локальная(Режим);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьОбращениеИТС(Режим = Истина)
ТекстФайла = СформироватьПеречень(Режим);
Если ПустаяСтрока(ТекстФайла) Тогда
Возврат;
КонецЕсли;
ОповещениеЗавершения = Новый ОписаниеОповещения("ПослеОтправкиПеречня", ЭтотОбъект);
МодульСообщенияВСлужбуТехническойПоддержкиКлиент = ОбщегоНазначенияКлиент.ОбщийМодуль("СообщенияВСлужбуТехническойПоддержкиКлиент");
МодульСообщенияВСлужбуТехническойПоддержкиКлиентСервер = ОбщегоНазначенияКлиент.ОбщийМодуль("СообщенияВСлужбуТехническойПоддержкиКлиентСервер");
ДанныеОбращения = МодульСообщенияВСлужбуТехническойПоддержкиКлиентСервер.ДанныеСообщения();
ДанныеОбращения.Вставить("Тема", ТекстТемыОбращения());
ДанныеОбращения.Вставить("Сообщение", ТекстСодержанияОбращения());
ДанныеОбращения.Вставить("Получатель", "webIts");
Вложения = Новый Массив;
НоваяСтрока = Новый Структура;
НоваяСтрока.Вставить("Представление", "ПереченьТК.txt");
НоваяСтрока.Вставить("ВидДанных", "Текст");
НоваяСтрока.Вставить("Данные", ТекстФайла);
Вложения.Добавить(НоваяСтрока);
МодульСообщенияВСлужбуТехническойПоддержкиКлиент.ОтправитьСообщение(ДанныеОбращения, Вложения, Неопределено, ОповещениеЗавершения);
КонецПроцедуры
&НаКлиенте
Процедура ОтправитьПисьмо(Режим = Истина)
ТекстФайла = СформироватьПеречень(Режим);
Если ПустаяСтрока(ТекстФайла) Тогда
Возврат;
КонецЕсли;
ОповещениеЗавершения = Новый ОписаниеОповещения("ПослеОтправкиПеречня", ЭтотОбъект);
ОписаниеФайла = Новый Структура;
ОписаниеФайла.Вставить("Представление", "ПереченьТК.txt");
ОписаниеФайла.Вставить("АдресВоВременномХранилище", ПоместитьВоВременноеХранилище(ТекстФайла));
ОписаниеФайла.Вставить("Кодировка", "");
ПараметрыПисьма = РаботаСПочтовымиСообщениямиКлиент.ПараметрыОтправкиПисьма();
ПараметрыПисьма.Получатель = ПочтаПоддержки();
ПараметрыПисьма.Тема = ТекстТемыОбращения();
ПараметрыПисьма.Текст = ТекстСодержанияОбращения();
ПараметрыПисьма.Вложения = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(ОписаниеФайла);
РаботаСПочтовымиСообщениямиКлиент.СоздатьНовоеПисьмо(ПараметрыПисьма, ОповещениеЗавершения);
КонецПроцедуры
&НаКлиенте
Процедура Перечень_Локальная(Режим)
ТекстФайла = СформироватьПеречень(Режим);
Если ПустаяСтрока(ТекстФайла) Тогда
Возврат;
КонецЕсли;
АдресФайла = ПоместитьВоВременноеХранилище(ТекстФайла);
ОповещениеЗавершения = Новый ОписаниеОповещения("ПослеСохраненияПеречня", ЭтотОбъект);
ПараметрыСохранения = ФайловаяСистемаКлиент.ПараметрыСохраненияФайла();
ПараметрыСохранения.Диалог.Заголовок = НСтр("ru = 'Сохранить перечень ТК для извлечения из архива'");
ПараметрыСохранения.Диалог.Фильтр = "Перечень ТК (*.txt)|*.txt";
ФайловаяСистемаКлиент.СохранитьФайл(ОповещениеЗавершения, АдресФайла, "ПереченьТК.txt", ПараметрыСохранения);
КонецПроцедуры
&НаКлиенте
Процедура ПослеОтправкиПеречня(РезультатОтправки, ДополнительныеФайлы) Экспорт
Если ПустаяСтрока(РезультатОтправки.КодОшибки) Тогда
ПоказатьПредупреждение(,
НСтр("ru = 'Обращение на линию поддержки успешно отправлено'"));
ЗакрытьФорму();
Иначе
СбойОтправки();
ПоказатьПредупреждение(,
НСтр("ru = 'При отправке обращения возникла ошибка'") + Символы.ПС
+ РезультатОтправки.СообщениеОбОшибке);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура СбойОтправки()
ИнтернетПоддержкаПодключена = Ложь;
БазаПодключенаКУСП = Ложь;
ПочтаПодключена = Ложь;
УстановитьВидимостьЭлементов();
КонецПроцедуры
&НаКлиенте
Процедура ПослеСохраненияПеречня(СписокФайлов, ДополнительныеФайлы) Экспорт
Если СписокФайлов <> Неопределено И СписокФайлов.Количество() > 0 Тогда
ОповещениеЗавершения = Новый ОписаниеОповещения("ПослеОткрытияФормы", ЭтотОбъект);
АдресСсылки = "mailto:" + ПочтаПоддержки() + "?subject=" + ТекстТемыОбращения() + "&body=" + ТекстСодержанияОбращения();
ФайловаяСистемаКлиент.ОткрытьНавигационнуюСсылку(АдресСсылки, ОповещениеЗавершения);
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПослеОткрытияФормы(ПриложениеЗапущено, ДополнительныеПараметры) Экспорт
Если ПриложениеЗапущено <> Истина Тогда
ПоказатьПредупреждение(,
+ НСтр("ru = 'Не удалось сформировать письмо в службу поддержки'"));
Иначе
ЗакрытьФорму();
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ЗакрытьФорму()
Закрыть();
КонецПроцедуры
&НаКлиенте
Процедура УстановитьВидимостьЭлементов()
Наполнение = СодержаниеФормы(РежимФормы, РежимМоделиСервиса, БазаПодключенаКУСП, ИнтернетПоддержкаПодключена, ПочтаПодключена);
Заголовок = Наполнение.Заголовок;
Элементы.ГруппаСтраницы.ОтображениеСтраниц = ОтображениеСтраницФормы.Нет;
Если РежимМоделиСервиса И (РежимФормы = "ДлительнаяОперация" ИЛИ РежимФормы = "Расшифровка") Тогда
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаСервис_Расшифровка;
Элементы.ДекорацияСервис.Заголовок = Наполнение.Описание;
Элементы.Обращение_ТекущиеФайлы.Заголовок = Наполнение.Кнопка1;
Элементы.Обращение_ТекущиеФайлы.КнопкаПоУмолчанию = Истина;
ИначеЕсли РежимФормы = "ДлительнаяОперация" ИЛИ РежимФормы = "Расшифровка" Тогда
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаЛокальная_Расшифровка;
Элементы.ДекорацияИзвлечение.Заголовок = Наполнение.Описание;
Элементы.Перечень_ТекущиеФайлы.Заголовок = Наполнение.Кнопка1;
Элементы.Перечень_ТекущиеФайлы.КнопкаПоУмолчанию = Истина;
Элементы.ГруппаВыборРасшифовка.Видимость = ТаблицаТК.Количество() < ВсегоВАрхиве;
ИначеЕсли РежимФормы = "Архив" Тогда
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаСервис_Архив;
Элементы.ДекорацияАрхив.Заголовок = Наполнение.Описание;
Элементы.Обращение_Архив.Заголовок = Наполнение.Кнопка1;
Элементы.Обращение_Архив.КнопкаПоУмолчанию = Истина;
Элементы.Обращение_Архив.Видимость = НЕ РежимМоделиСервиса;
ИначеЕсли РежимФормы = "ВыгрузкаЧастично" ИЛИ РежимФормы = "Выгрузка" Тогда
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаСервис_Выгрузить;
Элементы.ДекорацияВыгрузка.Заголовок = Наполнение.Описание;
Элементы.Обращение_Выгрузить.Заголовок = Наполнение.Кнопка1;
Элементы.Обращение_Пропустить.Заголовок = Наполнение.Кнопка2;
Элементы.Обращение_Пропустить.Видимость = НЕ РежимФормы = "Выгрузка";
ИначеЕсли РежимФормы = "СохранитьЧастично" ИЛИ РежимФормы = "Сохранить" Тогда
Элементы.ГруппаСтраницы.ТекущаяСтраница = Элементы.ГруппаСервис_Выгрузить;
Элементы.ДекорацияВыгрузка.Заголовок = Наполнение.Описание;
Элементы.Обращение_Выгрузить.Заголовок = Наполнение.Кнопка1;
Элементы.Обращение_Пропустить.Заголовок = Наполнение.Кнопка2;
Элементы.Обращение_Пропустить.Видимость = НЕ РежимФормы = "Сохранить";
КонецЕсли;
Элементы.АдресОтвета.Видимость = ПустаяСтрока(АдресДляОтвета) И БазаПодключенаКУСП;
Элементы.АдресОтветаВыгрузить.Видимость = ПустаяСтрока(АдресДляОтвета) И БазаПодключенаКУСП;
КонецПроцедуры
&НаСервере
Функция СформироватьПеречень(ОтборФайлов = Истина)
ТекстЗапроса =
"ВЫБРАТЬ
| ТранспортныеКонтейнеры.Файл КАК Файл,
| ТранспортныеКонтейнеры.ИмяФайла КАК ИмяФайла,
| ТранспортныеКонтейнеры.ВладелецФайла КАК Владелец,
| ТранспортныеКонтейнеры.Объект КАК Объект
|ПОМЕСТИТЬ СписокТК
|ИЗ
| &ТранспортныеКонтейнеры КАК ТранспортныеКонтейнеры
|;
|
|
|ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.АбонентЭДО КАК АбонентЭДО,
| СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Идентификатор КАК Идентификатор,
| СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.ИдентификаторВыгрузки КАК ИдентификаторВыгрузки,
| СписокТК.Файл КАК Файл,
| СписокТК.ИмяФайла КАК ИмяФайла,
| СписокТК.Владелец КАК Владелец
|ИЗ
| РегистрСведений.СостояниеАрхивированияФайловДОСКонтролирующимиОрганами КАК СостояниеАрхивированияФайловДОСКонтролирующимиОрганами
| ЛЕВОЕ СОЕДИНЕНИЕ СписокТК КАК СписокТК
| ПО (СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Файл = СписокТК.Файл
| ИЛИ СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Объект = СписокТК.Объект
| И СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.ИмяФайла = СписокТК.ИмяФайла
| И СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Владелец = СписокТК.Владелец)
|ГДЕ
| (&ВсеКонтейнеры = ИСТИНА
| ИЛИ НЕ СписокТК.Объект ЕСТЬ NULL)
| И СостояниеАрхивированияФайловДОСКонтролирующимиОрганами.Архивный = ИСТИНА";
Запрос = Новый Запрос(ТекстЗапроса);
Если ОтборФайлов Тогда
Запрос.УстановитьПараметр("ТранспортныеКонтейнеры", ТаблицаТК.Выгрузить());
Запрос.УстановитьПараметр("ВсеКонтейнеры", Ложь);
Иначе
Запрос.УстановитьПараметр("ТранспортныеКонтейнеры", Новый ТаблицаЗначений);
Запрос.УстановитьПараметр("ВсеКонтейнеры", Истина);
КонецЕсли;
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
Результат = ИдентификацияФайла(Выборка.Идентификатор, Выборка.ИмяФайла, Выборка.Владелец, Выборка.ИдентификаторВыгрузки, Выборка.АбонентЭДО).Первый
+ Символы.ПС;
КонецЦикла;
Возврат СокрП(Результат);
КонецФункции
&НаСервереБезКонтекста
Функция ИдентификацияФайла(ИдентификаторФайла, ИмяФайла, Вид, ИдентификаторВыгрузки, ИдентификаторАбонента)
СоздаватьЛинки = Ложь;
Результат = Новый Структура("Первый, Второй", "", "");
СведенияФайла = Новый Файл(ИмяФайла);
ТекущийРазделитель = "=";
Если СоздаватьЛинки Тогда
Результат.Первый = КатегорияФайла(Вид) + ТекущийРазделитель
+ ИдентификаторАбонента + ТекущийРазделитель
+ ИдентификаторФайла + СведенияФайла.Расширение;
Иначе
Результат.Первый = КатегорияФайла(Вид) + ТекущийРазделитель
+ ИдентификаторВыгрузки + ТекущийРазделитель
+ ИдентификаторАбонента + ТекущийРазделитель
+ ИдентификаторФайла + СведенияФайла.Расширение;
КонецЕсли;
Результат.Второй = ИдентификаторВыгрузки + ТекущийРазделитель
+ ИдентификаторАбонента + ТекущийРазделитель
+ ИдентификаторФайла + СведенияФайла.Расширение;
Возврат Результат;
КонецФункции
&НаСервереБезКонтекста
Функция КатегорияФайла(Вид)
Результат = "NONE";
Если Вид = Перечисления.ВидыАрхивируемыхМетаданныхДО.ТранспортныеКонтейнеры Тогда
Результат = "TC";
КонецЕсли;
Возврат Результат;
КонецФункции
&НаСервереБезКонтекста
Функция ТекстТемыОбращения()
Результат = НСтр("ru = 'Запрос на выгрузку архива 1С-Отчетности в 1C:Fresh'");
Возврат Результат;
КонецФункции
&НаСервере
Функция ТекстСодержанияОбращения()
Если РежимМоделиСервиса Тогда
Результат = НСтр("ru = 'Для корректной работы требуется получить пакет файлов'") + Символы.ПС
+ " " + НСтр("ru = 'транспортных контейнеров 1С-Отчетности, которые были помещены в архив.'") + Символы.ПС;
Иначе
Результат = НСтр("ru = 'Для корректной работы ИБ в локальном режиме требуется получить пакет файлов'") + Символы.ПС
+ " " + НСтр("ru = 'транспортных контейнеров 1С-Отчетности, которые были помещены в архив в период работы'") + Символы.ПС
+ " " + НСтр("ru = 'пользователя в сервисе'")+ " 1C:Fresh." + Символы.ПС;
КонецЕсли;
Результат = Результат + Символы.ПС + " " + НСтр("ru = 'Передать обращение на вторую линию поддержки 1C:Fresh.'");
Результат = Результат + Символы.ПС + " " + НСтр("ru = 'Перечень транспортных контейнеров приложен.'");
Возврат Результат;
КонецФункции
&НаСервереБезКонтекста
Функция ПочтаПоддержки()
Возврат "support@1cfresh.com";
КонецФункции
&НаСервереБезКонтекста
Функция СодержаниеФормы(РежимФормы, РежимМоделиСервиса, БазаПодключенаКУСП, ИнтернетПоддержкаПодключена, ПочтаПодключена)
Результат = Новый Структура;
Результат.Вставить("Заголовок", "Извлечение из архива");
Результат.Вставить("Описание", "");
Результат.Вставить("Кнопка1", "");
Результат.Вставить("Кнопка2", "");
Заголовок = "";
Тело = "";
Добавка1 = "";
Если НЕ РежимМоделиСервиса Тогда
Добавка1 = " " + НСтр("ru = 'в период работы в сервисе 1C:Fresh'");
КонецЕсли;
Добавка2 = НСтр("ru = ', чтобы не превышать допустимый размер информационной базы.'");
Если РежимФормы = "Архив" Тогда
Результат.Заголовок = "Транспортные контейнеры перемещенные в архив";
Заголовок = НСтр("ru = 'Обнаружены транспортные контейнеры, файлы которых были перемещены в архив'");
ИначеЕсли РежимФормы = "ДлительнаяОперация" Тогда
Результат.Заголовок = "Расшифровка сообщений";
Заголовок = НСтр("ru = 'Транспортные контейнеры по старым документам были перемещены в архив'");
ИначеЕсли РежимФормы = "Выгрузка" Тогда
Результат.Заголовок = "Выгрузка файлов и подписей";
Заголовок = НСтр("ru = 'Транспортные контейнеры по старым документам были перемещены в архив'");
ИначеЕсли РежимФормы = "ВыгрузкаЧастично" Тогда
Результат.Заголовок = "Выгрузка файлов и подписей";
Заголовок = НСтр("ru = 'Транспортные контейнеры по старым документам были перемещены в архив'");
ИначеЕсли РежимФормы = "Сохранить" Тогда
Результат.Заголовок = "Выгрузка транспортных контейнеров";
Заголовок = НСтр("ru = 'Транспортные контейнеры по старым документам были перемещены в архив'");
ИначеЕсли РежимФормы = "СохранитьЧастично" Тогда
Результат.Заголовок = "Транспортные контейнеры по старым документам были перемещены в архив";
Заголовок = НСтр("ru = 'Транспортные контейнеры были перемещены в архив.'");
ИначеЕсли РежимФормы = "Расшифровка" Тогда
Результат.Заголовок = "Расшифровка сообщения";
Заголовок = НСтр("ru = 'Транспортный контейнер по старому отчету был перемещен в архив'");
КонецЕсли;
Заголовок = Заголовок + Добавка1 + Добавка2;
Если РежимФормы = "Архив" И РежимМоделиСервиса Тогда
Тело = НСтр("ru = 'При выгрузке требуемого документа можно оформить обращение для восстановления из архива.'");
ИначеЕсли РежимФормы = "Архив" И ИнтернетПоддержкаПодключена Тогда
Тело = НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные, необходимо отправить обращение на линию консультаций фирмы ""1C"".'")
+ " " + НСтр("ru = 'Вложить сохраненный файл в сформированное письмо и отправить на электронный адрес <a href=""%1"">%1</a>'.");
Результат.Кнопка1 = НСтр("ru = 'Отправить обращение'");
ИначеЕсли РежимФормы = "Архив" Тогда
Тело = НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные, необходимо сформировать файл с перечнем транспортных контейнеров.'")
+ " " + НСтр("ru = 'Вложить сохраненный файл в сформированное письмо и отправить на электронный адрес <a href=""%1"">%1</a>'.");
Результат.Кнопка1 = НСтр("ru = 'Сформировать письмо'");
ИначеЕсли РежимФормы = "ДлительнаяОперация" И РежимМоделиСервиса И БазаПодключенаКУСП Тогда
Тело = НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо отправить обращение на линию консультаций фирмы ""1C"".'")
+ " " + НСтр("ru = 'После рассмотрения обращения сможете расшифровать сообщения.'");
Результат.Кнопка1 = НСтр("ru = 'Отправить обращение'");
ИначеЕсли РежимФормы = "ДлительнаяОперация" И РежимМоделиСервиса И НЕ БазаПодключенаКУСП Тогда
Тело = НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные, необходимо сформировать файл с перечнем транспортных контейнеров.'")
+ " " + НСтр("ru = 'Вложить сохраненный файл в сформированное письмо и отправить на электронный адрес <a href=""%1"">%1</a>.'")
+ " " + НСтр("ru = 'После рассмотрения обращения сможете расшифровать сообщения.'");
Результат.Кнопка1 = НСтр("ru = 'Сформировать письмо'");
ИначеЕсли РежимФормы = "ДлительнаяОперация" И НЕ РежимМоделиСервиса И ИнтернетПоддержкаПодключена Тогда
Тело = НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо отправить обращение на линию консультаций фирмы ""1C"".'");
Результат.Кнопка1 = НСтр("ru = 'Отправить обращение'");
ИначеЕсли РежимФормы = "ДлительнаяОперация" И НЕ РежимМоделиСервиса И НЕ ИнтернетПоддержкаПодключена Тогда
Тело = НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'сформировать файл с перечнем транспортных контейнеров.'")
+ " " + НСтр("ru = 'Вложить сохраненный файл в сформированное письмо и отправить на электронный адрес <a href=""%1"">%1</a>.'");
Результат.Кнопка1 = НСтр("ru = 'Сформировать письмо'");
ИначеЕсли РежимФормы = "ВыгрузкаЧастично" И РежимМоделиСервиса И БазаПодключенаКУСП Тогда
Тело = НСтр("ru = 'Вы можете выгрузить содержимое транспортных контейнеров по кнопке ""Выгрузить содержимое без контейнеров"".'")
+ Символы.ПС + Символы.ПС
+ НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'отправить обращение на линию консультаций фирмы ""1C"".'")
+ " " + НСтр("ru = 'После рассмотрения обращения сможете выгрузить файлы.'");
Результат.Кнопка1 = НСтр("ru = 'Отправить обращение'");
Результат.Кнопка2 = НСтр("ru = 'Выгрузить содержимое без контейнеров'");
ИначеЕсли РежимФормы = "ВыгрузкаЧастично" И РежимМоделиСервиса И НЕ БазаПодключенаКУСП Тогда
Тело = НСтр("ru = 'Вы можете выгрузить содержимое транспортных контейнеров по кнопке ""Выгрузить содержимое без контейнеров"".'")
+ Символы.ПС + Символы.ПС
+ НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'сформировать файл с перечнем транспортных контейнеров.'")
+ " " + НСтр("ru = 'Вложить сохраненный файл в сформированное письмо и отправить на электронный адрес <a href=""%1"">%1</a>.'")
+ " " + НСтр("ru = 'После рассмотрения обращения сможете выгрузить файлы.'");
Результат.Кнопка1 = НСтр("ru = 'Сформировать письмо'");
Результат.Кнопка2 = НСтр("ru = 'Выгрузить содержимое без контейнеров'");
ИначеЕсли РежимФормы = "ВыгрузкаЧастично" И НЕ РежимМоделиСервиса И ИнтернетПоддержкаПодключена Тогда
Тело = НСтр("ru = 'Вы можете выгрузить содержимое транспортных контейнеров по кнопке ""Выгрузить содержимое без контейнеров"".'")
+ Символы.ПС + Символы.ПС
+ НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'отправить обращение на линию консультаций фирмы ""1C"".'");
Результат.Кнопка1 = НСтр("ru = 'Отправить обращение'");
Результат.Кнопка2 = НСтр("ru = 'Выгрузить содержимое без контейнеров'");
ИначеЕсли РежимФормы = "ВыгрузкаЧастично" И НЕ РежимМоделиСервиса И НЕ ИнтернетПоддержкаПодключена Тогда
Тело = НСтр("ru = 'Вы можете выгрузить содержимое транспортных контейнеров по кнопке ""Выгрузить содержимое без контейнеров"".'")
+ Символы.ПС + Символы.ПС
+ НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'сформировать файл с перечнем транспортных контейнеров.'")
+ " " + НСтр("ru = 'Вложить сохраненный файл в сформированное письмо и отправить на электронный адрес <a href=""%1"">%1</a>.'");
Результат.Кнопка1 = НСтр("ru = 'Сформировать письмо'");
Результат.Кнопка2 = НСтр("ru = 'Выгрузить содержимое без контейнеров'");
ИначеЕсли РежимФормы = "Выгрузка" И РежимМоделиСервиса И БазаПодключенаКУСП Тогда
Тело = НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'отправить обращение на линию консультаций фирмы ""1C"".'")
+ " " + НСтр("ru = 'После рассмотрения обращения сможете выгрузить файлы.'");
Результат.Кнопка1 = НСтр("ru = 'Отправить обращение'");
ИначеЕсли РежимФормы = "Выгрузка" И РежимМоделиСервиса И НЕ БазаПодключенаКУСП Тогда
Тело = НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'сформировать файл с перечнем транспортных контейнеров.'")
+ " " + НСтр("ru = 'Вложить сохраненный файл в сформированное письмо и отправить на электронный адрес <a href=""%1"">%1</a>.'")
+ " " + НСтр("ru = 'После рассмотрения обращения сможете выгрузить файлы.'");
Результат.Кнопка1 = НСтр("ru = 'Сформировать письмо'");
ИначеЕсли РежимФормы = "Выгрузка" И НЕ РежимМоделиСервиса И ИнтернетПоддержкаПодключена Тогда
Тело = НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'отправить обращение на линию консультаций фирмы ""1C"".'");
Результат.Кнопка1 = НСтр("ru = 'Отправить обращение'");
ИначеЕсли РежимФормы = "Выгрузка" И НЕ РежимМоделиСервиса И НЕ ИнтернетПоддержкаПодключена Тогда
Тело = НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'сформировать файл с перечнем транспортных контейнеров.'")
+ " " + НСтр("ru = 'Вложить сохраненный файл в сформированное письмо и отправить на электронный адрес <a href=""%1"">%1</a>.'");
Результат.Кнопка1 = НСтр("ru = 'Сформировать письмо'");
ИначеЕсли РежимФормы = "СохранитьЧастично" И РежимМоделиСервиса И БазаПодключенаКУСП Тогда
Тело = НСтр("ru = 'Вы можете выгрузить содержимое транспортных контейнеров по кнопке ""Выгрузить содержимое без контейнеров"".'")
+ Символы.ПС + Символы.ПС
+ НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'отправить обращение на линию консультаций фирмы ""1C"".'")
+ " " + НСтр("ru = 'После рассмотрения обращения сможете выгрузить файлы.'");
Результат.Кнопка1 = НСтр("ru = 'Отправить обращение'");
Результат.Кнопка2 = НСтр("ru = 'Выгрузить содержимое без контейнеров'");
ИначеЕсли РежимФормы = "СохранитьЧастично" И РежимМоделиСервиса И НЕ БазаПодключенаКУСП Тогда
Тело = НСтр("ru = 'Вы можете выгрузить содержимое транспортных контейнеров по кнопке ""Выгрузить содержимое без контейнеров"".'")
+ Символы.ПС + Символы.ПС
+ НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'сформировать файл с перечнем транспортных контейнеров.'")
+ " " + НСтр("ru = 'Вложить сохраненный файл в сформированное письмо и отправить на электронный адрес <a href=""%1"">%1</a>.'")
+ " " + НСтр("ru = 'После рассмотрения обращения сможете выгрузить файлы.'");
Результат.Кнопка1 = НСтр("ru = 'Сформировать письмо'");
Результат.Кнопка2 = НСтр("ru = 'Выгрузить содержимое без контейнеров'");
ИначеЕсли РежимФормы = "СохранитьЧастично" И НЕ РежимМоделиСервиса И ИнтернетПоддержкаПодключена Тогда
Тело = НСтр("ru = 'Вы можете выгрузить содержимое транспортных контейнеров по кнопке ""Выгрузить содержимое без контейнеров"".'")
+ Символы.ПС + Символы.ПС
+ НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'отправить обращение на линию консультаций фирмы ""1C"".'");
Результат.Кнопка1 = НСтр("ru = 'Сформировать письмо'");
Результат.Кнопка2 = НСтр("ru = 'Выгрузить содержимое без контейнеров'");
ИначеЕсли РежимФормы = "СохранитьЧастично" И НЕ РежимМоделиСервиса И НЕ ИнтернетПоддержкаПодключена Тогда
Тело = НСтр("ru = 'Вы можете выгрузить содержимое транспортных контейнеров по кнопке ""Выгрузить содержимое без контейнеров"".'")
+ Символы.ПС + Символы.ПС
+ НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'сформировать файл с перечнем транспортных контейнеров.'")
+ " " + НСтр("ru = 'Вложить сохраненный файл в сформированное письмо и отправить на электронный адрес <a href=""%1"">%1</a>.'");
Результат.Кнопка1 = НСтр("ru = 'Сформировать письмо'");
Результат.Кнопка2 = НСтр("ru = 'Выгрузить содержимое без контейнеров'");
ИначеЕсли РежимФормы = "Сохранить" И РежимМоделиСервиса И БазаПодключенаКУСП Тогда
Тело = НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'отправить обращение на линию консультаций фирмы ""1C"".'")
+ " " + НСтр("ru = 'После рассмотрения обращения сможете выгрузить файлы.'");
Результат.Кнопка1 = НСтр("ru = 'Отправить обращение'");
ИначеЕсли РежимФормы = "Сохранить" И РежимМоделиСервиса И НЕ БазаПодключенаКУСП Тогда
Тело = НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'сформировать файл с перечнем транспортных контейнеров.'")
+ " " + НСтр("ru = 'Вложить сохраненный файл в сформированное письмо и отправить на электронный адрес <a href=""%1"">%1</a>.'")
+ " " + НСтр("ru = 'После рассмотрения обращения сможете выгрузить файлы.'");
Результат.Кнопка1 = НСтр("ru = 'Сформировать письмо'");
ИначеЕсли РежимФормы = "Сохранить" И НЕ РежимМоделиСервиса И ИнтернетПоддержкаПодключена Тогда
Тело = НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'отправить обращение на линию консультаций фирмы ""1C"".'");
Результат.Кнопка1 = НСтр("ru = 'Отправить обращение'");
ИначеЕсли РежимФормы = "Сохранить" И НЕ РежимМоделиСервиса И НЕ ИнтернетПоддержкаПодключена Тогда
Тело = НСтр("ru = 'Чтобы получить старые транспортные контейнеры, содержащие нерасшифрованные данные по документу, необходимо'")
+ " " + НСтр("ru = 'сформировать файл с перечнем транспортных контейнеров.'")
+ " " + НСтр("ru = 'Вложить сохраненный файл в сформированное письмо и отправить на электронный адрес <a href=""%1"">%1</a>.'");
Результат.Кнопка1 = НСтр("ru = 'Сформировать письмо'");
ИначеЕсли РежимФормы = "Расшифровка" И РежимМоделиСервиса И БазаПодключенаКУСП Тогда
Тело = НСтр("ru = 'Чтобы расшифровать старые транспортные контейнеры необходимо'")
+ " " + НСтр("ru = 'отправить обращение на линию консультаций фирмы ""1C"".'")
+ " " + НСтр("ru = 'После рассмотрения обращения сможете расшифровать.'");
Результат.Кнопка1 = НСтр("ru = 'Отправить обращение'");
ИначеЕсли РежимФормы = "Расшифровка" И РежимМоделиСервиса И НЕ БазаПодключенаКУСП Тогда
Тело = НСтр("ru = 'Чтобы расшифровать старые транспортные контейнеры необходимо'")
+ " " + НСтр("ru = 'сформировать файл с перечнем.'")
+ " " + НСтр("ru = 'Вложить сохраненный файл в сформированное письмо и отправить на электронный адрес <a href=""%1"">%1</a>.'")
+ " " + НСтр("ru = 'После рассмотрения обращения сможете расшифровать.'");
Результат.Кнопка1 = НСтр("ru = 'Сформировать письмо'");
ИначеЕсли РежимФормы = "Расшифровка" И НЕ РежимМоделиСервиса И ИнтернетПоддержкаПодключена Тогда
Тело = НСтр("ru = 'Чтобы расшифровать старые транспортные контейнеры необходимо'")
+ " " + НСтр("ru = 'отправить обращение на линию консультаций фирмы ""1C"".'");
Результат.Кнопка1 = НСтр("ru = 'Отправить обращение'");
ИначеЕсли РежимФормы = "Расшифровка" И НЕ РежимМоделиСервиса И НЕ ИнтернетПоддержкаПодключена Тогда
Тело = НСтр("ru = 'Чтобы расшифровать старые транспортные контейнеры необходимо'")
+ " " + НСтр("ru = 'сформировать файл с перечнем.'")
+ " " + НСтр("ru = 'Вложить сохраненный файл в сформированное письмо и отправить на электронный адрес <a href=""%1"">%1</a>.'");
Результат.Кнопка1 = НСтр("ru = 'Сформировать письмо'");
КонецЕсли;
Тело = СтрЗаменить(Тело, "%1", ПочтаПоддержки());
Результат.Описание = СтроковыеФункции.ФорматированнаяСтрока(Заголовок + Символы.ПС + Символы.ПС + Тело);
Возврат Результат;
КонецФункции
#Область ОбращенияФреш
&НаСервере
Функция ЗаполнитьШаблономСодержание(ТекстОбращения)
Текст = ОбщегоНазначения.ОбщийМодуль("ИнформационныйЦентрСервер").ШаблонТекстаВТехПоддержку();
СтрокаПозицияКурсора = НСтр("ru = 'ПозицияКурсора'");
ПозицияКурсора = СтрНайти(Текст, СтрокаПозицияКурсора) - 9;
Возврат СтрЗаменить(Текст, СтрокаПозицияКурсора, ТекстОбращения);
КонецФункции
&НаСервере
Функция ОтправитьОбращение(Режим = Истина)
Результат = Ложь;
ТекстФайла = СформироватьПеречень(Режим);
Отказ = ПустаяСтрока(ТекстФайла);
Если ПустаяСтрока(АдресДляОтвета) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru = 'Необходимо указать адрес электронной почты'"), , , "АдресДляОтвета", Отказ);
ИначеЕсли НЕ ОбщегоНазначенияКлиентСервер.АдресЭлектроннойПочтыСоответствуетТребованиям(АдресДляОтвета) Тогда
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(НСтр("ru = 'Адрес электронной почты указан не корректно'"), , , "АдресДляОтвета", Отказ);
КонецЕсли;
Если Отказ Тогда
Возврат Результат;
КонецЕсли;
МодульИнформационныйЦентрСервер = ОбщегоНазначения.ОбщийМодуль("ИнформационныйЦентрСервер");
МодульИнформационныйЦентрСлужебный = ОбщегоНазначения.ОбщийМодуль("ИнформационныйЦентрСлужебный");
МодульОбработкиИнформационныйЦентр = ОбщегоНазначения.ОбщийМодуль("Обработки.ИнформационныйЦентр");
МодульРаботаВМоделиСервиса = ОбщегоНазначения.ОбщийМодуль("РаботаВМоделиСервиса");
ТекстHTML = ЗаполнитьШаблономСодержание(ТекстСодержанияОбращения());
МодульОбработкиИнформационныйЦентр.ДобавитьИнформациюОПриложении(ТекстHTML, Новый Структура);
КодПользователя = МодульИнформационныйЦентрСервер.КодПользователяДляДоступа();
ОбластьДанных = МодульРаботаВМоделиСервиса.ЗначениеРазделителяСеанса();
Попытка
WSПрокси = МодульИнформационныйЦентрСервер.ПолучитьПроксиСлужбыПоддержки();
СписокФайловXDTO = СформироватьСписокФайловXDTO(WSПрокси.ФабрикаXDTO, ТекстФайла);
WSПрокси.addComments(КодПользователя, "", ТекстТемыОбращения(),
ТекстHTML, Истина, СписокФайловXDTO, ОбластьДанных, АдресДляОтвета);
Результат = Истина;
Исключение
ТекстОшибки = МодульИнформационныйЦентрСлужебный.ПодробныйТекстОшибки(ИнформацияОбОшибке());
ЗаписьЖурналаРегистрации(МодульИнформационныйЦентрСервер.ПолучитьИмяСобытияДляЖурналаРегистрации(),
УровеньЖурналаРегистрации.Ошибка,,, ТекстОшибки);
ТекстВывода = МодульИнформационныйЦентрСервер.ТекстВыводаИнформацииОбОшибкеВСлужбеПоддержки();
ОбщегоНазначенияКлиентСервер.СообщитьПользователю(ТекстВывода);
КонецПопытки;
Возврат Результат;
КонецФункции
&НаСервере
Функция СформироватьСписокФайловXDTO(Фабрика, ТекстПеречня)
ТипСпискаФайлов = Фабрика.Тип("http://www.1c.ru/1cFresh/InformationCenter/SupportServiceData/1.0.0.1", "ListFile");
СписокФайлов = Фабрика.Создать(ТипСпискаФайлов);
ТипФайла = Фабрика.Тип("http://www.1c.ru/1cFresh/InformationCenter/SupportServiceData/1.0.0.1", "File");
ФайлОбъект = Фабрика.Создать(ТипФайла);
ФайлОбъект.Name = "ПереченьТК";
ФайлОбъект.Data = ТекстПеречня;
ФайлОбъект.Extension = "txt";
ФайлОбъект.Size = СтрДлина(ТекстПеречня);
МодульОбработкиИнформационныйЦентр = ОбщегоНазначения.ОбщийМодуль("Обработки.ИнформационныйЦентр");
МодульОбработкиИнформационныйЦентр.ДобавитьЗначениеВСписокXDTO(СписокФайлов, "Files", ФайлОбъект);
Возврат СписокФайлов;
КонецФункции
#КонецОбласти
#КонецОбласти