Последняя версия DataExpress 3 beta от 9 октября 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

Вывод картинки в html-шаблон

Порядок и особенности создания. Вывод данных из полей в текстовый документ. Правила применения тегов и их написание. Ссылки на поле.
Kort
Интересующийся
Сообщения: 141
Зарегистрирован: Пт ноя 17, 2017 12:48 pm
Откуда: Москва

Re: Вывод картинки в html-шаблон

Сообщение Kort » Сб ноя 18, 2017 7:45 pm

QUOTESL и QUOTES экранирование спецсимволов в тексте для надписи и html кода.

Такое пробовали?


Такое не пробовал, а если чесно и не совсем понимаю где и как это пробовать. Это видимо надо скрипт писать в редакторе скриптов? Можно немного по подробнее?
Заранее спасибо.

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3361
Зарегистрирован: Чт апр 13, 2017 8:57 am
Контактная информация:

Re: Вывод картинки в html-шаблон

Сообщение YurAnt » Сб ноя 18, 2017 7:55 pm

admin писал(а):Не получится. Это сделано как раз для того, чтобы не нарушить структуру документа.

QUOTESL и QUOTES тоже не помогут. Они как раз и предназначены для экранирования а не наоборот.

Kort
Интересующийся
Сообщения: 141
Зарегистрирован: Пт ноя 17, 2017 12:48 pm
Откуда: Москва

Re: Вывод картинки в html-шаблон

Сообщение Kort » Пн ноя 20, 2017 11:43 am

YurAnt писал(а):С этим можно долго бороться... имхо - проще сгенерить код целиком (хоть со стилями и скриптами), сохранить в файл и затем запускать.
Пример с функцией txt_to_file тут.



Вернулся к вашему варианту :D Осваиваю. Установил модули дополнений, боялся что будет выводится одна строка из формы а мне нужны строки из запроса. Вроде тоже разобрался все склеивается более мение.

Осталась одна проблемка. На форме есть поле [Эскиз] это поле прикрепленого файла с указанием адреса где лежит файл. При выводе на печать я обращался к этому полю и мне возвращало просто полный путь к файлу. Я решил это использовать и с вашим методом сборки HTML странички. Сделал заметку примерно с таким вот содержанием

Код: Выделить всё

'<td>'+[Описание]+
iif([Эскиз]=NULL,'','<p><img src="file:///'+[Эскиз]+'"></p>')+
'</td>'+newline 


Ну тут я еще проверку пустоты хотел сделать, ну не важно. Важно то что в данном варианте при обращении к полю [Эскиз] из поля Заметки там всегда NULL хотя на некоторых строках у меня там прикреплены файлы.Вот и думаю как это победить.

З.Ы. Вообщем идея такая что есть таблица со списком производимых операций к некоторым из них прикреплен файл эскиза к некотором нет. Мне нужно в итоговый файл вклеить список этих операций и если есть картитнка приклеить ее.
Все вроде норм но вот не очень бы хотелось задавать адрес к картинке в виде текста, хотелось бы подхватить из поля прикрепленого файла.

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3361
Зарегистрирован: Чт апр 13, 2017 8:57 am
Контактная информация:

Re: Вывод картинки в html-шаблон

Сообщение YurAnt » Пн ноя 20, 2017 11:49 am

не очень бы хотелось задавать адрес к картинке в виде текста, хотелось бы подхватить из поля прикрепленого файла.

"тип хранения" в настройке поля "файл" какой у Вас?

null ... Вот и думаю как это победить.

"Борьба" с null: nz([поле с нуллом],значение), где значение:
- для текста '' или другой текст
- для числа 0 или другое число.

Kort
Интересующийся
Сообщения: 141
Зарегистрирован: Пт ноя 17, 2017 12:48 pm
Откуда: Москва

Re: Вывод картинки в html-шаблон

Сообщение Kort » Пн ноя 20, 2017 12:15 pm

