Ver la Versión Completa : Como hacer un Contrato.
Renees
19-10-2005, 23:14:47
Buenas tardes a todos, bueno mi consulta es la sigueinte.
Tengo que realizar un reporte de un contrato, la cual abarca 3 a 4 paginas. Dentro de la misma pide una serie de requisitos por ejemplo interlineado 1 cm. Para el reporte utilizo algunos datos de una base de datos.
La consulta seria como puedo encarar esto, como lo puedo realizar.
Por ejemplo Necesitos 3 reportes diferentes o uno solo. Bueno muchas gracias necesito todo tipo sugerencias. de como encarar esto.
Utilizo Qreport de delphi 6.0
Tendrás que dar todos los requisitos y como es el tipo de informe.
Si se trata de una sola linea de datos, es facil, haces la banda detalle 1cm y medio de alto, de esta forma, un QRLabel ocupará medio centimetro de alto, y justo por debajo, queda 1cm de interlineado.
saludos
quimeras
20-10-2005, 11:45:55
Puedes utilizar una plantilla del contrato en formato Word con una serie de 'marcadores' y que tu aplicación Delphi inserte estos marcadores automaticamente, Word se encargará de ajustar el texto según su longitud.
A mi me ha funcionado de esta manera:
procedure TfMain.bnContratoClick(Sender: TObject);
const
Fichero = 'Contrato';
DirectorioContratos: 'C:\Contratos\';
var
MiWord: OleVariant;
procedure SustituirMarcador(Marcador, Contenido: string);
begin
if MiWord.ActiveDocument.Bookmarks.Exists(Marcador) then
MiWord.ActiveDocument.Bookmarks.Item(Marcador).Range.InsertBefore(Contenido);
end;
begin
// Intento abrir Word...
MiWord:= CreateOleObject('Word.Application');
if VarIsEmpty(MiWord) then
raise exception.create('No puedo abrir Word, puede que no este instalado!');
// Abre el documento de Word
MiWord.Documents.Open(DirectorioContratos + Fichero + '.doc');
// Selecciona los marcadores del documento y los reemplaza
// con los valores de los campos del formulario.
// Los marcadores deben de haber sido creados previamente en word
SustituirMarcador('CODIGO', TablaCODIGO.AsString);
SustituirMarcador('CONCEPTO', TablaCONCEPTO.AsString);
SustituirMarcador('NOMBRECOMPLETO', TablaNOMBRECOMPLETO.AsString);
SustituirMarcador('DIRECCION', TablaDIRECCION.AsString);
SustituirMarcador('DNI', TablaDNI.AsString);
SustituirMarcador('TELEFONO', TablaTELEFONO.AsString);
// etc
// maximizamos la ventana de Word
MiWord.WindowState:=wdWindowStateMaximize;
MiWord.ActiveWindow.WindowState:=wdWindowStateMaximize;
// Hace visible la ventana de Word
MiWord.Visible:=True;
// Guardamos el contrato
MiWord.ActiveDocument.SaveAs(
DirectorioContratos +
'Contrato' + FormatFloat('000000', TablaCODIGO.AsInteger) + '.doc');
end;
vBulletin v3.6.8, Derechos ©2000-2024, Jelsoft Enterprises Ltd.