Обычное дело - дать возможность сохранить документ в том или ином формате, как?
Что имеем: рабочий веб-сервис, тип возвращаемого значения - строка
Делаю так:
1. Получаю ТабДокумент = Док.Печать()
2. Сохраняю ТабДокумент.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.HTML4)
3. Читаю текст Т = Новый ТекстовыйДокумент; Т.Прочитать(ИмяФайла)
4. Возврат Т.ПолучитьТекст();
Работает, но полнейшее ощущение, что так не правильно
Пробовал PDF, XLS вместо HTML4, говорит "Internal Server Error"
Думаю, что из-за возвращаемого типа строка...но что тогда?
ПОЛУЧИЛОСЬ! Кому интересно:
Делается простой вебсервис (у меня Print), возвращается строка.
1. Берем любую печатную форму, сохраняем как PDF, например.
2. Создаем двоичные данные ДД = Новый ДвоичныеДанные(ИмяФайла);
3. Возврат Base64Строка(ДД);
Я запрос из php делал, там так
header("Content-type: application/pdf; charset=UTF-8");
try {
$client = new SoapClient("Адрес веб сервиса?wsdl", array("trace" => 0,"exceptions" => 1));
$result = $client->Print(array("doc"=>'Счет', "number"=>"55555"));
echo base64_decode($result->return);
}
catch (Exception $e)
{echo $e->getMessage();
return;
}