|
ВебСервис 8.2 Как передать печатную форму? |
☑ |
0
52996298
30.01.12
✎
15:20
|
Обычное дело - дать возможность сохранить документ в том или ином формате, как?
Что имеем: рабочий веб-сервис, тип возвращаемого значения - строка
Делаю так:
1. Получаю ТабДокумент = Док.Печать()
2. Сохраняю ТабДокумент.Записать(ИмяФайла,ТипФайлаТабличногоДокумента.HTML4)
3. Читаю текст Т = Новый ТекстовыйДокумент; Т.Прочитать(ИмяФайла)
4. Возврат Т.ПолучитьТекст();
Работает, но полнейшее ощущение, что так не правильно
Пробовал PDF, XLS вместо HTML4, говорит "Internal Server Error"
Думаю, что из-за возвращаемого типа строка...но что тогда?
Помогите!
|
|
1
52996298
30.01.12
✎
23:18
|
Или единственный путь создавать файл и возвращать ссылку на него?
|
|
2
toypaul
гуру
30.01.12
✎
23:30
|
может не единственный, но точно работающий
|
|
3
52996298
31.01.12
✎
17:08
|
ПОЛУЧИЛОСЬ! Кому интересно:
Делается простой вебсервис (у меня 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;
}
|
|
4
Fragster
гуру
31.01.12
✎
17:11
|
передавай двоичныеданные, а внутри - html макет
|
|
5
Fragster
гуру
31.01.12
✎
17:11
|
(3) а, ну можно и PDF
|
|
6
toypaul
гуру
31.01.12
✎
20:55
|
по-моему в книгу знаний достойно
|
|