УФ и дополнительный внешний отчет Помогите пожалуйста! С УФ раньше не сталкивалась. УТ11. Задача: одновременно с печатью накладной нужно еще выкинуть на печать картинки, которые прикреплены к номенклатуре. Как делала в УТ 10.3: файлы располагались не в хранилище, а на жестком диске (в базе хранились только пути к файлам), файлы заталкивала в ТД, делала фит до размера страницы и все было хорошо. Что попробовала: в модуле формы наделала процедур: на сервере запросом получить список прикрепленных файлов, получить их структуру, на клиенте получить массив структур с серверной процедуры и получить файлы на диске, потом на сервере делаю ТД, помещая туда физические файлы, отправляю ТД на клиента и печатаю. Все отлично (т.к. база файловая и веб-клиент не используется) казалось бы. Но когда я эту внешнюю печатную форму помещаю в "доп.внешние отчеты", то работает не то, что наделала в модуле формы, а то, что есть в модуле объекта!!! Ну, оно понятно, конечно, ведь внешняя форма засасывается на сервер, а там нет никакого клиента. Ну а мне-то что делать ??? Помогииииииитеееее ... |
Файлы нужно получать средствами БСП. Печать должна работать целиком на сервере, в одном вызове. Картинки должны быть сформированы на основании двоичных данных и включены в табличный документ. |
> Картинки должны быть сформированы на основании двоичных данных Вот с этим и проблема :( Понимаю, что нужно сделать вот так: ДД.Получить().Записать(Путь), но в том-то и дело, что Получить() возвращает "неопределено", а значит, Записать(Путь) ругается, что не существует такого метода ... С двоичными данными работала, но не в УП, там все было хорошо. |
Так делать не нужно. Нужно создавать объект встроенного языка "картинка" на основании двоичных данных. |
Я вот так делала: Рис = ПростойЗаголовок.Рисунки.Добавить(ТипРисункаТабличногоДокумента.Картинка); Рис.Картинка = Новый Картинка(Фл); ТД.Вывести(ПростойЗаголовок); Но как вставить в ТД не файл с картинкой, а ДД ? |
Если в Новый Картинка(Фл); в качестве Фл вставляешь ссылку на двоичные данные, то получаю ошибку типа "Каталог не обнаружен 'e1cib\tempstorage ....". |
вверх |
Помогиииитееее ... |
[quote=MariaIs;28652587] Если в Новый Картинка(Фл); в качестве Фл вставляешь ссылку на двоичные данные, то получаю ошибку типа "Каталог не обнаружен 'e1cib\tempstorage ....". [/quote] Судя по ошибке, в переменной Фл у тебя не ссылка на двоичные данные, а адрес во временном хранилище. |
Судите сами. Пробовала рассматривать в качестве ДД: 1. Свойство "СсылкаНаДвоичныеДанныеФайла" структуры, которую возвращает функция "ПолучитьДанныеФайла(" из библиотеки "Присоединенные файлы". 2. Поле "ФайлХранилище", полученное запросом из справочника "НоменклатураПрисоединенныеФайлы". Поле имеет тип "ХранилищеЗначения". Речь, напомню, про типовую УТ11. |
Как раз СсылкаНаДвоичныеДанныеФайла содержит адрес временного хранилища. Плюс ещё нюанс есть - в хранилище могут как двоичные данные быть, так и картинка непосредственно. Т.е. после получения данных из хранилища надо проверить, что за тип мы имеем: Данные = ПолучитьИзВременногоХранилища(СсылкаНаДвоичныеДанныеФайла); Если ТипЗнч(Данные) ... |
В ответ на сообщить(ТипЗнч(Данные)) пишет, что "Двоичные данные". Но когда я пытаюсь делать Данные.Получить(), сообщает, что "Метод объекта не обнаружен (Получить)" :(((( Но ведь так не бывает!!!!!!! Что это ??? |
Урраааааа !!!!!!!!!!! И не надо делать Получить() !!!!!! Это и есть картинка !!!! Спасибо вам душевное, Gloom !!!! |
Текущее время: 11:15. Часовой пояс GMT +3. |