//--------------------------------------------------------------------------- #include #include #pragma hdrstop #include "Inicializador.h" #include "Inicio1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TInitBDE *InitBDE; //--------------------------------------------------------------------------- __fastcall TInitBDE::TInitBDE(TComponent* Owner) : TForm(Owner) { CloseOK = false; } //--------------------------------------------------------------------------- void __fastcall TInitBDE::FormShow(TObject *Sender) { AnsiString FileEmp; AnsiString Directory; Directory = MenuInicio -> Empresas -> Directory; // Repasamos las bases de Datos... (...y las creamos) // Productos Info -> Lines -> Insert( 0, "Productos" ); Table -> TableName = Directory + "Tb_Ref.db"; if ( access( (Table->TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName); CreaProductos( Table ); } Info -> Lines -> Insert( 0, "Productos OK!!!" ); // Productos Circular (COMBINADOS) Info -> Lines -> Insert( 0, "Productos Circulares" ); Table -> TableName = Directory + "Tb_RefC.db"; if ( access( (Table -> TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName); CreaProductosCircular( Table ); } Info -> Lines -> Insert( 0, "Productos Circular OK!!!" ); // Productos Circular (COMBINADOS) Info -> Lines -> Insert( 0, "Productos Seguimiento (Historico)" ); Table -> TableName = Directory + "Tb_RefH.DB"; if ( access( (Table -> TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName); CreaProductosHistorico( Table ); } Info -> Lines -> Insert( 0, "Productos Seguimiento OK!!!" ); /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// // Cuentas Contables Info -> Lines -> Insert( 0, "Contabilidad CuentasContables" ); Table -> TableName = Directory + "Tb_CtblCC.db"; if ( access( (Table -> TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName ); CreaCtblCC( Table ); } Info -> Lines -> Insert( 0, "Ctbl_CC OK!!!" ); // Parte Contable Info -> Lines -> Insert( 0, "Contabilidad ParteContable" ); Table -> TableName = Directory + "Tb_CtblPteC.db"; if ( access( (Table -> TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName ); CreaCtblPteC( Table ); } Info -> Lines -> Insert( 0, "Parte Contable OK!!!" ); // Cartera_Prov ( Fraccionamiento del pago de una factura... ) Info -> Lines -> Insert( 0, "Cartera Proveedores" ); Table -> TableName = Directory + "Tb_CarteraProv.db"; if ( access( (Table -> TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName ); CreaCartera( Table ); } Info -> Lines -> Insert( 0, "Cartera Proveedores OK!!!" ); // Cartera_Clt ( Fraccionamiento del pago de una factura... ) Info -> Lines -> Insert( 0, "Cartera Clientes" ); Table -> TableName = Directory + "Tb_CarteraClt.db"; if ( access( (Table -> TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName ); CreaCartera( Table ); } Info -> Lines -> Insert( 0, "Cartera Clientes OK!!!" ); #ifndef TB_DISCONTINUAS // Factura Compras Lineas Info -> Lines -> Insert( 0, "FactCmp Lineas (cuerpo)" ); Table -> TableName = Directory + "Compras (cuerpo).db"; if ( access( (Table -> TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName ); CreaFacturasCmpL( Table ); } Info -> Lines -> Insert( 0, "FactCmp Lineas OK!!!" ); // Factura Compras Cabecera Info -> Lines -> Insert( 0, "FactCmp Cabecera" ); Table -> TableName = Directory + "Compras (cabecera).db"; if ( access( (Table -> TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName ); CreaFacturasCmpC( Table ); } Info -> Lines -> Insert( 0, "FactCmp Cabecera OK!!!" ); // Factura Ventas Contabilización Info -> Lines -> Insert( 0, "FactVnt Real" ); Table -> TableName = Directory + "Ventas (Factura).db"; if ( access( (Table -> TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName ); CreaFacturasVntR( Table ); } Info -> Lines -> Insert( 0, "FactVnt Contabilización OK!!!" ); // Factura Ventas Lineas Info -> Lines -> Insert( 0, "FactVnt Lineas (cuerpo)" ); Table -> TableName = Directory + "Ventas (cuerpo).db"; if ( access( (Table -> TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName ); CreaFacturasVntL( Table ); } Info -> Lines -> Insert( 0, "FactVnt Lineas OK!!!" ); // Factura Ventas Cabecera Info -> Lines -> Insert( 0, "FactVnt Cabecera" ); Table -> TableName = Directory + "Ventas (cabecera).db"; if ( access( (Table -> TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName ); CreaFacturasVntC( Table ); } Info -> Lines -> Insert( 0, "FactVnt Cabecera OK!!!" ); // Informe Ventas Cajs Info -> Lines -> Insert( 0, "Informe VntCaja " ); Table -> TableName = Directory + "Ventas (caja).db"; if ( access( (Table -> TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName ); CreaInformeVntC( Table ); } Info -> Lines -> Insert( 0, "Informe VntCaja OK!!!" ); // Informe Ventas Cajs Info -> Lines -> Insert( 0, "Verificando permisos " ); Table -> TableName = Directory + "AccessControl.db"; if ( access( (Table -> TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName ); CreaPermisos( Table ); } Info -> Lines -> Insert( 0, "permisos correctos OK!!!" ); /* // Informe Ventas Info -> Lines -> Insert( 0, "Ventas con factura" ); Table -> TableName = Directory + "Ventas (iva).db"; if ( access( (Table -> TableName).c_str(), 0 ) != 0 ) { Info -> Lines -> Insert( 0, ">>> Creando..." + Table->TableName ); CreaFacturasVntR( Table ); } Info -> Lines -> Insert( 0, "Ventas con factura OK!!!" ); */ #endif CloseOK = true; } //--------------------------------------------------------------------------- void __fastcall TInitBDE::CreaProductos( TTable *TbProdBusq ) { // Establecemos la ruta TbProdBusq -> DatabaseName = "TpvWin"; // Facilitamos el nombre de la nueva tabla y su tipo // TbProdBusq -> TableName = "Tm_Ref.db"; // TbProdBusq -> TableType = ttParadox; // Usamos la propiedad FielDefs para definir // las columnas que contendrá la tabla TbProdBusq -> FieldDefs -> Clear(); TbProdBusq -> FieldDefs -> Add("ForcedIndex", ftAutoInc, 0, false ); TbProdBusq -> FieldDefs -> Add("Código de Barras", ftInteger, 0, false ); TbProdBusq -> FieldDefs -> Add("ID Producto", ftString, 15, false ); TbProdBusq -> FieldDefs -> Add("Familia", ftInteger, 0, false ); TbProdBusq -> FieldDefs -> Add("Familia2", ftInteger, 0, false ); TbProdBusq -> FieldDefs -> Add("EsNodo", ftSmallint, 0, false ); TbProdBusq -> FieldDefs -> Add("Nombre del Producto", ftString, 50, false ); TbProdBusq -> FieldDefs -> Add("CantUnitaria", ftFloat, 0, false ); TbProdBusq -> FieldDefs -> Add("Precio Costo", ftCurrency, 0, false ); TbProdBusq -> FieldDefs -> Add("I.V.A", ftFloat, 0, false ); TbProdBusq -> FieldDefs -> Add("Precio Venta 1", ftCurrency, 0, false ); TbProdBusq -> FieldDefs -> Add("Cantid Venta 1", ftFloat, 0, false ); TbProdBusq -> FieldDefs -> Add("Precio Venta 2", ftCurrency, 0, false ); TbProdBusq -> FieldDefs -> Add("Cantid Venta 2", ftFloat, 0, false ); TbProdBusq -> FieldDefs -> Add("Precio Venta 3", ftCurrency, 0, false ); TbProdBusq -> FieldDefs -> Add("Cantid Venta 3", ftFloat, 0, false ); TbProdBusq -> FieldDefs -> Add("Precio Venta 4", ftCurrency, 0, false ); TbProdBusq -> FieldDefs -> Add("Cantid Venta 4", ftFloat, 0, false ); TbProdBusq -> FieldDefs -> Add("Precio Venta 5", ftCurrency, 0, false ); TbProdBusq -> FieldDefs -> Add("Cantid Venta 5", ftFloat, 0, false ); TbProdBusq -> FieldDefs -> Add("Stock Actual", ftFloat, 0, false ); TbProdBusq -> FieldDefs -> Add("COMBINADO", ftBoolean, 0, false ); TbProdBusq -> FieldDefs -> Add("StockMinimo", ftInteger, 0, false ); TbProdBusq -> FieldDefs -> Add("StockPedido", ftInteger, 0, false ); TbProdBusq -> FieldDefs -> Add("ProveedorActual", ftInteger, 0, false ); TbProdBusq -> FieldDefs -> Add("IVA Costo", ftFloat, 0, false ); TbProdBusq -> FieldDefs -> Add("Localizacion", ftString, 64, false ); TbProdBusq -> FieldDefs -> Add("EnviarA", ftSmallint, 0, false ); TbProdBusq -> FieldDefs -> Add("Seguimiento", ftBoolean, 0, false ); TbProdBusq -> FieldDefs -> Add("PathImagen", ftString, 80, false ); TbProdBusq -> FieldDefs -> Add("URLinfo", ftString, 80, false ); TbProdBusq -> FieldDefs -> Add("Fabricante", ftString, 30, false ); TbProdBusq -> IndexDefs-> Clear(); TIndexOptions MyIndexOptions; MyIndexOptions << ixPrimary << ixUnique; TbProdBusq->IndexDefs->Add("Primary", "ForcedIndex", MyIndexOptions); TbProdBusq->IndexDefs->Add("FamIdx", "Familia;Familia2;EsNodo", TIndexOptions() << ixCaseInsensitive ); TbProdBusq->IndexDefs->Add("NombreProd", "Nombre del Producto", TIndexOptions() << ixCaseInsensitive ); // Creamos la base... TbProdBusq -> CreateTable(); } //--------------------------------------------------------------------------- void __fastcall TInitBDE::CreaProductosCircular( TTable *TbProdBusq ) { // Establecemos la ruta TbProdBusq -> DatabaseName = "TpvWin"; // Facilitamos el nombre de la nueva tabla y su tipo // Usamos la propiedad FielDefs para definir // las columnas que contendrá la tabla TbProdBusq -> FieldDefs -> Clear(); TbProdBusq -> FieldDefs -> Add("CodProdC", ftInteger, 0, false ); TbProdBusq -> FieldDefs -> Add("CodProdE", ftInteger, 0, false ); TbProdBusq -> FieldDefs -> Add("Cantidad", ftFloat, 0, false ); TbProdBusq -> IndexDefs-> Clear(); TbProdBusq->IndexDefs->Add("Primary", "CodProdC;CodProdE", TIndexOptions() << ixPrimary << ixUnique ); TbProdBusq->IndexDefs->Add("CCircular", "CodProdC", TIndexOptions() << ixCaseInsensitive ); // Creamos la base... TbProdBusq -> CreateTable(); } //--------------------------------------------------------------------------- void __fastcall TInitBDE::CreaProductosHistorico( TTable *TbProdBusq ) { // Establecemos la ruta TbProdBusq -> DatabaseName = "TpvWin"; // Facilitamos el nombre de la nueva tabla y su tipo // Usamos la propiedad FielDefs para definir // las columnas que contendrá la tabla TbProdBusq -> FieldDefs -> Clear(); TbProdBusq -> FieldDefs -> Add("CodProd", ftInteger, 0, false ); TbProdBusq -> FieldDefs -> Add("Fecha", ftDate, 0, false ); TbProdBusq -> FieldDefs -> Add("Precio Venta", ftCurrency, 0, false ); TbProdBusq -> FieldDefs -> Add("Precio Costo", ftCurrency, 0, false ); TbProdBusq -> IndexDefs-> Clear(); TbProdBusq->IndexDefs->Add("Primary", "CodProd;Fecha", TIndexOptions() << ixPrimary << ixUnique ); TbProdBusq->IndexDefs->Add("CodProd", "CodProd", TIndexOptions() << ixCaseInsensitive ); // Creamos la base... TbProdBusq -> CreateTable(); } //--------------------------------------------------------------------------- void __fastcall TInitBDE::CreaFacturasCmpL( TTable *TbFacturasD ) { // Establecemos la ruta TbFacturasD -> DatabaseName = "TpvWin"; // Facilitamos el nombre de la nueva tabla y su tipo TbFacturasD -> TableType = ttParadox; // Usamos la propiedad FielDefs para definir // las columnas que contendrá la tabla TbFacturasD -> FieldDefs -> Clear(); TbFacturasD -> FieldDefs -> Add("MaintenedForced", ftAutoInc, 0, false ); TbFacturasD -> FieldDefs -> Add("EnlaceFactura", ftInteger, 0, false ); TbFacturasD -> FieldDefs -> Add("CodProducto", ftString, 15, false ); TbFacturasD -> FieldDefs -> Add("NombreProducto", ftString, 30, false ); TbFacturasD -> FieldDefs -> Add("IVA", ftSmallint, 0, false ); TbFacturasD -> FieldDefs -> Add("PrecioC", ftCurrency, 0, false ); TbFacturasD -> FieldDefs -> Add("Cantidad", ftFloat, 0, false ); TbFacturasD -> FieldDefs -> Add("Dto", ftSmallint, 0, false ); TbFacturasD -> IndexDefs-> Clear(); TbFacturasD->IndexDefs->Add("Primary", "MaintenedForced", TIndexOptions() << ixPrimary << ixUnique ); TbFacturasD->IndexDefs->Add("EnlaceFactura (idx)", "EnlaceFactura", TIndexOptions() << ixCaseInsensitive ); // Creamos la base... TbFacturasD -> CreateTable(); } //--------------------------------------------------------------------------- void __fastcall TInitBDE::CreaFacturasCmpC( TTable *TbFacturasC ) { // Establecemos la ruta TbFacturasC -> DatabaseName = "TpvWin"; // Facilitamos el nombre de la nueva tabla y su tipo TbFacturasC -> TableType = ttParadox; // Usamos la propiedad FielDefs para definir // las columnas que contendrá la tabla TbFacturasC -> FieldDefs -> Clear(); TbFacturasC -> FieldDefs -> Add("EnlaceFactura", ftAutoInc, 0, true ); TbFacturasC -> FieldDefs -> Add("CodFactura", ftString, 15, false ); TbFacturasC -> FieldDefs -> Add("CodProveedor", ftInteger, 0, false ); TbFacturasC -> FieldDefs -> Add("FechaFactura", ftDate, 0, false ); TbFacturasC -> FieldDefs -> Add("TotalSin", ftCurrency, 0, false ); TbFacturasC -> FieldDefs -> Add("TotalIva", ftCurrency, 0, false ); TbFacturasC -> FieldDefs -> Add("UltimoPago", ftDate, 0, false ); TbFacturasC -> FieldDefs -> Add("TotalFrac", ftCurrency, 0, false ); // Nº de Pagos en los que divide la factura TbFacturasC -> FieldDefs -> Add("NumeroPagos", ftSmallint, 0, false ); TbFacturasC -> FieldDefs -> Add("Descripcion", ftString, 30, false ); TbFacturasC -> FieldDefs -> Add("Contabilizada", ftBoolean, 0, false ); TbFacturasC -> FieldDefs -> Add("Banco_Entidad", ftSmallint, 0, false ); TbFacturasC -> FieldDefs -> Add("Banco_Sucursal", ftSmallint, 0, false ); TbFacturasC -> FieldDefs -> Add("Banco_DC", ftSmallint, 0, false ); TbFacturasC -> FieldDefs -> Add("Banco_NumCuenta", ftString, 10, false ); TbFacturasC -> FieldDefs -> Add("FormaPago", ftSmallint, 0, false ); TbFacturasC -> FieldDefs -> Add("Cod_Abono_Albaran", ftInteger, 0, false ); TbFacturasC -> FieldDefs -> Add("Abono_o_Albaran", ftBoolean, 0, false ); TbFacturasC -> IndexDefs-> Clear(); TbFacturasC->IndexDefs->Add("Primary", "EnlaceFactura", TIndexOptions() << ixPrimary << ixUnique ); TbFacturasC->IndexDefs->Add("CodProveedor (idx)", "CodProveedor", TIndexOptions() << ixCaseInsensitive ); // Creamos la base... TbFacturasC -> CreateTable(); } //--------------------------------------------------------------------------- void __fastcall TInitBDE::CreaFacturasVntL( TTable *TbVentasD ) { // Establecemos la ruta TbVentasD -> DatabaseName = "TpvWin"; // Facilitamos el nombre de la nueva tabla y su tipo TbVentasD -> TableType = ttParadox; // Usamos la propiedad FielDefs para definir // las columnas que contendrá la tabla TbVentasD -> FieldDefs -> Clear(); TbVentasD -> FieldDefs -> Add("MaintenedForced", ftAutoInc, 0, false ); TbVentasD -> FieldDefs -> Add("EnlaceFactura", ftInteger, 0, false ); /*********************************\ */ TbVentasD -> FieldDefs -> Add("CodProductoAux", ftInteger, 0, false ); TbVentasD -> FieldDefs -> Add("CodProducto", ftString, 15, false ); TbVentasD -> FieldDefs -> Add("NombreProducto", ftString, 30, false ); /*********************************\ TbVentasD -> FieldDefs -> Add("CodProductoAux", ftInteger, 0, false ); /*********************************\ */ TbVentasD -> FieldDefs -> Add("IVA", ftSmallint, 0, false ); TbVentasD -> FieldDefs -> Add("PrecioC", ftCurrency, 0, false ); TbVentasD -> FieldDefs -> Add("Cantidad", ftFloat, 0, false ); TbVentasD -> FieldDefs -> Add("Dto", ftSmallint, 0, false ); TbVentasD -> IndexDefs-> Clear(); TbVentasD->IndexDefs->Add("Primary", "MaintenedForced", TIndexOptions() << ixPrimary << ixUnique ); TbVentasD->IndexDefs->Add("EnlaceFactura (idx)", "EnlaceFactura", TIndexOptions() << ixCaseInsensitive ); // Creamos la base... TbVentasD -> CreateTable(); } //--------------------------------------------------------------------------- void __fastcall TInitBDE::CreaFacturasVntC( TTable *TbVentasC ) { // Establecemos la ruta TbVentasC -> DatabaseName = "TpvWin"; // Facilitamos el nombre de la nueva tabla y su tipo TbVentasC -> TableType = ttParadox; // Usamos la propiedad FielDefs para definir // las columnas que contendrá la tabla TbVentasC -> FieldDefs -> Clear(); // El EnlaceFactura sirve de Nº de Albaran TbVentasC -> FieldDefs -> Add("EnlaceFactura", ftAutoInc, 0, true ); // Código de Factura que le corresponde a este albaran (0 de no tener) TbVentasC -> FieldDefs -> Add("CodFactura", ftInteger, 0, false ); TbVentasC -> FieldDefs -> Add("CodCliente", ftInteger, 0, false ); TbVentasC -> FieldDefs -> Add("CodEmpleado", ftInteger, 0, false ); TbVentasC -> FieldDefs -> Add("FechaAlbaran", ftDate, 0, false ); TbVentasC -> FieldDefs -> Add("FechaFactura", ftDate, 0, false ); TbVentasC -> FieldDefs -> Add("HoraFactura", ftTime, 0, false ); // Si esta CERRADA = 0 // sino --> Indica el nº de terminal que la mantiene abierta TbVentasC -> FieldDefs -> Add("FacturaAbierta", ftSmallint, 0, false ); // Totales Sin IVA / Montante del IVA / Fecha del Ultimo pago / Total a Fraccionar TbVentasC -> FieldDefs -> Add("TotalSin", ftCurrency, 0, false ); TbVentasC -> FieldDefs -> Add("TotalIva", ftCurrency, 0, false ); TbVentasC -> FieldDefs -> Add("UltimoPago", ftDate, 0, false ); TbVentasC -> FieldDefs -> Add("TotalFrac", ftCurrency, 0, false ); // Nº de Pagos en los que divide la factura TbVentasC -> FieldDefs -> Add("NumeroPagos", ftSmallint, 0, false ); // ¿ Desea adjuntar las notas, AL IMPRIMIR ? TbVentasC -> FieldDefs -> Add("ImprimirNotas", ftBoolean, 0, false ); TbVentasC -> FieldDefs -> Add("NotasFactura", ftMemo, 0, false ); // ¿ Facturada y CONTABILIZADA ? TbVentasC -> FieldDefs -> Add("Contabilizada", ftBoolean, 0, false ); TbVentasC -> FieldDefs -> Add("Banco_Entidad", ftSmallint, 0, false ); TbVentasC -> FieldDefs -> Add("Banco_Sucursal", ftSmallint, 0, false ); TbVentasC -> FieldDefs -> Add("Banco_DC", ftSmallint, 0, false ); TbVentasC -> FieldDefs -> Add("Banco_NumCuenta", ftString, 10, false ); TbVentasC -> FieldDefs -> Add("FormaPago", ftSmallint, 0, false ); // Nº de la Factura a la que abona TbVentasC -> FieldDefs -> Add("Cod_Abono_Albaran", ftInteger, 0, false ); // Esta factura es un ABONO / ALBARAN TbVentasC -> FieldDefs -> Add("Abono_o_Albaran", ftBoolean, 0, false ); TbVentasC -> IndexDefs-> Clear(); TbVentasC->IndexDefs->Add("Primary", "EnlaceFactura", TIndexOptions() << ixPrimary << ixUnique ); TbVentasC->IndexDefs->Add("CodFactura (idx)", "CodFactura", TIndexOptions() << ixCaseInsensitive ); TbVentasC->IndexDefs->Add("CodCliente (idx)", "CodCliente", TIndexOptions() << ixCaseInsensitive ); TbVentasC->IndexDefs->Add("CodEmpleado (idx)", "CodEmpleado", TIndexOptions() << ixCaseInsensitive ); // Creamos la base... TbVentasC -> CreateTable(); } //--------------------------------------------------------------------------- void __fastcall TInitBDE::CreaFacturasVntR( TTable *TbVentasC ) { // Establecemos la ruta TbVentasC -> DatabaseName = "TpvWin"; // Facilitamos el nombre de la nueva tabla y su tipo TbVentasC -> TableType = ttParadox; // Usamos la propiedad FielDefs para definir // las columnas que contendrá la tabla TbVentasC -> FieldDefs -> Clear(); TbVentasC -> FieldDefs -> Add("idF", ftInteger, 0, true ); TbVentasC -> FieldDefs -> Add("idA", ftInteger, 0, true ); TbVentasC -> FieldDefs -> Add("cerrada", ftBoolean, 0, false ); TbVentasC -> IndexDefs-> Clear(); TbVentasC->IndexDefs->Add("Primary", "idF", TIndexOptions() << ixPrimary ); // Creamos la base... TbVentasC -> CreateTable(); } //--------------------------------------------------------------------------- void __fastcall TInitBDE::CreaInformeVntC( TTable *TbVentasI ) { // Establecemos la ruta TbVentasI -> DatabaseName = "TpvWin"; // Facilitamos el nombre de la nueva tabla y su tipo TbVentasI -> TableType = ttParadox; // Usamos la propiedad FielDefs para definir // las columnas que contendrá la tabla TbVentasI -> FieldDefs -> Clear(); TbVentasI -> FieldDefs -> Add("FechaCaja", ftDate, 0, false ); TbVentasI -> FieldDefs -> Add("Inicio", ftTime, 0, false ); TbVentasI -> FieldDefs -> Add("Fin", ftTime, 0, false ); TbVentasI -> FieldDefs -> Add("IntentosSalir", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("ExitoSalir", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Tickets", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Cancelados", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Cambios", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Cantidad x1", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Total x1", ftInteger, 0, false ); TbVentasI -> FieldDefs -> Add("Cantidad x5", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Total x5", ftInteger, 0, false ); TbVentasI -> FieldDefs -> Add("Cantidad x10", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Total x10", ftInteger, 0, false ); TbVentasI -> FieldDefs -> Add("Cantidad x25", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Total x25", ftInteger, 0, false ); TbVentasI -> FieldDefs -> Add("Cantidad x50", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Total x50", ftInteger, 0, false ); TbVentasI -> FieldDefs -> Add("Cantidad x100", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Total x100", ftInteger, 0, false ); TbVentasI -> FieldDefs -> Add("Cantidad x200", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Total x200", ftInteger, 0, false ); TbVentasI -> FieldDefs -> Add("Cantidad x500", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Total x500", ftInteger, 0, false ); TbVentasI -> FieldDefs -> Add("Cantidad x1000", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Total x1000", ftInteger, 0, false ); TbVentasI -> FieldDefs -> Add("Cantidad x2000", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Total x2000", ftInteger, 0, false ); TbVentasI -> FieldDefs -> Add("Cantidad x5000", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Total x5000", ftInteger, 0, false ); TbVentasI -> FieldDefs -> Add("Cantidad x10000", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Total x10000", ftInteger, 0, false ); TbVentasI -> FieldDefs -> Add("Cantidad xvarios", ftSmallint, 0, false ); TbVentasI -> FieldDefs -> Add("Total xvarios", ftInteger, 0, false ); TbVentasI -> FieldDefs -> Add("Notas", ftMemo, 0, false ); TbVentasI -> IndexDefs-> Clear(); TbVentasI->IndexDefs->Add("Primary", "FechaCaja", TIndexOptions() << ixPrimary << ixUnique ); // Creamos la base... TbVentasI -> CreateTable(); } /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// /////////////////////////////////////////////////// void __fastcall TInitBDE::CreaCtblCC( TTable *TbCtblCC ) { // Establecemos la ruta TbCtblCC -> DatabaseName = "TpvWin"; // Facilitamos el nombre de la nueva tabla y su tipo // Usamos la propiedad FielDefs para definir // las columnas que contendrá la tabla TbCtblCC -> FieldDefs -> Clear(); TbCtblCC -> FieldDefs -> Add("CCC", ftInteger, 0, false ); TbCtblCC -> FieldDefs -> Add("Descripcion", ftString, 40, false ); TbCtblCC -> FieldDefs -> Add("TipoCuenta", ftSmallint, 0, false ); TbCtblCC -> IndexDefs-> Clear(); TbCtblCC->IndexDefs->Add("Primary", "CCC", TIndexOptions() << ixPrimary << ixUnique ); TbCtblCC->IndexDefs->Add("TCCC", "TipoCuenta", TIndexOptions() << ixCaseInsensitive ); // Creamos la base... TbCtblCC -> CreateTable(); TbCtblCC -> Open(); // Insertamos al cliente anónimo... TbCtblCC -> InsertRecord( ARRAYOFCONST( ( 472000016, "IVA Soportado", 0 ) ) ); TbCtblCC -> InsertRecord( ARRAYOFCONST( ( 477000016, "IVA Repercutido", 0 ) ) ); TbCtblCC -> Close(); } //--------------------------------------------------------------------------- void __fastcall TInitBDE::CreaCtblPteC( TTable *TbCtblPteC ) { // Establecemos la ruta TbCtblPteC -> DatabaseName = "TpvWin"; // Facilitamos el nombre de la nueva tabla y su tipo // Usamos la propiedad FielDefs para definir // las columnas que contendrá la tabla TbCtblPteC -> FieldDefs -> Clear(); TbCtblPteC -> FieldDefs -> Add("nAsiento", ftInteger, 0, false ); TbCtblPteC -> FieldDefs -> Add("nOrden", ftInteger, 0, false ); TbCtblPteC -> FieldDefs -> Add("Fecha", ftDate, 0, false ); TbCtblPteC -> FieldDefs -> Add("CC", ftInteger, 0, false ); TbCtblPteC -> FieldDefs -> Add("Importe", ftCurrency,0, false ); TbCtblPteC -> FieldDefs -> Add("DebeHaber",ftBoolean, 0, false ); TbCtblPteC -> FieldDefs -> Add("Concepto", ftString, 45, false ); TbCtblPteC -> FieldDefs -> Add("FactOrig", ftInteger, 0, false ); TbCtblPteC -> IndexDefs-> Clear(); TbCtblPteC->IndexDefs->Add("Primary", "nAsiento;nOrden", TIndexOptions() << ixPrimary << ixUnique ); TbCtblPteC->IndexDefs->Add("Fecha", "Fecha;CC", TIndexOptions() << ixCaseInsensitive ); TbCtblPteC->IndexDefs->Add("CCuenta", "CC;Fecha", TIndexOptions() << ixCaseInsensitive ); // Creamos la base... TbCtblPteC -> CreateTable(); } //--------------------------------------------------------------------------- void __fastcall TInitBDE::CreaCartera( TTable *TbCartera ) { // Establecemos la ruta TbCartera -> DatabaseName = "TpvWin"; // Facilitamos el nombre de la nueva tabla y su tipo // Usamos la propiedad FielDefs para definir // las columnas que contendrá la tabla TbCartera -> FieldDefs -> Clear(); TbCartera -> FieldDefs -> Add("EnlaceFactura", ftInteger, 0, false ); TbCartera -> FieldDefs -> Add("Fecha", ftDate, 0, false ); TbCartera -> FieldDefs -> Add("Importe", ftCurrency, 0, false ); TbCartera -> FieldDefs -> Add("Incremento", ftCurrency, 0, false ); TbCartera -> FieldDefs -> Add("FormaPago", ftSmallint, 0, false ); TbCartera -> FieldDefs -> Add("Pagado", ftBoolean, 0, false ); TbCartera -> IndexDefs-> Clear(); TbCartera->IndexDefs->Add("Primary", "EnlaceFactura;Fecha", TIndexOptions() << ixPrimary << ixUnique ); TbCartera->IndexDefs->Add("Fecha", "Fecha;EnlaceFactura;Pagado", TIndexOptions() << ixCaseInsensitive ); TbCartera->IndexDefs->Add("Pagos", "Pagado;EnlaceFactura;Fecha", TIndexOptions() << ixCaseInsensitive ); // Creamos la base... TbCartera -> CreateTable(); } //--------------------------------------------------------------------------- void __fastcall TInitBDE::CreaPermisos( TTable *TbPermisos ) { // Establecemos la ruta TbPermisos -> DatabaseName = "TpvWin"; // Facilitamos el nombre de la nueva tabla y su tipo // Usamos la propiedad FielDefs para definir // las columnas que contendrá la tabla TbPermisos -> FieldDefs -> Clear(); TbPermisos -> FieldDefs -> Add("EnlacePersona", ftInteger, 0, false ); TbPermisos -> FieldDefs -> Add("PassWord", ftString, 64, false ); TbPermisos -> FieldDefs -> Add("ArtReferencias", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("ArtStockActual", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("ArtVentas", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("ProvInformacion", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("ProvCartera", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("ProvCompras", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("CltGestion", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("CltCartera", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("CltVentas", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("CltInformes", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("CtbCuentas", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("CtbParte", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("CtbInformes", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("CmpComprar", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("CmpInforme", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("CmpListado", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("EmpFichas", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("EmpPermisos", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("EmpVentas", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("EmpGraficas", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("VntCaja", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("VntBalanceD", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("VntBalanceM", ftBoolean, 0, false ); TbPermisos -> FieldDefs -> Add("MisConfigurar", ftBoolean, 0, false ); TbPermisos -> IndexDefs-> Clear(); TbPermisos->IndexDefs->Add("Primary", "EnlacePersona", TIndexOptions() << ixPrimary << ixUnique ); // Creamos la base... TbPermisos -> CreateTable(); TbPermisos -> Open(); // Insertamos al cliente anónimo... TVarRec v[] = { 1, "", false, false, false, // Art false, false, false, // Prov false, false, false, false, // Clt false, false, false, // Ctb false, false, false, // Cmp false, true, false, false, // Emp false, false, false, // Vnt false }; // Misc. TbPermisos -> InsertRecord( v, ARRAYSIZE(v) - 1); TbPermisos -> Close(); } //--------------------------------------------------------------------------- void __fastcall TInitBDE::Timer1Timer(TObject *Sender) { if ( CloseOK ) Close(); } //---------------------------------------------------------------------------