С NULL проблем нету, замечательная штука :) Поле с эскизом заданно как "Файл" место указания "Ссылка".

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3361
Зарегистрирован: Чт апр 13, 2017 8:57 am
Контактная информация:

Re: Вывод картинки в html-шаблон

Сообщение YurAnt » Пн ноя 20, 2017 12:42 pm

Импортируйте модуль:
Получение пути из поля ''файл''.zip
(863 байт) 24 скачивания

Функция GET_FILE_PATH появится в разделе "Работа с файлами".
Совместимость модуля с DX не старше 16.11.17
1-й параметр: имя поля "файл",
2-й параметр: режим (0 - без вывода сообщений, 1 - с выводом сообщений)
Получить путь: GET_FILE_PATH('ИмяПоляФайл',0)
Открыть файл: EX_EXEC(GET_FILE_PATH('ИмяПоляФайл',1),'')
Показать файл в эксплорере: EX_EXEC('explorer','/select, '+GET_FILE_PATH('ИмяПоляФайл',1))
Изображение

Kort
Интересующийся
Сообщения: 141
Зарегистрирован: Пт ноя 17, 2017 12:48 pm
Откуда: Москва

Re: Вывод картинки в html-шаблон

Сообщение Kort » Пн ноя 20, 2017 2:06 pm

Спасибо, решение где-то рядом.

Только как отсеивать пустые?

Код: Выделить всё

GET_FILE_PATH ('Эскиз')=NULL

На подобные вещи реагирует ошибкой файл не найден и рузультат фильтрации выводит не равен NULL.

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3361
Зарегистрирован: Чт апр 13, 2017 8:57 am
Контактная информация:

Re: Вывод картинки в html-шаблон

Сообщение YurAnt » Пн ноя 20, 2017 2:24 pm

Подпилил. Теперь функции можно заткнуть "сообщало"...

Kort
Интересующийся
Сообщения: 141
Зарегистрирован: Пт ноя 17, 2017 12:48 pm
Откуда: Москва

Re: Вывод картинки в html-шаблон

Сообщение Kort » Пн ноя 20, 2017 3:47 pm

Работает, только что внутри? :)

Вот мой код. Просто проверяю если там пусто то ничего не выводи если там что-то есть то выводи часть кода для html.

Код: Выделить всё

'<td>'+[Описание]+
IIF(GET_FILE_PATH ('Эскиз',0)=NULL,'','<p><img src="file:///'+GET_FILE_PATH ('Эскиз',0)+'"></p>')+
'</td>'+newline


Результат
Это если никаких эскизов и нету

Код: Выделить всё

<td>Нанести маркировку согласно чертежу.<p><img src="file:///"></p></td>

Вот если есть эскиз

Код: Выделить всё

<td>Токарная обработка согласно эскизу<p><img src="file:///Z:\IMP\BaseData\Эскизы\44_230_KShVM-58.001-02.jpg"></p></td>


Получается на проверку на NULL не реагирует. Просто не выводит путь там где его нету, но при этом пишет ненужную часть кода. Значит если даже файл не подцеплен скрипт выводит не NULL

Аватара пользователя
YurAnt
Эксперт
Сообщения: 3361
Зарегистрирован: Чт апр 13, 2017 8:57 am
Контактная информация:

Re: Вывод картинки в html-шаблон

Сообщение YurAnt » Пн ноя 20, 2017 4:09 pm

В целом все верно, только ..GET_FILE_PATH ('Эскиз',0)=''.. -
функция возвращает строковое значение.
Проверил, все корректно работает:

Код: Выделить всё

...
<body>
<p>Щас тут че-то должно появиться:</p>'
+
     iif(GET_FILE_PATH('ИмяПоляФайл',0)='',
     'здесь могла быть ваша реклама...',
     '<img src="file:///'+GET_FILE_PATH('ИмяПоляФайл',0)+'" />')
+
'</body>
...

Правда не все браузеры наверное такой сюрприз разжуют, но современные точно смогут.