diff --git a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas index b7e6fc91..98e6aca9 100644 --- a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas +++ b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas @@ -24,7 +24,7 @@ type function BuscarTodasPendientesComision(IdAgente: Integer; IdComision: Integer; IdFacturasAsociadas: String): IBizFacturaCliente; procedure Ver(AFactura : IBizFacturaCliente); procedure VerTodos(AFacturas: IBizFacturaCliente); - function Nuevo : IBizFacturaCliente; + function Nuevo (withInsert: Boolean = True) : IBizFacturaCliente; function Anadir(AFactura : IBizFacturaCliente) : Boolean; overload; function AnadirAbono(AFactura : IBizFacturaCliente) : Boolean; function Anadir(AFacturas : IBizFacturaCliente; AListaAlbaranes : IBizAlbaranCliente): Boolean; overload; @@ -90,7 +90,7 @@ type function Buscar(const ID: Integer): IBizFacturaCliente; function BuscarTodos: IBizFacturaCliente; function BuscarTodasPendientesComision(IdAgente: Integer; IdComision: Integer; IdFacturasAsociadas: String): IBizFacturaCliente; - function Nuevo : IBizFacturaCliente; + function Nuevo (withInsert: Boolean = True) : IBizFacturaCliente; procedure Ver(AFactura : IBizFacturaCliente); procedure VerTodos(AFacturas: IBizFacturaCliente); function Duplicar(AFactura: IBizFacturaCliente): IBizFacturaCliente; @@ -921,14 +921,15 @@ begin end; end; -function TFacturasClienteController.Nuevo: IBizFacturaCliente; +function TFacturasClienteController.Nuevo(withInsert: Boolean = True): IBizFacturaCliente; var AFactura : IBizFacturaCliente; begin AFactura := FDataModule.NewItem; FiltrarEmpresa(AFactura); AFactura.DataTable.Active := True; - AFactura.Insert; + if WithInsert then + AFactura.Insert; Result := AFactura; end; diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm index 4fc3c91d..0866a6ab 100644 --- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm +++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.dfm @@ -2,43 +2,7 @@ object RptFacturasCliente: TRptFacturasCliente OldCreateOrder = True OnCreate = DataModuleCreate Height = 577 - Width = 479 - object DADataCabecera: TDADataSource - Left = 264 - Top = 72 - end - object DADataDetalles: TDADataSource - Left = 344 - Top = 72 - end - object tbl_FacturaCliente: TDACDSDataTable - RemoteUpdatesOptions = [] - Fields = <> - Params = <> - MasterMappingMode = mmDataRequest - LogChanges = False - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteFetchEnabled = False - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] - IndexDefs = <> - Left = 264 - Top = 128 - end - object tbl_DetallesFacturaCliente: TDACDSDataTable - RemoteUpdatesOptions = [] - Fields = <> - Params = <> - MasterMappingMode = mmDataRequest - LogChanges = False - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteFetchEnabled = False - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] - IndexDefs = <> - Left = 344 - Top = 128 - end + Width = 609 object schReport: TDASchema ConnectionManager = dmServer.ConnectionManager Datasets = < @@ -53,32 +17,23 @@ object RptFacturasCliente: TRptFacturasCliente Statements = < item Connection = 'IBX' - TargetTable = 'FACTURAS_CLIENTE' SQL = - 'SELECT'#10' V_FACTURAS_CLIENTE.ID, V_FACTURAS_CLIENTE.REFERENCIA,' + - ' V_FACTURAS_CLIENTE.FECHA_FACTURA,'#10' V_FACTURAS_CLIENTE.BASE_I' + - 'MPONIBLE, V_FACTURAS_CLIENTE.DESCUENTO, V_FACTURAS_CLIENTE.IMPOR' + - 'TE_DESCUENTO,'#10' V_FACTURAS_CLIENTE.IVA, V_FACTURAS_CLIENTE.IMP' + - 'ORTE_IVA,'#10' V_FACTURAS_CLIENTE.RE, V_FACTURAS_CLIENTE.IMPORTE_' + - 'RE,'#10' V_FACTURAS_CLIENTE.IMPORTE_TOTAL,'#10' V_FACTURAS_CLIENTE' + - '.OBSERVACIONES, FORMAS_PAGO.DESCRIPCION AS FORMA_PAGO, V_FACTURA' + - 'S_CLIENTE.ID_CLIENTE,'#10' V_FACTURAS_CLIENTE.NIF_CIF, V_FACTURAS' + - '_CLIENTE.NOMBRE, V_FACTURAS_CLIENTE.CALLE,'#10' V_FACTURAS_CLIENT' + - 'E.PROVINCIA, V_FACTURAS_CLIENTE.CODIGO_POSTAL, V_FACTURAS_CLIENT' + - 'E.POBLACION,'#10' CONTACTOS_DATOS_BANCO.TITULAR,'#10' CONTACTOS_DA' + - 'TOS_BANCO.ENTIDAD,'#10' CONTACTOS_DATOS_BANCO.SUCURSAL,'#10' CONTA' + - 'CTOS_DATOS_BANCO.DC,'#10' CONTACTOS_DATOS_BANCO.CUENTA,'#10' ID_EM' + - 'PRESA, EMPRESAS.NIF_CIF as NIF_CIF_EMPRESA, EMPRESAS.RAZON_SOCIA' + - 'L,'#10' EMPRESAS.CALLE as CALLE_EMPRESA, EMPRESAS.POBLACION as PO' + - 'BLACION_EMPRESA,'#10' EMPRESAS.PROVINCIA as PROVINCIA_EMPRESA, EM' + - 'PRESAS.CODIGO_POSTAL as CODIGO_POSTAL_EMPRESA,'#10' EMPRESAS.TELE' + - 'FONO_1, EMPRESAS.FAX, EMPRESAS.MOVIL_1, EMPRESAS.EMAIL_1,'#10' EM' + - 'PRESAS.PAGINA_WEB, EMPRESAS.REGISTRO_MERCANTIL, EMPRESAS.LOGOTIP' + - 'O'#10'FROM V_FACTURAS_CLIENTE'#10'LEFT JOIN EMPRESAS ON EMPRESAS.ID = ID' + - '_EMPRESA'#10'LEFT JOIN FORMAS_PAGO ON (FORMAS_PAGO.ID = V_FACTURAS_C' + - 'LIENTE.ID_FORMA_PAGO)'#10'LEFT JOIN CONTACTOS_DATOS_BANCO ON (CONTAC' + - 'TOS_DATOS_BANCO.ID_CONTACTO = V_FACTURAS_CLIENTE.ID_CLIENTE)'#10'WHE' + - 'RE V_FACTURAS_CLIENTE.ID = :ID' + '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'from v_facturas_cliente'#10' left outer join ' + + 'formas_pago on (formas_pago.id = v_facturas_cliente.id_forma_pag' + + 'o)'#10'WHERE V_FACTURAS_CLIENTE.ID = :ID'#10 StatementType = stSQL ColumnMappings = < item @@ -141,10 +96,6 @@ object RptFacturasCliente: TRptFacturasCliente DatasetField = 'IMPORTE_TOTAL' TableField = 'IMPORTE_TOTAL' end - item - DatasetField = 'FORMA_PAGO' - TableField = 'FORMA_PAGO' - end item DatasetField = 'ID_CLIENTE' TableField = 'ID_CLIENTE' @@ -157,58 +108,6 @@ object RptFacturasCliente: TRptFacturasCliente DatasetField = 'CODIGO_POSTAL' TableField = 'CODIGO_POSTAL' end - item - DatasetField = 'NIF_CIF_EMPRESA' - TableField = 'NIF_CIF_EMPRESA' - end - item - DatasetField = 'RAZON_SOCIAL' - TableField = 'RAZON_SOCIAL' - end - item - DatasetField = 'CALLE_EMPRESA' - TableField = 'CALLE_EMPRESA' - end - item - DatasetField = 'POBLACION_EMPRESA' - TableField = 'POBLACION_EMPRESA' - end - item - DatasetField = 'PROVINCIA_EMPRESA' - TableField = 'PROVINCIA_EMPRESA' - end - item - DatasetField = 'CODIGO_POSTAL_EMPRESA' - TableField = 'CODIGO_POSTAL_EMPRESA' - end - item - DatasetField = 'TELEFONO_1' - TableField = 'TELEFONO_1' - end - item - DatasetField = 'FAX' - TableField = 'FAX' - end - item - DatasetField = 'MOVIL_1' - TableField = 'MOVIL_1' - end - item - DatasetField = 'EMAIL_1' - TableField = 'EMAIL_1' - end - item - DatasetField = 'PAGINA_WEB' - TableField = 'PAGINA_WEB' - end - item - DatasetField = 'REGISTRO_MERCANTIL' - TableField = 'REGISTRO_MERCANTIL' - end - item - DatasetField = 'LOGOTIPO' - TableField = 'LOGOTIPO' - end item DatasetField = 'RE' TableField = 'RE' @@ -218,31 +117,35 @@ object RptFacturasCliente: TRptFacturasCliente TableField = 'IMPORTE_RE' end item - DatasetField = 'TITULAR' - TableField = 'TITULAR' + DatasetField = 'TIPO' + TableField = 'TIPO' end item - DatasetField = 'ENTIDAD' - TableField = 'ENTIDAD' + DatasetField = 'SITUACION' + TableField = 'SITUACION' end item - DatasetField = 'SUCURSAL' - TableField = 'SUCURSAL' + DatasetField = 'RECARGO_EQUIVALENCIA' + TableField = 'RECARGO_EQUIVALENCIA' end item - DatasetField = 'DC' - TableField = 'DC' + DatasetField = 'IMPORTE_NETO' + TableField = 'IMPORTE_NETO' end item - DatasetField = 'CUENTA' - TableField = 'CUENTA' + DatasetField = 'IMPORTE_PORTE' + TableField = 'IMPORTE_PORTE' + end + item + DatasetField = 'FORMA_PAGO' + TableField = 'FORMA_PAGO' end> end> Name = 'InformeFacturasCliente' Fields = < item Name = 'ID' - DataType = datAutoInc + DataType = datInteger DictionaryEntry = 'FacturasCliente_ID' InPrimaryKey = True end @@ -251,6 +154,17 @@ object RptFacturasCliente: TRptFacturasCliente DataType = datInteger DictionaryEntry = 'FacturasCliente_ID_EMPRESA' end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + DictionaryEntry = 'FacturasCliente_REFERENCIA' + end + item + Name = 'TIPO' + DataType = datString + Size = 1 + end item Name = 'FECHA_FACTURA' DataType = datDateTime @@ -258,19 +172,13 @@ object RptFacturasCliente: TRptFacturasCliente end item Name = 'BASE_IMPONIBLE' - DataType = datFloat + DataType = datCurrency DictionaryEntry = 'FacturasCliente_BASE_IMPONIBLE' end item - Name = 'REFERENCIA' + Name = 'SITUACION' DataType = datString - Size = 20 - DictionaryEntry = 'FacturasCliente_REFERENCIA' - end - item - Name = 'IMPORTE_DESCUENTO' - DataType = datFloat - DictionaryEntry = 'FacturasCliente_IMPORTE_DESCUENTO' + Size = 19 end item Name = 'DESCUENTO' @@ -278,8 +186,18 @@ object RptFacturasCliente: TRptFacturasCliente DictionaryEntry = 'FacturasCliente_DESCUENTO' end item - Name = 'IMPORTE_IVA' + Name = 'IMPORTE_DESCUENTO' + DataType = datCurrency + DictionaryEntry = 'FacturasCliente_IMPORTE_DESCUENTO' + end + item + Name = 'IVA' DataType = datFloat + DictionaryEntry = 'FacturasCliente_IVA' + end + item + Name = 'IMPORTE_IVA' + DataType = datCurrency DictionaryEntry = 'FacturasCliente_IMPORTE_IVA' end item @@ -288,28 +206,17 @@ object RptFacturasCliente: TRptFacturasCliente end item Name = 'IMPORTE_RE' - DataType = datFloat + DataType = datCurrency end item Name = 'IMPORTE_TOTAL' - DataType = datFloat + DataType = datCurrency DictionaryEntry = 'FacturasCliente_IMPORTE_TOTAL' end item - Name = 'IVA' - DataType = datFloat - DictionaryEntry = 'FacturasCliente_IVA' - end - item - Name = 'FORMA_PAGO' - DataType = datString - Size = 255 - DisplayLabel = 'Forma de pago' - end - item - Name = 'ID_CLIENTE' - DataType = datInteger - DictionaryEntry = 'FacturasCliente_ID_CLIENTE' + Name = 'OBSERVACIONES' + DataType = datMemo + DictionaryEntry = 'FacturasCliente_OBSERVACIONES' end item Name = 'NIF_CIF' @@ -318,28 +225,34 @@ object RptFacturasCliente: TRptFacturasCliente DictionaryEntry = 'FacturasCliente_NIF_CIF' end item - Name = 'OBSERVACIONES' - DataType = datMemo - DictionaryEntry = 'FacturasCliente_OBSERVACIONES' + Name = 'ID_CLIENTE' + DataType = datInteger + DictionaryEntry = 'FacturasCliente_ID_CLIENTE' end item Name = 'NOMBRE' DataType = datString - Size = 100 + Size = 255 DictionaryEntry = 'FacturasCliente_NOMBRE' end item Name = 'CALLE' DataType = datString - Size = 150 + Size = 255 DictionaryEntry = 'FacturasCliente_CALLE' end item Name = 'PROVINCIA' DataType = datString - Size = 30 + Size = 255 DictionaryEntry = 'FacturasCliente_PROVINCIA' end + item + Name = 'POBLACION' + DataType = datString + Size = 255 + DictionaryEntry = 'FacturasCliente_POBLACION' + end item Name = 'CODIGO_POSTAL' DataType = datString @@ -347,99 +260,21 @@ object RptFacturasCliente: TRptFacturasCliente DictionaryEntry = 'FacturasCliente_CODIGO_POSTAL' end item - Name = 'TITULAR' + 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 = 'ENTIDAD' - DataType = datString - Size = 15 - end - item - Name = 'SUCURSAL' - DataType = datString - Size = 15 - end - item - Name = 'DC' - DataType = datString - Size = 15 - end - item - Name = 'CUENTA' - DataType = datString - Size = 15 - end - item - Name = 'POBLACION' - DataType = datString - Size = 150 - DictionaryEntry = 'FacturasCliente_POBLACION' - end - item - Name = 'NIF_CIF_EMPRESA' - DataType = datString - Size = 15 - end - item - Name = 'RAZON_SOCIAL' - DataType = datString - Size = 255 - end - item - Name = 'CALLE_EMPRESA' - DataType = datString - Size = 255 - end - item - Name = 'POBLACION_EMPRESA' - DataType = datString - Size = 255 - end - item - Name = 'PROVINCIA_EMPRESA' - DataType = datString - Size = 255 - end - item - Name = 'CODIGO_POSTAL_EMPRESA' - DataType = datString - Size = 10 - end - item - Name = 'TELEFONO_1' - DataType = datString - Size = 25 - end - item - Name = 'FAX' - DataType = datString - Size = 25 - end - item - Name = 'MOVIL_1' - DataType = datString - Size = 25 - end - item - Name = 'EMAIL_1' - DataType = datString - Size = 255 - end - item - Name = 'PAGINA_WEB' - DataType = datString - Size = 255 - end - item - Name = 'REGISTRO_MERCANTIL' - DataType = datString - Size = 255 - end - item - Name = 'LOGOTIPO' - DataType = datBlob end> end item @@ -453,12 +288,11 @@ object RptFacturasCliente: TRptFacturasCliente Statements = < item Connection = 'IBX' - TargetTable = 'FACTURAS_CLIENTE_DETALLES' SQL = 'SELECT'#10' ID, ID_FACTURA, POSICION, TIPO_DETALLE, CONCEPTO, CAN' + 'TIDAD,'#10' IMPORTE_UNIDAD, DESCUENTO, IMPORTE_TOTAL, VISIBLE'#10'FRO' + - 'M FACTURAS_CLIENTE_DETALLES'#10'WHERE ID_FACTURA = :ID_FACTURA'#10'ORDER' + - ' BY POSICION;' + 'M FACTURAS_CLIENTE_DETALLES'#10'WHERE ID_FACTURA = :ID_FACTURA AND V' + + 'ISIBLE = 1 AND {Where}'#10'ORDER BY ID_FACTURA, POSICION;'#10 StatementType = stSQL ColumnMappings = < item @@ -506,7 +340,7 @@ object RptFacturasCliente: TRptFacturasCliente Fields = < item Name = 'ID' - DataType = datAutoInc + DataType = datInteger DictionaryEntry = 'FacturasCliente_Detalles_ID' InPrimaryKey = True end @@ -539,7 +373,7 @@ object RptFacturasCliente: TRptFacturasCliente end item Name = 'IMPORTE_UNIDAD' - DataType = datFloat + DataType = datCurrency DictionaryEntry = 'FacturasCliente_Detalles_IMPORTE_UNIDAD' end item @@ -548,12 +382,12 @@ object RptFacturasCliente: TRptFacturasCliente end item Name = 'IMPORTE_TOTAL' - DataType = datFloat + DataType = datCurrency DictionaryEntry = 'FacturasCliente_Detalles_IMPORTE_TOTAL' end item Name = 'VISIBLE' - DataType = datInteger + DataType = datSmallInt DictionaryEntry = 'FacturasCliente_Detalles_VISIBLE' end> end @@ -794,230 +628,23 @@ object RptFacturasCliente: TRptFacturasCliente Left = 46 Top = 158 end - object frxReport: TfrxReport - Version = '4.3' - DotMatrixReport = False - EngineOptions.DoublePass = True - IniFile = '\Software\Fast Reports' - PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick] - PreviewOptions.OutlineWidth = 180 - PreviewOptions.Zoom = 1.000000000000000000 - PrintOptions.Printer = 'Default' - PrintOptions.PrintOnSheet = 0 - ReportOptions.CreateDate = 37871.995398692100000000 - ReportOptions.LastChange = 39290.847101226850000000 - ReportOptions.VersionBuild = '1' - ReportOptions.VersionMajor = '12' - ReportOptions.VersionMinor = '13' - ReportOptions.VersionRelease = '1' - ScriptLanguage = 'PascalScript' - ScriptText.Strings = ( - 'procedure DatosClienteOnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' DatosCliente.Lines.Clear;' - ' DatosCliente.Lines.Add();' - '' - ' if ( <> '#39#39')' - ' or ( <> '#39#39') then' - - ' DatosCliente.Lines.Add( + '#39' ' + - ' '#39' + );' - '' - ' if ( <> '#39#39') then' - ' DatosCliente.Lines.Add();' - 'end;' - '' - 'procedure BandaDetallesOnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' BandaDetalles.StartNewPage := False;' - ' BandaDetalles.Visible := True;' - ' MemPrecio.Style := '#39'Concepto normal'#39';' - ' MemCantidad.Style := '#39'Concepto normal'#39';' - ' MemImpTotal.Style := '#39'Concepto normal'#39';' - ' RichConcepto.Visible := True;' - '' - ' case of' - ' '#39'Salto'#39': begin' - ' BandaDetalles.StartNewPage := True;' - ' RichConcepto.Visible := False;' - ' end;' - ' '#39'Titulo'#39': begin' - ' MemPrecio.Style := '#39'Concepto titulo'#39';' - ' MemCantidad.Style := '#39'Concepto titulo'#39';' - ' MemImpTotal.Style := '#39'Concepto titulo'#39';' - ' end;' - ' '#39'Concepto'#39': begin' - ' MemPrecio.Style := '#39'Concepto normal'#39';' - ' MemCantidad.Style := '#39'Concepto normal'#39';' - ' MemImpTotal.Style := '#39'Concepto normal'#39';' - ' end;' - ' '#39'Subtotal'#39': begin' - ' MemPrecio.Style := '#39'Concepto subtotal'#39';' - ' MemCantidad.Style := '#39'Concepto subtotal'#39';' - ' MemImpTotal.Style := '#39'Concepto subtotal'#39';' - ' end;' - ' '#39'Descuento'#39': begin' - ' BandaDetalles.Visible := False;' - ' RichConcepto.Color := clNone;' - ' end;' - ' end;' - '' - ' RichConcepto.Color := MemImpTotal.Color;' - ' RichConcepto.Frame := MemImpTotal.Frame;' - 'end;' - '' - 'procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);' - 'begin' - - ' Engine.CurY := Engine.CurY + Engine.FreeSpace - ReportSummary1' + - '.Height - 1;' - 'end;' - '' - 'procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);' - 'var' - ' Cadena: String;' - 'begin' - ' DatosEmpresa.Lines.Clear;' - ' DatosEmpresa.Lines.Add();' - ' DatosEmpresa.Lines.Add();' - '' - ' Cadena := '#39#39';' - ' if ( <> '#39#39') then' - ' Cadena := '#39'TLF: '#39' + ;' - ' if ( <> '#39#39') then' - ' Cadena := Cadena + '#39' FAX: '#39' + ;' - ' DatosEmpresa.Lines.Add(Cadena);' - '' - ' Cadena := '#39#39';' - ' if ( <> '#39#39') then' - ' Cadena := ;' - ' if ( <> '#39#39') then' - - ' Cadena := Cadena + '#39' '#39' + ;' - ' if ( <> '#39#39') then' - - ' Cadena := Cadena + '#39' - '#39' + ;' - ' DatosEmpresa.Lines.Add(Cadena);' - 'end;' - '' - 'procedure Memo15OnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' Memo15.Lines.Clear;' - ' if (StrToFloat() < 0) then' - ' Memo15.Lines.Add('#39'ABONO'#39')' - ' else' - ' Memo15.Lines.Add('#39'FACTURA'#39')' - 'end;' - '' - 'procedure Memo20OnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' if (StrToFloat() = 0) then' - ' begin' - ' Memo20.Lines.Clear;' - ' Memo28.Lines.Clear;' - ' Memo21.Lines.Clear;' - ' Memo29.Lines.Clear;' - ' end;' - '' - 'end;' - '' - 'procedure Memo11OnBeforePrint(Sender: TfrxComponent);' - 'var' - ' Cadena : String;' - 'begin' - ' if ( <> '#39#39') then' - ' begin' - ' Cadena := Memo11.Lines.Text;' - ' Memo11.Lines.Clear;' - ' Memo11.Lines.Add();' - ' Memo11.Lines.Add(Cadena);' - ' end' - 'end;' - '' - 'procedure Band2OnBeforePrint(Sender: TfrxComponent);' - 'begin' - ' if not Engine.FinalPass then' - ' Set('#39'TotalPaginas'#39', ( + 1));' - '' - ' if Engine.FinalPass then' - ' Set('#39'Pagina'#39', ( + 1));' - 'end;' - '' - 'procedure frxReportOnStartReport(Sender: TfrxComponent);' - 'begin' - ' Set('#39'Pagina'#39', 0);' - ' Set('#39'TotalPaginas'#39', 0);' - 'end;' - '' - 'begin' - '' - 'end.') - ShowProgress = False - StoreInDFM = False - OnStartReport = 'frxReportOnStartReport' - Left = 169 - Top = 16 - end object frxDBCabecera: TfrxDBDataset UserName = 'frxDBCabecera' CloseDataSource = True + DataSource = DataSource1 Left = 264 Top = 16 end object frxDBDetalles: TfrxDBDataset UserName = 'frxDBDetalles' CloseDataSource = False + DataSource = DataSource2 Left = 344 Top = 16 end - object DADataVencimientos: TDADataSource - Left = 264 - Top = 184 - end - object tbl_Vencimientos: TDACDSDataTable - RemoteUpdatesOptions = [] - Fields = <> - Params = <> - MasterMappingMode = mmDataRequest - LogChanges = False - StreamingOptions = [soDisableEventsWhileStreaming] - RemoteFetchEnabled = False - DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] - MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] - IndexDefs = <> - Left = 264 - Top = 240 - end - object frxDBDataset1: TfrxDBDataset - UserName = 'frxDBVencimientos' - CloseDataSource = True - Left = 344 - Top = 184 - end - object frxBarCodeObject1: TfrxBarCodeObject - Left = 280 - Top = 496 - end - object frxOLEObject1: TfrxOLEObject - Left = 184 - Top = 432 - end - object frxCrossObject1: TfrxCrossObject - Left = 384 - Top = 496 - end - object frxCheckBoxObject1: TfrxCheckBoxObject - Left = 280 - Top = 440 - end - object frxGradientObject1: TfrxGradientObject - Left = 384 - Top = 440 - end object IBDatabase1: TIBDatabase - DatabaseName = 'C:\Codigo Tecsitel\Output\Debug\Database\FACTUGES.FDB' + Connected = True + DatabaseName = 'C:\Codigo Tecsitel\Database\FACTUGES.FDB' Params.Strings = ( 'user_name=sysdba' 'password=masterkey' @@ -1028,6 +655,7 @@ object RptFacturasCliente: TRptFacturasCliente Top = 296 end object IBTransaction1: TIBTransaction + Active = True Left = 48 Top = 352 end @@ -1044,50 +672,618 @@ object RptFacturasCliente: TRptFacturasCliente object cabecera: TIBQuery Database = IBDatabase1 Transaction = IBTransaction1 + Active = True SQL.Strings = ( - 'SELECT ' - ' ID, ID_EMPRESA, FECHA_PRESUPUESTO, FECHA_DECISION, ' - ' REFERENCIA, SITUACION, ID_CLIENTE, NIF_CIF, NOMBRE, ' - ' REFERENCIA_CLIENTE, CLIENTE_FINAL, PORTADA, MEMORIA, ' + 'select' + ' v_facturas_cliente.id, v_facturas_cliente.id_empresa,' + ' v_facturas_cliente.referencia, v_facturas_cliente.tipo,' - ' OBSERVACIONES, INCIDENCIAS, INCIDENCIAS_ACTIVAS, FECHA_ALTA,' + - ' ' - ' FECHA_MODIFICACION, USUARIO, IMPORTE_NETO, IMPORTE_PORTE, ' - ' DESCUENTO, IMPORTE_DESCUENTO, BASE_IMPONIBLE, IVA, ' - ' IMPORTE_IVA, IMPORTE_TOTAL, ID_FORMA_PAGO' - ' FROM' - ' V_PRESUPUESTOS_CLIENTE' - ' WHERE V_PRESUPUESTOS_CLIENTE.ID = 31') + ' v_facturas_cliente.fecha_factura, v_facturas_cliente.base_imp' + + 'onible,' + ' v_facturas_cliente.situacion, v_facturas_cliente.descuento,' + ' v_facturas_cliente.importe_descuento, v_facturas_cliente.iva,' + ' v_facturas_cliente.importe_iva, v_facturas_cliente.re,' + + ' v_facturas_cliente.importe_re, v_facturas_cliente.importe_tot' + + 'al,' + ' v_facturas_cliente.observaciones, v_facturas_cliente.nif_cif,' + ' v_facturas_cliente.id_cliente, v_facturas_cliente.nombre,' + ' v_facturas_cliente.calle, v_facturas_cliente.provincia,' + + ' v_facturas_cliente.poblacion, v_facturas_cliente.codigo_posta' + + 'l,' + + ' v_facturas_cliente.recargo_equivalencia, v_facturas_cliente.i' + + 'mporte_neto,' + + ' v_facturas_cliente.importe_porte, formas_pago.descripcion as ' + + 'FORMA_PAGO' + 'from v_facturas_cliente' + + ' left outer join formas_pago on (formas_pago.id = v_facturas_c' + + 'liente.id_forma_pago)' + 'WHERE V_FACTURAS_CLIENTE.ID = 25') Left = 136 Top = 296 + object cabeceraID: TIntegerField + FieldName = 'ID' + Origin = '"V_FACTURAS_CLIENTE"."ID"' + end + object cabeceraID_EMPRESA: TIntegerField + FieldName = 'ID_EMPRESA' + Origin = '"V_FACTURAS_CLIENTE"."ID_EMPRESA"' + end + object cabeceraREFERENCIA: TIBStringField + FieldName = 'REFERENCIA' + Origin = '"V_FACTURAS_CLIENTE"."REFERENCIA"' + Size = 255 + end + object cabeceraTIPO: TIBStringField + FieldKind = fkInternalCalc + FieldName = 'TIPO' + Origin = '"V_FACTURAS_CLIENTE"."TIPO"' + ProviderFlags = [] + ReadOnly = True + FixedChar = True + Size = 1 + end + object cabeceraFECHA_FACTURA: TDateField + FieldName = 'FECHA_FACTURA' + Origin = '"V_FACTURAS_CLIENTE"."FECHA_FACTURA"' + end + object cabeceraBASE_IMPONIBLE: TIBBCDField + FieldName = 'BASE_IMPONIBLE' + Origin = '"V_FACTURAS_CLIENTE"."BASE_IMPONIBLE"' + Precision = 18 + Size = 2 + end + object cabeceraSITUACION: TIBStringField + FieldKind = fkInternalCalc + FieldName = 'SITUACION' + Origin = '"V_FACTURAS_CLIENTE"."SITUACION"' + ProviderFlags = [] + ReadOnly = True + FixedChar = True + Size = 19 + end + object cabeceraDESCUENTO: TFloatField + FieldName = 'DESCUENTO' + Origin = '"V_FACTURAS_CLIENTE"."DESCUENTO"' + end + object cabeceraIMPORTE_DESCUENTO: TIBBCDField + FieldName = 'IMPORTE_DESCUENTO' + Origin = '"V_FACTURAS_CLIENTE"."IMPORTE_DESCUENTO"' + Precision = 18 + Size = 2 + end + object cabeceraIVA: TFloatField + FieldName = 'IVA' + Origin = '"V_FACTURAS_CLIENTE"."IVA"' + end + object cabeceraIMPORTE_IVA: TIBBCDField + FieldName = 'IMPORTE_IVA' + Origin = '"V_FACTURAS_CLIENTE"."IMPORTE_IVA"' + Precision = 18 + Size = 2 + end + object cabeceraRE: TFloatField + FieldName = 'RE' + Origin = '"V_FACTURAS_CLIENTE"."RE"' + end + object cabeceraIMPORTE_RE: TIBBCDField + FieldName = 'IMPORTE_RE' + Origin = '"V_FACTURAS_CLIENTE"."IMPORTE_RE"' + Precision = 18 + Size = 2 + end + object cabeceraIMPORTE_TOTAL: TIBBCDField + FieldName = 'IMPORTE_TOTAL' + Origin = '"V_FACTURAS_CLIENTE"."IMPORTE_TOTAL"' + Precision = 18 + Size = 2 + end + object cabeceraOBSERVACIONES: TMemoField + FieldName = 'OBSERVACIONES' + Origin = '"V_FACTURAS_CLIENTE"."OBSERVACIONES"' + ProviderFlags = [pfInUpdate] + BlobType = ftMemo + Size = 8 + end + object cabeceraNIF_CIF: TIBStringField + FieldName = 'NIF_CIF' + Origin = '"V_FACTURAS_CLIENTE"."NIF_CIF"' + Size = 15 + end + object cabeceraID_CLIENTE: TIntegerField + FieldName = 'ID_CLIENTE' + Origin = '"V_FACTURAS_CLIENTE"."ID_CLIENTE"' + end + object cabeceraNOMBRE: TIBStringField + FieldName = 'NOMBRE' + Origin = '"V_FACTURAS_CLIENTE"."NOMBRE"' + Size = 255 + end + object cabeceraCALLE: TIBStringField + FieldName = 'CALLE' + Origin = '"V_FACTURAS_CLIENTE"."CALLE"' + Size = 255 + end + object cabeceraPROVINCIA: TIBStringField + FieldName = 'PROVINCIA' + Origin = '"V_FACTURAS_CLIENTE"."PROVINCIA"' + Size = 255 + end + object cabeceraPOBLACION: TIBStringField + FieldName = 'POBLACION' + Origin = '"V_FACTURAS_CLIENTE"."POBLACION"' + Size = 255 + end + object cabeceraCODIGO_POSTAL: TIBStringField + FieldName = 'CODIGO_POSTAL' + Origin = '"V_FACTURAS_CLIENTE"."CODIGO_POSTAL"' + Size = 10 + end + object cabeceraRECARGO_EQUIVALENCIA: TSmallintField + FieldName = 'RECARGO_EQUIVALENCIA' + Origin = '"V_FACTURAS_CLIENTE"."RECARGO_EQUIVALENCIA"' + end + object cabeceraIMPORTE_NETO: TIBBCDField + FieldName = 'IMPORTE_NETO' + Origin = '"V_FACTURAS_CLIENTE"."IMPORTE_NETO"' + Precision = 18 + Size = 2 + end + object cabeceraIMPORTE_PORTE: TIBBCDField + FieldName = 'IMPORTE_PORTE' + Origin = '"V_FACTURAS_CLIENTE"."IMPORTE_PORTE"' + Precision = 18 + Size = 2 + end + object cabeceraFORMA_PAGO: TIBStringField + FieldName = 'FORMA_PAGO' + Origin = '"FORMAS_PAGO"."DESCRIPCION"' + Size = 255 + end end object detalles: TIBQuery Database = IBDatabase1 Transaction = IBTransaction1 SQL.Strings = ( - - 'SELECT PRESUPUESTOS_CLIENTE_DETALLES.ID, PRESUPUESTOS_CLIENTE_DE' + - 'TALLES.ID_PRESUPUESTO,' - - ' PRESUPUESTOS_CLIENTE_DETALLES.POSICION, PRESUPUESTOS_CLIE' + - 'NTE_DETALLES.TIPO_DETALLE,' - - ' PRESUPUESTOS_CLIENTE_DETALLES.CONCEPTO, PRESUPUESTOS_CLIE' + - 'NTE_DETALLES.CANTIDAD,' - - ' PRESUPUESTOS_CLIENTE_DETALLES.IMPORTE_UNIDAD, PRESUPUESTO' + - 'S_CLIENTE_DETALLES.IMPORTE_TOTAL,' - - ' ARTICULOS.REFERENCIA, ARTICULOS.FAMILIA, ARTICULOS.REFERE' + - 'NCIA_PROV as REFERENCIA_PROVEEDOR' - '' - 'FROM PRESUPUESTOS_CLIENTE_DETALLES' - - 'LEFT JOIN ARTICULOS ON (PRESUPUESTOS_CLIENTE_DETALLES.ID_ARTICUL' + - 'O = ARTICULOS.ID)' - 'WHERE PRESUPUESTOS_CLIENTE_DETALLES.ID_PRESUPUESTO = 31' - 'ORDER BY POSICION') + 'SELECT' + ' ID, ID_FACTURA, POSICION, TIPO_DETALLE, CONCEPTO, CANTIDAD,' + ' IMPORTE_UNIDAD, DESCUENTO, IMPORTE_TOTAL, VISIBLE' + 'FROM FACTURAS_CLIENTE_DETALLES' + 'WHERE ID_FACTURA = 25 AND VISIBLE = 1' + 'ORDER BY ID_FACTURA, POSICION;') Left = 136 Top = 352 + object detallesID: TIntegerField + FieldName = 'ID' + Origin = '"FACTURAS_CLIENTE_DETALLES"."ID"' + ProviderFlags = [pfInUpdate, pfInWhere, pfInKey] + Required = True + end + object detallesID_FACTURA: TIntegerField + FieldName = 'ID_FACTURA' + Origin = '"FACTURAS_CLIENTE_DETALLES"."ID_FACTURA"' + Required = True + end + object detallesPOSICION: TIntegerField + FieldName = 'POSICION' + Origin = '"FACTURAS_CLIENTE_DETALLES"."POSICION"' + end + object detallesTIPO_DETALLE: TIBStringField + FieldName = 'TIPO_DETALLE' + Origin = '"FACTURAS_CLIENTE_DETALLES"."TIPO_DETALLE"' + Size = 10 + end + object detallesCONCEPTO: TIBStringField + FieldName = 'CONCEPTO' + Origin = '"FACTURAS_CLIENTE_DETALLES"."CONCEPTO"' + Size = 2000 + end + object detallesCANTIDAD: TIntegerField + FieldName = 'CANTIDAD' + Origin = '"FACTURAS_CLIENTE_DETALLES"."CANTIDAD"' + end + object detallesIMPORTE_UNIDAD: TIBBCDField + FieldName = 'IMPORTE_UNIDAD' + Origin = '"FACTURAS_CLIENTE_DETALLES"."IMPORTE_UNIDAD"' + Precision = 18 + Size = 2 + end + object detallesDESCUENTO: TFloatField + FieldName = 'DESCUENTO' + Origin = '"FACTURAS_CLIENTE_DETALLES"."DESCUENTO"' + end + object detallesIMPORTE_TOTAL: TIBBCDField + FieldName = 'IMPORTE_TOTAL' + Origin = '"FACTURAS_CLIENTE_DETALLES"."IMPORTE_TOTAL"' + Precision = 18 + Size = 2 + end + object detallesVISIBLE: TSmallintField + FieldName = 'VISIBLE' + Origin = '"FACTURAS_CLIENTE_DETALLES"."VISIBLE"' + end + end + object DABINAdapter: TDABINAdapter + Left = 48 + Top = 80 + end + object DADSCabecera: TDADataSource + DataSet = tbl_Cabecera.Dataset + DataTable = tbl_Cabecera + Left = 264 + Top = 72 + end + object DADSDetalles: TDADataSource + DataSet = tbl_Detalles.Dataset + DataTable = tbl_Detalles + Left = 344 + Top = 72 + end + object tbl_Detalles: TDAMemDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ID' + DataType = datInteger + DictionaryEntry = 'FacturasCliente_Detalles_ID' + InPrimaryKey = True + end + item + Name = 'ID_FACTURA' + DataType = datInteger + DictionaryEntry = 'FacturasCliente_Detalles_ID_FACTURA' + end + item + Name = 'POSICION' + DataType = datInteger + DictionaryEntry = 'FacturasCliente_Detalles_POSICION' + end + item + Name = 'TIPO_DETALLE' + DataType = datString + Size = 10 + DictionaryEntry = 'FacturasCliente_Detalles_TIPO_DETALLE' + end + item + Name = 'CONCEPTO' + DataType = datString + Size = 2000 + DictionaryEntry = 'FacturasCliente_Detalles_CONCEPTO' + end + item + Name = 'CANTIDAD' + DataType = datInteger + DictionaryEntry = 'FacturasCliente_Detalles_CANTIDAD' + end + item + Name = 'IMPORTE_UNIDAD' + DataType = datCurrency + DictionaryEntry = 'FacturasCliente_Detalles_IMPORTE_UNIDAD' + end + item + Name = 'DESCUENTO' + DataType = datFloat + end + item + Name = 'IMPORTE_TOTAL' + DataType = datCurrency + DictionaryEntry = 'FacturasCliente_Detalles_IMPORTE_TOTAL' + end + item + Name = 'VISIBLE' + DataType = datSmallInt + DictionaryEntry = 'FacturasCliente_Detalles_VISIBLE' + end> + Params = < + item + Name = 'ID_FACTURA' + DataType = datInteger + Value = '13' + ParamType = daptInput + end> + MasterParamsMappings.Strings = ( + 'ID_FACTURA=ID') + LogChanges = False + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteFetchEnabled = False + LocalSchema = schReport + LocalDataStreamer = DABINAdapter + MasterSource = DADSCabecera + MasterFields = 'ID' + DetailFields = 'ID_FACTURA' + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'InformeFacturasCliente_Detalles' + IndexDefs = <> + Left = 344 + Top = 128 + end + object tbl_Cabecera: TDAMemDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ID' + DataType = datInteger + DictionaryEntry = 'FacturasCliente_ID' + InPrimaryKey = True + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + DictionaryEntry = 'FacturasCliente_ID_EMPRESA' + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + DictionaryEntry = 'FacturasCliente_REFERENCIA' + end + item + Name = 'TIPO' + DataType = datString + Size = 1 + end + item + Name = 'FECHA_FACTURA' + DataType = datDateTime + DictionaryEntry = 'FacturasCliente_FECHA_FACTURA' + end + item + Name = 'BASE_IMPONIBLE' + DataType = datCurrency + DictionaryEntry = 'FacturasCliente_BASE_IMPONIBLE' + end + item + Name = 'SITUACION' + DataType = datString + Size = 19 + end + item + Name = 'DESCUENTO' + DataType = datFloat + DictionaryEntry = 'FacturasCliente_DESCUENTO' + end + item + Name = 'IMPORTE_DESCUENTO' + DataType = datCurrency + DictionaryEntry = 'FacturasCliente_IMPORTE_DESCUENTO' + end + item + Name = 'IVA' + DataType = datFloat + DictionaryEntry = 'FacturasCliente_IVA' + end + item + Name = 'IMPORTE_IVA' + DataType = datCurrency + DictionaryEntry = 'FacturasCliente_IMPORTE_IVA' + end + item + Name = 'RE' + DataType = datFloat + end + item + Name = 'IMPORTE_RE' + DataType = datCurrency + end + item + Name = 'IMPORTE_TOTAL' + DataType = datCurrency + DictionaryEntry = 'FacturasCliente_IMPORTE_TOTAL' + end + item + Name = 'OBSERVACIONES' + DataType = datMemo + DictionaryEntry = 'FacturasCliente_OBSERVACIONES' + end + item + Name = 'NIF_CIF' + DataType = datString + Size = 15 + DictionaryEntry = 'FacturasCliente_NIF_CIF' + end + item + Name = 'ID_CLIENTE' + DataType = datInteger + DictionaryEntry = 'FacturasCliente_ID_CLIENTE' + end + item + Name = 'NOMBRE' + DataType = datString + Size = 255 + DictionaryEntry = 'FacturasCliente_NOMBRE' + end + item + Name = 'CALLE' + DataType = datString + Size = 255 + DictionaryEntry = 'FacturasCliente_CALLE' + end + item + Name = 'PROVINCIA' + DataType = datString + Size = 255 + DictionaryEntry = 'FacturasCliente_PROVINCIA' + end + item + Name = 'POBLACION' + DataType = datString + Size = 255 + DictionaryEntry = 'FacturasCliente_POBLACION' + end + item + Name = 'CODIGO_POSTAL' + DataType = datString + Size = 10 + DictionaryEntry = 'FacturasCliente_CODIGO_POSTAL' + 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> + Params = < + item + Name = 'ID' + DataType = datInteger + Value = '1' + ParamType = daptInput + end> + LogChanges = False + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteFetchEnabled = False + LocalSchema = schReport + LocalDataStreamer = DABINAdapter + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'InformeFacturasCliente' + IndexDefs = <> + Left = 264 + Top = 128 + end + object frxCheckBoxObject1: TfrxCheckBoxObject + Left = 296 + Top = 288 + end + object frxChartObject1: TfrxChartObject + Left = 296 + Top = 336 + end + object frxGradientObject1: TfrxGradientObject + Left = 360 + Top = 288 + end + object frxCrossObject1: TfrxCrossObject + Left = 360 + Top = 440 + end + object frxOLEObject1: TfrxOLEObject + Left = 296 + Top = 440 + end + object frxBarCodeObject1: TfrxBarCodeObject + Left = 360 + Top = 392 + end + object frxRichObject1: TfrxRichObject + Left = 296 + Top = 392 + end + object frxReport: TfrxReport + Version = '4.3' + DotMatrixReport = False + EngineOptions.DoublePass = True + IniFile = '\Software\Fast Reports' + PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick] + PreviewOptions.Zoom = 1.000000000000000000 + PrintOptions.Printer = 'Por defecto' + PrintOptions.PrintOnSheet = 0 + ReportOptions.CreateDate = 39065.872423495400000000 + ReportOptions.LastChange = 39460.995435648100000000 + ScriptLanguage = 'PascalScript' + ScriptText.Strings = ( + '' + 'procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);' + 'var' + ' Cadena: String;' + 'begin' + '{ DatosEmpresa.Lines.Clear;' + ' if ( <> '#39#39') then' + ' Cadena := '#39'TLF: '#39' + ;' + ' if ( <> '#39#39') then' + + ' Cadena := Cadena + '#39' FAX: '#39' + ;' + ' DatosEmpresa.Lines.Add(Cadena);' + '}' + 'end;' + '' + 'procedure NombreEmpresaOnBeforePrint(Sender: TfrxComponent);' + 'begin' + '{ NombreEmpresa.Lines.Clear;' + ' NombreEmpresa.Lines.Add();' + '}' + 'end;' + '' + 'procedure DireccionEnvioOnBeforePrint(Sender: TfrxComponent);' + 'var' + ' ACadena : String;' + 'begin' + '{ ACadena := '#39#39';' + ' DireccionEnvio.Lines.Clear;' + ' if ( <> '#39#39') then' + ' ACadena := ;' + '' + ' if ( <> '#39#39') then' + + ' ACadena := ACadena + '#39' '#39' + ;' + '' + ' DireccionEnvio.Lines.Add(ACadena);' + ' ACadena := '#39#39';' + ' DireccionEnvio.Lines.Add();' + ' if ( <> '#39#39') then' + ' ACadena := + '#39' '#39';' + ' if ( <> '#39#39') then' + ' ACadena := ACadena + ;' + '' + ' if (ACadena <> '#39#39') then' + ' DireccionEnvio.Lines.Add(ACadena);' + '' + ' if ( <> '#39#39') then' + ' DireccionEnvio.Lines.Add();' + '' + ' if ( <> '#39#39') then' + ' DireccionEnvio.Lines.Add();' + '}' + 'end;' + '' + 'procedure PageHeader1OnBeforePrint(Sender: TfrxComponent);' + 'begin' + '{ if not Engine.FinalPass then' + ' Set('#39'TotalPaginas'#39', ( + 1));' + '' + ' if Engine.FinalPass then' + ' Set('#39'Pagina'#39', ( + 1));} ' + 'end;' + '' + 'procedure frxReportOnStartReport(Sender: TfrxComponent);' + 'begin' + ' Set('#39'Pagina'#39', 0);' + ' Set('#39'TotalPaginas'#39', 0);' + ' Set('#39'Capitulo'#39', 0);' + ' Set('#39'NumCapitulos'#39', 0); ' + 'end;' + '' + 'procedure Memo4OnBeforePrint(Sender: TfrxComponent);' + 'begin' + ' if (Length() = 0) then' + ' Memo4.Visible := False; ' + 'end;' + '' + 'begin' + '' + 'end.') + ShowProgress = False + StoreInDFM = False + OnStartReport = 'frxReportOnStartReport' + Left = 145 + Top = 16 end end diff --git a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas index bd95b1a1..1150ea96 100644 --- a/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas +++ b/Source/Modulos/Facturas de cliente/Reports/uRptFacturasCliente_Server.pas @@ -7,33 +7,70 @@ uses Dialogs, frxClass, frxDBSet, uDAScriptingProvider, uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient, frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes, - uDAInterfaces, uDADataStreamer, IBCustomDataSet, IBQuery, IBDatabase; + uDAInterfaces, uDADataStreamer, IBCustomDataSet, IBQuery, IBDatabase, + uDAMemDataTable; type TRptFacturasCliente = class(TDataModule) - DADataCabecera: TDADataSource; - DADataDetalles: TDADataSource; - tbl_FacturaCliente: TDACDSDataTable; - tbl_DetallesFacturaCliente: TDACDSDataTable; frxDBCabecera: TfrxDBDataset; frxDBDetalles: TfrxDBDataset; - DADataVencimientos: TDADataSource; - tbl_Vencimientos: TDACDSDataTable; - frxDBDataset1: TfrxDBDataset; - schReport: TDASchema; DataDictionary: TDADataDictionary; - frxReport: TfrxReport; - frxBarCodeObject1: TfrxBarCodeObject; - frxOLEObject1: TfrxOLEObject; - frxCrossObject1: TfrxCrossObject; - frxCheckBoxObject1: TfrxCheckBoxObject; - frxGradientObject1: TfrxGradientObject; IBDatabase1: TIBDatabase; IBTransaction1: TIBTransaction; DataSource1: TDataSource; DataSource2: TDataSource; cabecera: TIBQuery; detalles: TIBQuery; + schReport: TDASchema; + DABINAdapter: TDABINAdapter; + DADSCabecera: TDADataSource; + DADSDetalles: TDADataSource; + tbl_Detalles: TDAMemDataTable; + tbl_Cabecera: TDAMemDataTable; + frxCheckBoxObject1: TfrxCheckBoxObject; + frxChartObject1: TfrxChartObject; + frxGradientObject1: TfrxGradientObject; + frxCrossObject1: TfrxCrossObject; + frxOLEObject1: TfrxOLEObject; + frxBarCodeObject1: TfrxBarCodeObject; + frxRichObject1: TfrxRichObject; + frxReport: TfrxReport; + cabeceraID: TIntegerField; + cabeceraID_EMPRESA: TIntegerField; + cabeceraREFERENCIA: TIBStringField; + cabeceraTIPO: TIBStringField; + cabeceraFECHA_FACTURA: TDateField; + cabeceraBASE_IMPONIBLE: TIBBCDField; + cabeceraSITUACION: TIBStringField; + cabeceraDESCUENTO: TFloatField; + cabeceraIMPORTE_DESCUENTO: TIBBCDField; + cabeceraIVA: TFloatField; + cabeceraIMPORTE_IVA: TIBBCDField; + cabeceraRE: TFloatField; + cabeceraIMPORTE_RE: TIBBCDField; + cabeceraIMPORTE_TOTAL: TIBBCDField; + cabeceraOBSERVACIONES: TMemoField; + cabeceraNIF_CIF: TIBStringField; + cabeceraID_CLIENTE: TIntegerField; + cabeceraNOMBRE: TIBStringField; + cabeceraCALLE: TIBStringField; + cabeceraPROVINCIA: TIBStringField; + cabeceraPOBLACION: TIBStringField; + cabeceraCODIGO_POSTAL: TIBStringField; + cabeceraRECARGO_EQUIVALENCIA: TSmallintField; + cabeceraIMPORTE_NETO: TIBBCDField; + cabeceraIMPORTE_PORTE: TIBBCDField; + cabeceraFORMA_PAGO: TIBStringField; + detallesID: TIntegerField; + detallesID_FACTURA: TIntegerField; + detallesPOSICION: TIntegerField; + detallesTIPO_DETALLE: TIBStringField; + detallesCONCEPTO: TIBStringField; + detallesCANTIDAD: TIntegerField; + detallesIMPORTE_UNIDAD: TIBBCDField; + detallesDESCUENTO: TFloatField; + detallesIMPORTE_TOTAL: TIBBCDField; + detallesVISIBLE: TSmallintField; procedure DataModuleCreate(Sender: TObject); private FConnection: IDAConnection; @@ -76,7 +113,7 @@ var begin Result := Binary.Create; - FConnection.BeginTransaction; + //FConnection.BeginTransaction; <--- Creo que no va a hacer falta. try ID_Facturas := TStringList.Create; @@ -89,7 +126,7 @@ begin frxReport.PreviewPages.SaveToStream(Result); finally - FConnection.RollbackTransaction; + //FConnection.RollbackTransaction; <--- Creo que no va a hacer falta. end; end; @@ -103,9 +140,9 @@ begin AStream := TMemoryStream.Create; try - dsMaster := schReport.NewDataset(FConnection, ds_InformeFacturasCliente, ['ID'], [ID]); +{ dsMaster := schReport.NewDataset(FConnection, ds_InformeFacturasCliente, ['ID'], [ID]); dsDetail := schReport.NewDataset(FConnection, ds_InformeFacturasCliente_Detalles, ['ID_FACTURA'], [ID], False); - dsVencimientos := schReport.NewDataset(FConnection, ds_InformeFacturasCliente_Vencimientos, ['ID_FACTURA'], [ID], False); + dsVencimientos := schReport.NewDataset(FConnection, ds_InformeFacturasCliente_Vencimientos, ['ID_FACTURA'], [ID], False);} { AStream.Clear; DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1); @@ -119,6 +156,18 @@ begin DABINAdapter.WriteDataset(AStream, dsVencimientos, [woRows, woSchema], -1); DABINAdapter.ReadDataset(AStream, tbl_Vencimientos, TRUE, '', TRUE, TRUE);} + frxDBCabecera.DataSource := DADSCabecera; + frxDBDetalles.DataSource := DADSDetalles; + +// tbl_Cabecera.ParamByName('ID').AsInteger := AID; + //tbl_Capitulos.ParamByName('ID_FACTURA').AsInteger := AID; +// tbl_Detalles.ParamByName('ID_FACTURA').AsInteger := AID; + //tbl_Resumen.ParamByName('ID_FACTURA').AsInteger := AID; + +{ tbl_Cabecera.Active := True; + tbl_Capitulos.Active := True; + tbl_Detalles.Active := True; + tbl_Resumen.Active := True;} frxReport.LoadFromFile(DarRutaInformes + rptFacturaCliente, True); frxReport.PrepareReport(False); diff --git a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm index 9a624b78..c8374b4f 100644 --- a/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Views/uEditorFacturaCliente.dfm @@ -190,75 +190,111 @@ inherited fEditorFacturaCliente: TfEditorFacturaCliente ExplicitHeight = 283 inherited ToolBar1: TToolBar Width = 774 + Height = 51 ExplicitWidth = 774 - inherited ToolButton4: TToolButton + ExplicitHeight = 51 + inherited ToolButton3: TToolButton Wrap = False end + inherited ToolButton4: TToolButton + Left = 278 + Top = 0 + ExplicitLeft = 278 + ExplicitTop = 0 + end inherited ToolButton14: TToolButton Left = 334 Top = 0 - Wrap = True + Wrap = False ExplicitLeft = 334 ExplicitTop = 0 end inherited FontName: TJvFontComboBox - Left = 0 - ExplicitLeft = 0 + Left = 399 + Top = 0 + ExplicitLeft = 399 + ExplicitTop = 0 end inherited FontSize: TEdit - Left = 145 + Left = 544 + Top = 0 Width = 57 - ExplicitLeft = 145 + ExplicitLeft = 544 + ExplicitTop = 0 ExplicitWidth = 57 end inherited UpDown1: TUpDown - Left = 202 - ExplicitLeft = 202 + Left = 601 + Top = 0 + ExplicitLeft = 601 + ExplicitTop = 0 end inherited ToolButton13: TToolButton - Left = 219 - ExplicitLeft = 219 + Left = 0 + Top = 0 + Wrap = True + ExplicitLeft = 0 + ExplicitTop = 0 + ExplicitHeight = 30 end inherited ToolButton6: TToolButton - Left = 227 - ExplicitLeft = 227 + Left = 0 + Top = 30 + ExplicitLeft = 0 + ExplicitTop = 30 end inherited ToolButton7: TToolButton - Left = 261 - ExplicitLeft = 261 + Left = 66 + Top = 30 + ExplicitLeft = 66 + ExplicitTop = 30 end inherited ToolButton8: TToolButton - Left = 295 - ExplicitLeft = 295 + Left = 133 + Top = 30 + ExplicitLeft = 133 + ExplicitTop = 30 end inherited ToolButton12: TToolButton - Left = 329 - ExplicitLeft = 329 + Left = 216 + Top = 30 + ExplicitLeft = 216 + ExplicitTop = 30 end inherited ToolButton9: TToolButton - Left = 337 - ExplicitLeft = 337 + Left = 224 + Top = 30 + ExplicitLeft = 224 + ExplicitTop = 30 end inherited ToolButton10: TToolButton - Left = 371 - ExplicitLeft = 371 + Left = 369 + Top = 30 + ExplicitLeft = 369 + ExplicitTop = 30 end inherited ToolButton11: TToolButton - Left = 405 - ExplicitLeft = 405 + Left = 494 + Top = 30 + ExplicitLeft = 494 + ExplicitTop = 30 end end inherited cxGrid: TcxGrid + Top = 77 Width = 774 - Height = 211 + Height = 206 + ExplicitTop = 72 ExplicitWidth = 774 ExplicitHeight = 211 end inherited TBXDock1: TTBXDock + Top = 51 Width = 774 - ExplicitWidth = 780 + ExplicitTop = 51 + ExplicitWidth = 774 inherited TBXToolbar1: TTBXToolbar - ExplicitWidth = 548 + ExplicitWidth = 626 end end end diff --git a/Source/Modulos/Facturas de cliente/Views/uViewDetallesFacturaCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uViewDetallesFacturaCliente.dfm index bae69888..60866831 100644 --- a/Source/Modulos/Facturas de cliente/Views/uViewDetallesFacturaCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Views/uViewDetallesFacturaCliente.dfm @@ -1,9 +1,6 @@ inherited frViewDetallesFacturaCliente: TfrViewDetallesFacturaCliente inherited cxGrid: TcxGrid inherited cxGridView: TcxGridDBTableView - inherited cxGridViewTIPO: TcxGridDBColumn - Visible = False - end inherited cxGridViewIMPORTEPORTE: TcxGridDBColumn Visible = False end diff --git a/Source/Modulos/Facturas de cliente/Views/uViewElegirArticulosFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Views/uViewElegirArticulosFacturasCliente.pas index da69478e..5130076a 100644 --- a/Source/Modulos/Facturas de cliente/Views/uViewElegirArticulosFacturasCliente.pas +++ b/Source/Modulos/Facturas de cliente/Views/uViewElegirArticulosFacturasCliente.pas @@ -8,7 +8,7 @@ uses cxDataStorage, cxEdit, DB, cxDBData, cxImageComboBox, cxCurrencyEdit, cxSpinEdit, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, ImgList, PngImageList, - cxGridCustomPopupMenu, cxGridPopupMenu, dxPSCore, dxPScxCommon, dxPScxGridLnk, + cxGridCustomPopupMenu, cxGridPopupMenu, dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, uDADataTable, cxGridLevel, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, dxPgsDlg, ActnList, TB2Item, TBX, TB2Toolbar, TBXDkPanels, TB2Dock, uViewFiltroBase; diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm index ef350f91..cb965335 100644 --- a/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturaCliente.dfm @@ -1,6 +1,6 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente - Width = 451 - Height = 304 + Width = 822 + Height = 317 Align = alClient OnCreate = CustomViewCreate OnDestroy = CustomViewDestroy @@ -9,16 +9,18 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente object dxLayoutControl1: TdxLayoutControl Left = 0 Top = 0 - Width = 451 - Height = 304 + Width = 822 + Height = 317 Align = alClient ParentBackground = True TabOrder = 0 AutoContentSizes = [acsWidth, acsHeight] LookAndFeel = dxLayoutOfficeLookAndFeel1 + ExplicitWidth = 451 + ExplicitHeight = 304 DesignSize = ( - 451 - 304) + 822 + 317) object eReferencia: TcxDBTextEdit Left = 124 Top = 30 @@ -79,7 +81,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente Width = 301 end inline frViewClienteFactura: TfrViewDatosYSeleccionCliente - Left = 310 + Left = 427 Top = 30 Width = 314 Height = 215 @@ -91,7 +93,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente ParentFont = False TabOrder = 5 ReadOnly = False - ExplicitLeft = 310 + ExplicitLeft = 427 ExplicitTop = 30 ExplicitWidth = 314 ExplicitHeight = 215 @@ -126,13 +128,13 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente Width = 327 end inherited edtCodigoPostal: TcxDBTextEdit - Left = 192 + Left = 281 DataBinding.DataSource = DADataSource - ExplicitLeft = 192 + ExplicitLeft = 281 end inherited Button3: TBitBtn - Left = 82 - ExplicitLeft = 82 + Left = 171 + ExplicitLeft = 171 end end end @@ -141,7 +143,6 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente Top = 84 DataBinding.DataField = 'ID_FORMA_PAGO' DataBinding.DataSource = DADataSource - Properties.GridMode = True Properties.ImmediatePost = True Properties.KeyFieldNames = 'ID' Properties.ListColumns = < @@ -150,7 +151,9 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente end> Properties.ListOptions.GridLines = glNone Properties.ListOptions.ShowHeader = False + Properties.ListOptions.SyncMode = True Properties.ListSource = dsFormaPago + Properties.PostPopupValueOnTab = True Style.BorderColor = clWindowFrame Style.BorderStyle = ebs3D Style.HotTrack = False @@ -168,7 +171,7 @@ inherited frViewFacturaCliente: TfrViewFacturaCliente Width = 78 end object bFormasPago: TButton - Left = 150 + Left = 267 Top = 84 Width = 132 Height = 23 diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm index 6a08e522..833d8194 100644 --- a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm +++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.dfm @@ -123,6 +123,8 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente object cxGridViewREFERENCIA_COMISION: TcxGridDBColumn Caption = 'Liquidaci'#243'n' DataBinding.FieldName = 'REFERENCIA_COMISION' + Visible = False + VisibleForCustomization = False Width = 54 end end @@ -147,6 +149,14 @@ inherited frViewFacturasCliente: TfrViewFacturasCliente inherited dxLayoutControl1: TdxLayoutControl Width = 531 ExplicitWidth = 531 + inherited txtFiltroTodo: TcxTextEdit + ExplicitWidth = 273 + Width = 273 + end + inherited edtFechaIniFiltro: TcxDateEdit + ExplicitWidth = 121 + Width = 121 + end inherited edtFechaFinFiltro: TcxDateEdit Left = 248 ExplicitLeft = 248 diff --git a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas index e82183ba..fca33755 100644 --- a/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas +++ b/Source/Modulos/Facturas de cliente/Views/uViewFacturasCliente.pas @@ -9,7 +9,7 @@ uses dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, cxImageComboBox, cxTextEdit, ImgList, PngImageList, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, - dxPSCore, dxPScxCommon, dxPScxGridLnk, ActnList, uDADataTable, + dxPSCore, dxPScxCommon, dxPScxGrid6Lnk, ActnList, uDADataTable, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, cxImage, Grids, DBGrids, uBizFacturasCliente, cxGridCustomPopupMenu, cxGridPopupMenu, cxCalendar, cxCurrencyEdit, uViewFiltroBase, TB2Item, TBX,