- Tarea 1207 -> REvisar en todos los informes que la mascara de la cantidad sea decimal para que salgan decimales

- Limpieza de ficheros
- Quitar referencia a exportación de informes a Word

git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@186 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
This commit is contained in:
David Arranz 2013-05-20 15:15:34 +00:00
parent 3176c088a2
commit af970ff72c
70 changed files with 486 additions and 6729 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.7.71" DotMatrixReport="False" EngineOptions.DoublePass="True" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Por defecto" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="39065,8724234954" ReportOptions.Description.Text="" ReportOptions.LastChange="40644,6926088889" ScriptLanguage="PascalScript" ScriptText.Text="&#13;&#10;procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);&#13;&#10;var&#13;&#10; Cadena: String;&#13;&#10;begin&#13;&#10; DatosEmpresa.Lines.Clear;&#13;&#10; if (&#60;frxDBCabecera.&#34;TELEFONO_1_EMPRESA&#34;&#62; &#60;&#62; '') then&#13;&#10; Cadena := 'TLF: ' + &#60;frxDBCabecera.&#34;TELEFONO_1_EMPRESA&#34;&#62;;&#13;&#10; if (&#60;frxDBCabecera.&#34;FAX_EMPRESA&#34;&#62; &#60;&#62; '') then&#13;&#10; Cadena := Cadena + ' FAX: ' + &#60;frxDBCabecera.&#34;FAX_EMPRESA&#34;&#62;;&#13;&#10; DatosEmpresa.Lines.Add(Cadena);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure NombreEmpresaOnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; NombreEmpresa.Lines.Clear;&#13;&#10; NombreEmpresa.Lines.Add(&#60;frxDBCabecera.&#34;NOMBRE_EMPRESA&#34;&#62;);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure DireccionEnvioOnBeforePrint(Sender: TfrxComponent);&#13;&#10;var&#13;&#10; ACadena : String;&#13;&#10;begin&#13;&#10; ACadena := '';&#13;&#10; DireccionEnvio.Lines.Clear;&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;NOMBRE_ALMACEN&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;NOMBRE_ALMACEN&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;PERSONA_CONTACTO&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;PERSONA_CONTACTO&#34;&#62;);&#13;&#10;&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;CALLE&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;CODIGO_POSTAL&#34;&#62; &#60;&#62; '') then&#13;&#10; ACadena := &#60;frxDBCabecera.&#34;CODIGO_POSTAL&#34;&#62; + ' ';&#13;&#10; if (&#60;frxDBCabecera.&#34;POBLACION&#34;&#62; &#60;&#62; '') then&#13;&#10; ACadena := ACadena + &#60;frxDBCabecera.&#34;POBLACION&#34;&#62;;&#13;&#10;&#13;&#10; if (ACadena &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(ACadena);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;PROVINCIA&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;PROVINCIA&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;TELEFONO&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;TELEFONO&#34;&#62;);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure PageHeader1OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; if not Engine.FinalPass then&#13;&#10; Set('TotalPaginas', (&#60;TotalPaginas&#62; + 1));&#13;&#10;&#13;&#10; if Engine.FinalPass then&#13;&#10; Set('Pagina', (&#60;Pagina&#62; + 1));&#13;&#10;end;&#13;&#10;&#13;&#10;procedure frxReportOnStartReport(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Set('Pagina', 0);&#13;&#10; Set('TotalPaginas', 0);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure eImporteUnidadOnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; if &#60;ImprimirPrecio&#62; then&#13;&#10; begin &#13;&#10; eImporteUnidad.Visible := True; &#13;&#10; lImporteUnidad.Visible := True; &#13;&#10; eImporteTotal.Visible := True; &#13;&#10; lImporteTotal.Visible := True; &#13;&#10; ImporteUnidad.Visible := True; &#13;&#10; ImporteTotal.Visible := True; &#13;&#10; end&#13;&#10; else&#13;&#10; begin &#13;&#10; eImporteUnidad.Visible := False; &#13;&#10; lImporteUnidad.Visible := False; &#13;&#10; eImporteTotal.Visible := False; &#13;&#10; lImporteTotal.Visible := False; &#13;&#10; ImporteUnidad.Visible := False; &#13;&#10; ImporteTotal.Visible := False;&#13;&#10; eConcepto.Width := eConcepto.Width + ImporteTotal.Width + ImporteUnidad.Width + 10;&#13;&#10; Concepto.Width := Concepto.Width + ImporteTotal.Width + ImporteUnidad.Width; &#13;&#10; end&#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10;&#13;&#10;end." ShowProgress="False" StoreInDFM="False" OnStartReport="frxReportOnStartReport" PropData="044C65667403910003546F70021008446174617365747301010C3400000020446174615365743D22667278444243616265636572612220446174615365744E616D653D22667278444243616265636572612200010C3400000020446174615365743D226672784442446574616C6C65732220446174615365744E616D653D226672784442446574616C6C6573220000095661726961626C657301010C13000000204E616D653D2220506167696E6163696F6E2200010C14000000204E616D653D22546F74616C506167696E61732200010C0E000000204E616D653D22506167696E612200010C16000000204E616D653D22496D7072696D697250726563696F2200010C1C000000204E616D653D22496D7072696D697252656650726F766565646F722200010C14000000204E616D653D2253686F776C6F676F7469706F220000055374796C650100">
<TfrxReport Version="4.7.71" DotMatrixReport="False" EngineOptions.DoublePass="True" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Por defecto" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="39065,8724234954" ReportOptions.Description.Text="" ReportOptions.LastChange="41414,7028871181" ScriptLanguage="PascalScript" ScriptText.Text="&#13;&#10;procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);&#13;&#10;var&#13;&#10; Cadena: String;&#13;&#10;begin&#13;&#10; DatosEmpresa.Lines.Clear;&#13;&#10; if (&#60;frxDBCabecera.&#34;TELEFONO_1_EMPRESA&#34;&#62; &#60;&#62; '') then&#13;&#10; Cadena := 'TLF: ' + &#60;frxDBCabecera.&#34;TELEFONO_1_EMPRESA&#34;&#62;;&#13;&#10; if (&#60;frxDBCabecera.&#34;FAX_EMPRESA&#34;&#62; &#60;&#62; '') then&#13;&#10; Cadena := Cadena + ' FAX: ' + &#60;frxDBCabecera.&#34;FAX_EMPRESA&#34;&#62;;&#13;&#10; DatosEmpresa.Lines.Add(Cadena);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure NombreEmpresaOnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; NombreEmpresa.Lines.Clear;&#13;&#10; NombreEmpresa.Lines.Add(&#60;frxDBCabecera.&#34;NOMBRE_EMPRESA&#34;&#62;);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure DireccionEnvioOnBeforePrint(Sender: TfrxComponent);&#13;&#10;var&#13;&#10; ACadena : String;&#13;&#10;begin&#13;&#10; ACadena := '';&#13;&#10; DireccionEnvio.Lines.Clear;&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;NOMBRE_ALMACEN&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;NOMBRE_ALMACEN&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;PERSONA_CONTACTO&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;PERSONA_CONTACTO&#34;&#62;);&#13;&#10;&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;CALLE&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;CODIGO_POSTAL&#34;&#62; &#60;&#62; '') then&#13;&#10; ACadena := &#60;frxDBCabecera.&#34;CODIGO_POSTAL&#34;&#62; + ' ';&#13;&#10; if (&#60;frxDBCabecera.&#34;POBLACION&#34;&#62; &#60;&#62; '') then&#13;&#10; ACadena := ACadena + &#60;frxDBCabecera.&#34;POBLACION&#34;&#62;;&#13;&#10;&#13;&#10; if (ACadena &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(ACadena);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;PROVINCIA&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;PROVINCIA&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;TELEFONO&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;TELEFONO&#34;&#62;);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure PageHeader1OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; if not Engine.FinalPass then&#13;&#10; Set('TotalPaginas', (&#60;TotalPaginas&#62; + 1));&#13;&#10;&#13;&#10; if Engine.FinalPass then&#13;&#10; Set('Pagina', (&#60;Pagina&#62; + 1));&#13;&#10;end;&#13;&#10;&#13;&#10;procedure frxReportOnStartReport(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Set('Pagina', 0);&#13;&#10; Set('TotalPaginas', 0);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure eImporteUnidadOnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; if &#60;ImprimirPrecio&#62; then&#13;&#10; begin &#13;&#10; eImporteUnidad.Visible := True; &#13;&#10; lImporteUnidad.Visible := True; &#13;&#10; eImporteTotal.Visible := True; &#13;&#10; lImporteTotal.Visible := True; &#13;&#10; ImporteUnidad.Visible := True; &#13;&#10; ImporteTotal.Visible := True; &#13;&#10; end&#13;&#10; else&#13;&#10; begin &#13;&#10; eImporteUnidad.Visible := False; &#13;&#10; lImporteUnidad.Visible := False; &#13;&#10; eImporteTotal.Visible := False; &#13;&#10; lImporteTotal.Visible := False; &#13;&#10; ImporteUnidad.Visible := False; &#13;&#10; ImporteTotal.Visible := False;&#13;&#10; eConcepto.Width := eConcepto.Width + ImporteTotal.Width + ImporteUnidad.Width + 10;&#13;&#10; Concepto.Width := Concepto.Width + ImporteTotal.Width + ImporteUnidad.Width; &#13;&#10; end&#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10;&#13;&#10;end." ShowProgress="False" StoreInDFM="False" OnStartReport="frxReportOnStartReport" PropData="044C65667403910003546F70021008446174617365747301010C3400000020446174615365743D22667278444243616265636572612220446174615365744E616D653D22667278444243616265636572612200010C3400000020446174615365743D226672784442446574616C6C65732220446174615365744E616D653D226672784442446574616C6C6573220000095661726961626C657301010C13000000204E616D653D2220506167696E6163696F6E2200010C14000000204E616D653D22546F74616C506167696E61732200010C0E000000204E616D653D22506167696E612200010C16000000204E616D653D22496D7072696D697250726563696F2200010C1C000000204E616D653D22496D7072696D697252656650726F766565646F722200010C14000000204E616D653D2253686F776C6F676F7469706F220000055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData1" Height="24" Left="0" Top="308" Width="718,1107" ColumnWidth="0" ColumnGap="0" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" RowCount="0" Stretched="True">
<TfrxRichView Name="Concepto" ShiftMode="smWhenOverlapped" Left="181,5" Top="1,5" Width="318,5436" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataField="CONCEPTO" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" GapX="2" GapY="3" Wysiwyg="False" PropData="0852696368456469740A6C0000007B5C727466315C616E73695C616E7369637067313235325C64656666305C6465666C616E67333038327B5C666F6E7474626C7B5C66305C666E696C205461686F6D613B7D7D0D0A5C766965776B696E64345C7563315C706172645C66305C667331365C7061720D0A7D0D0A00"/>
<TfrxMemoView Name="MemoCampo2" Left="121" Top="1,5" Width="56,03148874" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="#0 " DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;CANTIDAD&#34;]"/>
<TfrxMemoView Name="MemoCampo2" Left="121" Top="1,5" Width="56,03148874" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%g" DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;CANTIDAD&#34;]"/>
<TfrxMemoView Name="Memo14" Left="1" Top="1,5" Width="117" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="#0 " DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;REFERENCIA_PROVEEDOR&#34;] "/>
<TfrxMemoView Name="ImporteUnidad" Left="504" Top="2" Width="96,03148874" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;IMPORTE_UNIDAD&#34;]"/>
<TfrxMemoView Name="ImporteTotal" Left="606" Top="2" Width="109,03148874" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;IMPORTE_TOTAL&#34;]"/>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.7.71" DotMatrixReport="False" EngineOptions.DoublePass="True" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Por defecto" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="39065,8724234954" ReportOptions.Description.Text="" ReportOptions.LastChange="40644,6926088889" ScriptLanguage="PascalScript" ScriptText.Text="&#13;&#10;procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);&#13;&#10;var&#13;&#10; Cadena: String;&#13;&#10;begin&#13;&#10; DatosEmpresa.Lines.Clear;&#13;&#10; if (&#60;frxDBCabecera.&#34;TELEFONO_1_EMPRESA&#34;&#62; &#60;&#62; '') then&#13;&#10; Cadena := 'TLF: ' + &#60;frxDBCabecera.&#34;TELEFONO_1_EMPRESA&#34;&#62;;&#13;&#10; if (&#60;frxDBCabecera.&#34;FAX_EMPRESA&#34;&#62; &#60;&#62; '') then&#13;&#10; Cadena := Cadena + ' FAX: ' + &#60;frxDBCabecera.&#34;FAX_EMPRESA&#34;&#62;;&#13;&#10; DatosEmpresa.Lines.Add(Cadena);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure NombreEmpresaOnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; NombreEmpresa.Lines.Clear;&#13;&#10; NombreEmpresa.Lines.Add(&#60;frxDBCabecera.&#34;NOMBRE_EMPRESA&#34;&#62;);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure DireccionEnvioOnBeforePrint(Sender: TfrxComponent);&#13;&#10;var&#13;&#10; ACadena : String;&#13;&#10;begin&#13;&#10; ACadena := '';&#13;&#10; DireccionEnvio.Lines.Clear;&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;NOMBRE_ALMACEN&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;NOMBRE_ALMACEN&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;PERSONA_CONTACTO&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;PERSONA_CONTACTO&#34;&#62;);&#13;&#10;&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;CALLE&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;CODIGO_POSTAL&#34;&#62; &#60;&#62; '') then&#13;&#10; ACadena := &#60;frxDBCabecera.&#34;CODIGO_POSTAL&#34;&#62; + ' ';&#13;&#10; if (&#60;frxDBCabecera.&#34;POBLACION&#34;&#62; &#60;&#62; '') then&#13;&#10; ACadena := ACadena + &#60;frxDBCabecera.&#34;POBLACION&#34;&#62;;&#13;&#10;&#13;&#10; if (ACadena &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(ACadena);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;PROVINCIA&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;PROVINCIA&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;TELEFONO&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;TELEFONO&#34;&#62;);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure PageHeader1OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; if not Engine.FinalPass then&#13;&#10; Set('TotalPaginas', (&#60;TotalPaginas&#62; + 1));&#13;&#10;&#13;&#10; if Engine.FinalPass then&#13;&#10; Set('Pagina', (&#60;Pagina&#62; + 1));&#13;&#10;end;&#13;&#10;&#13;&#10;procedure frxReportOnStartReport(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Set('Pagina', 0);&#13;&#10; Set('TotalPaginas', 0);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure eImporteUnidadOnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; if &#60;ImprimirPrecio&#62; then&#13;&#10; begin &#13;&#10; eImporteUnidad.Visible := True; &#13;&#10; lImporteUnidad.Visible := True; &#13;&#10; eImporteTotal.Visible := True; &#13;&#10; lImporteTotal.Visible := True; &#13;&#10; ImporteUnidad.Visible := True; &#13;&#10; ImporteTotal.Visible := True; &#13;&#10; end&#13;&#10; else&#13;&#10; begin &#13;&#10; eImporteUnidad.Visible := False; &#13;&#10; lImporteUnidad.Visible := False; &#13;&#10; eImporteTotal.Visible := False; &#13;&#10; lImporteTotal.Visible := False; &#13;&#10; ImporteUnidad.Visible := False; &#13;&#10; ImporteTotal.Visible := False;&#13;&#10; eConcepto.Width := eConcepto.Width + ImporteTotal.Width + ImporteUnidad.Width + 10;&#13;&#10; Concepto.Width := Concepto.Width + ImporteTotal.Width + ImporteUnidad.Width; &#13;&#10; end&#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10;&#13;&#10;end." ShowProgress="False" StoreInDFM="False" OnStartReport="frxReportOnStartReport" PropData="044C65667403910003546F70021008446174617365747301010C3400000020446174615365743D22667278444243616265636572612220446174615365744E616D653D22667278444243616265636572612200010C3400000020446174615365743D226672784442446574616C6C65732220446174615365744E616D653D226672784442446574616C6C6573220000095661726961626C657301010C13000000204E616D653D2220506167696E6163696F6E2200010C14000000204E616D653D22546F74616C506167696E61732200010C0E000000204E616D653D22506167696E612200010C16000000204E616D653D22496D7072696D697250726563696F2200010C1C000000204E616D653D22496D7072696D697252656650726F766565646F722200010C14000000204E616D653D2253686F776C6F676F7469706F220000055374796C650100">
<TfrxReport Version="4.7.71" DotMatrixReport="False" EngineOptions.DoublePass="True" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Por defecto" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="39065,8724234954" ReportOptions.Description.Text="" ReportOptions.LastChange="41414,7053886458" ScriptLanguage="PascalScript" ScriptText.Text="&#13;&#10;procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);&#13;&#10;var&#13;&#10; Cadena: String;&#13;&#10;begin&#13;&#10; DatosEmpresa.Lines.Clear;&#13;&#10; if (&#60;frxDBCabecera.&#34;TELEFONO_1_EMPRESA&#34;&#62; &#60;&#62; '') then&#13;&#10; Cadena := 'TLF: ' + &#60;frxDBCabecera.&#34;TELEFONO_1_EMPRESA&#34;&#62;;&#13;&#10; if (&#60;frxDBCabecera.&#34;FAX_EMPRESA&#34;&#62; &#60;&#62; '') then&#13;&#10; Cadena := Cadena + ' FAX: ' + &#60;frxDBCabecera.&#34;FAX_EMPRESA&#34;&#62;;&#13;&#10; DatosEmpresa.Lines.Add(Cadena);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure NombreEmpresaOnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; NombreEmpresa.Lines.Clear;&#13;&#10; NombreEmpresa.Lines.Add(&#60;frxDBCabecera.&#34;NOMBRE_EMPRESA&#34;&#62;);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure DireccionEnvioOnBeforePrint(Sender: TfrxComponent);&#13;&#10;var&#13;&#10; ACadena : String;&#13;&#10;begin&#13;&#10; ACadena := '';&#13;&#10; DireccionEnvio.Lines.Clear;&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;NOMBRE_ALMACEN&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;NOMBRE_ALMACEN&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;PERSONA_CONTACTO&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;PERSONA_CONTACTO&#34;&#62;);&#13;&#10;&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;CALLE&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;CODIGO_POSTAL&#34;&#62; &#60;&#62; '') then&#13;&#10; ACadena := &#60;frxDBCabecera.&#34;CODIGO_POSTAL&#34;&#62; + ' ';&#13;&#10; if (&#60;frxDBCabecera.&#34;POBLACION&#34;&#62; &#60;&#62; '') then&#13;&#10; ACadena := ACadena + &#60;frxDBCabecera.&#34;POBLACION&#34;&#62;;&#13;&#10;&#13;&#10; if (ACadena &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(ACadena);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;PROVINCIA&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;PROVINCIA&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;TELEFONO&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;TELEFONO&#34;&#62;);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure PageHeader1OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; if not Engine.FinalPass then&#13;&#10; Set('TotalPaginas', (&#60;TotalPaginas&#62; + 1));&#13;&#10;&#13;&#10; if Engine.FinalPass then&#13;&#10; Set('Pagina', (&#60;Pagina&#62; + 1));&#13;&#10;end;&#13;&#10;&#13;&#10;procedure frxReportOnStartReport(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Set('Pagina', 0);&#13;&#10; Set('TotalPaginas', 0);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure eImporteUnidadOnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; if &#60;ImprimirPrecio&#62; then&#13;&#10; begin &#13;&#10; eImporteUnidad.Visible := True; &#13;&#10; lImporteUnidad.Visible := True; &#13;&#10; eImporteTotal.Visible := True; &#13;&#10; lImporteTotal.Visible := True; &#13;&#10; ImporteUnidad.Visible := True; &#13;&#10; ImporteTotal.Visible := True; &#13;&#10; end&#13;&#10; else&#13;&#10; begin &#13;&#10; eImporteUnidad.Visible := False; &#13;&#10; lImporteUnidad.Visible := False; &#13;&#10; eImporteTotal.Visible := False; &#13;&#10; lImporteTotal.Visible := False; &#13;&#10; ImporteUnidad.Visible := False; &#13;&#10; ImporteTotal.Visible := False;&#13;&#10; eConcepto.Width := eConcepto.Width + ImporteTotal.Width + ImporteUnidad.Width + 10;&#13;&#10; Concepto.Width := Concepto.Width + ImporteTotal.Width + ImporteUnidad.Width; &#13;&#10; end&#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10;&#13;&#10;end." ShowProgress="False" StoreInDFM="False" OnStartReport="frxReportOnStartReport" PropData="044C65667403910003546F70021008446174617365747301010C3400000020446174615365743D22667278444243616265636572612220446174615365744E616D653D22667278444243616265636572612200010C3400000020446174615365743D226672784442446574616C6C65732220446174615365744E616D653D226672784442446574616C6C6573220000095661726961626C657301010C13000000204E616D653D2220506167696E6163696F6E2200010C14000000204E616D653D22546F74616C506167696E61732200010C0E000000204E616D653D22506167696E612200010C16000000204E616D653D22496D7072696D697250726563696F2200010C1C000000204E616D653D22496D7072696D697252656650726F766565646F722200010C14000000204E616D653D2253686F776C6F676F7469706F220000055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData1" Height="24" Left="0" Top="308" Width="718,1107" ColumnWidth="0" ColumnGap="0" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" RowCount="0" Stretched="True">
<TfrxRichView Name="Concepto" ShiftMode="smWhenOverlapped" Left="181,5" Top="1,5" Width="318,5436" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataField="CONCEPTO" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" GapX="2" GapY="3" Wysiwyg="False" PropData="0852696368456469740A6C0000007B5C727466315C616E73695C616E7369637067313235325C64656666305C6465666C616E67333038327B5C666F6E7474626C7B5C66305C666E696C205461686F6D613B7D7D0D0A5C766965776B696E64345C7563315C706172645C66305C667331365C7061720D0A7D0D0A00"/>
<TfrxMemoView Name="MemoCampo2" Left="121" Top="1,5" Width="56,03148874" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="#0 " DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;CANTIDAD&#34;]"/>
<TfrxMemoView Name="MemoCampo2" Left="121" Top="1,5" Width="56,03148874" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%g" DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;CANTIDAD&#34;]"/>
<TfrxMemoView Name="Memo14" Left="1" Top="1,5" Width="117" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="#0 " DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;REFERENCIA_PROVEEDOR&#34;] "/>
<TfrxMemoView Name="ImporteUnidad" Left="504" Top="2" Width="96,03148874" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;IMPORTE_UNIDAD&#34;]"/>
<TfrxMemoView Name="ImporteTotal" Left="606" Top="2" Width="109,03148874" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;IMPORTE_TOTAL&#34;]"/>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<TfrxReport Version="4.7.71" DotMatrixReport="False" EngineOptions.DoublePass="True" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Por defecto" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="39065,8724234954" ReportOptions.Description.Text="" ReportOptions.LastChange="40644,6926088889" ScriptLanguage="PascalScript" ScriptText.Text="&#13;&#10;procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);&#13;&#10;var&#13;&#10; Cadena: String;&#13;&#10;begin&#13;&#10; DatosEmpresa.Lines.Clear;&#13;&#10; if (&#60;frxDBCabecera.&#34;TELEFONO_1_EMPRESA&#34;&#62; &#60;&#62; '') then&#13;&#10; Cadena := 'TLF: ' + &#60;frxDBCabecera.&#34;TELEFONO_1_EMPRESA&#34;&#62;;&#13;&#10; if (&#60;frxDBCabecera.&#34;FAX_EMPRESA&#34;&#62; &#60;&#62; '') then&#13;&#10; Cadena := Cadena + ' FAX: ' + &#60;frxDBCabecera.&#34;FAX_EMPRESA&#34;&#62;;&#13;&#10; DatosEmpresa.Lines.Add(Cadena);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure NombreEmpresaOnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; NombreEmpresa.Lines.Clear;&#13;&#10; NombreEmpresa.Lines.Add(&#60;frxDBCabecera.&#34;NOMBRE_EMPRESA&#34;&#62;);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure DireccionEnvioOnBeforePrint(Sender: TfrxComponent);&#13;&#10;var&#13;&#10; ACadena : String;&#13;&#10;begin&#13;&#10; ACadena := '';&#13;&#10; DireccionEnvio.Lines.Clear;&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;NOMBRE_ALMACEN&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;NOMBRE_ALMACEN&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;PERSONA_CONTACTO&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;PERSONA_CONTACTO&#34;&#62;);&#13;&#10;&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;CALLE&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;CODIGO_POSTAL&#34;&#62; &#60;&#62; '') then&#13;&#10; ACadena := &#60;frxDBCabecera.&#34;CODIGO_POSTAL&#34;&#62; + ' ';&#13;&#10; if (&#60;frxDBCabecera.&#34;POBLACION&#34;&#62; &#60;&#62; '') then&#13;&#10; ACadena := ACadena + &#60;frxDBCabecera.&#34;POBLACION&#34;&#62;;&#13;&#10;&#13;&#10; if (ACadena &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(ACadena);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;PROVINCIA&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;PROVINCIA&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;TELEFONO&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;TELEFONO&#34;&#62;);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure PageHeader1OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; if not Engine.FinalPass then&#13;&#10; Set('TotalPaginas', (&#60;TotalPaginas&#62; + 1));&#13;&#10;&#13;&#10; if Engine.FinalPass then&#13;&#10; Set('Pagina', (&#60;Pagina&#62; + 1));&#13;&#10;end;&#13;&#10;&#13;&#10;procedure frxReportOnStartReport(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Set('Pagina', 0);&#13;&#10; Set('TotalPaginas', 0);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure eImporteUnidadOnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; if &#60;ImprimirPrecio&#62; then&#13;&#10; begin &#13;&#10; eImporteUnidad.Visible := True; &#13;&#10; lImporteUnidad.Visible := True; &#13;&#10; eImporteTotal.Visible := True; &#13;&#10; lImporteTotal.Visible := True; &#13;&#10; ImporteUnidad.Visible := True; &#13;&#10; ImporteTotal.Visible := True; &#13;&#10; end&#13;&#10; else&#13;&#10; begin &#13;&#10; eImporteUnidad.Visible := False; &#13;&#10; lImporteUnidad.Visible := False; &#13;&#10; eImporteTotal.Visible := False; &#13;&#10; lImporteTotal.Visible := False; &#13;&#10; ImporteUnidad.Visible := False; &#13;&#10; ImporteTotal.Visible := False;&#13;&#10; eConcepto.Width := eConcepto.Width + ImporteTotal.Width + ImporteUnidad.Width + 10;&#13;&#10; Concepto.Width := Concepto.Width + ImporteTotal.Width + ImporteUnidad.Width; &#13;&#10; end&#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10;&#13;&#10;end." ShowProgress="False" StoreInDFM="False" OnStartReport="frxReportOnStartReport" PropData="044C65667403910003546F70021008446174617365747301010C3400000020446174615365743D22667278444243616265636572612220446174615365744E616D653D22667278444243616265636572612200010C3400000020446174615365743D226672784442446574616C6C65732220446174615365744E616D653D226672784442446574616C6C6573220000095661726961626C657301010C13000000204E616D653D2220506167696E6163696F6E2200010C14000000204E616D653D22546F74616C506167696E61732200010C0E000000204E616D653D22506167696E612200010C16000000204E616D653D22496D7072696D697250726563696F2200010C1C000000204E616D653D22496D7072696D697252656650726F766565646F722200010C14000000204E616D653D2253686F776C6F676F7469706F220000055374796C650100">
<TfrxReport Version="4.7.71" DotMatrixReport="False" EngineOptions.DoublePass="True" IniFile="\Software\Fast Reports" PreviewOptions.Buttons="4095" PreviewOptions.Zoom="1" PrintOptions.Printer="Por defecto" PrintOptions.PrintOnSheet="0" ReportOptions.CreateDate="39065,8724234954" ReportOptions.Description.Text="" ReportOptions.LastChange="41414,7072951736" ScriptLanguage="PascalScript" ScriptText.Text="&#13;&#10;procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);&#13;&#10;var&#13;&#10; Cadena: String;&#13;&#10;begin&#13;&#10; DatosEmpresa.Lines.Clear;&#13;&#10; if (&#60;frxDBCabecera.&#34;TELEFONO_1_EMPRESA&#34;&#62; &#60;&#62; '') then&#13;&#10; Cadena := 'TLF: ' + &#60;frxDBCabecera.&#34;TELEFONO_1_EMPRESA&#34;&#62;;&#13;&#10; if (&#60;frxDBCabecera.&#34;FAX_EMPRESA&#34;&#62; &#60;&#62; '') then&#13;&#10; Cadena := Cadena + ' FAX: ' + &#60;frxDBCabecera.&#34;FAX_EMPRESA&#34;&#62;;&#13;&#10; DatosEmpresa.Lines.Add(Cadena);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure NombreEmpresaOnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; NombreEmpresa.Lines.Clear;&#13;&#10; NombreEmpresa.Lines.Add(&#60;frxDBCabecera.&#34;NOMBRE_EMPRESA&#34;&#62;);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure DireccionEnvioOnBeforePrint(Sender: TfrxComponent);&#13;&#10;var&#13;&#10; ACadena : String;&#13;&#10;begin&#13;&#10; ACadena := '';&#13;&#10; DireccionEnvio.Lines.Clear;&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;NOMBRE_ALMACEN&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;NOMBRE_ALMACEN&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;PERSONA_CONTACTO&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;PERSONA_CONTACTO&#34;&#62;);&#13;&#10;&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;CALLE&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;CODIGO_POSTAL&#34;&#62; &#60;&#62; '') then&#13;&#10; ACadena := &#60;frxDBCabecera.&#34;CODIGO_POSTAL&#34;&#62; + ' ';&#13;&#10; if (&#60;frxDBCabecera.&#34;POBLACION&#34;&#62; &#60;&#62; '') then&#13;&#10; ACadena := ACadena + &#60;frxDBCabecera.&#34;POBLACION&#34;&#62;;&#13;&#10;&#13;&#10; if (ACadena &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(ACadena);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;PROVINCIA&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;PROVINCIA&#34;&#62;);&#13;&#10;&#13;&#10; if (&#60;frxDBCabecera.&#34;TELEFONO&#34;&#62; &#60;&#62; '') then&#13;&#10; DireccionEnvio.Lines.Add(&#60;frxDBCabecera.&#34;TELEFONO&#34;&#62;);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure PageHeader1OnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; if not Engine.FinalPass then&#13;&#10; Set('TotalPaginas', (&#60;TotalPaginas&#62; + 1));&#13;&#10;&#13;&#10; if Engine.FinalPass then&#13;&#10; Set('Pagina', (&#60;Pagina&#62; + 1));&#13;&#10;end;&#13;&#10;&#13;&#10;procedure frxReportOnStartReport(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; Set('Pagina', 0);&#13;&#10; Set('TotalPaginas', 0);&#13;&#10;end;&#13;&#10;&#13;&#10;procedure eImporteUnidadOnBeforePrint(Sender: TfrxComponent);&#13;&#10;begin&#13;&#10; if &#60;ImprimirPrecio&#62; then&#13;&#10; begin &#13;&#10; eImporteUnidad.Visible := True; &#13;&#10; lImporteUnidad.Visible := True; &#13;&#10; eImporteTotal.Visible := True; &#13;&#10; lImporteTotal.Visible := True; &#13;&#10; ImporteUnidad.Visible := True; &#13;&#10; ImporteTotal.Visible := True; &#13;&#10; end&#13;&#10; else&#13;&#10; begin &#13;&#10; eImporteUnidad.Visible := False; &#13;&#10; lImporteUnidad.Visible := False; &#13;&#10; eImporteTotal.Visible := False; &#13;&#10; lImporteTotal.Visible := False; &#13;&#10; ImporteUnidad.Visible := False; &#13;&#10; ImporteTotal.Visible := False;&#13;&#10; eConcepto.Width := eConcepto.Width + ImporteTotal.Width + ImporteUnidad.Width + 10;&#13;&#10; Concepto.Width := Concepto.Width + ImporteTotal.Width + ImporteUnidad.Width; &#13;&#10; end&#13;&#10;end;&#13;&#10;&#13;&#10;begin&#13;&#10;&#13;&#10;end." ShowProgress="False" StoreInDFM="False" OnStartReport="frxReportOnStartReport" PropData="044C65667403910003546F70021008446174617365747301010C3400000020446174615365743D22667278444243616265636572612220446174615365744E616D653D22667278444243616265636572612200010C3400000020446174615365743D226672784442446574616C6C65732220446174615365744E616D653D226672784442446574616C6C6573220000095661726961626C657301010C13000000204E616D653D2220506167696E6163696F6E2200010C14000000204E616D653D22546F74616C506167696E61732200010C0E000000204E616D653D22506167696E612200010C16000000204E616D653D22496D7072696D697250726563696F2200010C1C000000204E616D653D22496D7072696D697252656650726F766565646F722200010C14000000204E616D653D2253686F776C6F676F7469706F220000055374796C650100">
<TfrxDataPage Name="Data" Height="1000" Left="0" Top="0" Width="1000"/>
<TfrxReportPage Name="Page1" PaperWidth="210" PaperHeight="297" PaperSize="9" LeftMargin="10" RightMargin="10" TopMargin="10" BottomMargin="10" ColumnWidth="0" ColumnPositions.Text="" HGuides.Text="" VGuides.Text="">
<TfrxMasterData Name="MasterData1" Height="24" Left="0" Top="308" Width="718,1107" ColumnWidth="0" ColumnGap="0" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" RowCount="0" Stretched="True">
<TfrxRichView Name="Concepto" ShiftMode="smWhenOverlapped" Left="181,5" Top="1,5" Width="318,5436" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataField="CONCEPTO" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" GapX="2" GapY="3" Wysiwyg="False" PropData="0852696368456469740A6C0000007B5C727466315C616E73695C616E7369637067313235325C64656666305C6465666C616E67333038327B5C666F6E7474626C7B5C66305C666E696C205461686F6D613B7D7D0D0A5C766965776B696E64345C7563315C706172645C66305C667331365C7061720D0A7D0D0A00"/>
<TfrxMemoView Name="MemoCampo2" Left="121" Top="1,5" Width="56,03148874" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="#0 " DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;CANTIDAD&#34;]"/>
<TfrxMemoView Name="MemoCampo2" Left="121" Top="1,5" Width="56,03148874" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%g" DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;CANTIDAD&#34;]"/>
<TfrxMemoView Name="Memo14" Left="1" Top="1,5" Width="117" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="#0 " DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;REFERENCIA_PROVEEDOR&#34;] "/>
<TfrxMemoView Name="ImporteUnidad" Left="504" Top="2" Width="96,03148874" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;IMPORTE_UNIDAD&#34;]"/>
<TfrxMemoView Name="ImporteTotal" Left="606" Top="2" Width="109,03148874" Height="18" ShowHint="False" StretchMode="smMaxHeight" DataSet="frxDBDetalles" DataSetName="frxDBDetalles" DisplayFormat.DecimalSeparator="," DisplayFormat.FormatStr="%2.2m" DisplayFormat.Kind="fkNumeric" Font.Charset="0" Font.Color="-16777208" Font.Height="-12" Font.Name="Tahoma" Font.Style="0" GapY="3" HAlign="haRight" HideZeros="True" LineSpacing="4" ParentFont="False" Style="Concepto normal" Text="[frxDBDetalles.&#34;IMPORTE_TOTAL&#34;]"/>

