Печатные формы Word поддерживают работу с макросами полей типа BLOB.
Нужно факсимиле и печати сохранить в картинки и хранить в базе, например, в детали 'Файлы'. Потом данное поле добавить в список полей печатной формы и уже в самом Word добавить это поле по аналогии с другими макросами для печатной формы.
Печатные формы Word поддерживают работу с макросами полей типа BLOB.
Нужно факсимиле и печати сохранить в картинки и хранить в базе, например, в детали 'Файлы'. Потом данное поле добавить в список полей печатной формы и уже в самом Word добавить это поле по аналогии с другими макросами для печатной формы.
Добрый день,друзья! Мне необходимо добавить в печатную форму отчёта факсимиле, т.е. картинку с подписями разных организаций. Как это можно реализовать в TS? спасибо
Для начала надо в отчете добавить Picture Object.
Если картинка стандартная, то открыть поле и загрузить картинку с диска.
Если же у вас для каждой организации своя подпись и она хранится в датасете, то выделите Picture Object, слева есть Object Inspector, в нем свойства объекта, в свойствах объекта Dataset и DataField выделите нужный вам датасет и поле.
Вам в любом случаи надо добавлять поле, которое должно хранить подписи (в отчете картинка из воздуха не возникнет). Оно делается по аналогии с фото. Абсолютно скрытым для всех оно не может быть, ибо кто-то же должен добавить подписи в систему.
Его скрытие или открытие уже является другой задачей, а именно разграничения прав. В разделе администрирования есть страница "Права доступа к полям", выбрав нужную сущность и группу пользователей вы можете запретить видеть и/или редактировать данное поле. Еще как вариант вы можете запретить видеть саму страницу с фото в скрипте, например, не администраторам системы:
В Таблице tbl_Invoice создаем новое Булевское поле. К примеру IsVisibleStamp. Данное поле размещаем в SQL запросе, Датасете и на форме Редактирования Счета. Далее...
Все что сейчас будет описано требуется делать в Отчете FastReport. На форме отчета в определенном месте где должны располагаться печати Разместить N-ное количество картинок с печатями (ранее подруженных в отчет). по умолчанию в Свойствах картинок, Свойство Visible установить = false. Т.е в реальности это получиться как Бутерброд картинка на картинке. Каждой Картинки размещенной на форме отчета присвоить Имя. Далее Включение/Отключение картинок выполняем с помощью внутреннего языка Fastreport. к примеру на Паскале. К примеру на последней картинки размещенной на форме отчета по Событию "OnBeforePrint" создаем на языке паскаль процедуру. Язык конечно можно выбрать и C++ и другие из предложенных, на каком будет удобно кодить. Ниже привожу пример Процедуры события "OnBeforePrint" как я включал и отключал картинки. Пример приведен на PascalScript:
procedure Picture2OnBeforePrint(Sender: TfrxComponent);
begin
//если на форме Счета Вкл. реквизит "Отображать печати и подписи", тогда в зависимости от выбранной организации включаем видимость правильной картинки, у остальных картинок видимость отключаем.if(<ds_TestDataset."IsVisibleStamp">=1) then
Begin
case(<ds_TestDataset."SupplierID">) of
'{7DCD5B5C-4BA8-4F84-A7D0-50118D75C36C}':- ID Организации Тест1
begin
Picture1.Visible:=false;
Picture2.Visible:=true;
end;'{A34D79E9-2D87-4955-8C67-736FFAC309BE}':- ID Организации Тест2
begin
Picture1.Visible:=true;
Picture2.Visible:=false;
end;
end;
end;