Я пишу свой интерфейс для учета временных пропусков в Галактике. Данные храню в своей таблице, в випе ее не видно, достаю через хранимые процедуры. Таким же образом должны храниться фотки. Вопрос такой: как из своей таблицы записать фотку в мемо-поле в випе? Может есть какой-нибудь тип переменной, которая будет хранить изображение? Вот сами локальные таблицы и инициализация через хранимую процедуру:
Тип - lvar. Посмотрите например тот же allmemo или текстовый атрибут создайте(attrval). Писать нужно с префиксом - типа jpg, doc и так далее. Можно еще variant использовать, но тогда отобразить не сможете. Смысл хранить фото сотрудников в своей табле не вижу - для этого есть место на 1 странице картотеки(общие сведения), и даже отчеты с ними.
Фото надо хранить в отдельной таблице,потому что сотрудники не нашей компании, а сторонних организаций. По той же причине не могу использовать allmemo. Для таблицы в памяти тип lvar не подходит(Предупреждение: Таблицы в памяти не поддерживают мемополя. Описание поля игнорируется.)
fairei писал(а):Фото надо хранить в отдельной таблице,потому что сотрудники не нашей компании, а сторонних организаций. По той же причине не могу использовать allmemo. Для таблицы в памяти тип lvar не подходит(Предупреждение: Таблицы в памяти не поддерживают мемополя. Описание поля игнорируется.)
а что мешает хранить ссылку на файл в стринговом поле, и по необходимости (к примеру при инициализации, смены позиции или прочих события), импортировать это самое фото в AllMemo, описав свой wTable, заполнив cRec нужным значением?
Заполнять эту одну запись в AllMemo можно используя функцию ImportFileToMemo
Таким образом и база не раздувается, и сани изобретать не надо будет.
ClearBuffer(#mrtdoc)
mrtdoc.Nrec := comp(0);
insert current mrtdoc;
if isValid(#mrtdoc)
if ImportFileToMemo(mrtdoc.memo, _PathFile,false) = false
delete current mrtdoc;
else
update current mrtdoc;
Проще будет через таблицу с полем LVar из словаря Галактики. Можете использовать AllMemо это своеобразная мусора для всяких BLOB полей. Или докомпилируйте словарь добавьте свою таблицу с полем LVar.
На минском форуме я публиковал небольшой пример того, как с помоoщью FastReport можно вывести на печать фотографии сотрудников из базы Галактики. Подробности здесь: http://forum.galaktika.ru/viewtopic.php?p=3714#p3714
А если вы не хотите, свою таблицу публиковать в словаре Галактики и храните фотки в невидимых для Галактики таблицах. Можете попробовать из FastReport через ADO сделать дополнительное подключение к вашей БД и распечатать фотки через объект TfrxAdoQuery.