Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   УФ и дополнительный внешний отчет (http://forums.kuban.ru/f1040/uf_i_dopolnitel-nyj_vneshnij_otchet-3575587.html)

MariaIs 20.01.2013 19:09

УФ и дополнительный внешний отчет
 
Помогите пожалуйста!
С УФ раньше не сталкивалась.

УТ11.
Задача: одновременно с печатью накладной нужно еще выкинуть на печать картинки, которые прикреплены к номенклатуре.
Как делала в УТ 10.3: файлы располагались не в хранилище, а на жестком диске (в базе хранились только пути к файлам), файлы заталкивала в ТД, делала фит до размера страницы и все было хорошо.
Что попробовала: в модуле формы наделала процедур: на сервере запросом получить список прикрепленных файлов, получить их структуру, на клиенте получить массив структур с серверной процедуры и получить файлы на диске, потом на сервере делаю ТД, помещая туда физические файлы, отправляю ТД на клиента и печатаю. Все отлично (т.к. база файловая и веб-клиент не используется) казалось бы. Но когда я эту внешнюю печатную форму помещаю в "доп.внешние отчеты", то работает не то, что наделала в модуле формы, а то, что есть в модуле объекта!!! Ну, оно понятно, конечно, ведь внешняя форма засасывается на сервер, а там нет никакого клиента. Ну а мне-то что делать ??? Помогииииииитеееее ...

Reaper 20.01.2013 19:19

Файлы нужно получать средствами БСП. Печать должна работать целиком на сервере, в одном вызове. Картинки должны быть сформированы на основании двоичных данных и включены в табличный документ.

MariaIs 20.01.2013 19:23

> Картинки должны быть сформированы на основании двоичных данных

Вот с этим и проблема :( Понимаю, что нужно сделать вот так: ДД.Получить().Записать(Путь), но в том-то и дело, что Получить() возвращает "неопределено", а значит, Записать(Путь) ругается, что не существует такого метода ... С двоичными данными работала, но не в УП, там все было хорошо.

Reaper 20.01.2013 19:38

Так делать не нужно. Нужно создавать объект встроенного языка "картинка" на основании двоичных данных.

MariaIs 20.01.2013 19:45

Я вот так делала:
Рис = ПростойЗаголовок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка);
Рис.Картинка = Новый Картинка(Фл);
ТД.Вывести(ПростойЗаголовок);

Но как вставить в ТД не файл с картинкой, а ДД ?

MariaIs 20.01.2013 20:06

Если в Новый Картинка(Фл); в качестве Фл вставляешь ссылку на двоичные данные, то получаю ошибку типа "Каталог не обнаружен 'e1cib\tempstorage ....".

MariaIs 20.01.2013 20:37

вверх

MariaIs 20.01.2013 21:26

Помогиииитееее ...

Gloom 20.01.2013 23:40

[quote=MariaIs;28652587] Если в Новый Картинка(Фл); в качестве Фл вставляешь ссылку на двоичные данные, то получаю ошибку типа "Каталог не обнаружен 'e1cib\tempstorage ....". [/quote]
Судя по ошибке, в переменной Фл у тебя не ссылка на двоичные данные, а адрес во временном хранилище.

MariaIs 20.01.2013 23:54

Судите сами. Пробовала рассматривать в качестве ДД:
1. Свойство "СсылкаНаДвоичныеДанныеФайла" структуры, которую возвращает функция "ПолучитьДанныеФайла(" из библиотеки "Присоединенные файлы".
2. Поле "ФайлХранилище", полученное запросом из справочника "НоменклатураПрисоединенныеФайлы". Поле имеет тип "ХранилищеЗначения".

Речь, напомню, про типовую УТ11.

Gloom 21.01.2013 00:48

Как раз СсылкаНаДвоичныеДанныеФайла содержит адрес временного хранилища. Плюс ещё нюанс есть - в хранилище могут как двоичные данные быть, так и картинка непосредственно. Т.е. после получения данных из хранилища надо проверить, что за тип мы имеем:
Данные = ПолучитьИзВременногоХранилища(СсылкаНаДвоичныеДанныеФайла);
Если ТипЗнч(Данные) ...

MariaIs 21.01.2013 10:42

В ответ на сообщить(ТипЗнч(Данные)) пишет, что "Двоичные данные". Но когда я пытаюсь делать Данные.Получить(), сообщает, что "Метод объекта не обнаружен (Получить)" :(((( Но ведь так не бывает!!!!!!! Что это ???

MariaIs 21.01.2013 10:45

Урраааааа !!!!!!!!!!!
И не надо делать Получить() !!!!!!
Это и есть картинка !!!!
Спасибо вам душевное, Gloom !!!!


Текущее время: 11:15. Часовой пояс GMT +3.