View File

@ -1,508 +0,0 @@
object RptWordAlbaranCliente: TRptWordAlbaranCliente
OldCreateOrder = False
OnCreate = DataModuleCreate
Height = 262
Width = 374
object schReport: TDASchema
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DataDictionary
Datasets = <
item
Params = <
item
Name = 'ID'
Value = '14'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
SQL =
'SELECT'#10' V_ALBARANES_CLIENTE.ID, V_ALBARANES_CLIENTE.ID_EMPRESA,' +
#10' V_ALBARANES_CLIENTE.ID_CLIENTE,'#10' V_ALBARANES_CLIENTE.FECHA_A' +
'LBARAN,'#10' V_ALBARANES_CLIENTE.REFERENCIA,'#10' V_ALBARANES_CLIENTE.' +
'REFERENCIA_CLIENTE,'#10' V_ALBARANES_CLIENTE.ID_PEDIDO,'#10' V_ALBARAN' +
'ES_CLIENTE.REF_PEDIDO,'#10' V_ALBARANES_CLIENTE.OBSERVACIONES,'#10' V_' +
'ALBARANES_CLIENTE.IMPORTE_TOTAL,'#10' CONTACTOS.NIF_CIF, CONTACTOS.' +
'NOMBRE,'#10' V_ALBARANES_CLIENTE.PERSONA_CONTACTO,'#10' COALESCE(CONTA' +
'CTOS_DIRECCIONES.CALLE, CONTACTOS.CALLE) AS CALLE,'#10' COALESCE(CO' +
'NTACTOS_DIRECCIONES.POBLACION, CONTACTOS.POBLACION) AS POBLACION' +
','#10' COALESCE(CONTACTOS_DIRECCIONES.PROVINCIA, CONTACTOS.PROVINCI' +
'A) AS PROVINCIA,'#10' COALESCE(CONTACTOS_DIRECCIONES.CODIGO_POSTAL,' +
' CONTACTOS.CODIGO_POSTAL) AS CODIGO_POSTAL'#10'FROM'#10' V_ALBARANES_CL' +
'IENTE'#10' INNER JOIN CONTACTOS ON (CONTACTOS.ID = V_ALBARANES_CLIE' +
'NTE.ID_CLIENTE)'#10' LEFT OUTER JOIN CONTACTOS_DIRECCIONES ON (CONT' +
'ACTOS_DIRECCIONES.ID = V_ALBARANES_CLIENTE.ID_DIRECCION)'#10'WHERE V' +
'_ALBARANES_CLIENTE.ID = :ID'#10#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_EMPRESA'
TableField = 'ID_EMPRESA'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end
item
DatasetField = 'OBSERVACIONES'
TableField = 'OBSERVACIONES'
end
item
DatasetField = 'ID_CLIENTE'
TableField = 'ID_CLIENTE'
end
item
DatasetField = 'REFERENCIA_CLIENTE'
TableField = 'REFERENCIA_CLIENTE'
end
item
DatasetField = 'NIF_CIF'
TableField = 'NIF_CIF'
end
item
DatasetField = 'NOMBRE'
TableField = 'NOMBRE'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'PERSONA_CONTACTO'
TableField = 'PERSONA_CONTACTO'
end
item
DatasetField = 'FECHA_ALBARAN'
TableField = 'FECHA_ALBARAN'
end
item
DatasetField = 'ID_PEDIDO'
TableField = 'ID_PEDIDO'
end
item
DatasetField = 'REF_PEDIDO'
TableField = 'REF_PEDIDO'
end
item
DatasetField = 'CALLE'
TableField = 'CALLE'
end
item
DatasetField = 'POBLACION'
TableField = 'POBLACION'
end
item
DatasetField = 'PROVINCIA'
TableField = 'PROVINCIA'
end
item
DatasetField = 'CODIGO_POSTAL'
TableField = 'CODIGO_POSTAL'
end>
end>
Name = 'Informe_Cabecera'
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
end
item
Name = 'FECHA_ALBARAN'
DataType = datDateTime
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'ID_PEDIDO'
DataType = datInteger
end
item
Name = 'REF_PEDIDO'
DataType = datString
Size = 255
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'NIF_CIF'
DataType = datString
Size = 15
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
end
item
Name = 'CALLE'
DataType = datString
Size = 255
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
end>
ReadOnly = True
end
item
Params = <
item
Name = 'ID_ALBARAN'
Value = '2'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
SQL =
'SELECT ALBARANES_CLIENTE_DETALLES.ID, ALBARANES_CLIENTE_DETALLES' +
'.ID_ALBARAN,'#10' ALBARANES_CLIENTE_DETALLES.POSICION, ALBARAN' +
'ES_CLIENTE_DETALLES.TIPO_DETALLE,'#10' F_RTFTOTEXT(ALBARANES_C' +
'LIENTE_DETALLES.CONCEPTO) as CONCEPTO, ALBARANES_CLIENTE_DETALLE' +
'S.CANTIDAD,'#10' ALBARANES_CLIENTE_DETALLES.UNIDAD_MEDIDA,'#10' ' +
' ALBARANES_CLIENTE_DETALLES.IMPORTE_UNIDAD, ALBARANES_CLIENTE' +
'_DETALLES.IMPORTE_TOTAL,'#10' ARTICULOS.REFERENCIA'#10'FROM ALBARA' +
'NES_CLIENTE_DETALLES'#10' LEFT JOIN ARTICULOS ON (ALBARANES_CLIE' +
'NTE_DETALLES.ID_ARTICULO = ARTICULOS.ID)'#10' WHERE {Where}'#10' AND' +
' (VISIBLE) <> 0'#10' AND (ID_ALBARAN = :ID_ALBARAN)'#10' ORDER BY ID' +
'_ALBARAN, POSICION'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_ALBARAN'
TableField = 'ID_ALBARAN'
end
item
DatasetField = 'POSICION'
TableField = 'POSICION'
end
item
DatasetField = 'TIPO_DETALLE'
TableField = 'TIPO_DETALLE'
end
item
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end
item
DatasetField = 'CANTIDAD'
TableField = 'CANTIDAD'
end
item
DatasetField = 'UNIDAD_MEDIDA'
TableField = 'UNIDAD_MEDIDA'
end
item
DatasetField = 'IMPORTE_UNIDAD'
TableField = 'IMPORTE_UNIDAD'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end>
end>
Name = 'Informe_Detalles'
Fields = <
item
Name = 'ID'
DataType = datInteger
InPrimaryKey = True
end
item
Name = 'ID_ALBARAN'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 25
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 254
end
item
Name = 'CANTIDAD'
DataType = datFloat
end
item
Name = 'UNIDAD_MEDIDA'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end>
ReadOnly = True
end>
JoinDataTables = <>
UnionDataTables = <>
Commands = <>
RelationShips = <>
UpdateRules = <>
Version = 0
Left = 48
Top = 16
end
object DataDictionary: TDADataDictionary
Fields = <>
Left = 46
Top = 142
end
object DABin2DataStreamer: TDABin2DataStreamer
Left = 48
Top = 80
end
object tbl_Cabecera: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
end
item
Name = 'FECHA_ALBARAN'
DataType = datDateTime
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'ID_PEDIDO'
DataType = datInteger
end
item
Name = 'REF_PEDIDO'
DataType = datString
Size = 255
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'NIF_CIF'
DataType = datString
Size = 15
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
end
item
Name = 'CALLE'
DataType = datString
Size = 255
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
end>
Params = <
item
Name = 'ID'
Value = '2'
ParamType = daptInput
end>
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
LogicalName = 'Informe_Cabecera'
IndexDefs = <>
Left = 168
Top = 16
end
object tbl_Detalles: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
InPrimaryKey = True
end
item
Name = 'ID_ALBARAN'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 25
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 254
end
item
Name = 'CANTIDAD'
DataType = datFloat
end
item
Name = 'UNIDAD_MEDIDA'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end>
Params = <
item
Name = 'ID_ALBARAN'
Value = '2'
ParamType = daptInput
end>
MasterParamsMappings.Strings = (
'ID_PRESUPUESTO=ID_PRESUPUESTO')
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
LogicalName = 'Informe_Detalles'
IndexDefs = <>
Left = 264
Top = 16
end
object tbl_Empresa: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <
item
Name = 'ID'
Value = '31'
ParamType = daptInput
end>
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LogicalName = 'Empresa'
IndexDefs = <>
Left = 168
Top = 80
end
end

View File

@ -1,272 +0,0 @@
unit uRptWordAlbaranCliente;
interface
uses
SysUtils, Classes, AHWord97, IB, IBCustomDataSet, IBDatabase,
Word2000,
uDAInterfaces, uDADataStreamer, uDABin2DataStreamer, uDAClasses,
uDAScriptingProvider, uDADataTable, uDAMemDataTable;
type
TRptWordAlbaranCliente = class(TDataModule)
DABin2DataStreamer: TDABin2DataStreamer;
tbl_Cabecera: TDAMemDataTable;
tbl_Detalles: TDAMemDataTable;
tbl_Empresa: TDAMemDataTable;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
FWordApp : TWordApp;
FDocumento : TWordDoc;
FPlantilla : string;
FCodigoAlbaran : string;
FNombreFichero : string;
function RellenarInforme : Boolean;
procedure RellenarDatosAlbaran;
procedure RellenarDatosDetalle;
function Generar: Boolean;
procedure _GenerarAlbaran(const AID: String);
public
function Exportar(Codigo, Fichero : String): Boolean;
constructor Create (AOwner : TComponent); override;
destructor Destroy; override;
end;
implementation
{ TRptWordAlbaranCliente }
{$R *.dfm}
uses
Windows, Variants, Dialogs, uDataModuleServer, uStringsUtils, uSistemaFunc,
srvEmpresas_Impl, uROTypes, uROClasses;
const
rptInforme = 'AlbaranCliente.rdx';
constructor TRptWordAlbaranCliente.Create(AOwner: TComponent);
begin
inherited;
FDocumento := NIL;
end;
procedure TRptWordAlbaranCliente.DataModuleCreate(Sender: TObject);
begin
schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion;
end;
destructor TRptWordAlbaranCliente.Destroy;
begin
if FDocumento <> NIL then
FDocumento.Free;
FDocumento := NIL;
inherited;
end;
function TRptWordAlbaranCliente.Generar: Boolean;
begin
FWordApp := TWordApp.Create (False, False);
with FWordApp do
begin
Visible := False;
ScreenUpdating := False;
end;
FDocumento := TWordDoc.CreateOpenDoc (FWordApp, FPlantilla);
FWordApp.SaveActiveDocAs(FNombreFichero);
try
if not RellenarInforme then
RaiseError('Se producido un error al generar el informe en MS Word.');
FWordApp.CloseApp(wdSaveChanges);
Result := True;
finally
FDocumento := NIL;
FWordApp := NIL;
end;
end;
function TRptWordAlbaranCliente.RellenarInforme: Boolean;
begin
RellenarDatosAlbaran;
RellenarDatosDetalle;
Result := True;
end;
procedure TRptWordAlbaranCliente.RellenarDatosAlbaran;
//var
// FicheroTemporal : String;
// LinkToFile, SaveWithDocument, _Range : OleVariant;
// Imagen : InlineShape;
begin
//PARA DIBUJAR EL LOGOTIPO MULTIEMPRESA
{--------------------------- PENDIENTE
if (EmpresaActiva.Logotipo <> Nil) then
begin
//Activamos cabecera
FWordApp.Application.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageHeader;
LinkToFile := False;
SaveWithDocument := True;
_Range := EmptyParam;
FicheroTemporal := DarFicheroTemporal;
EmpresaActiva.Logotipo.SaveToFile (FicheroTemporal);
Imagen := FWordApp.Application.ActiveWindow.ActivePane.Selection.InlineShapes.AddPicture(ficherotemporal, LinkToFile, SaveWithDocument, _Range);
//Formateamos imagen
if ((Imagen.Get_Width > ANCHO_LOGO_INF)) then
begin
Imagen.Set_Height(((ANCHO_LOGO_INF * Imagen.Get_Height) /Imagen.Get_Width));
Imagen.Set_Width(ANCHO_LOGO_INF);
end;
end;
---------------------------- }
with FDocumento, tbl_Cabecera do
begin
ReplaceBookmark('CodigoAlbaranCab', FieldByName('REFERENCIA').AsString);
ReplaceBookmark('FechaAlbaranCab', FieldByName('FECHA_ALBARAN').AsString);
ReplaceBookmark('NombreClienteCab', FieldByName('NOMBRE').AsString);
ReplaceBookmark('DireccionClienteCab', FieldByName('CALLE').AsString);
ReplaceBookmark('PoblacionClienteCab',
FieldByName('CODIGO_POSTAL').AsString + ' ' +
FieldByName('POBLACION').AsString + ' ' + FieldByName('PROVINCIA').AsString);
ReplaceBookmark('ContactoClienteCab', FieldByName('PERSONA_CONTACTO').AsString);
{P571
ReplaceBookmark('BaseImponible', FieldByName('BASEIMPONIBLE').DisplayText);
if esCadenaVacia(FieldByName('Descuento').DisplayText)
then ReplaceBookmark('Descuento', '0')
else ReplaceBookmark('Descuento', FieldByName('DESCUENTO').DisplayText);
ReplaceBookmark('ImporteDescuento', FieldByName('IMPORTEDESCUENTO').DisplayText);
if esCadenaVacia(FieldByName('IVA').DisplayText)
then ReplaceBookmark('IVA', '0')
else ReplaceBookmark('IVA', FieldByName('IVA').DisplayText);
ReplaceBookmark('ImporteIVA', FieldByName('IMPORTEIVA').DisplayText);
ReplaceBookmark('ImporteTotal', FieldByName('IMPORTETOTAL').DisplayText);
}
ReplaceBookmark('NombreEmpresa', tbl_Empresa.FieldByName('NOMBRE').AsString);
ReplaceBookmark('CifEmpresa', tbl_Empresa.FieldByName('NIF_CIF').AsString);
ReplaceBookmark('DireccionEmpresa',
Format('%s. %s %s', [tbl_Empresa.FieldByName('CALLE').AsString,
tbl_Empresa.FieldByName('CODIGO_POSTAL').AsString, tbl_Empresa.FieldByName('POBLACION').AsString]));
ReplaceBookmark('TelefonoEmpresa', tbl_Empresa.FieldByName('TELEFONO_1').AsString);
ReplaceBookmark('FaxEmpresa', tbl_Empresa.FieldByName('FAX').AsString);
ReplaceBookmark('CorreoEmpresa', tbl_Empresa.FieldByName('EMAIL_1').AsString);
end;
end;
procedure TRptWordAlbaranCliente.RellenarDatosDetalle;
var
numRows, numCols, mergesplit : OleVariant;
MaxCols, iRowCount : Integer;
ACantidad: String;
AIndice: Integer;
AText : String;
begin
iRowCount := 2;
numrows := 2;
numcols := 1;
mergeSplit := False;
MaxCols := 24;
with FDocumento.Document.Tables.Item(1), tbl_Detalles do
begin
First;
while not EOF do
begin
Rows.Item (iRowCount).Cells.Split (numRows, numCols, mergesplit);
Cell(iRowCount, 1).Range.Text := FieldByName('REFERENCIA').AsString;
Cell(iRowCount, 2).Range.Text := FieldByName('CONCEPTO').AsString;
ACantidad := FloatToStr(FieldByName('CANTIDAD').AsFloat);
if ACantidad = '0' then
AText := ''
else begin
AIndice := Pos(',', ACantidad);
if AIndice > 0 then
AText := FormatFloat('#,0.00', FieldByName('CANTIDAD').AsFloat)
else
AText := FormatFloat('#,0.##', FieldByName('CANTIDAD').AsFloat);
end;
Cell(iRowCount, 3).Range.Text := AText + ' ' + FieldByName('UNIDAD_MEDIDA').AsString;
if (FieldByName('IMPORTE_UNIDAD').AsFloat = 0) then
Cell(iRowCount, 4).Range.Text := ''
else
Cell(iRowCount, 4).Range.Text := FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_UNIDAD').AsFloat);
if (FieldByName('IMPORTE_TOTAL').AsFloat = 0) then
Cell(iRowCount, 5).Range.Text := ''
else
Cell(iRowCount, 5).Range.Text := FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_TOTAL').AsFloat);
Next;
Inc (iRowCount);
end;
Rows.Item(iRowCount).Delete;
{while iRowCount <= MaxCols do
begin
Rows.Item (iRowCount).Cells.Split (numRows, numCols, mergesplit);
inc (iRowCount);
end;}
end;
end;
function TRptWordAlbaranCliente.Exportar(Codigo,
Fichero: String): Boolean;
begin
if EsCadenaVacia(Fichero) then
begin
Result := False;
raise Exception.Create('Falta indicar el fichero donde se exportará el listado.');
end;
FNombreFichero := Fichero;
FCodigoAlbaran := Codigo;
_GenerarAlbaran(Codigo);
Result := True;
end;
procedure TRptWordAlbaranCliente._GenerarAlbaran(const AID: String);
var
ACopiaPlantilla : String;
begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try
tbl_Cabecera.ParamByName('ID').AsString := AID;
tbl_Detalles.ParamByName('ID_ALBARAN').AsString := AID;
tbl_Cabecera.Active := True;
tbl_Detalles.Active := True;
FPlantilla := DarRutaInformes + tbl_Cabecera.FieldByName('ID_EMPRESA').AsString + '\' + rptInforme;
FCodigoAlbaran := AID;
ACopiaPlantilla := DarFicheroTemporal;
CopiarFichero(FPlantilla, ACopiaPlantilla);
FPlantilla := ACopiaPlantilla;
try
if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then
Generar;
finally
SysUtils.DeleteFile(ACopiaPlantilla);
end;
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
end;
end.

View File

