Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
11 дек 2024, 23:28

Сохранение PDF-файла из сторонней SQL базы.

Автор sergejkonet, 31 янв 2014, 10:28

0 Пользователей и 1 гость просматривают эту тему.

sergejkonet

Добрый день!

Нужно реализовать сохранение или открытие pdf-файлов из сторонней sql-базы. в sql хранится одна таблица с двумя параметрами: номер и само изображение(бинарник), К базе подключается, запись нужную находит, а вот открыть не получается. Выдает ошибку "Неправильный путь к файлу '25 50 44 46 2D 31 2E....." и дальше содержание бинарника. Я так пониманию нужно указать в ОписанииПердаваемогоФайла, другие параметры. Но какие что-то не пойму. Пробовал ссылку на ВнешниеИсточникиДанных, не проходит. Да. при нажатии кнопки запускающей процедуру, предлагает сохранить или открыть, при сохранении выдает ошибку, но в папке qw появляется файл pdf 0байт..Прошу подсказать с решением данной проблемы. Сам я 1С занимаюсь недавно. Только учусь еще.


Процедура VievНажатие(Элемент)
   
НомерЧертежа = СокрЛП(ЭлементыФормы.СправочникСписок.ТекущаяСтрока.Код);

        Параметры = ВнешниеИсточникиДанных.Чертежи.ПолучитьОбщиеПараметрыСоединения();
Параметры.АутентификацияСтандартная = Истина;
Параметры.ИмяПользователя = "sa";
Параметры.Пароль = "1";
Параметры.СтрокаСоединения = "DRIVER={SQL Server};SERVER=(local);UID=sa;PWD=1;DATABASE=Fotos";
Параметры.СУБД = "MSSQLServer";

ВнешниеИсточникиДанных.Чертежи.УстановитьОбщиеПараметрыСоединения(Параметры);
ВнешниеИсточникиДанных.Чертежи.УстановитьПараметрыСоединенияПользователя(ИмяПользователя(), Параметры);
ВнешниеИсточникиДанных.Чертежи.УстановитьПараметрыСоединенияСеанса(Параметры);


ВнешниеИсточникиДанных.Чертежи.УстановитьСоединение();
Запрос = Новый Запрос;

Запрос.Текст = "ВЫБРАТЬ
|    dbo_Chertezhi.image
|ИЗ
|    ВнешнийИсточникДанных.Чертежи.Таблица.dbo_Chertezhi КАК dbo_Chertezhi ГДЕ dbo_Chertezhi.number = &НомерЧертежа"  ;
Запрос.УстановитьПараметр("НомерЧертежа",НомерЧертежа);

Рез=Запрос.Выполнить().Выбрать();
Если Рез.Следующий() Тогда
ПолучаемыйФайл = Новый ОписаниеПередаваемогоФайла("D:\qw\" + "scan.pdf", Рез.image);
    ПолучаемыеФайлы = Новый Массив;
    ПолучаемыеФайлы.Добавить(ПолучаемыйФайл);
       ПолученныеФайлы = Новый Массив;
     ПолучитьФайлы(ПолучаемыеФайлы, ПолученныеФайлы)  ;

    КонецЕсли;

КонецПроцедуры
[code]
   


Похожие темы (5)

Рейтинг@Mail.ru

Поиск