@ -33,7 +33,6 @@ type
protected
{ IsrvAlbaranesCliente methods }
function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
function GenerarInformeEnWord(const ID: Integer): Binary;
function GenerarInforme(const ListaID: TIntegerArray; const VerPrecios: Boolean; const VerRefProveedor: Boolean; const VerObservaciones: Boolean;
const VerIncidencias: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerPrecios: Boolean; const VerRefProveedor: Boolean; const VerObservaciones: Boolean;
@ -50,8 +49,7 @@ implementation
uses
{Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils,
schAlbaranesClienteClient_Intf, uRestriccionesUsuarioUtils,
uRptAlbaranesCliente_Server, uBizAlbaranClienteServer, uRptWordAlbaranCliente,
uSistemaFunc;
uRptAlbaranesCliente_Server, uBizAlbaranClienteServer, uSistemaFunc;
procedure Create_srvAlbaranesCliente(out anInstance : IUnknown);
begin
@ -142,26 +140,6 @@ begin
end;
end;
function TsrvAlbaranesCliente.GenerarInformeEnWord(const ID: Integer): Binary;
var
AReportGenerator : TRptWordAlbaranCliente;
AFicheroTMP : TFileName;
begin
Result := NIL;
AFicheroTMP := DarFicheroTemporal;
AReportGenerator := TRptWordAlbaranCliente.Create(nil);
try
if AReportGenerator.Exportar(IntToStr(ID), AFicheroTMP) then
begin
Result := Binary.Create;
Result.LoadFromFile(AFicheroTMP);
SysUtils.DeleteFile(AFicheroTMP)
end;
finally
FreeAndNIL(AReportGenerator);
end;
end;
initialization
TROClassFactory.Create('srvAlbaranesCliente', Create_srvAlbaranesCliente, TsrvAlbaranesCliente_Invoker);

View File

@ -1,541 +0,0 @@
object RptWordAlbaranProveedor: TRptWordAlbaranProveedor
OldCreateOrder = False
OnCreate = DataModuleCreate
Height = 223
Width = 337
object schReport: TDASchema
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DataDictionary
Datasets = <
item
IsPublic = False
Params = <
item
Name = 'ID'
Value = '3'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
SQL =
'SELECT'#10' ALBARANES_PROVEEDOR.ID,'#10' ALBARANES_PROVEEDOR.ID_EMPRES' +
'A,'#10' ALBARANES_PROVEEDOR.TIPO,'#10' ALBARANES_PROVEEDOR.REFERENCIA,' +
#10' ALBARANES_PROVEEDOR.FECHA_ALBARAN,'#10' ALBARANES_PROVEEDOR.OBSE' +
'RVACIONES,'#10' CONTACTOS.NOMBRE,'#10' COALESCE(CONTACTOS_DIRECCIONES.' +
'FAX, CONTACTOS.FAX) AS FAX,'#10' ALBARANES_PROVEEDOR.PERSONA_CONTAC' +
'TO_PROV AS PERSONA_CONTACTO,'#10' PROVEEDORES_DATOS.CODIGO_ASIGNADO' +
' AS CODIGO_CLIENTE,'#10' ALBARANES_PROVEEDOR.ID_ALMACEN,'#10' COALESCE' +
'(ALMACENES.CALLE, ALBARANES_PROVEEDOR.CALLE) AS CALLE,'#10' COALESC' +
'E(ALMACENES.POBLACION, ALBARANES_PROVEEDOR.POBLACION) AS POBLACI' +
'ON,'#10' COALESCE(ALMACENES.PROVINCIA, ALBARANES_PROVEEDOR.PROVINCI' +
'A) AS PROVINCIA,'#10' COALESCE(ALMACENES.CODIGO_POSTAL, ALBARANES_P' +
'ROVEEDOR.CODIGO_POSTAL) AS CODIGO_POSTAL,'#10' ALBARANES_PROVEEDOR.' +
'PERSONA_CONTACTO AS ENTREGAR_A,'#10' ALBARANES_PROVEEDOR.IMPORTE_TO' +
'TAL'#10'FROM'#10' ALBARANES_PROVEEDOR'#10' INNER JOIN CONTACTOS ON (CONTAC' +
'TOS.ID = ALBARANES_PROVEEDOR.ID_PROVEEDOR)'#10' LEFT OUTER JOIN PRO' +
'VEEDORES_DATOS ON (PROVEEDORES_DATOS.ID_PROVEEDOR = ALBARANES_PR' +
'OVEEDOR.ID_PROVEEDOR)'#10' LEFT OUTER JOIN CONTACTOS_DIRECCIONES ON' +
' (CONTACTOS_DIRECCIONES.ID = ALBARANES_PROVEEDOR.ID_DIRECCION)'#10' ' +
' LEFT OUTER JOIN ALMACENES ON (ALMACENES.ID = ALBARANES_PROVEEDO' +
'R.ID_ALMACEN)'#10'WHERE ALBARANES_PROVEEDOR.ID = :ID'#10#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_EMPRESA'
TableField = 'ID_EMPRESA'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end
item
DatasetField = 'OBSERVACIONES'
TableField = 'OBSERVACIONES'
end
item
DatasetField = 'NOMBRE'
TableField = 'NOMBRE'
end
item
DatasetField = 'FAX'
TableField = 'FAX'
end
item
DatasetField = 'PERSONA_CONTACTO'
TableField = 'PERSONA_CONTACTO'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'ID_ALMACEN'
TableField = 'ID_ALMACEN'
end
item
DatasetField = 'CODIGO_CLIENTE'
TableField = 'CODIGO_CLIENTE'
end
item
DatasetField = 'TIPO'
TableField = 'TIPO'
end
item
DatasetField = 'FECHA_ALBARAN'
TableField = 'FECHA_ALBARAN'
end
item
DatasetField = 'CALLE'
TableField = 'CALLE'
end
item
DatasetField = 'POBLACION'
TableField = 'POBLACION'
end
item
DatasetField = 'PROVINCIA'
TableField = 'PROVINCIA'
end
item
DatasetField = 'CODIGO_POSTAL'
TableField = 'CODIGO_POSTAL'
end
item
DatasetField = 'ENTREGAR_A'
TableField = 'ENTREGAR_A'
end>
end>
Name = 'Informe_Cabecera'
Fields = <
item
Name = 'ID'
DataType = datInteger
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'TIPO'
DataType = datString
Size = 1
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'FECHA_ALBARAN'
DataType = datDateTime
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'FAX'
DataType = datString
Size = 25
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'ID_ALMACEN'
DataType = datInteger
end
item
Name = 'CALLE'
DataType = datString
Size = 255
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
end
item
Name = 'ENTREGAR_A'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end>
ReadOnly = True
end
item
IsPublic = False
Params = <
item
Name = 'ID_ALBARAN'
Value = ''
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
SQL =
'SELECT DET.ID, DET.ID_ALBARAN,'#10' DET.POSICION, DET.TIPO_DET' +
'ALLE,'#10' ARTICULOS.REFERENCIA, F_RTFTOTEXT(CONCEPTO) as CONC' +
'EPTO, DET.CANTIDAD,'#10' DET.UNIDAD_MEDIDA, DET.IMPORTE_UNIDAD' +
' - (DET.IMPORTE_UNIDAD * (COALESCE(DET.DESCUENTO,0) / 100)) as I' +
'MPORTE_UNIDAD, DET.IMPORTE_TOTAL,'#10' ARTICULOS_PROVEEDORES.R' +
'EFERENCIA_PROV as REFERENCIA_PROVEEDOR,'#10' ARTICULOS.REFEREN' +
'CIA_FABR as REFERENCIA_FABRICANTE'#10'FROM ALBARANES_PROVEEDOR_DETAL' +
'LES DET'#10'LEFT OUTER JOIN ARTICULOS ON (DET.ID_ARTICULO = ARTICULO' +
'S.ID)'#10'LEFT JOIN ALBARANES_PROVEEDOR ON (ALBARANES_PROVEEDOR.ID =' +
' DET.ID_ALBARAN)'#10'LEFT JOIN ARTICULOS_PROVEEDORES ON ((ARTICULOS_' +
'PROVEEDORES.ID_ARTICULO = ARTICULOS.ID) AND (ARTICULOS_PROVEEDOR' +
'ES.ID_PROVEEDOR = ALBARANES_PROVEEDOR.ID_PROVEEDOR))'#10'WHERE DET.I' +
'D_ALBARAN = :ID_ALBARAN AND DET.VISIBLE = 1 AND {Where}'#10'ORDER BY' +
' DET.ID_ALBARAN, DET.POSICION;'#10#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_ALBARAN'
TableField = 'ID_ALBARAN'
end
item
DatasetField = 'POSICION'
TableField = 'POSICION'
end
item
DatasetField = 'TIPO_DETALLE'
TableField = 'TIPO_DETALLE'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end
item
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end
item
DatasetField = 'CANTIDAD'
TableField = 'CANTIDAD'
end
item
DatasetField = 'UNIDAD_MEDIDA'
TableField = 'UNIDAD_MEDIDA'
end
item
DatasetField = 'IMPORTE_UNIDAD'
TableField = 'IMPORTE_UNIDAD'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'REFERENCIA_PROVEEDOR'
TableField = 'REFERENCIA_PROVEEDOR'
end
item
DatasetField = 'REFERENCIA_FABRICANTE'
TableField = 'REFERENCIA_FABRICANTE'
end>
end>
Name = 'Informe_Detalles'
Fields = <
item
Name = 'ID'
DataType = datInteger
end
item
Name = 'ID_ALBARAN'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 25
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2000
end
item
Name = 'CANTIDAD'
DataType = datFloat
end
item
Name = 'UNIDAD_MEDIDA'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datFloat
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'REFERENCIA_PROVEEDOR'
DataType = datString
Size = 255
end
item
Name = 'REFERENCIA_FABRICANTE'
DataType = datString
Size = 255
end>
ReadOnly = True
end>
JoinDataTables = <>
UnionDataTables = <>
Commands = <>
RelationShips = <>
UpdateRules = <>
Version = 0
Left = 48
Top = 16
end
object DataDictionary: TDADataDictionary
Fields = <>
Left = 46
Top = 142
end
object DABin2DataStreamer: TDABin2DataStreamer
Left = 48
Top = 80
end
object tbl_Cabecera: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'TIPO'
DataType = datString
Size = 1
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'FECHA_ALBARAN'
DataType = datDateTime
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'FAX'
DataType = datString
Size = 25
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'ID_ALMACEN'
DataType = datInteger
end
item
Name = 'CALLE'
DataType = datString
Size = 255
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
end
item
Name = 'ENTREGAR_A'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end>
Params = <
item
Name = 'ID'
Value = '3'
ParamType = daptInput
end>
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
LogicalName = 'Informe_Cabecera'
IndexDefs = <>
Left = 168
Top = 16
end
object tbl_Detalles: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
end
item
Name = 'ID_ALBARAN'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 25
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2000
end
item
Name = 'CANTIDAD'
DataType = datFloat
end
item
Name = 'UNIDAD_MEDIDA'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datFloat
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'REFERENCIA_PROVEEDOR'
DataType = datString
Size = 255
end
item
Name = 'REFERENCIA_FABRICANTE'
DataType = datString
Size = 255
end>
Params = <
item
Name = 'ID_ALBARAN'
Value = ''
ParamType = daptInput
end>
MasterParamsMappings.Strings = (
'ID_PRESUPUESTO=ID_PRESUPUESTO')
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
LogicalName = 'Informe_Detalles'
IndexDefs = <>
Left = 264
Top = 16
end
object tbl_Empresa: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <
item
Name = 'ID'
Value = '31'
ParamType = daptInput
end>
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LogicalName = 'Empresa'
IndexDefs = <>
Left = 168
Top = 80
end
end

View File

@ -1,295 +0,0 @@
unit uRptWordAlbaranProveedor;
interface
uses
SysUtils, Classes, AHWord97, IB, IBCustomDataSet, IBDatabase,
Word2000, uDAInterfaces, uDADataStreamer, uDABin2DataStreamer, uDAClasses,
uDAScriptingProvider, uDADataTable, uDAMemDataTable;
type
TRptWordAlbaranProveedor = class(TDataModule)
DABin2DataStreamer: TDABin2DataStreamer;
tbl_Cabecera: TDAMemDataTable;
tbl_Detalles: TDAMemDataTable;
tbl_Empresa: TDAMemDataTable;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
FPlantilla : string;
FWordApp : TWordApp;
FDocumento : TWordDoc;
FCodigoAlbaran : string;
FNombreFichero : String;
function Generar : Boolean;
function RellenarDatosAlbaran : Boolean;
function RellenarDatosDetalle : Boolean;
procedure _GenerarAlbaran(const AID: String);
public
ImprimirPrecio : Boolean;
ImprimirRefProveedor : Boolean;
function Exportar(Codigo, Fichero : String): Boolean;
constructor Create (AOwner : TComponent); override;
destructor Destroy; override;
end;
implementation
{ TRptWordAlbaranProveedor }
{$R *.dfm}
uses
Windows, Variants, Dialogs, uDataModuleServer, uStringsUtils, uSistemaFunc,
srvEmpresas_Impl, uROTypes, uROClasses;
const
rptInforme = 'AlbaranProveedor.rdx';
constructor TRptWordAlbaranProveedor.Create(AOwner: TComponent);
begin
inherited;
ImprimirPrecio := False;
ImprimirRefProveedor := False;
FDocumento := NIL;
end;
destructor TRptWordAlbaranProveedor.Destroy;
begin
if FDocumento <> NIL then
FDocumento.Free;
FDocumento := NIL;
inherited;
end;
function TRptWordAlbaranProveedor.Exportar(Codigo, Fichero: String): Boolean;
begin
if EsCadenaVacia(Fichero) then
begin
Result := False;
raise Exception.Create('Falta indicar el fichero donde se exportará el listado.');
end;
FNombreFichero := Fichero;
FCodigoAlbaran := Codigo;
_GenerarAlbaran(Codigo);
Result := True;
end;
procedure TRptWordAlbaranProveedor.DataModuleCreate(Sender: TObject);
begin
schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion;
end;
function TRptWordAlbaranProveedor.Generar : Boolean;
begin
FWordApp := TWordApp.Create (False, False);
with FWordApp do
begin
Visible := False;
ScreenUpdating := False;
end;
FDocumento := TWordDoc.CreateNewDoc(FWordApp, FPlantilla);
FWordApp.SaveActiveDocAs(FNombreFichero);
try
if not RellenarDatosAlbaran then
RaiseError('Se producido un error al generar la cabecera en MS Word.');
if not RellenarDatosDetalle then
RaiseError('Se producido un error al generar el informe en MS Word.');
FWordApp.CloseApp(wdSaveChanges);
Result := True;
finally
FDocumento := NIL;
FWordApp := NIL;
end;
end;
function TRptWordAlbaranProveedor.RellenarDatosDetalle : Boolean;
var
numRows, numCols, mergesplit : OleVariant;
MaxCols, iRowCount : Integer;
ACantidad: String;
AIndice: Integer;
AText : String;
begin
iRowCount := 2;
numrows := 2;
numcols := 1;
mergeSplit := False;
MaxCols := 12;
with FDocumento.Document.Tables.Item(1), tbl_Detalles do
begin
tbl_Detalles.First;
while not tbl_Detalles.EOF do
begin
Rows.Item (iRowCount).Cells.Split (numRows, numCols, mergesplit);
if ImprimirRefProveedor then
Cell(iRowCount, 1).Range.Text := FieldByName('REFERENCIA_PROVEEDOR').AsString;
Cell(iRowCount, 2).Range.Text := FieldByName('REFERENCIA_FABRICANTE').AsString;
Cell(iRowCount, 3).Range.Text := FieldByName('CONCEPTO').AsString;
ACantidad := FloatToStr(FieldByName('CANTIDAD').AsFloat);
AIndice := Pos(',', ACantidad);
if AIndice > 0 then
AText := FormatFloat('#,0.00', FieldByName('CANTIDAD').AsFloat)
else
AText := FormatFloat('#,0.##', FieldByName('CANTIDAD').AsFloat);
Cell(iRowCount, 4).Range.Text := AText + ' ' + FieldByName('UNIDAD_MEDIDA').AsString;
if ImprimirPrecio
and (FieldByName('IMPORTE_UNIDAD').AsFloat <> 0) then
Cell(iRowCount, 5).Range.Text := FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_UNIDAD').AsFloat)
else
Cell(iRowCount, 5).Range.Text := '';
if ImprimirPrecio
and (FieldByName('IMPORTE_TOTAL').AsFloat <> 0) then
Cell(iRowCount, 6).Range.Text := FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_TOTAL').AsFloat)
else
Cell(iRowCount, 6).Range.Text := '';
Next;
Inc (iRowCount);
end;
Rows.Item(iRowCount).Delete;
{while iRowCount <= MaxCols do
begin
Rows.Item (iRowCount).Cells.Split (numRows, numCols, mergesplit);
inc (iRowCount);
end;}
end;
Result := True;
end;
function TRptWordAlbaranProveedor.RellenarDatosAlbaran : Boolean;
var
DireccionEntrega : String;
// LinkToFile, SaveWithDocument, _Range : OleVariant;
// Imagen : InlineShape;
begin
//PARA DIBUJAR EL LOGOTIPO MULTIEMPRESA
{if (EmpresaActiva.Logotipo <> Nil) then
begin
//Activamos cabecera
FWordApp.Application.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageHeader;
LinkToFile := False;
SaveWithDocument := True;
_Range := EmptyParam;
FicheroTemporal := DarFicheroTemporal;
EmpresaActiva.Logotipo.SaveToFile (FicheroTemporal);
Imagen := FWordApp.Application.ActiveWindow.ActivePane.Selection.InlineShapes.AddPicture(ficherotemporal, LinkToFile, SaveWithDocument, _Range);
//Formateamos imagen
if ((Imagen.Get_Width > ANCHO_LOGO_INF)) then
begin
Imagen.Set_Height(((ANCHO_LOGO_INF * Imagen.Get_Height) /Imagen.Get_Width));
Imagen.Set_Width(ANCHO_LOGO_INF);
end;
end;}
with FDocumento, tbl_Cabecera do
begin
if FieldByName('TIPO').AsString = 'D' then
ReplaceBookmark('TituloDocumento', 'ORDEN DE DEVOLUCIÓN');
ReplaceBookmark('CodigoAlbaran', FieldByName('REFERENCIA').AsString);
ReplaceBookmark('FechaAlbaran', FieldByName('FECHA_ALBARAN').AsString);
// En la dirección mostrar aquellos campos que estén rellenos.
DireccionEntrega := '';
if not EsCadenaVacia(FieldByName('CALLE').AsString) then
DireccionEntrega := DireccionEntrega + FieldByName('CALLE').AsString;
if not EsCadenaVacia(FieldByName('CODIGO_POSTAL').AsString) then
DireccionEntrega := DireccionEntrega + ', ' + FieldByName('CODIGO_POSTAL').AsString;
if not EsCadenaVacia(FieldByName('POBLACION').AsString) then
DireccionEntrega := DireccionEntrega + ', ' + FieldByName('POBLACION').AsString;
if not EsCadenaVacia(FieldByName('PROVINCIA').AsString) then
DireccionEntrega := DireccionEntrega + ', ' + FieldByName('PROVINCIA').AsString;
ReplaceBookmark('LugarEntrega', DireccionEntrega);
{ ReplaceBookmark('LugarEntrega', FieldByName('CALLEALMACEN').AsString + ' ' +
FieldByName('NUMEROALMACEN').AsString + ', ' + FieldByName('PISOALMACEN').AsString + ', ' +
FieldByName('CODIGOPOSTALALMACEN').AsString + ' ' + FieldByName('POBLACIONALMACEN').AsString + ', ' + FieldByName('PROVINCIAALMACEN').AsString);}
// ReplaceBookmark('PersonaEntrega', FieldByName('ENTREGAR_A').AsString);
{ if FieldByName('FECHA_ENTREGA').IsNull then
ReplaceBookmark('FechaEntrega', '')
else
ReplaceBookmark('FechaEntrega', 'FECHA DE ENTREGA PREVISTA: ' + FieldByName('FECHA_ENTREGA').AsString);}
ReplaceBookmark('NombreProveedor', FieldByName('NOMBRE').AsString);
ReplaceBookmark('FaxProveedor', FieldByName('FAX').AsString);
ReplaceBookmark('PersonaContactoProveedor', FieldByName('PERSONA_CONTACTO').AsString);
ReplaceBookmark('CodigoClienteProveedor', FieldByName('CODIGO_CLIENTE').AsString);
if ImprimirPrecio then
ReplaceBookmark('ImporteTotal', FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_TOTAL').AsFloat))
else
ReplaceBookmark('ImporteTotal', '');
ReplaceBookmark('NotasAlbaran', FieldByName('OBSERVACIONES').AsString);
ReplaceBookmark('NombreEmpresa', tbl_Empresa.FieldByName('NOMBRE').AsString);
ReplaceBookmark('NombreEmpresa2', tbl_Empresa.FieldByName('NOMBRE').AsString);
ReplaceBookmark('CifEmpresa', tbl_Empresa.FieldByName('NIF_CIF').AsString);
ReplaceBookmark('DireccionEmpresa',
Format('%s. %s %s', [tbl_Empresa.FieldByName('CALLE').AsString,
tbl_Empresa.FieldByName('CODIGO_POSTAL').AsString, tbl_Empresa.FieldByName('POBLACION').AsString]));
ReplaceBookmark('TelefonoEmpresa', tbl_Empresa.FieldByName('TELEFONO_1').AsString);
ReplaceBookmark('FaxEmpresa', tbl_Empresa.FieldByName('FAX').AsString);
ReplaceBookmark('CorreoEmpresa', tbl_Empresa.FieldByName('EMAIL_1').AsString);
end;
Result := True;
end;
procedure TRptWordAlbaranProveedor._GenerarAlbaran(const AID: String);
var
ACopiaPlantilla : String;
begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try
tbl_Cabecera.ParamByName('ID').AsString := AID;
tbl_Detalles.ParamByName('ID_ALBARAN').AsString := AID;
tbl_Cabecera.Active := True;
tbl_Detalles.Active := True;
FPlantilla := DarRutaInformes + tbl_Cabecera.FieldByName('ID_EMPRESA').AsString + '\' + rptInforme;
FCodigoAlbaran := AID;
if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then
begin
ACopiaPlantilla := DarFicheroTemporal;
CopiarFichero(FPlantilla, ACopiaPlantilla);
FPlantilla := ACopiaPlantilla;
try
Generar;
finally
SysUtils.DeleteFile(ACopiaPlantilla);
end;
end;
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
end;
end.

View File

@ -34,8 +34,6 @@ type
protected
function GenerarInforme(const ListaID: TIntegerArray;
const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
function GenerarInformeEnWord(const ID: Integer;
const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray;
const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
end;
@ -50,7 +48,7 @@ uses
{Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils,
schAlbaranesProveedorClient_Intf, uRestriccionesUsuarioUtils,
uBizAlbaranProveedorServer, uRptAlbaranesProveedor_Server,
uRptWordAlbaranProveedor, uSistemaFunc;
uSistemaFunc;
procedure Create_srvAlbaranesProveedor(out anInstance : IUnknown);
begin
@ -112,29 +110,6 @@ begin
end;
end;
function TsrvAlbaranesProveedor.GenerarInformeEnWord(const ID: Integer;
const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
var
AReportGenerator : TRptWordAlbaranProveedor;
AFicheroTMP : TFileName;
begin
Result := NIL;
AFicheroTMP := DarFicheroTemporal;
AReportGenerator := TRptWordAlbaranProveedor.Create(nil);
try
AReportGenerator.ImprimirPrecio := ImprimirPrecio;
AReportGenerator.ImprimirRefProveedor := ImprimirRefProveedor;
if AReportGenerator.Exportar(IntToStr(ID), AFicheroTMP) then
begin
Result := Binary.Create;
Result.LoadFromFile(AFicheroTMP);
SysUtils.DeleteFile(AFicheroTMP)
end;
finally
FreeAndNIL(AReportGenerator);
end;
end;
initialization
TROClassFactory.Create('srvAlbaranesProveedor', Create_srvAlbaranesProveedor, TsrvAlbaranesProveedor_Invoker);

View File

@ -1,781 +0,0 @@
object RptWordFacturaCliente: TRptWordFacturaCliente
OldCreateOrder = False
OnCreate = DataModuleCreate
Height = 366
Width = 514
object schReport: TDASchema
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DataDictionary
Datasets = <
item
Params = <
item
Name = 'ID'
Value = '2'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
SQL =
'select'#10' v_facturas_cliente.id, v_facturas_cliente.id_empresa,'#10 +
' v_facturas_cliente.referencia, v_facturas_cliente.tipo,'#10' v_' +
'facturas_cliente.fecha_factura, v_facturas_cliente.base_imponibl' +
'e,'#10' v_facturas_cliente.situacion, v_facturas_cliente.descuento' +
','#10' v_facturas_cliente.importe_descuento, v_facturas_cliente.iv' +
'a,'#10' v_facturas_cliente.importe_iva, v_facturas_cliente.re,'#10' ' +
'v_facturas_cliente.importe_re, v_facturas_cliente.importe_total,' +
#10' v_facturas_cliente.observaciones, v_facturas_cliente.nif_cif' +
','#10' v_facturas_cliente.id_cliente, v_facturas_cliente.nombre,'#10' ' +
' v_facturas_cliente.calle, v_facturas_cliente.provincia,'#10' v_f' +
'acturas_cliente.poblacion, v_facturas_cliente.codigo_postal,'#10' ' +
'v_facturas_cliente.recargo_equivalencia, v_facturas_cliente.impo' +
'rte_neto,'#10' v_facturas_cliente.importe_porte, formas_pago.descr' +
'ipcion as FORMA_PAGO,'#10' v_facturas_cliente.datos_bancarios, v_f' +
'acturas_cliente.fecha_vencimiento,'#10' v_facturas_cliente.retenci' +
'on, v_facturas_cliente.importe_retencion'#10'from v_facturas_cliente' +
#10' left outer join formas_pago on (formas_pago.id = v_facturas_' +
'cliente.id_forma_pago)'#10'WHERE V_FACTURAS_CLIENTE.ID = :ID'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_EMPRESA'
TableField = 'ID_EMPRESA'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end
item
DatasetField = 'OBSERVACIONES'
TableField = 'OBSERVACIONES'
end
item
DatasetField = 'ID_CLIENTE'
TableField = 'ID_CLIENTE'
end
item
DatasetField = 'NIF_CIF'
TableField = 'NIF_CIF'
end
item
DatasetField = 'NOMBRE'
TableField = 'NOMBRE'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'CALLE'
TableField = 'CALLE'
end
item
DatasetField = 'POBLACION'
TableField = 'POBLACION'
end
item
DatasetField = 'PROVINCIA'
TableField = 'PROVINCIA'
end
item
DatasetField = 'CODIGO_POSTAL'
TableField = 'CODIGO_POSTAL'
end
item
DatasetField = 'TIPO'
TableField = 'TIPO'
end
item
DatasetField = 'FECHA_FACTURA'
TableField = 'FECHA_FACTURA'
end
item
DatasetField = 'BASE_IMPONIBLE'
TableField = 'BASE_IMPONIBLE'
end
item
DatasetField = 'SITUACION'
TableField = 'SITUACION'
end
item
DatasetField = 'DESCUENTO'
TableField = 'DESCUENTO'
end
item
DatasetField = 'IMPORTE_DESCUENTO'
TableField = 'IMPORTE_DESCUENTO'
end
item
DatasetField = 'IVA'
TableField = 'IVA'
end
item
DatasetField = 'IMPORTE_IVA'
TableField = 'IMPORTE_IVA'
end
item
DatasetField = 'RE'
TableField = 'RE'
end
item
DatasetField = 'IMPORTE_RE'
TableField = 'IMPORTE_RE'
end
item
DatasetField = 'RECARGO_EQUIVALENCIA'
TableField = 'RECARGO_EQUIVALENCIA'
end
item
DatasetField = 'IMPORTE_NETO'
TableField = 'IMPORTE_NETO'
end
item
DatasetField = 'IMPORTE_PORTE'
TableField = 'IMPORTE_PORTE'
end
item
DatasetField = 'FORMA_PAGO'
TableField = 'FORMA_PAGO'
end
item
DatasetField = 'DATOS_BANCARIOS'
TableField = 'DATOS_BANCARIOS'
end
item
DatasetField = 'FECHA_VENCIMIENTO'
TableField = 'FECHA_VENCIMIENTO'
end
item
DatasetField = 'RETENCION'
TableField = 'RETENCION'
end
item
DatasetField = 'IMPORTE_RETENCION'
TableField = 'IMPORTE_RETENCION'
end>
end>
Name = 'Informe_Cabecera'
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'TIPO'
DataType = datString
Size = 1
end
item
Name = 'FECHA_FACTURA'
DataType = datDateTime
end
item
Name = 'BASE_IMPONIBLE'
DataType = datCurrency
end
item
Name = 'SITUACION'
DataType = datString
Size = 19
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_DESCUENTO'
DataType = datCurrency
end
item
Name = 'IVA'
DataType = datFloat
end
item
Name = 'IMPORTE_IVA'
DataType = datCurrency
end
item
Name = 'RE'
DataType = datFloat
end
item
Name = 'IMPORTE_RE'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'NIF_CIF'
DataType = datString
Size = 15
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'CALLE'
DataType = datString
Size = 255
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
end
item
Name = 'RECARGO_EQUIVALENCIA'
DataType = datSmallInt
end
item
Name = 'IMPORTE_NETO'
DataType = datCurrency
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
end
item
Name = 'FORMA_PAGO'
DataType = datString
Size = 255
end
item
Name = 'DATOS_BANCARIOS'
DataType = datString
Size = 255
end
item
Name = 'FECHA_VENCIMIENTO'
DataType = datDateTime
end
item
Name = 'RETENCION'
DataType = datFloat
end
item
Name = 'IMPORTE_RETENCION'
DataType = datCurrency
end>
ReadOnly = True
end
item
Params = <
item
Name = 'ID_FACTURA'
Value = '2'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
SQL =
'SELECT'#10' DET.ID, DET.ID_FACTURA, DET.POSICION, DET.TIPO_DETALL' +
'E, ARTICULOS.REFERENCIA,'#10' F_RTFTOTEXT(CONCEPTO) as CONCEPTO, ' +
'CONCEPTO as CONCEPTO_RTF, CANTIDAD,'#10' DET.UNIDAD_MEDIDA,'#10' D' +
'ET.IMPORTE_UNIDAD, DET.DESCUENTO,'#10' DET.IMPORTE_TOTAL, DET.VIS' +
'IBLE'#10'FROM FACTURAS_CLIENTE_DETALLES AS DET'#10'LEFT OUTER JOIN ARTIC' +
'ULOS ON (ARTICULOS.ID = DET.ID_ARTICULO)'#10'WHERE DET.ID_FACTURA = ' +
':ID_FACTURA AND DET.VISIBLE = 1 AND {Where}'#10'ORDER BY DET.ID_FACT' +
'URA, DET.POSICION;'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'POSICION'
TableField = 'POSICION'
end
item
DatasetField = 'TIPO_DETALLE'
TableField = 'TIPO_DETALLE'
end
item
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'CANTIDAD'
TableField = 'CANTIDAD'
end
item
DatasetField = 'IMPORTE_UNIDAD'
TableField = 'IMPORTE_UNIDAD'
end
item
DatasetField = 'ID_FACTURA'
TableField = 'ID_FACTURA'
end
item
DatasetField = 'DESCUENTO'
TableField = 'DESCUENTO'
end
item
DatasetField = 'VISIBLE'
TableField = 'VISIBLE'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end
item
DatasetField = 'CONCEPTO_RTF'
TableField = 'CONCEPTO_RTF'
end
item
DatasetField = 'UNIDAD_MEDIDA'
TableField = 'UNIDAD_MEDIDA'
end>
end>
Name = 'Informe_Detalles'
Fields = <
item
Name = 'ID'
DataType = datInteger
InPrimaryKey = True
end
item
Name = 'ID_FACTURA'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 25
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 254
end
item
Name = 'CONCEPTO_RTF'
DataType = datString
Size = 2000
end
item
Name = 'CANTIDAD'
DataType = datFloat
end
item
Name = 'UNIDAD_MEDIDA'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datCurrency
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'VISIBLE'
DataType = datSmallInt
end>
ReadOnly = True
end
item
Params = <
item
Name = 'ID_FACTURA'
Value = '2'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
SQL =
'SELECT'#10' V_RECIBOS_CLIENTE.ID_FACTURA, V_RECIBOS_CLIENTE.FECHA' +
'_VENCIMIENTO, V_RECIBOS_CLIENTE.IMPORTE_TOTAL'#10'FROM V_RECIBOS_CLI' +
'ENTE'#10'WHERE V_RECIBOS_CLIENTE.ID_FACTURA = :ID_FACTURA'#10'ORDER BY V' +
'_RECIBOS_CLIENTE.FECHA_VENCIMIENTO'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID_FACTURA'
TableField = 'ID_FACTURA'
end
item
DatasetField = 'FECHA_VENCIMIENTO'
TableField = 'FECHA_VENCIMIENTO'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end>
end>
Name = 'Informe_Vencimientos'
Fields = <
item
Name = 'ID_FACTURA'
DataType = datInteger
end
item
Name = 'FECHA_VENCIMIENTO'
DataType = datDateTime
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end>
end>
JoinDataTables = <>
UnionDataTables = <>
Commands = <>
RelationShips = <>
UpdateRules = <>
Version = 0
Left = 48
Top = 16
end
object DataDictionary: TDADataDictionary
Fields = <>
Left = 46
Top = 142
end
object DABin2DataStreamer: TDABin2DataStreamer
Left = 48
Top = 80
end
object tbl_Cabecera: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'TIPO'
DataType = datString
Size = 1
end
item
Name = 'FECHA_FACTURA'
DataType = datDateTime
end
item
Name = 'BASE_IMPONIBLE'
DataType = datCurrency
end
item
Name = 'SITUACION'
DataType = datString
Size = 19
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_DESCUENTO'
DataType = datCurrency
end
item
Name = 'IVA'
DataType = datFloat
end
item
Name = 'IMPORTE_IVA'
DataType = datCurrency
end
item
Name = 'RE'
DataType = datFloat
end
item
Name = 'IMPORTE_RE'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'NIF_CIF'
DataType = datString
Size = 15
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'CALLE'
DataType = datString
Size = 255
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
end
item
Name = 'RECARGO_EQUIVALENCIA'
DataType = datSmallInt
end
item
Name = 'IMPORTE_NETO'
DataType = datCurrency
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
end
item
Name = 'FORMA_PAGO'
DataType = datString
Size = 255
end
item
Name = 'DATOS_BANCARIOS'
DataType = datString
Size = 255
end
item
Name = 'FECHA_VENCIMIENTO'
DataType = datDateTime
end
item
Name = 'RETENCION'
DataType = datFloat
end
item
Name = 'IMPORTE_RETENCION'
DataType = datCurrency
end>
Params = <
item
Name = 'ID'
Value = '2'
ParamType = daptInput
end>
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
LogicalName = 'Informe_Cabecera'
IndexDefs = <>
Left = 168
Top = 16
end
object tbl_Detalles: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
InPrimaryKey = True
end
item
Name = 'ID_FACTURA'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 25
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 254
end
item
Name = 'CONCEPTO_RTF'
DataType = datString
Size = 2000
end
item
Name = 'CANTIDAD'
DataType = datFloat
end
item
Name = 'UNIDAD_MEDIDA'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datCurrency
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'VISIBLE'
DataType = datSmallInt
end>
Params = <
item
Name = 'ID_FACTURA'
Value = '2'
ParamType = daptInput
end>
MasterParamsMappings.Strings = (
'ID_PRESUPUESTO=ID_PRESUPUESTO')
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
LogicalName = 'Informe_Detalles'
IndexDefs = <>
Left = 264
Top = 16
end
object tbl_Empresa: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <
item
Name = 'ID'
Value = '31'
ParamType = daptInput
end>
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LogicalName = 'Empresa'
IndexDefs = <>
Left = 168
Top = 80
end
object tbl_Vencimientos: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID_FACTURA'
DataType = datInteger
end
item
Name = 'FECHA_VENCIMIENTO'
DataType = datDateTime
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end>
Params = <
item
Name = 'ID_FACTURA'
Value = '2'
ParamType = daptInput
end>
MasterParamsMappings.Strings = (
'ID_PRESUPUESTO=ID_PRESUPUESTO')
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
LogicalName = 'Informe_Vencimientos'
IndexDefs = <>
Left = 352
Top = 16
end
end

View File

@ -1,445 +0,0 @@
unit uRptWordFacturaCliente;
interface
uses
SysUtils, Classes, AHWord97, IB, IBCustomDataSet, IBDatabase,
Word2000,
uDAInterfaces, uDADataStreamer, uDABin2DataStreamer, uDAClasses,
uDAScriptingProvider, uDADataTable, uDAMemDataTable;
type
TRptWordFacturaCliente = class(TDataModule)
DABin2DataStreamer: TDABin2DataStreamer;
tbl_Cabecera: TDAMemDataTable;
tbl_Detalles: TDAMemDataTable;
tbl_Empresa: TDAMemDataTable;
tbl_Vencimientos: TDAMemDataTable;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
FPlantilla : string;
FWordApp : TWordApp;
FDocumento : TWordDoc;
// FNumCapitulos : Integer;
FCodigoFactura : string;
FNombreFichero : String;
FVerSello : Boolean;
// function DarNumCapitulos : Integer;
// procedure InsertarConceptos(Tabla : Table);
function Generar : Boolean;
function RellenarCabecera : boolean; virtual;
function RellenarInforme : boolean; virtual;
procedure _GenerarFactura(const AID: String);
public
function Exportar(Codigo, Fichero : String; const VerSello: Boolean = True): Boolean;
constructor Create (AOwner : TComponent); override;
destructor Destroy; override;
end;
implementation
{ TRptWordFacturaCliente }
{$R *.dfm}
uses
Windows, Variants, Dialogs, uDataModuleServer, uStringsUtils, uSistemaFunc,
srvEmpresas_Impl, uROTypes, uROClasses;
const
rptInforme = 'FacturaCliente.rdx';
constructor TRptWordFacturaCliente.Create(AOwner: TComponent);
begin
inherited;
FDocumento := NIL;
end;
{function TRptWordFacturaCliente.DarNumCapitulos: Integer;
var
AuxNumCapitulos : integer;
begin
AuxNumCapitulos := 0;
tbl_Cabecera.First;
while not tbl_Cabecera.Eof do
begin
if tbl_Cabecera.FieldByName('TIPO_DETALLE').AsString = 'Titulo' then
AuxNumCapitulos := AuxNumCapitulos + 1;
tbl_Cabecera.Next;
end;
tbl_Cabecera.First;
Result := AuxNumCapitulos;
end;}
destructor TRptWordFacturaCliente.Destroy;
begin
if FDocumento <> NIL then
FDocumento.Free;
FDocumento := NIL;
inherited;
end;
function TRptWordFacturaCliente.Exportar(Codigo, Fichero: String; const VerSello: Boolean = True): Boolean;
begin
if EsCadenaVacia(Fichero) then
begin
Result := False;
raise Exception.Create('Falta indicar el fichero donde se exportará el listado.');
end;
FNombreFichero := Fichero;
FCodigoFactura := Codigo;
FVerSello := VerSello;
_GenerarFactura(Codigo);
Result := True;
end;
procedure TRptWordFacturaCliente.DataModuleCreate(Sender: TObject);
begin
schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion;
end;
function TRptWordFacturaCliente.Generar : Boolean;
begin
FWordApp := TWordApp.Create (False, False);
with FWordApp do
begin
Visible := False;
ScreenUpdating := False;
end;
FDocumento := TWordDoc.CreateNewDoc(FWordApp, FPlantilla);
FWordApp.SaveActiveDocAs(FNombreFichero);
try
if not RellenarCabecera then
RaiseError('Se producido un error al generar la cabecera en MS Word.');
if not RellenarInforme then
RaiseError('Se producido un error al generar el informe en MS Word.');
FWordApp.CloseApp(wdSaveChanges);
Result := True;
finally
FDocumento := NIL;
FWordApp := NIL;
end;
end;
{procedure TRptWordFacturaCliente.InsertarConceptos(Tabla : Table);
var
numRows, numCols, mergeSplit, shiftCells : OleVariant;
iContador : Integer;
TotalConceptos : Double;
ACantidad: String;
AIndice: Integer;
AText : String;
begin
TotalConceptos := 0;
numRows := 2;
numCols := 1;
mergeSplit := False;
shiftCells := False;
iContador := 2; // Empezar en la 2ª fila de celdas. La primera es la
// cabecera de la tabla.
with Tabla, tbl_Detalles do
begin
while not EOF do
begin
if FieldByName('TIPO_DETALLE').AsString <> 'Concepto' then
Break;
// Partir la celda actual en 2 filas de 1 columna.
Rows.Item(iContador).Cells.Split (numRows, numCols, mergesplit);
Cell(iContador, 1).Range.Text := FieldByName('CONCEPTO').AsString;
ACantidad := FloatToStr(FieldByName('CANTIDAD').AsFloat);
AIndice := Pos(',', ACantidad);
if AIndice > 0 then
AText := FormatFloat('#,0.00', FieldByName('CANTIDAD').AsFloat)
else
AText := FormatFloat('#,0.##', FieldByName('CANTIDAD').AsFloat);
Cell(iContador, 2).Range.Text := AText;
if (FieldByName('IMPORTE_UNIDAD').AsFloat = 0) then
Cell(iContador, 3).Range.Text := ''
else
Cell(iContador, 3).Range.Text := FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_UNIDAD').AsFloat);
if (FieldByName('IMPORTE_TOTAL').AsFloat = 0) then
Cell(iContador, 4).Range.Text := ''
else
Cell(iContador, 4).Range.Text := FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_TOTAL').AsFloat);
TotalConceptos := TotalConceptos + FieldByName('IMPORTE_TOTAL').AsFloat;
Next;
Inc (iContador);
end;
// Borrar la fila vacía que sobra
Rows.Item(iContador).Cells.Delete(shiftCells);
Cell(iContador, 1).Range.Text := 'Total: ' + FormatFloat(DISPLAY_EUROS2, TotalConceptos);
AutoFitBehavior(wdAutoFitWindow);
end;
end;}
function TRptWordFacturaCliente.RellenarCabecera: boolean;
var
NombreFichero,
Texto,
// FicheroTemporal : String;
// LinkToFile, SaveWithDocument, _Range : OleVariant;
// Imagen : InlineShape;
_ShiftCells : OleVariant;
ImporteAux : Double;
Cadena : String;
begin
//PARA DIBUJAR EL LOGOTIPO MULTIEMPRESA
{--------------------------- PENDIENTE
if (EmpresaActiva.Logotipo <> Nil) then
begin
//Activamos cabecera
FWordApp.Application.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageHeader;
LinkToFile := False;
SaveWithDocument := True;
_Range := EmptyParam;
FicheroTemporal := DarFicheroTemporal;
EmpresaActiva.Logotipo.SaveToFile (FicheroTemporal);
Imagen := FWordApp.Application.ActiveWindow.ActivePane.Selection.InlineShapes.AddPicture(ficherotemporal, LinkToFile, SaveWithDocument, _Range);
//Formateamos imagen
if ((Imagen.Get_Width > ANCHO_LOGO_INF)) then
begin
Imagen.Set_Height(((ANCHO_LOGO_INF * Imagen.Get_Height) /Imagen.Get_Width));
Imagen.Set_Width(ANCHO_LOGO_INF);
end;
end;
---------------------------- }
with FDocumento, tbl_Cabecera do
begin
//Activamos cabecera
FWordApp.Application.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageHeader;
if (FieldByName('TIPO').AsString = 'F') then
ReplaceBookmark('CodigoFacturaCab', FieldByName('REFERENCIA').AsString)
else
ReplaceBookmark('CodigoFacturaCab', FieldByName('REFERENCIA').AsString);
ReplaceBookmark('FechaFacturaCab', FieldByName('FECHA_FACTURA').AsString);
//Se cambia se omiten los vencimientos de los recibos solo tendremos en cuenta el de la factura
Cadena := FieldByName('FECHA_VENCIMIENTO').AsString;
{ tbl_Vencimientos.First;
Cadena := '';
while not tbl_Vencimientos.eof do
begin
Cadena := Cadena + tbl_Vencimientos.FieldByName('FECHA_VENCIMIENTO').AsString + ' ';
tbl_Vencimientos.Next;
end;
}
ReplaceBookmark('VencimientoCab', Cadena);
ReplaceBookmark('FormaPagoCab', FieldByName('FORMA_PAGO').AsString);
ReplaceBookmark('BancoCab', FieldByName('DATOS_BANCARIOS').AsString);
ReplaceBookmark('NombreClienteCab', FieldByName('NOMBRE').AsString);
ReplaceBookmark('CIFClienteCab', FieldByName('NIF_CIF').AsString);
ReplaceBookmark('DireccionClienteCab', FieldByName('CALLE').AsString);
ReplaceBookmark('PoblacionClienteCab',
FieldByName('CODIGO_POSTAL').AsString + ' ' +
FieldByName('POBLACION').AsString + ' ' + FieldByName('PROVINCIA').AsString);
ReplaceBookmark('BaseImponible', FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_NETO').AsFloat));
ImporteAux := FieldByName('BASE_IMPONIBLE').AsFloat; // - FieldByName('IMPORTE_DESCUENTO').AsFloat;
ReplaceBookmark('BaseImponible2', FormatFloat(DISPLAY_EUROS2, ImporteAux));
if (FieldByName('DESCUENTO').AsInteger = 0) then
begin
ReplaceBookmark('BaseImponibleTexto', 'Base imponible');
FWordApp.GotoBookmark('CeldasDescuento');
_ShiftCells := wdDeleteCellsShiftLeft;
FWordApp.Application.Selection.Cells.Delete(_ShiftCells);
end
else begin
ReplaceBookmark('Descuento', FieldByName('DESCUENTO').AsString);
ReplaceBookmark('ImporteDto', FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_DESCUENTO').AsFloat));
end;
if EsCadenaVacia(FieldByName('IVA').AsString) then
ReplaceBookmark('IVA', '0')
else
ReplaceBookmark('IVA', FieldByName('IVA').AsString);
ReplaceBookmark('ImporteIVA', FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_IVA').AsFloat));
ReplaceBookmark('ImporteTotal', FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_TOTAL').AsFloat));
if (FieldByName('RETENCION').AsInteger = 0) then
begin
FWordApp.GotoBookmark('CeldasRetencion');
_ShiftCells := wdDeleteCellsShiftLeft;
FWordApp.Application.Selection.Cells.Delete(_ShiftCells);
end
else begin
ReplaceBookmark('TituloImporteTotal', 'Total certificacion');
ReplaceBookmark('Retencion', FieldByName('RETENCION').AsString);
ReplaceBookmark('ImporteRetencion', FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_RETENCION').AsFloat));
ReplaceBookmark('ImporteTotalRet', FormatFloat(DISPLAY_EUROS2, (FieldByName('IMPORTE_TOTAL').AsFloat - FieldByName('IMPORTE_RETENCION').AsFloat)));
end;
Texto := FieldByName('OBSERVACIONES').AsString;
if not EsCadenaVacia(Texto) then
begin
NombreFichero := DarFicheroTemporal;
EscribirEnFichero(NombreFichero, Texto);
FWordApp.InsertFile(NombreFichero, 'Descripcion');
SysUtils.DeleteFile(NombreFichero);
end;
ReplaceBookmark('NombreEmpresa', tbl_Empresa.FieldByName('NOMBRE').AsString);
ReplaceBookmark('CifEmpresa', tbl_Empresa.FieldByName('NIF_CIF').AsString);
ReplaceBookmark('DireccionEmpresa',
Format('%s. %s %s', [tbl_Empresa.FieldByName('CALLE').AsString,
tbl_Empresa.FieldByName('CODIGO_POSTAL').AsString, tbl_Empresa.FieldByName('POBLACION').AsString]));
ReplaceBookmark('TelefonoEmpresa', tbl_Empresa.FieldByName('TELEFONO_1').AsString);
ReplaceBookmark('FaxEmpresa', tbl_Empresa.FieldByName('FAX').AsString);
ReplaceBookmark('CorreoEmpresa', tbl_Empresa.FieldByName('EMAIL_1').AsString);
ReplaceBookmark('DatosRegistroMercantil', tbl_Empresa.FieldByName('REGISTRO_MERCANTIL').AsString);
if not FVerSello then
ReplaceBookmark('Sello', '');
Close;
end;
Result := True;
end;
function TRptWordFacturaCliente.RellenarInforme : boolean;
var
numRows, numCols, mergesplit : OleVariant;
iRowCount : Integer;
TipoConAnterior : String;
Seleccion : TWordRange;
TotalCapitulo : Double;
EsCapitulo : Boolean;
ACantidad: String;
AIndice: Integer;
AText : String;
begin
Result := False;
iRowCount := 2;
numrows := 2;
numcols := 1;
mergeSplit := False;
TipoConAnterior := '';
TotalCapitulo := 0;
EsCapitulo := False;
with FDocumento.Document.Tables.Item(1), tbl_detalles do
begin
First;
while not tbl_detalles.EOF do
begin
if (TipoConAnterior = 'Concepto') and (FieldByName('TIPO_DETALLE').AsString = 'Titulo') then
begin
Rows.Item (iRowCount).Cells.Split (numRows, numCols, mergesplit);
if EsCapitulo then
begin
Rows.Item (iRowCount).Cells.Split (numRows, numCols, mergesplit);
Cell(iRowCount, 2).Range.Text := 'TOTAL DEL CAPÍTULO';
Cell(iRowCount, 5).Range.Text := FormatFloat(DISPLAY_EUROS2, TotalCapitulo);
TotalCapitulo := 0;
Inc (iRowCount);
end;
Inc (iRowCount);
end;
Rows.Item (iRowCount).Cells.Split (numRows, numCols, mergesplit);
if FieldByName('TIPO_DETALLE').AsString = 'Titulo' then
begin
Cell(iRowCount, 2).Range.Text := FieldByName('CONCEPTO').AsString;
Rows.Item(iRowCount).Select;
Seleccion := FDocumento.AddRangeFromSelection;
Seleccion.Bold := True;
TotalCapitulo := 0;
EsCapitulo := True;
end
else begin
Cell(iRowCount, 1).Range.Text := FieldByName('REFERENCIA').AsString;
Cell(iRowCount, 2).Range.Text := FieldByName('CONCEPTO').AsString;
ACantidad := FloatToStr(FieldByName('CANTIDAD').AsFloat);
if ACantidad = '0' then
AText := ''
else begin
AIndice := Pos(',', ACantidad);
if AIndice > 0 then
AText := FormatFloat('#,0.00', FieldByName('CANTIDAD').AsFloat)
else
AText := FormatFloat('#,0.##', FieldByName('CANTIDAD').AsFloat);
end;
Cell(iRowCount, 3).Range.Text := AText + ' ' + FieldByName('UNIDAD_MEDIDA').AsString;
if FieldByName('IMPORTE_UNIDAD').AsFloat <> 0 then
Cell(iRowCount, 4).Range.Text := FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_UNIDAD').AsFloat);
if FieldByName('IMPORTE_TOTAL').AsFloat <> 0 then
Cell(iRowCount, 5).Range.Text := FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_TOTAL').AsFloat);
TotalCapitulo := TotalCapitulo + FieldByName('IMPORTE_TOTAL').AsFloat;
end;
TipoConAnterior := FieldByName('TIPO_DETALLE').AsString;
Next;
Inc (iRowCount);
end;
if EsCapitulo then
begin
Rows.Item (iRowCount).Cells.Split (numRows, numCols, mergesplit);
Cell(iRowCount, 2).Range.Text := 'TOTAL DEL CAPÍTULO';
Cell(iRowCount, 5).Range.Text := FormatFloat(DISPLAY_EUROS2, TotalCapitulo);
TotalCapitulo := 0;
end;
Close;
end;
Result := True;
end;
procedure TRptWordFacturaCliente._GenerarFactura(const AID: String);
var
ACopiaPlantilla : String;
begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try
tbl_Cabecera.ParamByName('ID').AsString := AID;
tbl_Detalles.ParamByName('ID_FACTURA').AsString := AID;
tbl_Vencimientos.ParamByName('ID_FACTURA').AsString := AID;
tbl_Cabecera.Active := True;
tbl_Detalles.Active := True;
tbl_Vencimientos.Active := True;
FPlantilla := DarRutaInformes + tbl_Cabecera.FieldByName('ID_EMPRESA').AsString + '\' + rptInforme;
FCodigoFactura := AID;
if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then
begin
ACopiaPlantilla := DarFicheroTemporal;
CopiarFichero(FPlantilla, ACopiaPlantilla);
FPlantilla := ACopiaPlantilla;
try
Generar;
finally
SysUtils.DeleteFile(ACopiaPlantilla);
end;
end;
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
end;
end.

View File

@ -35,7 +35,6 @@ type
protected
{ IsrvFacturasCliente methods }
function GenerarInforme(const ListaID: TIntegerArray; const VerSello: Boolean = True; const VerCopia: Boolean = True): Binary;
function GenerarInformeEnWord(const ID: Integer; const VerSello: Boolean = True): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Boolean = True): Binary;
public
@ -51,7 +50,7 @@ uses
uDataModuleServer, uDatabaseUtils, uUsersManager, schFacturasClienteClient_Intf,
uRestriccionesUsuarioUtils,
// uRptFacturasCliente_Server,
uBizFacturasClienteServer, uRptWordFacturaCliente, uRptFacturasCliente_Server;
uBizFacturasClienteServer, uRptFacturasCliente_Server;
procedure Create_srvFacturasCliente(out anInstance : IUnknown);
begin
@ -129,26 +128,6 @@ begin
end;
end;
function TsrvFacturasCliente.GenerarInformeEnWord(const ID: Integer; const VerSello: Boolean = True): Binary;
var
AReportGenerator : TRptWordFacturaCliente;
AFicheroTMP : TFileName;
begin
Result := NIL;
AFicheroTMP := DarFicheroTemporal;
AReportGenerator := TRptWordFacturaCliente.Create(nil);
try
if AReportGenerator.Exportar(IntToStr(ID), AFicheroTMP, VerSello) then
begin
Result := Binary.Create;
Result.LoadFromFile(AFicheroTMP);
SysUtils.DeleteFile(AFicheroTMP)
end;
finally
FreeAndNIL(AReportGenerator);
end;
end;
initialization
TROClassFactory.Create('srvFacturasCliente', Create_srvFacturasCliente, TsrvFacturasCliente_Invoker);

View File

@ -14,4 +14,4 @@ END
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\uDataModuleInfMargenArticulo.dfm */
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Data\InfMargenArticulo_data.res */
/* c:\temp\dtf31B.tmp */
/* c:\temp\dtf98.tmp */

View File

@ -13,4 +13,4 @@ BEGIN
END
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Model\InfMargenArticulo_model.res */
/* c:\temp\dtf319.tmp */
/* c:\temp\dtf96.tmp */

View File

@ -16,4 +16,4 @@ END
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\uViewInfMargenArticulo.dfm */
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\uEditorInfMargenArticulo.dfm */
/* C:\Codigo\Source\Modulos\Informe margen por articulo\Views\InfMargenArticulo_view.res */
/* c:\temp\dtf31F.tmp */
/* c:\temp\dtf9C.tmp */

View File

@ -14,4 +14,4 @@ END
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Data\uDataModuleInfVentasArticulo.dfm */
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Data\InfVentasArticulo_data.res */
/* c:\temp\dtf311.tmp */
/* c:\temp\dtf8E.tmp */

View File

@ -13,4 +13,4 @@ BEGIN
END
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Model\InfVentasArticulo_model.res */
/* c:\temp\dtf30F.tmp */
/* c:\temp\dtf8C.tmp */

View File

@ -19,4 +19,4 @@ END
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uViewInfVentasAlbArticulo.dfm */
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\uEditorInfVentasAlbArticulo.dfm */
/* C:\Codigo\Source\Modulos\Informe ventas por articulo\Views\InfVentasArticulo_view.res */
/* c:\temp\dtf315.tmp */
/* c:\temp\dtf92.tmp */

View File

@ -13,4 +13,4 @@ BEGIN
END
/* C:\Codigo\Source\Modulos\Informes base\Controller\InformesBase_controller.res */
/* c:\temp\dtf305.tmp */
/* c:\temp\dtf82.tmp */

View File

@ -14,4 +14,4 @@ END
/* C:\Codigo\Source\Modulos\Informes base\Data\uDataModuleInformes.dfm */
/* C:\Codigo\Source\Modulos\Informes base\Data\Informes_data.res */
/* c:\temp\dtf301.tmp */
/* c:\temp\dtf7E.tmp */

View File

@ -13,4 +13,4 @@ BEGIN
END
/* C:\Codigo\Source\Modulos\Informes base\Model\Informes_model.res */
/* c:\temp\dtf2FF.tmp */
/* c:\temp\dtf7C.tmp */

View File

@ -15,4 +15,4 @@ END
/* C:\Codigo\Source\Modulos\Informes base\Views\uViewInformes.dfm */
/* C:\Codigo\Source\Modulos\Informes base\Views\uEditorInformes.dfm */
/* C:\Codigo\Source\Modulos\Informes base\Views\Informes_view.res */
/* c:\temp\dtf309.tmp */
/* c:\temp\dtf86.tmp */

View File

@ -1,550 +0,0 @@
object RptWordPedidoProveedor: TRptWordPedidoProveedor
OldCreateOrder = False
OnCreate = DataModuleCreate
Height = 223
Width = 337
object schReport: TDASchema
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DataDictionary
Datasets = <
item
IsPublic = False
Params = <
item
Name = 'ID'
Value = '3'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
SQL =
'SELECT'#10' PEDIDOS_PROVEEDOR.ID,'#10' PEDIDOS_PROVEEDOR.ID_EMPRESA,'#10' ' +
' PEDIDOS_PROVEEDOR.REFERENCIA,'#10' PEDIDOS_PROVEEDOR.FECHA_PEDIDO,' +
#10' PEDIDOS_PROVEEDOR.FECHA_ENTREGA,'#10' PEDIDOS_PROVEEDOR.OBSERVAC' +
'IONES,'#10' CONTACTOS.NOMBRE,'#10' COALESCE(CONTACTOS_DIRECCIONES.FAX,' +
' CONTACTOS.FAX) AS FAX,'#10' PEDIDOS_PROVEEDOR.PERSONA_CONTACTO_PRO' +
'V AS PERSONA_CONTACTO,'#10' PROVEEDORES_DATOS.CODIGO_ASIGNADO AS CO' +
'DIGO_CLIENTE,'#10' PEDIDOS_PROVEEDOR.ID_ALMACEN,'#10' COALESCE(ALMACEN' +
'ES.CALLE, PEDIDOS_PROVEEDOR.CALLE) AS CALLE_ALMACEN,'#10' COALESCE(' +
'ALMACENES.POBLACION, PEDIDOS_PROVEEDOR.POBLACION) AS POBLACION_A' +
'LMACEN,'#10' COALESCE(ALMACENES.PROVINCIA, PEDIDOS_PROVEEDOR.PROVIN' +
'CIA) AS PROVINCIA_ALMACEN,'#10' COALESCE(ALMACENES.CODIGO_POSTAL, P' +
'EDIDOS_PROVEEDOR.CODIGO_POSTAL) AS CODIGO_POSTAL_ALMACEN,'#10' PEDI' +
'DOS_PROVEEDOR.PERSONA_CONTACTO AS PERSONA_CONTACTO_ALMACEN,'#10' PE' +
'DIDOS_PROVEEDOR.IMPORTE_TOTAL'#10'FROM'#10' PEDIDOS_PROVEEDOR'#10' INNER J' +
'OIN CONTACTOS ON (CONTACTOS.ID = PEDIDOS_PROVEEDOR.ID_PROVEEDOR)' +
#10' LEFT OUTER JOIN PROVEEDORES_DATOS ON (PROVEEDORES_DATOS.ID_PR' +
'OVEEDOR = PEDIDOS_PROVEEDOR.ID_PROVEEDOR)'#10' LEFT OUTER JOIN ALMA' +
'CENES ON (ALMACENES.ID = PEDIDOS_PROVEEDOR.ID_ALMACEN)'#10' LEFT OU' +
'TER JOIN CONTACTOS_DIRECCIONES ON (CONTACTOS_DIRECCIONES.ID = PE' +
'DIDOS_PROVEEDOR.ID_DIRECCION)'#10'WHERE PEDIDOS_PROVEEDOR.ID = :ID'#10#10 +
#10#10#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_EMPRESA'
TableField = 'ID_EMPRESA'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end
item
DatasetField = 'FECHA_PEDIDO'
TableField = 'FECHA_PEDIDO'
end
item
DatasetField = 'OBSERVACIONES'
TableField = 'OBSERVACIONES'
end
item
DatasetField = 'NOMBRE'
TableField = 'NOMBRE'
end
item
DatasetField = 'FAX'
TableField = 'FAX'
end
item
DatasetField = 'CALLE_ALMACEN'
TableField = 'CALLE_ALMACEN'
end
item
DatasetField = 'POBLACION_ALMACEN'
TableField = 'POBLACION_ALMACEN'
end
item
DatasetField = 'PROVINCIA_ALMACEN'
TableField = 'PROVINCIA_ALMACEN'
end
item
DatasetField = 'CODIGO_POSTAL_ALMACEN'
TableField = 'CODIGO_POSTAL_ALMACEN'
end
item
DatasetField = 'PERSONA_CONTACTO_ALMACEN'
TableField = 'PERSONA_CONTACTO_ALMACEN'
end
item
DatasetField = 'PERSONA_CONTACTO'
TableField = 'PERSONA_CONTACTO'
end
item
DatasetField = 'FECHA_ENTREGA'
TableField = 'FECHA_ENTREGA'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'ID_ALMACEN'
TableField = 'ID_ALMACEN'
end
item
DatasetField = 'CODIGO_CLIENTE'
TableField = 'CODIGO_CLIENTE'
end>
end>
Name = 'Informe_Cabecera'
Fields = <
item
Name = 'ID'
DataType = datInteger
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'FECHA_PEDIDO'
DataType = datDateTime
end
item
Name = 'FECHA_ENTREGA'
DataType = datDateTime
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'FAX'
DataType = datString
Size = 25
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'ID_ALMACEN'
DataType = datInteger
end
item
Name = 'CALLE_ALMACEN'
DataType = datString
Size = 255
end
item
Name = 'POBLACION_ALMACEN'
DataType = datString
Size = 255
end
item
Name = 'PROVINCIA_ALMACEN'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL_ALMACEN'
DataType = datString
Size = 10
end
item
Name = 'PERSONA_CONTACTO_ALMACEN'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end>
ReadOnly = True
end
item
IsPublic = False
Params = <
item
Name = 'ID_PEDIDO'
Value = '2'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
SQL =
'SELECT DET.ID, DET.ID_PEDIDO,'#10' DET.POSICION, DET.TIPO_DETA' +
'LLE,'#10' ARTICULOS.REFERENCIA, F_RTFTOTEXT(DET.CONCEPTO) as C' +
'ONCEPTO, DET.CONCEPTO as CONCEPTO_RTF,'#10' DET.CANTIDAD,'#10' ' +
' DET.UNIDAD_MEDIDA, DET.IMPORTE_UNIDAD - (DET.IMPORTE_UNIDAD *' +
' (DET.DESCUENTO / 100)) as IMPORTE_UNIDAD, DET.IMPORTE_TOTAL,'#10' ' +
' ARTICULOS_PROVEEDORES.REFERENCIA_PROV as REFERENCIA_PROVEED' +
'OR,'#10' ARTICULOS.REFERENCIA_FABR as REFERENCIA_FABRICANTE'#10'FR' +
'OM PEDIDOS_PROVEEDOR_DETALLES DET'#10'LEFT OUTER JOIN ARTICULOS ON (' +
'DET.ID_ARTICULO = ARTICULOS.ID)'#10'LEFT JOIN PEDIDOS_PROVEEDOR ON (' +
'PEDIDOS_PROVEEDOR.ID = DET.ID_PEDIDO)'#10'LEFT JOIN ARTICULOS_PROVEE' +
'DORES ON ((ARTICULOS_PROVEEDORES.ID_ARTICULO = ARTICULOS.ID) AND' +
' (ARTICULOS_PROVEEDORES.ID_PROVEEDOR = PEDIDOS_PROVEEDOR.ID_PROV' +
'EEDOR))'#10#10'WHERE DET.ID_PEDIDO = :ID_PEDIDO AND DET.VISIBLE = 1 AN' +
'D {Where}'#10'ORDER BY DET.ID_PEDIDO, DET.POSICION;'#10#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_PEDIDO'
TableField = 'ID_PEDIDO'
end
item
DatasetField = 'POSICION'
TableField = 'POSICION'
end
item
DatasetField = 'TIPO_DETALLE'
TableField = 'TIPO_DETALLE'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end
item
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end
item
DatasetField = 'CANTIDAD'
TableField = 'CANTIDAD'
end
item
DatasetField = 'UNIDAD_MEDIDA'
TableField = 'UNIDAD_MEDIDA'
end
item
DatasetField = 'IMPORTE_UNIDAD'
TableField = 'IMPORTE_UNIDAD'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'REFERENCIA_PROVEEDOR'
TableField = 'REFERENCIA_PROVEEDOR'
end
item
DatasetField = 'REFERENCIA_FABRICANTE'
TableField = 'REFERENCIA_FABRICANTE'
end
item
DatasetField = 'CONCEPTO_RTF'
TableField = 'CONCEPTO_RTF'
end>
end>
Name = 'Informe_Detalles'
Fields = <
item
Name = 'ID'
DataType = datInteger
end
item
Name = 'ID_PEDIDO'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 25
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 32765
end
item
Name = 'CONCEPTO_RTF'
DataType = datString
Size = 2000
end
item
Name = 'CANTIDAD'
DataType = datFloat
end
item
Name = 'UNIDAD_MEDIDA'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datFloat
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'REFERENCIA_PROVEEDOR'
DataType = datString
Size = 255
end
item
Name = 'REFERENCIA_FABRICANTE'
DataType = datString
Size = 255
end>
ReadOnly = True
end>
JoinDataTables = <>
UnionDataTables = <>
Commands = <>
RelationShips = <>
UpdateRules = <>
Version = 0
Left = 48
Top = 16
end
object DataDictionary: TDADataDictionary
Fields = <>
Left = 46
Top = 142
end
object DABin2DataStreamer: TDABin2DataStreamer
Left = 48
Top = 80
end
object tbl_Cabecera: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'FECHA_PEDIDO'
DataType = datDateTime
end
item
Name = 'FECHA_ENTREGA'
DataType = datDateTime
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'FAX'
DataType = datString
Size = 25
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'CALLE_ALMACEN'
DataType = datString
Size = 255
end
item
Name = 'POBLACION_ALMACEN'
DataType = datString
Size = 255
end
item
Name = 'PROVINCIA_ALMACEN'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL_ALMACEN'
DataType = datString
Size = 10
end
item
Name = 'PERSONA_CONTACTO_ALMACEN'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end>
Params = <
item
Name = 'ID'
Value = '3'
ParamType = daptInput
end>
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
LogicalName = 'Informe_Cabecera'
IndexDefs = <>
Left = 168
Top = 16
end
object tbl_Detalles: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
end
item
Name = 'ID_PEDIDO'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 25
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 32765
end
item
Name = 'CONCEPTO_RTF'
DataType = datString
Size = 2000
end
item
Name = 'CANTIDAD'
DataType = datFloat
end
item
Name = 'UNIDAD_MEDIDA'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datFloat
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'REFERENCIA_PROVEEDOR'
DataType = datString
Size = 255
end
item
Name = 'REFERENCIA_FABRICANTE'
DataType = datString
Size = 255
end>
Params = <
item
Name = 'ID_PEDIDO'
Value = '2'
ParamType = daptInput
end>
MasterParamsMappings.Strings = (
'ID_PRESUPUESTO=ID_PRESUPUESTO')
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
LogicalName = 'Informe_Detalles'
IndexDefs = <>
Left = 264
Top = 16
end
object tbl_Empresa: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <
item
Name = 'ID'
Value = '31'
ParamType = daptInput
end>
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LogicalName = 'Empresa'
IndexDefs = <>
Left = 168
Top = 80
end
end

View File

@ -1,289 +0,0 @@
unit uRptWordPedidoProveedor;
interface
uses
SysUtils, Classes, AHWord97, IB, IBCustomDataSet, IBDatabase,
Word2000, uDAInterfaces, uDADataStreamer, uDABin2DataStreamer, uDAClasses,
uDAScriptingProvider, uDADataTable, uDAMemDataTable;
type
TRptWordPedidoProveedor = class(TDataModule)
DABin2DataStreamer: TDABin2DataStreamer;
tbl_Cabecera: TDAMemDataTable;
tbl_Detalles: TDAMemDataTable;
tbl_Empresa: TDAMemDataTable;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
FPlantilla : string;
FWordApp : TWordApp;
FDocumento : TWordDoc;
FCodigoPedido : string;
FNombreFichero : String;
function Generar : Boolean;
function RellenarDatosPedido : Boolean;
function RellenarDatosDetalle : Boolean;
procedure _GenerarPedido(const AID: String);
public
ImprimirPrecio : Boolean;
ImprimirRefProveedor : Boolean;
function Exportar(Codigo, Fichero : String): Boolean;
constructor Create (AOwner : TComponent); override;
destructor Destroy; override;
end;
implementation
{ TRptWordPedidoProveedor }
{$R *.dfm}
uses
Windows, Variants, Dialogs, uDataModuleServer, uStringsUtils, uSistemaFunc,
srvEmpresas_Impl, uROTypes, uROClasses;
const
rptInforme = 'PedidoProveedor.rdx';
constructor TRptWordPedidoProveedor.Create(AOwner: TComponent);
begin
inherited;
ImprimirPrecio := False;
ImprimirRefProveedor := False;
FDocumento := NIL;
end;
destructor TRptWordPedidoProveedor.Destroy;
begin
if FDocumento <> NIL then
FDocumento.Free;
FDocumento := NIL;
inherited;
end;
function TRptWordPedidoProveedor.Exportar(Codigo, Fichero: String): Boolean;
begin
if EsCadenaVacia(Fichero) then
begin
Result := False;
raise Exception.Create('Falta indicar el fichero donde se exportará el listado.');
end;
FNombreFichero := Fichero;
FCodigoPedido := Codigo;
_GenerarPedido(Codigo);
Result := True;
end;
procedure TRptWordPedidoProveedor.DataModuleCreate(Sender: TObject);
begin
schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion;
end;
function TRptWordPedidoProveedor.Generar : Boolean;
begin
FWordApp := TWordApp.Create (False, False);
with FWordApp do
begin
Visible := False;
ScreenUpdating := False;
end;
FDocumento := TWordDoc.CreateNewDoc(FWordApp, FPlantilla);
FWordApp.SaveActiveDocAs(FNombreFichero);
try
if not RellenarDatosPedido then
RaiseError('Se producido un error al generar la cabecera en MS Word.');
if not RellenarDatosDetalle then
RaiseError('Se producido un error al generar el informe en MS Word.');
FWordApp.CloseApp(wdSaveChanges);
Result := True;
finally
FDocumento := NIL;
FWordApp := NIL;
end;
end;
function TRptWordPedidoProveedor.RellenarDatosDetalle : Boolean;
var
numRows, numCols, mergesplit : OleVariant;
MaxCols, iRowCount : Integer;
ACantidad: String;
AIndice: Integer;
AText : String;
begin
iRowCount := 2;
numrows := 2;
numcols := 1;
mergeSplit := False;
MaxCols := 12;
with FDocumento.Document.Tables.Item(1), tbl_Detalles do
begin
tbl_Detalles.First;
while not tbl_Detalles.EOF do
begin
Rows.Item (iRowCount).Cells.Split (numRows, numCols, mergesplit);
if ImprimirRefProveedor then
Cell(iRowCount, 1).Range.Text := FieldByName('REFERENCIA_PROVEEDOR').AsString;
Cell(iRowCount, 2).Range.Text := FieldByName('REFERENCIA_FABRICANTE').AsString;
Cell(iRowCount, 3).Range.Text := FieldByName('CONCEPTO').AsString;
ACantidad := FloatToStr(FieldByName('CANTIDAD').AsFloat);
AIndice := Pos(',', ACantidad);
if AIndice > 0 then
AText := FormatFloat('#,0.00', FieldByName('CANTIDAD').AsFloat)
else
AText := FormatFloat('#,0.##', FieldByName('CANTIDAD').AsFloat);
Cell(iRowCount, 4).Range.Text := AText + ' ' + FieldByName('UNIDAD_MEDIDA').AsString;
if ImprimirPrecio
and (FieldByName('IMPORTE_UNIDAD').AsFloat <> 0) then
Cell(iRowCount, 5).Range.Text := FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_UNIDAD').AsFloat)
else
Cell(iRowCount, 5).Range.Text := '';
if ImprimirPrecio
and (FieldByName('IMPORTE_TOTAL').AsFloat <> 0) then
Cell(iRowCount, 6).Range.Text := FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_TOTAL').AsFloat)
else
Cell(iRowCount, 6).Range.Text := '';
Next;
Inc (iRowCount);
end;
Rows.Item(iRowCount).Delete;
{while iRowCount <= MaxCols do
begin
Rows.Item (iRowCount).Cells.Split (numRows, numCols, mergesplit);
inc (iRowCount);
end;}
end;
Result := True;
end;
function TRptWordPedidoProveedor.RellenarDatosPedido : Boolean;
var
DireccionEntrega : String;
// LinkToFile, SaveWithDocument, _Range : OleVariant;
// Imagen : InlineShape;
begin
//PARA DIBUJAR EL LOGOTIPO MULTIEMPRESA
{if (EmpresaActiva.Logotipo <> Nil) then
begin
//Activamos cabecera
FWordApp.Application.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageHeader;
LinkToFile := False;
SaveWithDocument := True;
_Range := EmptyParam;
FicheroTemporal := DarFicheroTemporal;
EmpresaActiva.Logotipo.SaveToFile (FicheroTemporal);
Imagen := FWordApp.Application.ActiveWindow.ActivePane.Selection.InlineShapes.AddPicture(ficherotemporal, LinkToFile, SaveWithDocument, _Range);
//Formateamos imagen
if ((Imagen.Get_Width > ANCHO_LOGO_INF)) then
begin
Imagen.Set_Height(((ANCHO_LOGO_INF * Imagen.Get_Height) /Imagen.Get_Width));
Imagen.Set_Width(ANCHO_LOGO_INF);
end;
end;}
with FDocumento, tbl_Cabecera do
begin
ReplaceBookmark('CodigoPedido', FieldByName('REFERENCIA').AsString);
ReplaceBookmark('FechaPedido', FieldByName('FECHA_PEDIDO').AsString);
// En la dirección mostrar aquellos campos que estén rellenos.
DireccionEntrega := '';
if not EsCadenaVacia(FieldByName('CALLE_ALMACEN').AsString) then
DireccionEntrega := DireccionEntrega + FieldByName('CALLE_ALMACEN').AsString;
if not EsCadenaVacia(FieldByName('CODIGO_POSTAL_ALMACEN').AsString) then
DireccionEntrega := DireccionEntrega + ', ' + FieldByName('CODIGO_POSTAL_ALMACEN').AsString;
if not EsCadenaVacia(FieldByName('POBLACION_ALMACEN').AsString) then
DireccionEntrega := DireccionEntrega + ', ' + FieldByName('POBLACION_ALMACEN').AsString;
if not EsCadenaVacia(FieldByName('PROVINCIA_ALMACEN').AsString) then
DireccionEntrega := DireccionEntrega + ', ' + FieldByName('PROVINCIA_ALMACEN').AsString;
ReplaceBookmark('LugarEntrega', DireccionEntrega);
{ ReplaceBookmark('LugarEntrega', FieldByName('CALLEALMACEN').AsString + ' ' +
FieldByName('NUMEROALMACEN').AsString + ', ' + FieldByName('PISOALMACEN').AsString + ', ' +
FieldByName('CODIGOPOSTALALMACEN').AsString + ' ' + FieldByName('POBLACIONALMACEN').AsString + ', ' + FieldByName('PROVINCIAALMACEN').AsString);}
ReplaceBookmark('PersonaEntrega', FieldByName('PERSONA_CONTACTO_ALMACEN').AsString);
if FieldByName('FECHA_ENTREGA').IsNull then
ReplaceBookmark('FechaEntrega', '')
else
ReplaceBookmark('FechaEntrega', 'FECHA DE ENTREGA PREVISTA: ' + FieldByName('FECHA_ENTREGA').AsString);
ReplaceBookmark('NombreProveedor', FieldByName('NOMBRE').AsString);
ReplaceBookmark('FaxProveedor', FieldByName('FAX').AsString);
ReplaceBookmark('PersonaContactoProveedor', FieldByName('PERSONA_CONTACTO').AsString);
ReplaceBookmark('CodigoClienteProveedor', FieldByName('CODIGO_CLIENTE').AsString);
if ImprimirPrecio then
ReplaceBookmark('ImporteTotal', FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_TOTAL').AsFloat))
else
ReplaceBookmark('ImporteTotal', '');
ReplaceBookmark('NotasPedido', FieldByName('OBSERVACIONES').AsString);
ReplaceBookmark('NombreEmpresa', tbl_Empresa.FieldByName('NOMBRE').AsString);
ReplaceBookmark('NombreEmpresa2', tbl_Empresa.FieldByName('NOMBRE').AsString);
ReplaceBookmark('CifEmpresa', tbl_Empresa.FieldByName('NIF_CIF').AsString);
ReplaceBookmark('DireccionEmpresa',
Format('%s. %s %s', [tbl_Empresa.FieldByName('CALLE').AsString,
tbl_Empresa.FieldByName('CODIGO_POSTAL').AsString, tbl_Empresa.FieldByName('POBLACION').AsString]));
ReplaceBookmark('TelefonoEmpresa', tbl_Empresa.FieldByName('TELEFONO_1').AsString);
ReplaceBookmark('FaxEmpresa', tbl_Empresa.FieldByName('FAX').AsString);
ReplaceBookmark('CorreoEmpresa', tbl_Empresa.FieldByName('EMAIL_1').AsString);
end;
Result := True;
end;
procedure TRptWordPedidoProveedor._GenerarPedido(const AID: String);
var
ACopiaPlantilla : String;
begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try
tbl_Cabecera.ParamByName('ID').AsString := AID;
tbl_Detalles.ParamByName('ID_PEDIDO').AsString := AID;
tbl_Cabecera.Active := True;
tbl_Detalles.Active := True;
FPlantilla := DarRutaInformes + tbl_Cabecera.FieldByName('ID_EMPRESA').AsString + '\' + rptInforme;
FCodigoPedido := AID;
if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then
begin
ACopiaPlantilla := DarFicheroTemporal;
CopiarFichero(FPlantilla, ACopiaPlantilla);
FPlantilla := ACopiaPlantilla;
try
Generar;
finally
SysUtils.DeleteFile(ACopiaPlantilla);
end;
end;
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
end;
end.

View File

@ -35,8 +35,6 @@ type
{ IsrvPedidosProveedor methods }
function GenerarInforme(const ListaID: TIntegerArray;
const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
function GenerarInformeEnWord(const ID: Integer;
const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray;
const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
end;
@ -48,8 +46,7 @@ uses
Dialogs, uSistemaFunc,
{Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils,
schPedidosProveedorClient_Intf, uRestriccionesUsuarioUtils,
uBizPedidosProveedorServer, uRptPedidosProveedor_Server,
uRptWordPedidoProveedor;
uBizPedidosProveedorServer, uRptPedidosProveedor_Server;
{ uRORemoteDataModule,
fServerForm, Variants, IB, schPedidosProveedorClient_Intf;
@ -115,28 +112,6 @@ begin
end;
end;
function TsrvPedidosProveedor.GenerarInformeEnWord(const ID: Integer;
const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
var
AReportGenerator : TRptWordPedidoProveedor;
AFicheroTMP : TFileName;
begin
Result := NIL;
AFicheroTMP := DarFicheroTemporal;
AReportGenerator := TRptWordPedidoProveedor.Create(nil);
try
AReportGenerator.ImprimirPrecio := ImprimirPrecio;
AReportGenerator.ImprimirRefProveedor := ImprimirRefProveedor;
if AReportGenerator.Exportar(IntToStr(ID), AFicheroTMP) then
begin
Result := Binary.Create;
Result.LoadFromFile(AFicheroTMP);
end;
finally
FreeAndNIL(AReportGenerator);
end;
end;
initialization
TROClassFactory.Create('srvPedidosProveedor', Create_srvPedidosProveedor, TsrvPedidosProveedor_Invoker);

View File

@ -13,4 +13,4 @@ BEGIN
END
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Controller\PedidosCliente_controller.RES */
/* c:\temp\dtf33F.tmp */
/* c:\temp\dtfBC.tmp */

View File

@ -14,4 +14,4 @@ END
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Data\uDataModulePedidosCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Data\PedidosCliente_data.RES */
/* c:\temp\dtf33D.tmp */
/* c:\temp\dtfBA.tmp */

View File

@ -13,4 +13,4 @@ BEGIN
END
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Model\PedidosCliente_model.RES */
/* c:\temp\dtf33B.tmp */
/* c:\temp\dtfB8.tmp */

View File

@ -14,4 +14,4 @@ END
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Plugin\uPluginPedidosCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Plugin\PedidosCliente_plugin.RES */
/* c:\temp\dtf3A7.tmp */
/* c:\temp\dtf124.tmp */

View File

@ -26,4 +26,4 @@ END
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorElegirArticulosPedidoCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\uEditorDireccionEntregaPedidoCliente.dfm */
/* C:\Codigo\Source\Modulos\Pedidos de cliente\Views\PedidosCliente_view.RES */
/* c:\temp\dtf3A5.tmp */
/* c:\temp\dtf122.tmp */

View File

@ -1,563 +0,0 @@
object RptWordCertificadoTrabajo: TRptWordCertificadoTrabajo
OldCreateOrder = False
OnCreate = DataModuleCreate
Height = 218
Width = 374
object schReport: TDASchema
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DataDictionary
Datasets = <
item
Params = <
item
Name = 'ID'
Value = '31'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
SQL =
'SELECT'#10' V_PRESUPUESTOS_CLIENTE.ID, V_PRESUPUESTOS_CLIENTE.ID_' +
'EMPRESA,'#10' V_PRESUPUESTOS_CLIENTE.FECHA_PRESUPUESTO,'#10' V_PRE' +
'SUPUESTOS_CLIENTE.REFERENCIA,'#10' V_PRESUPUESTOS_CLIENTE.PORTADA' +
','#10' V_PRESUPUESTOS_CLIENTE.MEMORIA, V_PRESUPUESTOS_CLIENTE.OBS' +
'ERVACIONES,'#10' V_PRESUPUESTOS_CLIENTE.IMPORTE_NETO, V_PRESUPUES' +
'TOS_CLIENTE.IMPORTE_PORTE,'#10' V_PRESUPUESTOS_CLIENTE.DESCUENTO,' +
' V_PRESUPUESTOS_CLIENTE.IMPORTE_DESCUENTO,'#10' V_PRESUPUESTOS_CL' +
'IENTE.BASE_IMPONIBLE, V_PRESUPUESTOS_CLIENTE.IVA,'#10' V_PRESUPUE' +
'STOS_CLIENTE.ID_CLIENTE,'#10' V_PRESUPUESTOS_CLIENTE.REFERENCIA_C' +
'LIENTE,'#10' V_PRESUPUESTOS_CLIENTE.CLIENTE_FINAL,'#10' CONTACTOS.' +
'NIF_CIF, CONTACTOS.NOMBRE,'#10' V_PRESUPUESTOS_CLIENTE.IMPORTE_IV' +
'A, V_PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL,'#10' COALESCE(CONTACTOS_' +
'DIRECCIONES.CALLE, CONTACTOS.CALLE) AS CALLE,'#10' COALESCE(CONTA' +
'CTOS_DIRECCIONES.POBLACION, CONTACTOS.POBLACION) AS POBLACION,'#10' ' +
' COALESCE(CONTACTOS_DIRECCIONES.PROVINCIA, CONTACTOS.PROVINCIA' +
') AS PROVINCIA,'#10' COALESCE(CONTACTOS_DIRECCIONES.CODIGO_POSTAL' +
', CONTACTOS.CODIGO_POSTAL) AS CODIGO_POSTAL,'#10' V_PRESUPUESTOS_' +
'CLIENTE.PERSONA_CONTACTO'#10'FROM'#10' V_PRESUPUESTOS_CLIENTE'#10' INN' +
'ER JOIN CONTACTOS ON (CONTACTOS.ID = V_PRESUPUESTOS_CLIENTE.ID_C' +
'LIENTE)'#10' LEFT OUTER JOIN CONTACTOS_DIRECCIONES ON (CONTACTOS_' +
'DIRECCIONES.ID = V_PRESUPUESTOS_CLIENTE.ID_DIRECCION)'#10'WHERE'#10' ' +
'V_PRESUPUESTOS_CLIENTE.ID = :ID'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_EMPRESA'
TableField = 'ID_EMPRESA'
end
item
DatasetField = 'FECHA_PRESUPUESTO'
TableField = 'FECHA_PRESUPUESTO'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end
item
DatasetField = 'PORTADA'
TableField = 'PORTADA'
end
item
DatasetField = 'MEMORIA'
TableField = 'MEMORIA'
end
item
DatasetField = 'OBSERVACIONES'
TableField = 'OBSERVACIONES'
end
item
DatasetField = 'IMPORTE_NETO'
TableField = 'IMPORTE_NETO'
end
item
DatasetField = 'IMPORTE_PORTE'
TableField = 'IMPORTE_PORTE'
end
item
DatasetField = 'DESCUENTO'
TableField = 'DESCUENTO'
end
item
DatasetField = 'IMPORTE_DESCUENTO'
TableField = 'IMPORTE_DESCUENTO'
end
item
DatasetField = 'BASE_IMPONIBLE'
TableField = 'BASE_IMPONIBLE'
end
item
DatasetField = 'IVA'
TableField = 'IVA'
end
item
DatasetField = 'ID_CLIENTE'
TableField = 'ID_CLIENTE'
end
item
DatasetField = 'REFERENCIA_CLIENTE'
TableField = 'REFERENCIA_CLIENTE'
end
item
DatasetField = 'CLIENTE_FINAL'
TableField = 'CLIENTE_FINAL'
end
item
DatasetField = 'NIF_CIF'
TableField = 'NIF_CIF'
end
item
DatasetField = 'NOMBRE'
TableField = 'NOMBRE'
end
item
DatasetField = 'IMPORTE_IVA'
TableField = 'IMPORTE_IVA'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'PERSONA_CONTACTO'
TableField = 'PERSONA_CONTACTO'
end
item
DatasetField = 'CALLE'
TableField = 'CALLE'
end
item
DatasetField = 'POBLACION'
TableField = 'POBLACION'
end
item
DatasetField = 'PROVINCIA'
TableField = 'PROVINCIA'
end
item
DatasetField = 'CODIGO_POSTAL'
TableField = 'CODIGO_POSTAL'
end>
end>
Name = 'Informe_Cabecera'
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'FECHA_PRESUPUESTO'
DataType = datDateTime
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'PORTADA'
DataType = datMemo
end
item
Name = 'MEMORIA'
DataType = datMemo
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'IMPORTE_NETO'
DataType = datCurrency
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_DESCUENTO'
DataType = datCurrency
end
item
Name = 'BASE_IMPONIBLE'
DataType = datCurrency
end
item
Name = 'IVA'
DataType = datFloat
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'CLIENTE_FINAL'
DataType = datString
Size = 255
end
item
Name = 'NIF_CIF'
DataType = datString
Size = 15
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_IVA'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'CALLE'
DataType = datString
Size = 255
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
end>
ReadOnly = True
end
item
Params = <
item
Name = 'ID_PRESUPUESTO'
DataType = datInteger
Value = '12'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
SQL =
'SELECT * FROM PRO_PRES_CAPITULOS(:ID_PRESUPUESTO)'#10'WHERE (VISIBLE' +
' <> 0) AND {where}'#10'ORDER BY ID_PRESUPUESTO, POSICION'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_PRESUPUESTO'
TableField = 'ID_PRESUPUESTO'
end
item
DatasetField = 'POSICION'
TableField = 'POSICION'
end
item
DatasetField = 'TIPO_DETALLE'
TableField = 'TIPO_DETALLE'
end
item
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'VISIBLE'
TableField = 'VISIBLE'
end>
end>
Name = 'Informe_Capitulos'
Fields = <
item
Name = 'ID'
DataType = datInteger
InPrimaryKey = True
end
item
Name = 'ID_PRESUPUESTO'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 25
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2000
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'VISIBLE'
DataType = datSmallInt
end>
ReadOnly = True
end>
JoinDataTables = <>
UnionDataTables = <>
Commands = <>
RelationShips = <>
UpdateRules = <>
Version = 0
Left = 48
Top = 16
end
object DataDictionary: TDADataDictionary
Fields = <>
Left = 46
Top = 142
end
object DABin2DataStreamer: TDABin2DataStreamer
Left = 48
Top = 80
end
object tbl_Cabecera: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'FECHA_PRESUPUESTO'
DataType = datDateTime
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'PORTADA'
DataType = datMemo
end
item
Name = 'MEMORIA'
DataType = datMemo
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'IMPORTE_NETO'
DataType = datCurrency
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_DESCUENTO'
DataType = datCurrency
end
item
Name = 'BASE_IMPONIBLE'
DataType = datCurrency
end
item
Name = 'IVA'
DataType = datFloat
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'CLIENTE_FINAL'
DataType = datString
Size = 255
end
item
Name = 'NIF_CIF'
DataType = datString
Size = 15
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_IVA'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
end
item
Name = 'CALLE'
DataType = datString
Size = 255
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
end>
Params = <
item
Name = 'ID'
Value = '31'
ParamType = daptInput
end>
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
LogicalName = 'Informe_Cabecera'
IndexDefs = <>
Left = 168
Top = 16
end
object tbl_Capitulos: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
InPrimaryKey = True
end
item
Name = 'ID_PRESUPUESTO'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 25
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2000
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'VISIBLE'
DataType = datSmallInt
end>
Params = <
item
Name = 'ID_PRESUPUESTO'
DataType = datInteger
Value = '12'
ParamType = daptInput
end>
MasterParamsMappings.Strings = (
'ID_PRESUPUESTO=ID_PRESUPUESTO')
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
LogicalName = 'Informe_Capitulos'
IndexDefs = <>
Left = 264
Top = 16
end
object tbl_Empresa: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <
item
Name = 'ID'
Value = '31'
ParamType = daptInput
end>
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LogicalName = 'Empresa'
IndexDefs = <>
Left = 168
Top = 80
end
end

View File

@ -1,217 +0,0 @@
unit uRptWordCertificadoTrabajo_Server;
interface
uses
SysUtils, Classes, AHWord97, IB, IBCustomDataSet, IBDatabase,
Word2000,
uDAInterfaces, uDADataStreamer, uDABin2DataStreamer, uDAClasses,
uDAScriptingProvider, uDADataTable, uDAMemDataTable;
type
TCapitulo = record
Tipo : string;
Nombre : string;
Total : double;
end;
TRptWordCertificadoTrabajo = class(TDataModule)
DABin2DataStreamer: TDABin2DataStreamer;
tbl_Cabecera: TDAMemDataTable;
tbl_Capitulos: TDAMemDataTable;
tbl_Empresa: TDAMemDataTable;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
FImportes : Boolean;
// FDesBonificacion : Variant;
// FImpBonificacion : Double;
FPlantilla : string;
FWordApp : TWordApp;
FDocumento : TWordDoc;
FNumCapitulos : Integer;
FNumCapOpc : Integer;
FContadorCap : Integer;
FCodigoPresupuesto : Integer;
FNombreFichero : String;
ListaCapitulos : array[1..1000] of TCapitulo;
function Generar : Boolean;
function RellenarInforme : boolean; virtual;
procedure _GenerarCertificado(const AID : Integer);
public
constructor Create (AOwner : TComponent); override;
destructor Destroy; override;
function Exportar(const AIDPresupuesto: Integer; const AFichero : String): Boolean;
end;
implementation
{$R *.dfm}
uses
Windows, Variants, Dialogs, uDataModuleServer, uStringsUtils, uSistemaFunc,
srvEmpresas_Impl, uROTypes, uROClasses;
const
rptInforme = 'CertificadoTrabajos.rdx';
constructor TRptWordCertificadoTrabajo.Create(AOwner: TComponent);
begin
inherited;
FDocumento := NIL;
FImportes := True;
FNumCapitulos := 0;
FPlantilla := DarRutaInformes + rptInforme;
end;
procedure TRptWordCertificadoTrabajo.DataModuleCreate(Sender: TObject);
begin
schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion;
end;
destructor TRptWordCertificadoTrabajo.Destroy;
begin
if FDocumento <> NIL then
FDocumento.Free;
FDocumento := NIL;
inherited;
end;
function TRptWordCertificadoTrabajo.Exportar(const AIDPresupuesto: Integer;
const AFichero : String): Boolean;
begin
if EsCadenaVacia(AFichero) then
RaiseError('Falta indicar el fichero donde se exportará el listado.');
FNombreFichero := AFichero;
FCodigoPresupuesto := AIDPresupuesto;
_GenerarCertificado(AIDPresupuesto);
Result := True;
end;
function TRptWordCertificadoTrabajo.Generar : Boolean;
begin
FWordApp := TWordApp.Create (False, False);
with FWordApp do
begin
Visible := False;
ScreenUpdating := False;
end;
FDocumento := TWordDoc.CreateNewDoc(FWordApp, FPlantilla);
FWordApp.SaveActiveDocAs(FNombreFichero);
try
if not RellenarInforme then
RaiseError('Se producido un error al generar el informe en MS Word.');
FWordApp.CloseApp(wdSaveChanges);
Result := True;
finally
FDocumento := NIL;
FWordApp := NIL;
end;
end;
function TRptWordCertificadoTrabajo.RellenarInforme: boolean;
var
NombreCapitulo : string;
ADescripcion : string;
ANombreFichero : string;
begin
with FDocumento, tbl_Cabecera do
begin
ReplaceBookmark('Cliente', FieldByName('NOMBRE').AsString);
ReplaceBookmark('Direccion', FieldByName('CALLE').AsString + ' ' +
FieldByName('CODIGO_POSTAL').AsString + ' ' +
FieldByName('POBLACION').AsString + ' ' + FieldByName('PROVINCIA').AsString);
ReplaceBookmark('Referencia', FieldByName('REFERENCIA').AsString);
end;
FContadorCap := 0;
FNumCapOpc := 0;
with FDocumento, tbl_Capitulos do
begin
First;
ADescripcion := '';
while not Eof do
begin
if (FieldByName('TIPO_DETALLE').AsString = 'Titulo') or
(FieldByName('TIPO_DETALLE').AsString = 'Opcional') then
begin
NombreCapitulo := '';
if (FieldByName('TIPO_DETALLE').AsString = 'Titulo') then
NombreCapitulo := 'Capítulo ' + IntToStr(FContadorCap + 1) + '. ' + FieldByName('CONCEPTO').AsString
else begin
NombreCapitulo := 'Capítulo opcional. ' + FieldByName('CONCEPTO').AsString;
Inc(FNumCapOpc);
end;
ADescripcion := ADescripcion + #13#10 + NombreCapitulo;
Inc(FContadorCap);
ListaCapitulos[FContadorCap].Tipo := FieldByName('TIPO_DETALLE').AsString;
ListaCapitulos[FContadorCap].Nombre := NombreCapitulo;
Next;
end
else begin
if FContadorCap = 0 then
begin
Inc(FContadorCap); // Se considera el conjunto de conceptos sueltos como un capítulo.
{ Pegar una tabla para rellenarla }
end;
Next;
end;
end;
FNumCapitulos := FContadorCap;
ReplaceBookmark('Capitulos', ADescripcion);
end;
ANombreFichero := DarFicheroTemporal;
EscribirEnFichero(ANombreFichero, tbl_Cabecera.FieldByName('PORTADA').AsString);
FWordApp.InsertFile(ANombreFichero, 'Portada');
SysUtils.DeleteFile(ANombreFichero);
Result := True;
end;
procedure TRptWordCertificadoTrabajo._GenerarCertificado(const AID: Integer);
var
ACopiaPlantilla: string;
begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try
tbl_Cabecera.ParamByName('ID').AsInteger := AID;
tbl_Capitulos.ParamByName('ID_PRESUPUESTO').AsInteger := AID;
tbl_Cabecera.Active := True;
tbl_Capitulos.Active := True;
FCodigoPresupuesto := AID;
if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then
begin
ACopiaPlantilla := DarFicheroTemporal;
CopiarFichero(FPlantilla, ACopiaPlantilla);
FPlantilla := ACopiaPlantilla;
try
Generar;
finally
SysUtils.DeleteFile(ACopiaPlantilla);
end;
end;
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
end;
end.

View File

@ -1,700 +0,0 @@
object RptWordPresupuestoCliente: TRptWordPresupuestoCliente
OldCreateOrder = False
OnCreate = DataModuleCreate
Height = 262
Width = 344
object schReport: TDASchema
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DataDictionary
Datasets = <
item
Params = <
item
Name = 'ID'
Value = '71'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
SQL =
'SELECT'#10' V_PRESUPUESTOS_CLIENTE.ID, V_PRESUPUESTOS_CLIENTE.ID_' +
'EMPRESA,'#10' V_PRESUPUESTOS_CLIENTE.FECHA_PRESUPUESTO,'#10' V_PRE' +
'SUPUESTOS_CLIENTE.REFERENCIA || '#39' '#39' || COALESCE(V_PRESUPUESTOS_C' +
'LIENTE.REFERENCIA_AUX, '#39#39') AS REFERENCIA,'#10' V_PRESUPUESTOS_CLI' +
'ENTE.PORTADA,'#10' V_PRESUPUESTOS_CLIENTE.MEMORIA, V_PRESUPUESTOS' +
'_CLIENTE.OBSERVACIONES,'#10' V_PRESUPUESTOS_CLIENTE.IMPORTE_NETO,' +
' V_PRESUPUESTOS_CLIENTE.IMPORTE_PORTE,'#10' V_PRESUPUESTOS_CLIENT' +
'E.DESCUENTO, V_PRESUPUESTOS_CLIENTE.IMPORTE_DESCUENTO,'#10' V_PRE' +
'SUPUESTOS_CLIENTE.BASE_IMPONIBLE, V_PRESUPUESTOS_CLIENTE.IVA,'#10' ' +
' V_PRESUPUESTOS_CLIENTE.ID_CLIENTE,'#10' V_PRESUPUESTOS_CLIENTE.' +
'REFERENCIA_CLIENTE,'#10' V_PRESUPUESTOS_CLIENTE.CLIENTE_FINAL,'#10' ' +
' CONTACTOS.NIF_CIF, CONTACTOS.NOMBRE,'#10' V_PRESUPUESTOS_CLIENT' +
'E.IMPORTE_IVA, V_PRESUPUESTOS_CLIENTE.IMPORTE_TOTAL,'#10' COALESC' +
'E(CONTACTOS_DIRECCIONES.CALLE, CONTACTOS.CALLE) AS CALLE,'#10' CO' +
'ALESCE(CONTACTOS_DIRECCIONES.POBLACION, CONTACTOS.POBLACION) AS ' +
'POBLACION,'#10' COALESCE(CONTACTOS_DIRECCIONES.PROVINCIA, CONTACT' +
'OS.PROVINCIA) AS PROVINCIA,'#10' COALESCE(CONTACTOS_DIRECCIONES.C' +
'ODIGO_POSTAL, CONTACTOS.CODIGO_POSTAL) AS CODIGO_POSTAL,'#10' V_P' +
'RESUPUESTOS_CLIENTE.PERSONA_CONTACTO,'#10' V_PRESUPUESTOS_CLIENTE' +
'.DESCRIPCION_BONIFICACION,'#10' V_PRESUPUESTOS_CLIENTE.IMPORTE_BO' +
'NIFICACION'#10'FROM'#10' V_PRESUPUESTOS_CLIENTE'#10' INNER JOIN CONTAC' +
'TOS ON (CONTACTOS.ID = V_PRESUPUESTOS_CLIENTE.ID_CLIENTE)'#10' LE' +
'FT OUTER JOIN CONTACTOS_DIRECCIONES ON (CONTACTOS_DIRECCIONES.ID' +
' = V_PRESUPUESTOS_CLIENTE.ID_DIRECCION)'#10'WHERE'#10' V_PRESUPUESTOS' +
'_CLIENTE.ID = :ID'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_EMPRESA'
TableField = 'ID_EMPRESA'
end
item
DatasetField = 'FECHA_PRESUPUESTO'
TableField = 'FECHA_PRESUPUESTO'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end
item
DatasetField = 'PORTADA'
TableField = 'PORTADA'
end
item
DatasetField = 'MEMORIA'
TableField = 'MEMORIA'
end
item
DatasetField = 'OBSERVACIONES'
TableField = 'OBSERVACIONES'
end
item
DatasetField = 'IMPORTE_NETO'
TableField = 'IMPORTE_NETO'
end
item
DatasetField = 'IMPORTE_PORTE'
TableField = 'IMPORTE_PORTE'
end
item
DatasetField = 'DESCUENTO'
TableField = 'DESCUENTO'
end
item
DatasetField = 'IMPORTE_DESCUENTO'
TableField = 'IMPORTE_DESCUENTO'
end
item
DatasetField = 'BASE_IMPONIBLE'
TableField = 'BASE_IMPONIBLE'
end
item
DatasetField = 'IVA'
TableField = 'IVA'
end
item
DatasetField = 'ID_CLIENTE'
TableField = 'ID_CLIENTE'
end
item
DatasetField = 'REFERENCIA_CLIENTE'
TableField = 'REFERENCIA_CLIENTE'
end
item
DatasetField = 'CLIENTE_FINAL'
TableField = 'CLIENTE_FINAL'
end
item
DatasetField = 'NIF_CIF'
TableField = 'NIF_CIF'
end
item
DatasetField = 'NOMBRE'
TableField = 'NOMBRE'
end
item
DatasetField = 'IMPORTE_IVA'
TableField = 'IMPORTE_IVA'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'PERSONA_CONTACTO'
TableField = 'PERSONA_CONTACTO'
end
item
DatasetField = 'CALLE'
TableField = 'CALLE'
end
item
DatasetField = 'POBLACION'
TableField = 'POBLACION'
end
item
DatasetField = 'PROVINCIA'
TableField = 'PROVINCIA'
end
item
DatasetField = 'CODIGO_POSTAL'
TableField = 'CODIGO_POSTAL'
end
item
DatasetField = 'DESCRIPCION_BONIFICACION'
TableField = 'DESCRIPCION_BONIFICACION'
end
item
DatasetField = 'IMPORTE_BONIFICACION'
TableField = 'IMPORTE_BONIFICACION'
end>
end>
Name = 'Informe_Cabecera'
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'FECHA_PRESUPUESTO'
DataType = datDateTime
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'PORTADA'
DataType = datMemo
end
item
Name = 'MEMORIA'
DataType = datMemo
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'IMPORTE_NETO'
DataType = datCurrency
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_DESCUENTO'
DataType = datCurrency
end
item
Name = 'BASE_IMPONIBLE'
DataType = datCurrency
end
item
Name = 'IVA'
DataType = datFloat
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'CLIENTE_FINAL'
DataType = datString
Size = 255
end
item
Name = 'NIF_CIF'
DataType = datString
Size = 15
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_IVA'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'CALLE'
DataType = datString
Size = 255
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
end
item
Name = 'DESCRIPCION_BONIFICACION'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_BONIFICACION'
DataType = datCurrency
end>
ReadOnly = True
end
item
Params = <
item
Name = 'ID_PRESUPUESTO'
Value = '2'
ParamType = daptInput
end>
Statements = <
item
Connection = 'IBX'
ConnectionType = 'Interbase'
Default = True
SQL =
'SELECT '#10' ID, ID_PRESUPUESTO, POSICION, TIPO_DETALLE, ID_ARTIC' +
'ULO, '#10' F_RTFTOTEXT(F_RTFTOTEXT(CONCEPTO)) as CONCEPTO, CONCEP' +
'TO as CONCEPTO_RTF, CANTIDAD,'#10' UNIDAD_MEDIDA,'#10' CASE WHEN C' +
'ANTIDAD = 0 THEN 0'#10' ELSE (IMPORTE_TOTAL / CANTIDAD) END AS IM' +
'PORTE_UNIDAD,'#10' DESCUENTO, IMPORTE_PORTE,'#10' IMPORTE_TOTAL, V' +
'ISIBLE, FECHA_ALTA, FECHA_MODIFICACION'#10' FROM'#10' PRESUPUESTOS_C' +
'LIENTE_DETALLES'#10' WHERE {Where}'#10' AND (VISIBLE <> 0)'#10' AND (' +
'ID_PRESUPUESTO = :ID_PRESUPUESTO)'#10' ORDER BY ID_PRESUPUESTO, POS' +
'ICION'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID'
TableField = 'ID'
end
item
DatasetField = 'ID_PRESUPUESTO'
TableField = 'ID_PRESUPUESTO'
end
item
DatasetField = 'POSICION'
TableField = 'POSICION'
end
item
DatasetField = 'TIPO_DETALLE'
TableField = 'TIPO_DETALLE'
end
item
DatasetField = 'ID_ARTICULO'
TableField = 'ID_ARTICULO'
end
item
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end
item
DatasetField = 'CONCEPTO_RTF'
TableField = 'CONCEPTO_RTF'
end
item
DatasetField = 'CANTIDAD'
TableField = 'CANTIDAD'
end
item
DatasetField = 'UNIDAD_MEDIDA'
TableField = 'UNIDAD_MEDIDA'
end
item
DatasetField = 'IMPORTE_UNIDAD'
TableField = 'IMPORTE_UNIDAD'
end
item
DatasetField = 'DESCUENTO'
TableField = 'DESCUENTO'
end
item
DatasetField = 'IMPORTE_PORTE'
TableField = 'IMPORTE_PORTE'
end
item
DatasetField = 'IMPORTE_TOTAL'
TableField = 'IMPORTE_TOTAL'
end
item
DatasetField = 'VISIBLE'
TableField = 'VISIBLE'
end
item
DatasetField = 'FECHA_ALTA'
TableField = 'FECHA_ALTA'
end
item
DatasetField = 'FECHA_MODIFICACION'
TableField = 'FECHA_MODIFICACION'
end>
end>
Name = 'Informe_Detalles'
Fields = <
item
Name = 'ID'
DataType = datInteger
InPrimaryKey = True
end
item
Name = 'ID_PRESUPUESTO'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 25
end
item
Name = 'ID_ARTICULO'
DataType = datInteger
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 32765
end
item
Name = 'CONCEPTO_RTF'
DataType = datString
Size = 2000
end
item
Name = 'CANTIDAD'
DataType = datCurrency
end
item
Name = 'UNIDAD_MEDIDA'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datCurrency
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'VISIBLE'
DataType = datSmallInt
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
end>
ReadOnly = True
end>
JoinDataTables = <>
UnionDataTables = <>
Commands = <>
RelationShips = <>
UpdateRules = <>
Version = 0
Left = 48
Top = 16
end
object DataDictionary: TDADataDictionary
Fields = <>
Left = 46
Top = 142
end
object DABin2DataStreamer: TDABin2DataStreamer
Left = 48
Top = 80
end
object tbl_Cabecera: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
Required = True
InPrimaryKey = True
end
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'FECHA_PRESUPUESTO'
DataType = datDateTime
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'PORTADA'
DataType = datMemo
end
item
Name = 'MEMORIA'
DataType = datMemo
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
end
item
Name = 'IMPORTE_NETO'
DataType = datCurrency
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_DESCUENTO'
DataType = datCurrency
end
item
Name = 'BASE_IMPONIBLE'
DataType = datCurrency
end
item
Name = 'IVA'
DataType = datFloat
end
item
Name = 'ID_CLIENTE'
DataType = datInteger
end
item
Name = 'REFERENCIA_CLIENTE'
DataType = datString
Size = 255
end
item
Name = 'CLIENTE_FINAL'
DataType = datString
Size = 255
end
item
Name = 'NIF_CIF'
DataType = datString
Size = 15
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_IVA'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'CALLE'
DataType = datString
Size = 255
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
end>
Params = <
item
Name = 'ID'
Value = '71'
ParamType = daptInput
end>
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
LogicalName = 'Informe_Cabecera'
IndexDefs = <>
Left = 168
Top = 16
end
object tbl_Detalles: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID'
DataType = datInteger
InPrimaryKey = True
end
item
Name = 'ID_PRESUPUESTO'
DataType = datInteger
end
item
Name = 'POSICION'
DataType = datInteger
end
item
Name = 'TIPO_DETALLE'
DataType = datString
Size = 25
end
item
Name = 'ID_ARTICULO'
DataType = datInteger
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 32765
end
item
Name = 'CONCEPTO_RTF'
DataType = datString
Size = 2000
end
item
Name = 'CANTIDAD'
DataType = datInteger
end
item
Name = 'UNIDAD_MEDIDA'
DataType = datString
Size = 255
end
item
Name = 'IMPORTE_UNIDAD'
DataType = datCurrency
end
item
Name = 'DESCUENTO'
DataType = datFloat
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end
item
Name = 'VISIBLE'
DataType = datSmallInt
end
item
Name = 'FECHA_ALTA'
DataType = datDateTime
end
item
Name = 'FECHA_MODIFICACION'
DataType = datDateTime
end>
Params = <
item
Name = 'ID_PRESUPUESTO'
Value = '2'
ParamType = daptInput
end>
MasterParamsMappings.Strings = (
'ID_PRESUPUESTO=ID_PRESUPUESTO')
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer
LogicalName = 'Informe_Detalles'
IndexDefs = <>
Left = 264
Top = 16
end
object tbl_Empresa: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <
item
Name = 'ID'
Value = '31'
ParamType = daptInput
end>
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LogicalName = 'Empresa'
IndexDefs = <>
Left = 168
Top = 80
end
end

View File

@ -1,568 +0,0 @@
unit uRptWordPresupuestoCliente;
interface
uses
SysUtils, Classes, AHWord97, IB, IBCustomDataSet, IBDatabase,
Word2000,
uDAInterfaces, uDADataStreamer, uDABin2DataStreamer, uDAClasses,
uDAScriptingProvider, uDADataTable, uDAMemDataTable;
type
TCapitulo = record
Tipo : string;
Nombre : string;
Total : double;
end;
TRptWordPresupuestoCliente = class(TDataModule)
DABin2DataStreamer: TDABin2DataStreamer;
tbl_Cabecera: TDAMemDataTable;
tbl_Detalles: TDAMemDataTable;
tbl_Empresa: TDAMemDataTable;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
procedure DataModuleCreate(Sender: TObject);
private
FConnection: IDAConnection;
FImportes : Boolean;
FDesBonificacion : Variant;
FImpBonificacion : Double;
FPlantilla : string;
FWordApp : TWordApp;
FDocumento : TWordDoc;
FNumCapitulos : Integer;
FNumCapOpc : Integer;
FContadorCap : Integer;
FCodigoPresupuesto : string;
FNombreFichero : String;
ListaCapitulos : array[1..1000] of TCapitulo;
FVerSello: Integer;
procedure InsertarConceptos(Tabla : Table);
function Generar : Boolean;
function RellenarPortada : boolean; virtual;
function RellenarCabecera : boolean; virtual;
function RellenarInforme : boolean; virtual;
function RellenarResumen : boolean; virtual;
procedure _GenerarPresupuesto(const AID : String);
public
constructor Create (AOwner : TComponent); override;
destructor Destroy; override;
function Exportar(Codigo, Fichero : String; const VerSello: Integer): Boolean;
end;
implementation
{$R *.dfm}
uses
Windows, Variants, Dialogs, uDataModuleServer, uStringsUtils, uSistemaFunc,
srvEmpresas_Impl, uROTypes, uROClasses;
const
rptInforme = 'Presupuesto.rdx';
constructor TRptWordPresupuestoCliente.Create(AOwner: TComponent);
begin
inherited;
FDocumento := NIL;
FImportes := True;
FNumCapitulos := 0;
FVerSello:= 1;
end;
procedure TRptWordPresupuestoCliente.DataModuleCreate(Sender: TObject);
begin
schReport.ConnectionManager := dmServer.ConnectionManager;
FConnection := dmServer.DarNuevaConexion;
end;
destructor TRptWordPresupuestoCliente.Destroy;
begin
if FDocumento <> NIL then
FDocumento.Free;
FDocumento := NIL;
inherited;
end;
function TRptWordPresupuestoCliente.Exportar(Codigo, Fichero: String; const VerSello: Integer): Boolean;
begin
if EsCadenaVacia(Fichero) then
RaiseError('Falta indicar el fichero donde se exportará el listado.');
FNombreFichero := Fichero;
FCodigoPresupuesto := Codigo;
FVerSello := VerSello;
_GenerarPresupuesto(Codigo);
Result := True;
end;
function TRptWordPresupuestoCliente.Generar : Boolean;
begin
FWordApp := TWordApp.Create (False, False);
with FWordApp do
begin
Visible := False;
ScreenUpdating := False;
end;
FDocumento := TWordDoc.CreateNewDoc(FWordApp, FPlantilla);
FWordApp.SaveActiveDocAs(FNombreFichero);
try
if not RellenarPortada then
RaiseError('Se producido un error al generar la portada del informe en MS Word.');
if not RellenarCabecera then
RaiseError('Se producido un error al generar la cabecera del informe en MS Word.');
if not RellenarInforme then
RaiseError('Se producido un error al generar el informe en MS Word.');
if (FNumCapitulos <> 0) and (FNumCapOpc < FNumCapitulos) then
begin
if not RellenarResumen then
RaiseError('Se producido un error al generar el resumen en MS Word.');
end
else begin
FDocumento.Document.Tables.Item(FDocumento.Document.Tables.Count-1).Delete;
end;
FWordApp.CloseApp(wdSaveChanges);
Result := True;
finally
FDocumento := NIL;
FWordApp := NIL;
end;
end;
procedure TRptWordPresupuestoCliente.InsertarConceptos(Tabla : Table);
var
numRows, numCols, mergeSplit, shiftCells : OleVariant;
iContador : Integer;
TotalConceptos : Double;
ACantidad: String;
AIndice: Integer;
AText : String;
begin
TotalConceptos := 0;
numRows := 2;
numCols := 1;
mergeSplit := False;
shiftCells := False;
iContador := 2; // Empezar en la 2ª fila de celdas. La primera es la
// cabecera de la tabla.
with Tabla, tbl_Detalles do
begin
while not EOF do
begin
if FieldByName('TIPO_DETALLE').AsString <> 'Concepto' then
Break;
// Partir la celda actual en 2 filas de 1 columna.
Rows.Item(iContador).Cells.Split (numRows, numCols, mergesplit);
Cell(iContador, 1).Range.Text := FieldByName('CONCEPTO').AsString;
ACantidad := FloatToStr(FieldByName('CANTIDAD').AsFloat);
if ACantidad = '0' then
AText := ''
else begin
AIndice := Pos(',', ACantidad);
if AIndice > 0 then
AText := FormatFloat('#,0.00', FieldByName('CANTIDAD').AsFloat)
else
AText := FormatFloat('#,0.##', FieldByName('CANTIDAD').AsFloat);
end;
Cell(iContador, 2).Range.Text := AText + ' ' + FieldByName('UNIDAD_MEDIDA').AsString;
if FImportes and
(FieldByName('IMPORTE_UNIDAD').AsFloat <> 0) then
Cell(iContador, 3).Range.Text := FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_UNIDAD').AsFloat)
else
Cell(iContador, 3).Range.Text := '';
if FImportes and
(FieldByName('IMPORTE_TOTAL').AsFloat <> 0) then
Cell(iContador, 4).Range.Text := FormatFloat(DISPLAY_EUROS2, FieldByName('IMPORTE_TOTAL').AsFloat)
else
Cell(iContador, 4).Range.Text := '';
TotalConceptos := TotalConceptos + FieldByName('IMPORTE_TOTAL').AsFloat;
Next;
Inc (iContador);
end;
ListaCapitulos[FContadorCap].Total := TotalConceptos;
// Borrar la fila vacía que sobra
Rows.Item(iContador).Cells.Delete(shiftCells);
if FImportes then
Cell(iContador, 1).Range.Text := 'Total: ' + FormatFloat(DISPLAY_EUROS2, TotalConceptos)
else
Cell(iContador, 1).Range.Text := '';
AutoFitBehavior(wdAutoFitWindow);
end;
end;
function TRptWordPresupuestoCliente.RellenarCabecera: boolean;
var
NombreFichero,
Texto : String;
{ FicheroTemporal : String;
LinkToFile, SaveWithDocument, _Range : OleVariant;
Imagen : InlineShape;
ovRange : OleVariant;
Which, Name : OleVariant;}
What, Count : OleVariant;
ovBookMarkName : OleVariant;
TempRange : Word2000.Range;
begin
//PARA DIBUJAR EL LOGOTIPO MULTIEMPRESA
{ --------------------- PENDIENTE
if (EmpresaActiva.Logotipo <> Nil) then
begin
//Activamos cabecera segunda
What:=wdGoToSection;
Which:=wdGoToFirst;
Count:=2;
Name:='';
FWordApp.Application.ActiveWindow.ActivePane.Selection.GoTo_ (What, Which, Count, Name);
FWordApp.Application.ActiveWindow.ActivePane.View.SeekView := wdSeekCurrentPageHeader;
LinkToFile := False;
SaveWithDocument := True;
_Range := EmptyParam;
FicheroTemporal := DarFicheroTemporal;
EmpresaActiva.Logotipo.SaveToFile (FicheroTemporal);
Imagen := FWordApp.Application.ActiveWindow.ActivePane.Selection.InlineShapes.AddPicture(FicheroTemporal, LinkToFile, SaveWithDocument, _Range);
//Formateamos imagen
if ((Imagen.Get_Width > ANCHO_LOGO_INF)) then
begin
Imagen.Set_Height(((ANCHO_LOGO_INF * Imagen.Get_Height) /Imagen.Get_Width));
Imagen.Set_Width(ANCHO_LOGO_INF);
end;
end;
-------------------------------------- }
with FDocumento, tbl_Cabecera do
begin
if FieldByName('IMPORTE_BONIFICACION').AsFloat > 0 then
FDesBonificacion := FieldByName('DESCRIPCION_BONIFICACION').AsString
else
FDesBonificacion := Null;
FImpBonificacion := FieldByName('IMPORTE_BONIFICACION').AsFloat;
ReplaceBookmark('CodigoPresupuestoCab', FieldByName('REFERENCIA').AsString);
ReplaceBookmark('FechaPresupuestoCab', FieldByName('FECHA_PRESUPUESTO').AsString);
ReplaceBookmark('NombreClienteCab', FieldByName('NOMBRE').AsString);
ReplaceBookmark('DireccionClienteCab', FieldByName('CALLE').AsString);
ReplaceBookmark('PoblacionClienteCab',
FieldByName('CODIGO_POSTAL').AsString + ' ' +
FieldByName('POBLACION').AsString + ' ' + FieldByName('PROVINCIA').AsString);
ReplaceBookmark('ContactoClienteCab', FieldByName('PERSONA_CONTACTO').AsString);
ReplaceBookmark('NombreClienteFirma', FieldByName('NOMBRE').AsString);
//Solo para la empresa de tecsitel se debe elegir uno u otra firma
//esto es un poco parche pero bueno
if (tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger = 1) then
begin
if (FVerSello = 1) then
ReplaceBookmark('Firma2', '')
else
ReplaceBookmark('Firma1', '');
end;
if not EsCadenaVacia(FieldByName('MEMORIA').AsString) then
begin
Texto := FieldByName('MEMORIA').AsString;
NombreFichero := DarFicheroTemporal;
EscribirEnFichero(NombreFichero, Texto);
FWordApp.InsertFile(NombreFichero, 'TextoPresupuesto');
SysUtils.DeleteFile(NombreFichero);
end
else begin
ovBookMarkName := 'TextoPresupuesto';
TempRange := FWordApp.Application.ActiveDocument.Bookmarks.Item (ovBookMarkName).Range;
What := wdCharacter;
Count := 3;
TempRange.Delete(What, Count);
end;
Texto := FieldByName('OBSERVACIONES').AsString;
NombreFichero := DarFicheroTemporal;
EscribirEnFichero(NombreFichero, Texto);
FWordApp.InsertFile(NombreFichero, 'Notas');
SysUtils.DeleteFile(NombreFichero);
ReplaceBookmark('NombreEmpresaPortada', tbl_Empresa.FieldByName('NOMBRE').AsString);
ReplaceBookmark('DireccionEmpresaPortada',
Format('%s. %s %s', [tbl_Empresa.FieldByName('CALLE').AsString,
tbl_Empresa.FieldByName('CODIGO_POSTAL').AsString, tbl_Empresa.FieldByName('POBLACION').AsString]));
ReplaceBookmark('TelefonoEmpresaPortada', tbl_Empresa.FieldByName('TELEFONO_1').AsString);
ReplaceBookmark('FaxEmpresaPortada', tbl_Empresa.FieldByName('FAX').AsString);
ReplaceBookmark('CorreoEmpresaPortada', tbl_Empresa.FieldByName('EMAIL_1').AsString);
ReplaceBookmark('NombreEmpresa', tbl_Empresa.FieldByName('NOMBRE').AsString);
ReplaceBookmark('CifEmpresa', tbl_Empresa.FieldByName('NIF_CIF').AsString);
ReplaceBookmark('DireccionEmpresa',
Format('%s. %s %s', [tbl_Empresa.FieldByName('CALLE').AsString,
tbl_Empresa.FieldByName('CODIGO_POSTAL').AsString, tbl_Empresa.FieldByName('POBLACION').AsString]));
ReplaceBookmark('TelefonoEmpresa', tbl_Empresa.FieldByName('TELEFONO_1').AsString);
ReplaceBookmark('FaxEmpresa', tbl_Empresa.FieldByName('FAX').AsString);
ReplaceBookmark('CorreoEmpresa', tbl_Empresa.FieldByName('EMAIL_1').AsString);
ReplaceBookmark('NombreEmpresaFirma', tbl_Empresa.FieldByName('NOMBRE').AsString);
end;
Result := True;
end;
function TRptWordPresupuestoCliente.RellenarInforme: boolean;
var
NombreCapitulo : String;
Estilo : OleVariant;
begin
FNumCapitulos := 0;
FContadorCap := 0;
FNumCapOpc := 0;
with FDocumento, tbl_Detalles do
begin
First;
FieldByName('IMPORTE_UNIDAD').DisplayFormat := DISPLAY_EUROS2;
FieldByName('IMPORTE_TOTAL').DisplayFormat := DISPLAY_EUROS2;
GoToSection(3);
{ Copiar la tabla de conceptos al portapapeles }
Document.Tables.Item(2).Select;
FWordApp.Application.Selection.Cut;
while not Eof do
begin
if (FieldByName('TIPO_DETALLE').AsString = 'Subtotal') then
begin
Next;
Continue;
end;
if (FieldByName('TIPO_DETALLE').AsString = 'Titulo') or
(FieldByName('TIPO_DETALLE').AsString = 'Titulo opcional') then
begin
NombreCapitulo := '';
Estilo := 'TituloCapitulo';
FWordApp.Application.Selection.Set_Style(Estilo);
if (FieldByName('TIPO_DETALLE').AsString = 'Titulo') then
begin
NombreCapitulo := 'Capítulo ' + IntToStr(FContadorCap + 1) + '. ' + FieldByName('CONCEPTO').AsString;
Inc(FContadorCap);
Inc(FNumCapitulos);
end
else begin
NombreCapitulo := 'Capítulo opcional. ' + FieldByName('CONCEPTO').AsString;
Inc(FContadorCap);
Inc(FNumCapOpc);
Inc(FNumCapitulos);
end;
FWordApp.InsertText(NombreCapitulo);
FWordApp.InsertText(#13);
ListaCapitulos[FNumCapitulos].Tipo := FieldByName('TIPO_DETALLE').AsString;
ListaCapitulos[FNumCapitulos].Nombre := NombreCapitulo;
{ Pegar una tabla para rellenarla }
FWordApp.Application.Selection.Paste;
Next;
end
else begin
if FContadorCap = 0 then
begin
Inc(FContadorCap); // Se considera el conjunto de conceptos sueltos como un capítulo.
Inc(FNumCapitulos);
{ Pegar una tabla para rellenarla }
FWordApp.Application.Selection.Paste;
InsertarConceptos(Document.Tables.Item(Document.Tables.Count - 2));
end
else
InsertarConceptos(Document.Tables.Item(Document.Tables.Count - 2));
end;
end;
end;
Result := True;
end;
function TRptWordPresupuestoCliente.RellenarPortada: boolean;
var
NombreFichero,
Texto : String;
{FicheroTemporal : string;
LinkToFile, SaveWithDocument, _Range : OleVariant;
Imagen : InlineShape;}
begin
//PARA DIBUJAR EL LOGOTIPO MULTIEMPRESA
{--------------------------- PENDIENTE
if (EmpresaActiva.Logotipo <> Nil) then
begin
FWordApp.GotoBookmark ('LogotipoEmpresa');
LinkToFile := False;
SaveWithDocument := True;
_Range := EmptyParam;
FicheroTemporal := DarFicheroTemporal;
EmpresaActiva.Logotipo.SaveToFile (FicheroTemporal);
Imagen := FWordApp.Application.ActiveWindow.ActivePane.Selection.InlineShapes.AddPicture(FicheroTemporal, LinkToFile, SaveWithDocument, _Range);
//Formateamos imagen
if ((Imagen.Get_Width > ANCHO_LOGO_INF_PRE)) then
begin
Imagen.Set_Height(((ANCHO_LOGO_INF_PRE * Imagen.Get_Height) /Imagen.Get_Width));
Imagen.Set_Width(ANCHO_LOGO_INF_PRE);
end;
end;
---------------------------- }
with FDocumento, tbl_Cabecera do
begin
ReplaceBookmark('CodigoPresupuestoPortada', FieldByName('REFERENCIA').AsString);
ReplaceBookmark('FechaPresupuestoPortada', FieldByName('FECHA_PRESUPUESTO').AsString);
ReplaceBookmark('NombreClientePortada', FieldByName('NOMBRE').AsString);
if not EsCadenaVacia(FieldByName('PERSONA_CONTACTO').AsString) then
ReplaceBookmark('PersonaContactoClientePortada', 'A la atención de: ' + FieldByName('PERSONA_CONTACTO').AsString);
Texto := FieldByName('PORTADA').AsString;
NombreFichero := DarFicheroTemporal;
EscribirEnFichero(NombreFichero, Texto);
FWordApp.InsertFile(NombreFichero, 'TextoPortada');
SysUtils.DeleteFile(NombreFichero);
end;
Result := True;
end;
function TRptWordPresupuestoCliente.RellenarResumen : boolean;
var
numRows, numCols, mergeSplit, shiftCells : OleVariant;
iAux : Integer;
iContador : Integer;
TotalConceptos : Double;
Tabla : Table;
Estilo : OleVariant;
begin
TotalConceptos := 0;
numRows := 2;
numCols := 1;
mergeSplit := False;
shiftCells := False;
iContador := 2; // Empezar en la 2ª fila de celdas. La primera es la
// cabecera de la tabla.
Estilo := 'TituloCapitulo';
FWordApp.Application.Selection.Set_Style(Estilo);
FWordApp.InsertText('RESUMEN');
Tabla := FDocumento.Document.Tables.Item(FDocumento.Document.Tables.Count-1);
with Tabla do
begin
for iAux := 1 to FNumCapitulos do
begin
if (ListaCapitulos[iAux].Tipo = 'Titulo opcional') then
continue; // No sumamos los capítulos opcionales.
// Partir la celda actual en en 2 filas de 1 columna.
Rows.Item(iContador).Cells.Split (numRows, numCols, mergesplit);
if EsCadenaVacia(ListaCapitulos[iAux].Nombre) then
Cell(iContador, 1).Range.Text := 'General'
else
Cell(iContador, 1).Range.Text := ListaCapitulos[iAux].Nombre;
if FImportes then
Cell(iContador, 2).Range.Text := FormatFloat(DISPLAY_EUROS2, ListaCapitulos[iAux].Total)
else
Cell(iContador, 2).Range.Text := '';
TotalConceptos := TotalConceptos + ListaCapitulos[iAux].Total;
Inc (iContador);
end;
// Borrar la fila vacía que sobra
Rows.Item(iContador).Cells.Delete(shiftCells);
if FImportes then
begin
//Comprobamos si el presupuesto tiene bonificación
if VarIsNull(FDesBonificacion) then
begin
Cell(iContador, 1).Range.Text := 'Total: ' + FormatFloat(DISPLAY_EUROS2, TotalConceptos);
// Borrar filas de bonificación
inc(iContador);
Rows.Item(iContador).Cells.Delete(shiftCells);
Rows.Item(iContador).Cells.Delete(shiftCells);
Rows.Item(iContador).Cells.Delete(shiftCells);
end
else
begin
//Elimino la ultima fila para enlazar la tabla las tres filas de bonificación
Rows.Item(iContador).Cells.Delete(shiftCells);
with FDocumento do
begin
ReplaceBookmark('DescripcionImpTotal', 'Total');
ReplaceBookmark('ImporteTotal', FormatFloat(DISPLAY_EUROS2, TotalConceptos));
ReplaceBookmark('DescripcionBonificacion', FDesBonificacion);
ReplaceBookmark('ImporteBonificacion', FormatFloat(DISPLAY_EUROS2, ((-1)*FImpBonificacion)));
ReplaceBookmark('DescripcionImpFinal', 'Importe final');
ReplaceBookmark('ImpFinal', FormatFloat(DISPLAY_EUROS2, TotalConceptos - FImpBonificacion));
end;
end;
end
else
begin
Cell(iContador, 1).Range.Text := '';
// Borrar filas de bonificación
inc(iContador);
Rows.Item(iContador).Cells.Delete(shiftCells);
Rows.Item(iContador).Cells.Delete(shiftCells);
Rows.Item(iContador).Cells.Delete(shiftCells);
end;
AutoFitBehavior(wdAutoFitWindow);
end;
Result := True;
end;
procedure TRptWordPresupuestoCliente._GenerarPresupuesto(const AID: String);
var
ACopiaPlantilla: string;
begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
try
tbl_Cabecera.ParamByName('ID').AsString := AID;
tbl_Detalles.ParamByName('ID_PRESUPUESTO').AsString := AID;
tbl_Cabecera.Active := True;
tbl_Detalles.Active := True;
FPlantilla := DarRutaInformes + tbl_Cabecera.FieldByName('ID_EMPRESA').AsString + '\' + rptInforme;
FCodigoPresupuesto := AID;
if RecuperarEmpresa(tbl_Cabecera.FieldByName('ID_EMPRESA').AsInteger, tbl_Empresa) then
begin
ACopiaPlantilla := DarFicheroTemporal;
CopiarFichero(FPlantilla, ACopiaPlantilla);
FPlantilla := ACopiaPlantilla;
try
Generar;
finally
SysUtils.DeleteFile(ACopiaPlantilla);
end;
end;
finally
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
end;
end.

View File

@ -34,9 +34,7 @@ type
protected
{ IsrvPresupuestosCliente methods }
function GenerarInforme(const ListaID: TIntegerArray; const VerSello: Integer): Binary;
function GenerarInformeEnWord(const ID: Integer; const VerSello: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Integer): Binary;
function GenerarCertificadoTrabajosEnWord(const ID: Integer): Binary;
end;
implementation
@ -47,8 +45,7 @@ uses
{Generated:} FactuGES_Invk, uDataModuleServer, uDatabaseUtils,
schPresupuestosClienteClient_Intf, uRestriccionesUsuarioUtils,
uRptPresupuestosCliente_Server,
uBizPresupuestosClienteServer, uRptWordPresupuestoCliente,
uRptWordCertificadoTrabajo_Server;
uBizPresupuestosClienteServer;
procedure Create_srvPresupuestosCliente(out anInstance : IUnknown);
begin
@ -81,26 +78,6 @@ begin
ConnectionName := dmServer.ConnectionName;
end;
function TsrvPresupuestosCliente.GenerarCertificadoTrabajosEnWord(
const ID: Integer): Binary;
var
AReportGenerator : TRptWordCertificadoTrabajo;
AFicheroTMP : TFileName;
begin
Result := NIL;
AFicheroTMP := DarFicheroTemporal;
AReportGenerator := TRptWordCertificadoTrabajo.Create(nil);
try
if AReportGenerator.Exportar(ID, AFicheroTMP) then
begin
Result := Binary.Create;
Result.LoadFromFile(AFicheroTMP);
end;
finally
FreeAndNIL(AReportGenerator);
end;
end;
function TsrvPresupuestosCliente.GenerarInforme(const ListaID: TIntegerArray; const VerSello: Integer): Binary;
var
AReportGenerator : TRptPresupuestosCliente;
@ -125,30 +102,6 @@ begin
end;
end;
function TsrvPresupuestosCliente.GenerarInformeEnWord(const ID: Integer; const VerSello: Integer): Binary;
var
AReportGenerator : TRptWordPresupuestoCliente;
AFicheroTMP : TFileName;
begin
Result := NIL;
AFicheroTMP := DarFicheroTemporal;
AReportGenerator := TRptWordPresupuestoCliente.Create(nil);
try
try
if AReportGenerator.Exportar(IntToStr(ID), AFicheroTMP, VerSello) then
begin
Result := Binary.Create;
Result.LoadFromFile(AFicheroTMP);
end;
except
on E: Exception do
RaiseError(E.Message);
end;
finally
FreeAndNIL(AReportGenerator);
end;
end;
initialization
TROClassFactory.Create('srvPresupuestosCliente', Create_srvPresupuestosCliente, TsrvPresupuestosCliente_Invoker);

View File

@ -14,4 +14,4 @@ END
/* C:\Codigo\Source\Modulos\Tienda web\Data\uDataModuleTiendaWeb.dfm */
/* C:\Codigo\Source\Modulos\Tienda web\Data\TiendaWeb_data.res */
/* c:\temp\dtf355.tmp */
/* c:\temp\dtfD2.tmp */

View File

@ -292,16 +292,6 @@
</Parameter>
</Parameters>
</Operation>
<Operation Name="GenerarInformeEnWord" UID="{04A25AE7-9AC6-474F-9A4A-04D8292959E6}">
<Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">
</Parameter>
<Parameter Name="ID" DataType="Integer" Flag="In" >
</Parameter>
<Parameter Name="VerSello" DataType="Boolean" Flag="In" >
</Parameter>
</Parameters>
</Operation>
<Operation Name="GenerarInformeEnPDF" UID="{F2F894D3-6C63-4931-999B-79D3C9C5EAFC}">
<Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">
@ -366,24 +356,6 @@
</Parameter>
</Parameters>
</Operation>
<Operation Name="GenerarInformeEnWord" UID="{7C3C767B-41AC-42EC-925D-ECAE03BD8F58}">
<Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">
</Parameter>
<Parameter Name="ID" DataType="Integer" Flag="In" >
</Parameter>
<Parameter Name="VerSello" DataType="Integer" Flag="In" >
</Parameter>
</Parameters>
</Operation>
<Operation Name="GenerarCertificadoTrabajosEnWord" UID="{F96E1E6B-131C-4F1F-BF2A-3E7B0B6ABF09}">
<Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">
</Parameter>
<Parameter Name="ID" DataType="Integer" Flag="In" >
</Parameter>
</Parameters>
</Operation>
<Operation Name="GenerarInformeEnPDF" UID="{ECDF8B1D-0967-4006-86FD-AE8A5D244067}">
<Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">
@ -414,18 +386,6 @@
</Parameter>
</Parameters>
</Operation>
<Operation Name="GenerarInformeEnWord" UID="{05C0363D-B517-42CB-831E-E32337E9A20D}">
<Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">
</Parameter>
<Parameter Name="ID" DataType="Integer" Flag="In" >
</Parameter>
<Parameter Name="ImprimirPrecio" DataType="Boolean" Flag="In" >
</Parameter>
<Parameter Name="ImprimirRefProveedor" DataType="Boolean" Flag="In" >
</Parameter>
</Parameters>
</Operation>
<Operation Name="GenerarInformeEnPDF" UID="{30ACCA85-C55A-4F13-8644-A15C1D84E39D}">
<Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">
@ -472,14 +432,6 @@
</Parameter>
</Parameters>
</Operation>
<Operation Name="GenerarInformeEnWord" UID="{FFBAE6B2-0F77-4F2F-A630-9A09AD7A2379}">
<Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">
</Parameter>
<Parameter Name="ID" DataType="Integer" Flag="In" >
</Parameter>
</Parameters>
</Operation>
<Operation Name="GenerarInformeEnPDF" UID="{83F24406-D1B9-43DE-97E9-42A899433DD4}">
<Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">
@ -522,18 +474,6 @@
</Parameter>
</Parameters>
</Operation>
<Operation Name="GenerarInformeEnWord" UID="{42BF6C64-3ABC-4EE8-9D2B-E21948AAF33C}">
<Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">
</Parameter>
<Parameter Name="ID" DataType="Integer" Flag="In" >
</Parameter>
<Parameter Name="ImprimirPrecio" DataType="Boolean" Flag="In" >
</Parameter>
<Parameter Name="ImprimirRefProveedor" DataType="Boolean" Flag="In" >
</Parameter>
</Parameters>
</Operation>
<Operation Name="GenerarInformeEnPDF" UID="{950DBECF-9C9A-4B46-B9FD-637BBEC925D5}">
<Parameters>
<Parameter Name="Result" DataType="Binary" Flag="Result">

View File

@ -527,7 +527,6 @@ type
IsrvFacturasCliente = interface(IDataAbstractService)
['{56B4FFF0-AB1B-46B2-BA16-ABD5360F6311}']
function GenerarInforme(const ListaID: TIntegerArray; const VerSello: Boolean; const VerCopia: Boolean): Binary;
function GenerarInformeEnWord(const ID: Integer; const VerSello: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Boolean): Binary;
function DarListaAnos: StringArray;
end;
@ -543,7 +542,6 @@ type
function __GetInterfaceName:string; override;
function GenerarInforme(const ListaID: TIntegerArray; const VerSello: Boolean; const VerCopia: Boolean): Binary;
function GenerarInformeEnWord(const ID: Integer; const VerSello: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Boolean): Binary;
function DarListaAnos: StringArray;
end;
@ -575,8 +573,6 @@ type
IsrvPresupuestosCliente = interface(IDataAbstractService)
['{8A06D5A7-8461-4F6E-8A8B-EC49C84C45D1}']
function GenerarInforme(const ListaID: TIntegerArray; const VerSello: Integer): Binary;
function GenerarInformeEnWord(const ID: Integer; const VerSello: Integer): Binary;
function GenerarCertificadoTrabajosEnWord(const ID: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Integer): Binary;
end;
@ -591,8 +587,6 @@ type
function __GetInterfaceName:string; override;
function GenerarInforme(const ListaID: TIntegerArray; const VerSello: Integer): Binary;
function GenerarInformeEnWord(const ID: Integer; const VerSello: Integer): Binary;
function GenerarCertificadoTrabajosEnWord(const ID: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Integer): Binary;
end;
@ -600,7 +594,6 @@ type
IsrvPedidosProveedor = interface(IDataAbstractService)
['{3DCC03E4-E9CE-4798-99D4-7170C9CF815B}']
function GenerarInforme(const ListaID: TIntegerArray; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
function GenerarInformeEnWord(const ID: Integer; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
end;
@ -615,7 +608,6 @@ type
function __GetInterfaceName:string; override;
function GenerarInforme(const ListaID: TIntegerArray; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
function GenerarInformeEnWord(const ID: Integer; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
end;
@ -625,7 +617,6 @@ type
function GenerarInforme(const ListaID: TIntegerArray; const VerPrecios: Boolean; const VerRefProveedor: Boolean; const VerObservaciones: Boolean;
const VerIncidencias: Boolean): Binary;
function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
function GenerarInformeEnWord(const ID: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerPrecios: Boolean; const VerRefProveedor: Boolean; const VerObservaciones: Boolean;
const VerIncidencias: Boolean): Binary;
function DarListaAnos: StringArray;
@ -644,7 +635,6 @@ type
function GenerarInforme(const ListaID: TIntegerArray; const VerPrecios: Boolean; const VerRefProveedor: Boolean; const VerObservaciones: Boolean;
const VerIncidencias: Boolean): Binary;
function GenerarInformeEtiquetas(const ID: Integer; const withRefCliente: Boolean): Binary;
function GenerarInformeEnWord(const ID: Integer): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerPrecios: Boolean; const VerRefProveedor: Boolean; const VerObservaciones: Boolean;
const VerIncidencias: Boolean): Binary;
function DarListaAnos: StringArray;
@ -654,7 +644,6 @@ type
IsrvAlbaranesProveedor = interface(IDataAbstractService)
['{66B71884-5CE4-4574-B825-60CDA956B628}']
function GenerarInforme(const ListaID: TIntegerArray; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
function GenerarInformeEnWord(const ID: Integer; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
end;
@ -669,7 +658,6 @@ type
function __GetInterfaceName:string; override;
function GenerarInforme(const ListaID: TIntegerArray; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
function GenerarInformeEnWord(const ID: Integer; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
end;
@ -1991,24 +1979,6 @@ begin
end
end;
function TsrvFacturasCliente_Proxy.GenerarInformeEnWord(const ID: Integer; const VerSello: Boolean): Binary;
begin
try
result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnWord');
__Message.Write('ID', TypeInfo(Integer), ID, []);
__Message.Write('VerSello', TypeInfo(Boolean), VerSello, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Binary), result, []);
finally
__Message.UnsetAttributes(__TransportChannel);
__Message.FreeStream;
end
end;
function TsrvFacturasCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Boolean): Binary;
begin
try
@ -2139,41 +2109,6 @@ begin
end
end;
function TsrvPresupuestosCliente_Proxy.GenerarInformeEnWord(const ID: Integer; const VerSello: Integer): Binary;
begin
try
result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnWord');
__Message.Write('ID', TypeInfo(Integer), ID, []);
__Message.Write('VerSello', TypeInfo(Integer), VerSello, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Binary), result, []);
finally
__Message.UnsetAttributes(__TransportChannel);
__Message.FreeStream;
end
end;
function TsrvPresupuestosCliente_Proxy.GenerarCertificadoTrabajosEnWord(const ID: Integer): Binary;
begin
try
result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarCertificadoTrabajosEnWord');
__Message.Write('ID', TypeInfo(Integer), ID, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Binary), result, []);
finally
__Message.UnsetAttributes(__TransportChannel);
__Message.FreeStream;
end
end;
function TsrvPresupuestosCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Integer): Binary;
begin
try
@ -2225,25 +2160,6 @@ begin
end
end;
function TsrvPedidosProveedor_Proxy.GenerarInformeEnWord(const ID: Integer; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
begin
try
result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnWord');
__Message.Write('ID', TypeInfo(Integer), ID, []);
__Message.Write('ImprimirPrecio', TypeInfo(Boolean), ImprimirPrecio, []);
__Message.Write('ImprimirRefProveedor', TypeInfo(Boolean), ImprimirRefProveedor, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Binary), result, []);
finally
__Message.UnsetAttributes(__TransportChannel);
__Message.FreeStream;
end
end;
function TsrvPedidosProveedor_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
begin
try
@ -2317,23 +2233,6 @@ begin
end
end;
function TsrvAlbaranesCliente_Proxy.GenerarInformeEnWord(const ID: Integer): Binary;
begin
try
result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnWord');
__Message.Write('ID', TypeInfo(Integer), ID, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Binary), result, []);
finally
__Message.UnsetAttributes(__TransportChannel);
__Message.FreeStream;
end
end;
function TsrvAlbaranesCliente_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerPrecios: Boolean; const VerRefProveedor: Boolean; const VerObservaciones: Boolean;
const VerIncidencias: Boolean): Binary;
begin
@ -2405,25 +2304,6 @@ begin
end
end;
function TsrvAlbaranesProveedor_Proxy.GenerarInformeEnWord(const ID: Integer; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
begin
try
result := nil;
__Message.InitializeRequestMessage(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerarInformeEnWord');
__Message.Write('ID', TypeInfo(Integer), ID, []);
__Message.Write('ImprimirPrecio', TypeInfo(Boolean), ImprimirPrecio, []);
__Message.Write('ImprimirRefProveedor', TypeInfo(Boolean), ImprimirRefProveedor, []);
__Message.Finalize;
__TransportChannel.Dispatch(__Message);
__Message.Read('Result', TypeInfo(Binary), result, []);
finally
__Message.UnsetAttributes(__TransportChannel);
__Message.FreeStream;
end
end;
function TsrvAlbaranesProveedor_Proxy.GenerarInformeEnPDF(const ListaID: TIntegerArray; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary;
begin
try

View File

@ -173,7 +173,6 @@ type
constructor Create; override;
published
procedure Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_DarListaAnos(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
end;
@ -196,8 +195,6 @@ type
constructor Create; override;
published
procedure Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarCertificadoTrabajosEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
end;
@ -208,7 +205,6 @@ type
constructor Create; override;
published
procedure Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
end;
@ -220,7 +216,6 @@ type
published
procedure Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeEtiquetas(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_DarListaAnos(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
end;
@ -232,7 +227,6 @@ type
constructor Create; override;
published
procedure Invoke_GenerarInforme(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
procedure Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
end;
@ -1032,36 +1026,6 @@ begin
end;
end;
procedure TsrvFacturasCliente_Invoker.Invoke_GenerarInformeEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEnWord(const ID: Integer; const VerSello: Boolean): Binary; }
var
ID: Integer;
VerSello: Boolean;
lResult: Binary;
__lObjectDisposer: TROObjectDisposer;
begin
lResult := nil;
try
__Message.Read('ID', TypeInfo(Integer), ID, []);
__Message.Read('VerSello', TypeInfo(Boolean), VerSello, []);
lResult := (__Instance as IsrvFacturasCliente).GenerarInformeEnWord(ID, VerSello);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvFacturasCliente', 'GenerarInformeEnWordResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []);
__Message.Finalize;
__Message.UnsetAttributes(__Transport);
finally
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
try
__lObjectDisposer.Add(lResult);
finally
__lObjectDisposer.Free();
end;
end;
end;
procedure TsrvFacturasCliente_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Boolean): Binary; }
var
@ -1252,64 +1216,6 @@ begin
end;
end;
procedure TsrvPresupuestosCliente_Invoker.Invoke_GenerarInformeEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEnWord(const ID: Integer; const VerSello: Integer): Binary; }
var
ID: Integer;
VerSello: Integer;
lResult: Binary;
__lObjectDisposer: TROObjectDisposer;
begin
lResult := nil;
try
__Message.Read('ID', TypeInfo(Integer), ID, []);
__Message.Read('VerSello', TypeInfo(Integer), VerSello, []);
lResult := (__Instance as IsrvPresupuestosCliente).GenerarInformeEnWord(ID, VerSello);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPresupuestosCliente', 'GenerarInformeEnWordResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []);
__Message.Finalize;
__Message.UnsetAttributes(__Transport);
finally
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
try
__lObjectDisposer.Add(lResult);
finally
__lObjectDisposer.Free();
end;
end;
end;
procedure TsrvPresupuestosCliente_Invoker.Invoke_GenerarCertificadoTrabajosEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarCertificadoTrabajosEnWord(const ID: Integer): Binary; }
var
ID: Integer;
lResult: Binary;
__lObjectDisposer: TROObjectDisposer;
begin
lResult := nil;
try
__Message.Read('ID', TypeInfo(Integer), ID, []);
lResult := (__Instance as IsrvPresupuestosCliente).GenerarCertificadoTrabajosEnWord(ID);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPresupuestosCliente', 'GenerarCertificadoTrabajosEnWordResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []);
__Message.Finalize;
__Message.UnsetAttributes(__Transport);
finally
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
try
__lObjectDisposer.Add(lResult);
finally
__lObjectDisposer.Free();
end;
end;
end;
procedure TsrvPresupuestosCliente_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerSello: Integer): Binary; }
var
@ -1384,38 +1290,6 @@ begin
end;
end;
procedure TsrvPedidosProveedor_Invoker.Invoke_GenerarInformeEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEnWord(const ID: Integer; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary; }
var
ID: Integer;
ImprimirPrecio: Boolean;
ImprimirRefProveedor: Boolean;
lResult: Binary;
__lObjectDisposer: TROObjectDisposer;
begin
lResult := nil;
try
__Message.Read('ID', TypeInfo(Integer), ID, []);
__Message.Read('ImprimirPrecio', TypeInfo(Boolean), ImprimirPrecio, []);
__Message.Read('ImprimirRefProveedor', TypeInfo(Boolean), ImprimirRefProveedor, []);
lResult := (__Instance as IsrvPedidosProveedor).GenerarInformeEnWord(ID, ImprimirPrecio, ImprimirRefProveedor);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvPedidosProveedor', 'GenerarInformeEnWordResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []);
__Message.Finalize;
__Message.UnsetAttributes(__Transport);
finally
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
try
__lObjectDisposer.Add(lResult);
finally
__lObjectDisposer.Free();
end;
end;
end;
procedure TsrvPedidosProveedor_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary; }
var
@ -1527,34 +1401,6 @@ begin
end;
end;
procedure TsrvAlbaranesCliente_Invoker.Invoke_GenerarInformeEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEnWord(const ID: Integer): Binary; }
var
ID: Integer;
lResult: Binary;
__lObjectDisposer: TROObjectDisposer;
begin
lResult := nil;
try
__Message.Read('ID', TypeInfo(Integer), ID, []);
lResult := (__Instance as IsrvAlbaranesCliente).GenerarInformeEnWord(ID);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvAlbaranesCliente', 'GenerarInformeEnWordResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []);
__Message.Finalize;
__Message.UnsetAttributes(__Transport);
finally
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
try
__lObjectDisposer.Add(lResult);
finally
__lObjectDisposer.Free();
end;
end;
end;
procedure TsrvAlbaranesCliente_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEnPDF(const ListaID: TIntegerArray; const VerPrecios: Boolean; const VerRefProveedor: Boolean; const VerObservaciones: Boolean;
const VerIncidencias: Boolean): Binary; }
@ -1661,38 +1507,6 @@ begin
end;
end;
procedure TsrvAlbaranesProveedor_Invoker.Invoke_GenerarInformeEnWord(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEnWord(const ID: Integer; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary; }
var
ID: Integer;
ImprimirPrecio: Boolean;
ImprimirRefProveedor: Boolean;
lResult: Binary;
__lObjectDisposer: TROObjectDisposer;
begin
lResult := nil;
try
__Message.Read('ID', TypeInfo(Integer), ID, []);
__Message.Read('ImprimirPrecio', TypeInfo(Boolean), ImprimirPrecio, []);
__Message.Read('ImprimirRefProveedor', TypeInfo(Boolean), ImprimirRefProveedor, []);
lResult := (__Instance as IsrvAlbaranesProveedor).GenerarInformeEnWord(ID, ImprimirPrecio, ImprimirRefProveedor);
__Message.InitializeResponseMessage(__Transport, 'FactuGES', 'srvAlbaranesProveedor', 'GenerarInformeEnWordResponse');
__Message.Write('Result', TypeInfo(Binary), lResult, []);
__Message.Finalize;
__Message.UnsetAttributes(__Transport);
finally
__lObjectDisposer := TROObjectDisposer.Create(__Instance);
try
__lObjectDisposer.Add(lResult);
finally
__lObjectDisposer.Free();
end;
end;
end;
procedure TsrvAlbaranesProveedor_Invoker.Invoke_GenerarInformeEnPDF(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions);
{ function GenerarInformeEnPDF(const ListaID: TIntegerArray; const ImprimirPrecio: Boolean; const ImprimirRefProveedor: Boolean): Binary; }
var

Binary file not shown.

Binary file not shown.

View File

@ -71,21 +71,17 @@ uses
uStringsUtils in '..\Base\Utiles\uStringsUtils.pas',
FactuGES_Intf in '..\Servicios\FactuGES_Intf.pas',
FactuGES_Invk in '..\Servicios\FactuGES_Invk.pas',
uRptWordCertificadoTrabajo_Server in '..\Modulos\Presupuestos de cliente\Reports\uRptWordCertificadoTrabajo_Server.pas' {RptWordCertificadoTrabajo: TDataModule},
AHWord97 in 'Utiles\AHWord97.pas',
uSistemaFunc in '..\Base\Utiles\uSistemaFunc.pas',
uRptWordAlbaranCliente in '..\Modulos\Albaranes de cliente\Reports\uRptWordAlbaranCliente.pas' {RptWordAlbaranCliente: TDataModule},
srvReferencias_Impl in '..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas' {srvReferencias: TDataAbstractService},
schReferenciasServer_Intf in '..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas',
schReferenciasClient_Intf in '..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas',
uRptFichasEmpleado_Server in '..\Modulos\Contactos\Reports\uRptFichasEmpleado_Server.pas' {RptFichasEmpleado: TDataModule},
uRptEtiquetasContacto_Server in '..\Modulos\Contactos\Reports\uRptEtiquetasContacto_Server.pas' {RptEtiquetasContacto: TDataModule},
uRptWordFacturaCliente in '..\Modulos\Facturas de cliente\Reports\uRptWordFacturaCliente.pas' {RptWordFacturaCliente: TDataModule},
srvFabricantes_Impl in '..\Modulos\Fabricantes\Servidor\srvFabricantes_Impl.pas' {srvFabricantes: TDataAbstractService},
schFabricantesClient_Intf in '..\Modulos\Fabricantes\Model\schFabricantesClient_Intf.pas',
schFabricantesServer_Intf in '..\Modulos\Fabricantes\Model\schFabricantesServer_Intf.pas',
uRptPedidosProveedor_Server in '..\Modulos\Pedidos a proveedor\Reports\uRptPedidosProveedor_Server.pas' {RptPedidosProveedor: TDataModule},
uRptWordPedidoProveedor in '..\Modulos\Pedidos a proveedor\Reports\uRptWordPedidoProveedor.pas' {RptWordPedidoProveedor: TDataModule},
srvObras_Impl in '..\Modulos\Obras\Servidor\srvObras_Impl.pas' {srvObras: TDataAbstractService},
uBizObrasServer in '..\Modulos\Obras\Model\uBizObrasServer.pas',
uRptRecibosCliente_Server in '..\Modulos\Recibos de cliente\Reports\uRptRecibosCliente_Server.pas' {RptRecibosCliente: TDataModule},
@ -95,7 +91,6 @@ uses
schAlmacenesClient_Intf in '..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas',
schAlmacenesServer_Intf in '..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas',
uRptPresupuestosCliente_Server in '..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas' {RptPresupuestosCliente: TDataModule},
uRptWordPresupuestoCliente in '..\Modulos\Presupuestos de cliente\Reports\uRptWordPresupuestoCliente.pas' {RptWordPresupuestoCliente: TDataModule},
srvGestorDocumentos_Impl in '..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas' {srvGestorDocumentos: TDataAbstractService},
schHistoricoMovimientosClient_Intf in '..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas',
schHistoricoMovimientosServer_Intf in '..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas',
@ -109,7 +104,6 @@ uses
schPresupuestosClienteClient_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas',
schPresupuestosClienteServer_Intf in '..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas',
uRptAlbaranesProveedor_Server in '..\Modulos\Albaranes de proveedor\Reports\uRptAlbaranesProveedor_Server.pas' {RptAlbaranesProveedor: TDataModule},
uRptWordAlbaranProveedor in '..\Modulos\Albaranes de proveedor\Reports\uRptWordAlbaranProveedor.pas' {RptWordAlbaranProveedor: TDataModule},
MidasSpeedFix in 'Utiles\MidasSpeedFix.pas',
schEmpresasClient_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas',
schEmpresasServer_Intf in '..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas',

View File

@ -1,407 +1,405 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid>
<MainSource>FactuGES_Server.dpr</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Servidor\FactuGES_Server.exe</DCC_DependencyCheckOutputName>
<DCC_UsePackage>vcl;rtl;vclx;vclactnband;dbrtl;vcldb;vcldbx;bdertl;dsnap;dsnapcon;teeUI;teedb;tee;adortl;vclib;ibxpress;dbxcds;dbexpress;DbxCommonDriver;IndyCore;IndySystem;IndyProtocols;VclSmp;vclie;webdsnap;xmlrtl;inet;inetdbbde;inetdbxpress;RemObjects_BPDX_D11;RemObjects_RODX_D11;RemObjects_Indy_D11;RemObjects_Synapse_D11;RemObjects_WebBroker_D11;DataAbstract_Core_D11;DataAbstract_DBXDriver_D11;DataAbstract_IDE_D11;DataAbstract_Scripting_D11;DataAbstract_SDACDriver_D11;sdac105;dac105;DataAbstract_SQLiteDriver_D11;cxEditorsD10;cxLibraryD10;dxThemeD10;cxDataD10;cxExtEditorsD10;cxGridD10;cxPageControlD10;cxSchedulerD10;cxTreeListD10;cxVerticalGridD10;dxBarD10;dxComnD10;dxBarDBNavD10;dxBarExtDBItemsD10;dxBarExtItemsD10;dxDockingD10;dxLayoutControlD10;dxNavBarD10;dxPSCoreD10;dxsbD10;dxPScxCommonD10;dxPSLnksD10;vclshlctrls;dxPScxExtCommonD10;dxPScxGridLnkD10;dxPScxPCProdD10;dxPScxScheduler2LnkD10;dxPScxTLLnkD10;dxPSdxLCLnkD10;dxPsPrVwAdvD10;pckMD5;pckUCDataConnector;pckUserControl_RT;PluginSDK_D10R;PNG_D10;PngComponentsD10;tb2k_d10;tbx_d10;JclVcl;Jcl;JvXPCtrlsD11R;JvCoreD11R;JvSystemD11R;JvStdCtrlsD11R;JvAppFrmD11R;JvBandsD11R;JvDBD11R;JvDlgsD11R;JvBDED11R;JvCmpD11R;JvCryptD11R;JvCtrlsD11R;JvCustomD11R;JvDockingD11R;JvDotNetCtrlsD11R;JvEDID11R;JvGlobusD11R;JvHMID11R;JvInterpreterD11R;JvJansD11R;JvManagedThreadsD11R;JvMMD11R;JvNetD11R;JvPageCompsD11R;JvPluginD11R;JvPrintPreviewD11R;JvRuntimeDesignD11R;JvTimeFrameworkD11R;JvUIBD11R;JvValidatorsD11R;JvWizardD11R;pckUCADOConn;pckUCBDEConn;pckUCIBXConn;pckUCMidasConn;cxIntlPrintSys3D10;cxExportD10;cxIntl5D10;GUISDK_D11R;ccpackD11;JSDialog100;fsTee11;fs11;frx11;frxADO11;frxBDE11;frxDB11;frxDBX11;frxe11;frxIBX11;frxTee11;fsADO11;fsBDE11;fsDB11;fsIBX11;websnap;soaprtl;IntrawebDB_90_100;Intraweb_90_100</DCC_UsePackage>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version>
<DCC_DebugInformation>False</DCC_DebugInformation>
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Release\Servidor</DCC_ExeOutput>
<DCC_Define>RELEASE</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Debug\Servidor</DCC_ExeOutput>
<DCC_Define>DEBUG;</DCC_Define>
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
<DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
<DCC_DebugVN>True</DCC_DebugVN>
<DCC_UnitSearchPath>C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_UnitSearchPath>
<DCC_ResourcePath>C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_ResourcePath>
<DCC_ObjPath>C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_ObjPath>
<DCC_IncludePath>C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_IncludePath>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType/>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters><Parameters Name="RunParams">/standalone</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">4</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">9</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">4.2.9.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">4.2.9.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">miércoles, 13 de febrero de 2013 12:02</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPSCoreD11.bpl">ExpressPrinting System by Developer Express Inc.</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets"/>
<ItemGroup>
<DelphiCompile Include="FactuGES_Server.dpr">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Empresas\Model\uBizEmpresasServer.pas"/>
<DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas">
<Form>srvEmpresas</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\ApplicationBase\ProvinciasPoblaciones\Servidor\srvProvinciasPoblaciones_Impl.pas">
<Form>srvProvinciasPoblaciones_Impl</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas"/>
<DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas">
<Form>srvUsuarios</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Base\schBase_Intf.pas"/>
<DCCReference Include="..\Base\Utiles\uSistemaFunc.pas"/>
<DCCReference Include="..\Base\Utiles\uStringsUtils.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas"/>
<DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas">
<Form>RptAlbaranesCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptWordAlbaranCliente.pas">
<Form>RptWordAlbaranCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas">
<Form>srvAlbaranesCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS"/>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Reports\uRptAlbaranesProveedor_Server.pas">
<Form>RptAlbaranesProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Reports\uRptWordAlbaranProveedor.pas">
<Form>RptWordAlbaranProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas">
<Form>srvAlbaranesProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas">
<Form>srvAlmacenes</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Articulos\Model\uBizArticulosServer.pas"/>
<DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas">
<Form>srvArticulos</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Comisiones\Model\uBizComisionesServer.pas"/>
<DCCReference Include="..\Modulos\Comisiones\Reports\uRptComisiones_Server.pas">
<Form>RptComisiones</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Comisiones\Servidor\srvComisiones_Impl.pas">
<Form>srvComisiones</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizAgentesServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizEmpleadosServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas"/>
<DCCReference Include="..\Modulos\Contactos\Reports\uRptEtiquetasContacto_Server.pas">
<Form>RptEtiquetasContacto</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Contactos\Reports\uRptFichasEmpleado_Server.pas">
<Form>RptFichasEmpleado</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas">
<Form>srvContactos</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Fabricantes\Model\schFabricantesClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Fabricantes\Model\schFabricantesServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Fabricantes\Servidor\srvFabricantes_Impl.pas">
<Form>srvFabricantes</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas"/>
<DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas">
<Form>RptFacturasCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptWordFacturaCliente.pas">
<Form>RptWordFacturaCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Servidor\srvFacturasCliente_Impl.pas">
<Form>srvFacturasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas">
<Form>RptFacturasProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Servidor\srvFacturasProveedor_Impl.pas">
<Form>srvFacturasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas">
<Form>srvFamilias</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas">
<Form>srvFormasPago</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas">
<Form>srvGestorDocumentos</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas">
<Form>srvGestorInformes</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas">
<Form>srvHistoricoMovimientos</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Impresiones\Model\schImpresionesClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Impresiones\Model\schImpresionesServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Impresiones\Servidor\srvImpresiones_Impl.pas">
<Form>srvImpresiones</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Informe margen por articulo\Servidor\srvInfMargenArticulo_Impl.pas">
<Form>srvInfMargenArticulo</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Informe ventas por articulo\Model\schInfVentasArticuloClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Informe ventas por articulo\Model\schInfVentasArticuloServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Informe ventas por articulo\Servidor\srvInfVentasArticulo_Impl.pas">
<Form>srvInfVentasArticulo</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Informes base\Model\schInformesClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Informes base\Model\schInformesServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Informes base\Servidor\srvInformes_Impl.pas">
<Form>srvInformes</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas">
<Form>srvInventario</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Obras\Model\schObrasClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Obras\Model\schObrasServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Obras\Model\uBizObrasServer.pas"/>
<DCCReference Include="..\Modulos\Obras\Servidor\srvObras_Impl.pas">
<Form>srvObras</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Reports\uRptPedidosProveedor_Server.pas">
<Form>RptPedidosProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Reports\uRptWordPedidoProveedor.pas">
<Form>RptWordPedidoProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Servidor\srvPedidosProveedor_Impl.pas">
<Form>srvPedidosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Pedidos de cliente\Model\schPedidosClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Pedidos de cliente\Model\schPedidosClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Pedidos de cliente\Model\uBizPedidosClienteServer.pas"/>
<DCCReference Include="..\Modulos\Pedidos de cliente\Reports\uRptPedidosCliente_Server.pas">
<Form>RptPedidosCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Pedidos de cliente\Servidor\srvPedidosCliente_Impl.pas">
<Form>srvPedidosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas"/>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas">
<Form>RptPresupuestosCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptWordCertificadoTrabajo_Server.pas">
<Form>RptWordCertificadoTrabajo</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptWordPresupuestoCliente.pas">
<Form>RptWordPresupuestoCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Servidor\srvPresupuestosCliente_Impl.pas">
<Form>srvPresupuestosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Recibos de cliente\Reports\uRptRecibosCliente_Server.pas">
<Form>RptRecibosCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Servidor\srvRecibosCliente_Impl.pas">
<Form>srvRecibosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas">
<Form>RptRecibosProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Servidor\srvRecibosProveedor_Impl.pas">
<Form>srvRecibosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas">
<Form>srvReferencias</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Registro de correos\Servidor\srvRegistroCorreos_Impl.pas">
<Form>srvRegistroCorreos</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas"/>
<DCCReference Include="..\Modulos\Remesas de cliente\Reports\uRptRemesasCliente_Server.pas">
<Form>RptRemesasCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas">
<Form>srvRemesasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas"/>
<DCCReference Include="..\Modulos\Remesas de proveedor\Reports\uRptRemesasProveedor_Server.pas">
<Form>RptRemesasProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas">
<Form>srvRemesasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Tienda web\Model\schTiendaWebClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Tienda web\Model\schTiendaWebServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Tienda web\Model\uBizOscAddressBookServer.pas"/>
<DCCReference Include="..\Modulos\Tienda web\Model\uBizOscCustomerServer.pas"/>
<DCCReference Include="..\Modulos\Tienda web\Model\uBizOscManufacturerServer.pas"/>
<DCCReference Include="..\Modulos\Tienda web\Model\uBizOscOrderServer.pas"/>
<DCCReference Include="..\Modulos\Tienda web\Model\uBizOscProductServer.pas"/>
<DCCReference Include="..\Modulos\Tienda web\Model\uBizTiendaWebServer.pas"/>
<DCCReference Include="..\Modulos\Tienda web\Servidor\srvTiendaWeb_Impl.pas">
<Form>srvTiendaWeb</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas">
<Form>srvTiposIVA</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas"/>
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas"/>
<DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas">
<Form>srvUnidadesMedida</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Servicios\FactuGES_Intf.pas"/>
<DCCReference Include="..\Servicios\FactuGES_Invk.pas"/>
<DCCReference Include="Configuracion\srvConfiguracion_Impl.pas">
<Form>srvConfiguracion</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConexionBD.pas">
<Form>frConexionBD</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConexionOSC.pas">
<Form>frConexionOSC</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConfGeneral.pas">
<Form>frConfGeneral</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConfiguracion.pas">
<Form>fConfiguracion</Form>
<DesignClass>TForm</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uFrameConfiguracion.pas">
<Form>FrameConfiguracion</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="srvLogin_Impl.pas">
<Form>srvLogin</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="uAcercaDe.pas">
<Form>fAcercaDe</Form>
</DCCReference>
<DCCReference Include="uDataModuleServer.pas">
<Form>dmServer</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="uServerMainForm.pas">
<Form>fServerForm</Form>
</DCCReference>
<DCCReference Include="Utiles\AHWord97.pas"/>
<DCCReference Include="Utiles\MidasSpeedFix.pas"/>
<DCCReference Include="Utiles\uBusinessUtils.pas"/>
<DCCReference Include="Utiles\uDatabaseUtils.pas"/>
<DCCReference Include="Utiles\uReferenciasUtils.pas"/>
<DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas"/>
<DCCReference Include="Utiles\uSchemaUtilsServer.pas"/>
<DCCReference Include="Utiles\uServerAppUtils.pas"/>
<DCCReference Include="Utiles\uSesionesUtils.pas"/>
<DCCReference Include="Utiles\uTiendaWebUtils.pas"/>
</ItemGroup>
<PropertyGroup>
<ProjectGuid>{ebdcd25d-40d7-4146-91ec-a0ea4aa1dcd1}</ProjectGuid>
<MainSource>FactuGES_Server.dpr</MainSource>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>
<DCC_DependencyCheckOutputName>..\..\Output\Debug\Servidor\FactuGES_Server.exe</DCC_DependencyCheckOutputName>
<DCC_UsePackage>vcl;rtl;vclx;vclactnband;dbrtl;vcldb;vcldbx;bdertl;dsnap;dsnapcon;teeUI;teedb;tee;adortl;vclib;ibxpress;dbxcds;dbexpress;DbxCommonDriver;IndyCore;IndySystem;IndyProtocols;VclSmp;vclie;webdsnap;xmlrtl;inet;inetdbbde;inetdbxpress;RemObjects_BPDX_D11;RemObjects_RODX_D11;RemObjects_Indy_D11;RemObjects_Synapse_D11;RemObjects_WebBroker_D11;DataAbstract_Core_D11;DataAbstract_DBXDriver_D11;DataAbstract_IDE_D11;DataAbstract_Scripting_D11;DataAbstract_SDACDriver_D11;sdac105;dac105;DataAbstract_SQLiteDriver_D11;cxEditorsD10;cxLibraryD10;dxThemeD10;cxDataD10;cxExtEditorsD10;cxGridD10;cxPageControlD10;cxSchedulerD10;cxTreeListD10;cxVerticalGridD10;dxBarD10;dxComnD10;dxBarDBNavD10;dxBarExtDBItemsD10;dxBarExtItemsD10;dxDockingD10;dxLayoutControlD10;dxNavBarD10;dxPSCoreD10;dxsbD10;dxPScxCommonD10;dxPSLnksD10;vclshlctrls;dxPScxExtCommonD10;dxPScxGridLnkD10;dxPScxPCProdD10;dxPScxScheduler2LnkD10;dxPScxTLLnkD10;dxPSdxLCLnkD10;dxPsPrVwAdvD10;pckMD5;pckUCDataConnector;pckUserControl_RT;PluginSDK_D10R;PNG_D10;PngComponentsD10;tb2k_d10;tbx_d10;JclVcl;Jcl;JvXPCtrlsD11R;JvCoreD11R;JvSystemD11R;JvStdCtrlsD11R;JvAppFrmD11R;JvBandsD11R;JvDBD11R;JvDlgsD11R;JvBDED11R;JvCmpD11R;JvCryptD11R;JvCtrlsD11R;JvCustomD11R;JvDockingD11R;JvDotNetCtrlsD11R;JvEDID11R;JvGlobusD11R;JvHMID11R;JvInterpreterD11R;JvJansD11R;JvManagedThreadsD11R;JvMMD11R;JvNetD11R;JvPageCompsD11R;JvPluginD11R;JvPrintPreviewD11R;JvRuntimeDesignD11R;JvTimeFrameworkD11R;JvUIBD11R;JvValidatorsD11R;JvWizardD11R;pckUCADOConn;pckUCBDEConn;pckUCIBXConn;pckUCMidasConn;cxIntlPrintSys3D10;cxExportD10;cxIntl5D10;GUISDK_D11R;ccpackD11;JSDialog100;fsTee11;fs11;frx11;frxADO11;frxBDE11;frxDB11;frxDBX11;frxe11;frxIBX11;frxTee11;fsADO11;fsBDE11;fsDB11;fsIBX11;websnap;soaprtl;IntrawebDB_90_100;Intraweb_90_100</DCC_UsePackage>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<Version>7.0</Version>
<DCC_DebugInformation>False</DCC_DebugInformation>
<DCC_LocalDebugSymbols>False</DCC_LocalDebugSymbols>
<DCC_SymbolReferenceInfo>0</DCC_SymbolReferenceInfo>
<DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Release\Servidor</DCC_ExeOutput>
<DCC_Define>RELEASE</DCC_Define>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<Version>7.0</Version>
<DCC_MapFile>3</DCC_MapFile>
<DCC_ExeOutput>..\..\Output\Debug\Servidor</DCC_ExeOutput>
<DCC_Define>DEBUG;</DCC_Define>
<DCC_GenerateStackFrames>True</DCC_GenerateStackFrames>
<DCC_DebugInfoInExe>True</DCC_DebugInfoInExe>
<DCC_DebugVN>True</DCC_DebugVN>
<DCC_UnitSearchPath>C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_UnitSearchPath>
<DCC_ResourcePath>C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_ResourcePath>
<DCC_ObjPath>C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_ObjPath>
<DCC_IncludePath>C:\jcl\lib\d11\debug;C:\JCL\lib\d11\debug;$(BDS)\lib\Debug;$(BDS)\Lib\Debug\Indy10</DCC_IncludePath>
</PropertyGroup>
<ProjectExtensions>
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType />
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters><Parameters Name="RunParams">/standalone</Parameters></Parameters><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">4</VersionInfo><VersionInfo Name="MinorVer">2</VersionInfo><VersionInfo Name="Release">9</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">4.2.9.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">4.2.9.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys><VersionInfoKeys Name="CompileDate">miércoles, 13 de febrero de 2013 12:02</VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPSCoreD11.bpl">ExpressPrinting System by Developer Express Inc.</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">FactuGES_Server.dpr</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="FactuGES_Server.dpr">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasClient_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Empresas\Model\schEmpresasServer_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Empresas\Model\uBizEmpresasServer.pas" />
<DCCReference Include="..\ApplicationBase\Empresas\Servidor\srvEmpresas_Impl.pas">
<Form>srvEmpresas</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\ApplicationBase\ProvinciasPoblaciones\Servidor\srvProvinciasPoblaciones_Impl.pas">
<Form>srvProvinciasPoblaciones_Impl</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosClient_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Usuarios\Model\schUsuariosServer_Intf.pas" />
<DCCReference Include="..\ApplicationBase\Usuarios\Servidor\srvUsuarios_Impl.pas">
<Form>srvUsuarios</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Base\schBase_Intf.pas" />
<DCCReference Include="..\Base\Utiles\uSistemaFunc.pas" />
<DCCReference Include="..\Base\Utiles\uStringsUtils.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\schAlbaranesClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Model\uBizAlbaranClienteServer.pas" />
<DCCReference Include="..\Modulos\Albaranes de cliente\Reports\uRptAlbaranesCliente_Server.pas">
<Form>RptAlbaranesCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Albaranes de cliente\Servidor\srvAlbaranesCliente_Impl.pas">
<Form>srvAlbaranesCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\schAlbaranesProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Albaranes de proveedor\Model\uBizAlbaranProveedorServer.PAS" />
<DCCReference Include="..\Modulos\Albaranes de proveedor\Reports\uRptAlbaranesProveedor_Server.pas">
<Form>RptAlbaranesProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Albaranes de proveedor\Servidor\srvAlbaranesProveedor_Impl.pas">
<Form>srvAlbaranesProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesClient_Intf.pas" />
<DCCReference Include="..\Modulos\Almacenes\Model\schAlmacenesServer_Intf.pas" />
<DCCReference Include="..\Modulos\Almacenes\Servidor\srvAlmacenes_Impl.pas">
<Form>srvAlmacenes</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Articulos\Model\schArticulosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Articulos\Model\uBizArticulosServer.pas" />
<DCCReference Include="..\Modulos\Articulos\Servidor\srvArticulos_Impl.pas">
<Form>srvArticulos</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesClient_Intf.pas" />
<DCCReference Include="..\Modulos\Comisiones\Model\schComisionesServer_Intf.pas" />
<DCCReference Include="..\Modulos\Comisiones\Model\uBizComisionesServer.pas" />
<DCCReference Include="..\Modulos\Comisiones\Reports\uRptComisiones_Server.pas">
<Form>RptComisiones</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Comisiones\Servidor\srvComisiones_Impl.pas">
<Form>srvComisiones</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Contactos\Model\schContactosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\schContactosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizAgentesServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizClientesServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizContactosServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizEmpleadosServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Model\uBizProveedoresServer.pas" />
<DCCReference Include="..\Modulos\Contactos\Reports\uRptEtiquetasContacto_Server.pas">
<Form>RptEtiquetasContacto</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Contactos\Reports\uRptFichasEmpleado_Server.pas">
<Form>RptFichasEmpleado</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Contactos\Servidor\srvContactos_Impl.pas">
<Form>srvContactos</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Fabricantes\Model\schFabricantesClient_Intf.pas" />
<DCCReference Include="..\Modulos\Fabricantes\Model\schFabricantesServer_Intf.pas" />
<DCCReference Include="..\Modulos\Fabricantes\Servidor\srvFabricantes_Impl.pas">
<Form>srvFabricantes</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de cliente\Model\schFacturasClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de cliente\Model\uBizFacturasClienteServer.pas" />
<DCCReference Include="..\Modulos\Facturas de cliente\Reports\uRptFacturasCliente_Server.pas">
<Form>RptFacturasCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de cliente\Servidor\srvFacturasCliente_Impl.pas">
<Form>srvFacturasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\schFacturasProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Model\uBizFacturasProveedorServer.pas" />
<DCCReference Include="..\Modulos\Facturas de proveedor\Reports\uRptFacturasProveedor_Server.pas">
<Form>RptFacturasProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Facturas de proveedor\Servidor\srvFacturasProveedor_Impl.pas">
<Form>srvFacturasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasClient_Intf.pas" />
<DCCReference Include="..\Modulos\Familias\Model\schFamiliasServer_Intf.pas" />
<DCCReference Include="..\Modulos\Familias\Servidor\srvFamilias_Impl.pas">
<Form>srvFamilias</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoClient_Intf.pas" />
<DCCReference Include="..\Modulos\Formas de pago\Model\schFormasPagoServer_Intf.pas" />
<DCCReference Include="..\Modulos\Formas de pago\Servidor\srvFormasPago_Impl.pas">
<Form>srvFormasPago</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Gestion de documentos\Servidor\srvGestorDocumentos_Impl.pas">
<Form>srvGestorDocumentos</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Gestor de informes\Servidor\srvGestorInformes_Impl.pas">
<Form>srvGestorInformes</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosClient_Intf.pas" />
<DCCReference Include="..\Modulos\Historico de movimientos\Model\schHistoricoMovimientosServer_Intf.pas" />
<DCCReference Include="..\Modulos\Historico de movimientos\Servidor\srvHistoricoMovimientos_Impl.pas">
<Form>srvHistoricoMovimientos</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Impresiones\Model\schImpresionesClient_Intf.pas" />
<DCCReference Include="..\Modulos\Impresiones\Model\schImpresionesServer_Intf.pas" />
<DCCReference Include="..\Modulos\Impresiones\Servidor\srvImpresiones_Impl.pas">
<Form>srvImpresiones</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Informe margen por articulo\Servidor\srvInfMargenArticulo_Impl.pas">
<Form>srvInfMargenArticulo</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Informe ventas por articulo\Model\schInfVentasArticuloClient_Intf.pas" />
<DCCReference Include="..\Modulos\Informe ventas por articulo\Model\schInfVentasArticuloServer_Intf.pas" />
<DCCReference Include="..\Modulos\Informe ventas por articulo\Servidor\srvInfVentasArticulo_Impl.pas">
<Form>srvInfVentasArticulo</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Informes base\Model\schInformesClient_Intf.pas" />
<DCCReference Include="..\Modulos\Informes base\Model\schInformesServer_Intf.pas" />
<DCCReference Include="..\Modulos\Informes base\Servidor\srvInformes_Impl.pas">
<Form>srvInformes</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioClient_Intf.pas" />
<DCCReference Include="..\Modulos\Inventario\Model\schInventarioServer_Intf.pas" />
<DCCReference Include="..\Modulos\Inventario\Servidor\srvInventario_Impl.pas">
<Form>srvInventario</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Obras\Model\schObrasClient_Intf.pas" />
<DCCReference Include="..\Modulos\Obras\Model\schObrasServer_Intf.pas" />
<DCCReference Include="..\Modulos\Obras\Model\uBizObrasServer.pas" />
<DCCReference Include="..\Modulos\Obras\Servidor\srvObras_Impl.pas">
<Form>srvObras</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\schPedidosProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Model\uBizPedidosProveedorServer.pas" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Reports\uRptPedidosProveedor_Server.pas">
<Form>RptPedidosProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Servidor\srvPedidosProveedor_Impl.pas">
<Form>srvPedidosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Pedidos de cliente\Model\schPedidosClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Pedidos de cliente\Model\schPedidosClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Pedidos de cliente\Model\uBizPedidosClienteServer.pas" />
<DCCReference Include="..\Modulos\Pedidos de cliente\Reports\uRptPedidosCliente_Server.pas">
<Form>RptPedidosCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Pedidos de cliente\Servidor\srvPedidosCliente_Impl.pas">
<Form>srvPedidosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\schPresupuestosClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Model\uBizPresupuestosClienteServer.pas" />
<DCCReference Include="..\Modulos\Presupuestos de cliente\Reports\uRptPresupuestosCliente_Server.pas">
<Form>RptPresupuestosCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Presupuestos de cliente\Servidor\srvPresupuestosCliente_Impl.pas">
<Form>srvPresupuestosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de cliente\Model\schRecibosClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de cliente\Reports\uRptRecibosCliente_Server.pas">
<Form>RptRecibosCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de cliente\Servidor\srvRecibosCliente_Impl.pas">
<Form>srvRecibosCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de proveedor\Model\schRecibosProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Recibos de proveedor\Reports\uRptRecibosProveedor_Server.pas">
<Form>RptRecibosProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Recibos de proveedor\Servidor\srvRecibosProveedor_Impl.pas">
<Form>srvRecibosProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasClient_Intf.pas" />
<DCCReference Include="..\Modulos\Referencias\Model\schReferenciasServer_Intf.pas" />
<DCCReference Include="..\Modulos\Referencias\Servidor\srvReferencias_Impl.pas">
<Form>srvReferencias</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Registro de correos\Servidor\srvRegistroCorreos_Impl.pas">
<Form>srvRegistroCorreos</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteClient_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de cliente\Model\schRemesasClienteServer_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de cliente\Model\uBizRemesasClienteServer.pas" />
<DCCReference Include="..\Modulos\Remesas de cliente\Reports\uRptRemesasCliente_Server.pas">
<Form>RptRemesasCliente</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de cliente\Servidor\srvRemesasCliente_Impl.pas">
<Form>srvRemesasCliente</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorClient_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\schRemesasProveedorServer_Intf.pas" />
<DCCReference Include="..\Modulos\Remesas de proveedor\Model\uBizRemesasProveedorServer.pas" />
<DCCReference Include="..\Modulos\Remesas de proveedor\Reports\uRptRemesasProveedor_Server.pas">
<Form>RptRemesasProveedor</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Remesas de proveedor\Servidor\srvRemesasProveedor_Impl.pas">
<Form>srvRemesasProveedor</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Tienda web\Model\schTiendaWebClient_Intf.pas" />
<DCCReference Include="..\Modulos\Tienda web\Model\schTiendaWebServer_Intf.pas" />
<DCCReference Include="..\Modulos\Tienda web\Model\uBizOscAddressBookServer.pas" />
<DCCReference Include="..\Modulos\Tienda web\Model\uBizOscCustomerServer.pas" />
<DCCReference Include="..\Modulos\Tienda web\Model\uBizOscManufacturerServer.pas" />
<DCCReference Include="..\Modulos\Tienda web\Model\uBizOscOrderServer.pas" />
<DCCReference Include="..\Modulos\Tienda web\Model\uBizOscProductServer.pas" />
<DCCReference Include="..\Modulos\Tienda web\Model\uBizTiendaWebServer.pas" />
<DCCReference Include="..\Modulos\Tienda web\Servidor\srvTiendaWeb_Impl.pas">
<Form>srvTiendaWeb</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAClient_Intf.pas" />
<DCCReference Include="..\Modulos\Tipos de IVA\Model\schTiposIVAServer_Intf.pas" />
<DCCReference Include="..\Modulos\Tipos de IVA\Servidor\srvTiposIVA_Impl.pas">
<Form>srvTiposIVA</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaClient_Intf.pas" />
<DCCReference Include="..\Modulos\Unidades de medida\Model\schUnidadesMedidaServer_Intf.pas" />
<DCCReference Include="..\Modulos\Unidades de medida\Servidor\srvUnidadesMedida_Impl.pas">
<Form>srvUnidadesMedida</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="..\Servicios\FactuGES_Intf.pas" />
<DCCReference Include="..\Servicios\FactuGES_Invk.pas" />
<DCCReference Include="Configuracion\srvConfiguracion_Impl.pas">
<Form>srvConfiguracion</Form>
<DesignClass>TDataAbstractService</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConexionBD.pas">
<Form>frConexionBD</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConexionOSC.pas">
<Form>frConexionOSC</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConfGeneral.pas">
<Form>frConfGeneral</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uConfiguracion.pas">
<Form>fConfiguracion</Form>
<DesignClass>TForm</DesignClass>
</DCCReference>
<DCCReference Include="Configuracion\uFrameConfiguracion.pas">
<Form>FrameConfiguracion</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="srvLogin_Impl.pas">
<Form>srvLogin</Form>
<DesignClass>TDARemoteService</DesignClass>
</DCCReference>
<DCCReference Include="uAcercaDe.pas">
<Form>fAcercaDe</Form>
</DCCReference>
<DCCReference Include="uDataModuleServer.pas">
<Form>dmServer</Form>
<DesignClass>TDataModule</DesignClass>
</DCCReference>
<DCCReference Include="uServerMainForm.pas">
<Form>fServerForm</Form>
</DCCReference>
<DCCReference Include="Utiles\AHWord97.pas" />
<DCCReference Include="Utiles\MidasSpeedFix.pas" />
<DCCReference Include="Utiles\uBusinessUtils.pas" />
<DCCReference Include="Utiles\uDatabaseUtils.pas" />
<DCCReference Include="Utiles\uReferenciasUtils.pas" />
<DCCReference Include="Utiles\uRestriccionesUsuarioUtils.pas" />
<DCCReference Include="Utiles\uSchemaUtilsServer.pas" />
<DCCReference Include="Utiles\uServerAppUtils.pas" />
<DCCReference Include="Utiles\uSesionesUtils.pas" />
<DCCReference Include="Utiles\uTiendaWebUtils.pas" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line
[Exception Log]

View File

@ -14,7 +14,7 @@ BEGIN
BEGIN
VALUE "FileVersion", "4.2.9.0\0"
VALUE "ProductVersion", "4.2.9.0\0"
VALUE "CompileDate", "jueves, 28 de febrero de 2013 17:51\0"
VALUE "CompileDate", "lunes, 20 de mayo de 2013 13:25\0"
END
END
BLOCK "VarFileInfo"