unit datos;

interface

uses
  FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Param, FireDAC.Stan.Error, FireDAC.DatS, FireDAC.Phys.Intf, FireDAC.DApt.Intf, FireDAC.Stan.Async, FireDAC.DApt, FireDAC.Comp.DataSet, FireDAC.Comp.Client, uFireDacHelper, FireDAC.Phys.MySQL, FireDAC.Phys.MySQLDef, FireDAC.Comp.UI, FireDAC.VCLUI.Wait,
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Menus, Vcl.ExtCtrls,
  Vcl.Grids, Vcl.DBGrids, Data.DB,  
   Vcl.Tabs, Vcl.ComCtrls, Vcl.Mask, Vcl.DBCtrls, 
    Vcl.ExtDlgs, Vcl.Imaging.jpeg, frxClass, frxDBSet,
  frxExportPDF, frxBarcode, Vcl.Buttons, Vcl.ImgList, FireDAC.UI.Intf,
  FireDAC.Stan.Def, FireDAC.Stan.Pool, FireDAC.Phys, System.ImageList;

type
  TDM = class(TDataModule)
    DBagrigest: TFDConnection;
    FDPhysMySQLDriverLink1: TFDPhysMySQLDriverLink;
    FDGUIxWaitCursor1: TFDGUIxWaitCursor;
    dsqnominasdetalle: TDataSource;
    qnominasdetalle: TFDQuery;
    qnominasdetalleid: TIntegerField;
    qnominasdetallefecha: TDateField;
    qnominasdetalleparcela: TWideStringField;
    qnominasdetalleidt: TIntegerField;
    qnominasdetalletrabajador: TWideStringField;
    qnominasdetalletypework: TWideStringField;
    qnominasdetallearticulo: TWideStringField;
    qnominasdetalleqhoras: TFloatField;
    qnominasdetalleprecio: TFloatField;
    qnominasdetalletotal: TFloatField;
    qnominasdetalleestado: TWideStringField;
    qnominasdetalleorigen: TWideStringField;
    dsqanticiposdetalle: TDataSource;
    qanticiposdetalle: TFDQuery;
    qanticiposdetalleid: TIntegerField;
    qanticiposdetallefecha: TDateField;
    qanticiposdetalleimporte: TFloatField;
    qanticiposdetalleestado: TWideStringField;
    qanticiposdetalletrabajador: TWideStringField;
    qanticiposdetalleidt: TIntegerField;
    tnotas: TFDTable;
    tcalendario_laboral: TFDTable;
    dscalendario: TDataSource;
    dsnotas: TDataSource;
    qaux1: TFDQuery;
    tempresa: TFDTable;
    tcentro_coste: TFDTable;
    dsempresa: TDataSource;
    tempresaid: TIntegerField;
    tempresacif: TWideStringField;
    tempresanombre: TWideStringField;
    tempresadireccion: TWideStringField;
    tempresacodpost: TWideStringField;
    tempresapoblacion: TWideStringField;
    tempresaprovincia: TWideStringField;
    tempresaemail: TWideStringField;
    tempresatelefono1: TWideStringField;
    tempresatelefono2: TWideStringField;
    tempresacontacto: TWideStringField;
    tempresacontingenciacomfij: TFloatField;
    tempresasalariobasedia: TFloatField;
    tempresacontingenciasdia: TFloatField;
    tempresairpf: TFloatField;
    tempresadesempleo: TFloatField;
    tempresaformacion: TFloatField;
    tempresacontingencias: TFloatField;
    tempresacc_iban: TWideStringField;
    tempresacc_entidad: TWideStringField;
    tempresacc_oficina: TWideStringField;
    tempresacc_dc: TWideStringField;
    tempresacc_cc: TWideStringField;
    tempresaactive: TIntegerField;
    tprenominas: TFDTable;
    tprenominasId: TIntegerField;
    tprenominasIDT: TIntegerField;
    tprenominasANYO: TIntegerField;
    tprenominasMES: TWideStringField;
    tprenominasNIF: TWideStringField;
    tprenominasNOMBRE: TWideStringField;
    tprenominasDIRECCION: TWideStringField;
    tprenominasCP: TWideStringField;
    tprenominasPOBLACION: TWideStringField;
    tprenominasHORAS: TFloatField;
    tprenominasFECHAALTA: TDateField;
    tprenominasDIASTRABAJADOS: TIntegerField;
    tprenominasDIASMAXIMO: TIntegerField;
    tprenominasDIASCALCULO: TIntegerField;
    tprenominasTOTALBRUTO: TFloatField;
    tprenominasIRPF: TFloatField;
    tprenominasTOTALIRPF: TFloatField;
    tprenominasDESEMPLEO: TFloatField;
    tprenominasTOTALDESEMPLEO: TFloatField;
    tprenominasFORMACION: TFloatField;
    tprenominasTOTALFORMACION: TFloatField;
    tprenominasCONTINGENCIAS: TFloatField;
    tprenominasTOTALCONTINGENCIAS: TFloatField;
    tprenominasTOTALNETO: TFloatField;
    tprenominasANTICIPOS: TFloatField;
    tprenominasTOTALAPAGAR: TFloatField;
    tprenominasCUENTAPAGO: TWideStringField;
    tprenominasFECHAPAGO: TDateField;
    tprenominasESTADO: TWideStringField;
    tprenominasSALARIOBASE: TFloatField;
    tprenominasDIASLABORABLES: TIntegerField;
    tprenominasCORRECTO: TIntegerField;
    dsprenominas: TDataSource;
    qaux2: TFDQuery;
    qaux3: TFDQuery;
    ttrabajadores: TFDTable;
    tprenominasFECHABAJA: TDateField;
    tproductos: TFDTable;
    tproductoscodigo: TWideStringField;
    tproductosdescripcion: TWideStringField;
    tproductosimagen: TBlobField;
    tproductosalto: TIntegerField;
    tproductosancho: TIntegerField;
    tproductoslargo: TIntegerField;
    tproductostara: TFloatField;
    tproductospeso: TFloatField;
    tproductoserrorpeso: TFloatField;
    tproductospesadomanual: TIntegerField;
    tproductoscoste: TFloatField;
    tproductosactivo: TIntegerField;
    qproductos: TFDQuery;
    dsqproductos: TDataSource;
    qproductoscodigo: TWideStringField;
    qproductosdescripcion: TWideStringField;
    qproductosimagen: TBlobField;
    qproductosalto: TIntegerField;
    qproductosancho: TIntegerField;
    qproductoslargo: TIntegerField;
    qproductostara: TFloatField;
    qproductospeso: TFloatField;
    qproductoserrorpeso: TFloatField;
    qproductospesadomanual: TIntegerField;
    qproductoscoste: TFloatField;
    qproductosactivo: TIntegerField;
    dsproductos: TDataSource;
    qproductosEANUPC: TLargeintField;
    tproductosEANUPC: TLargeintField;
    qmateriasprimas: TFDQuery;
    dsqmateriasprimas: TDataSource;
    dsmateriasprimas: TDataSource;
    tmateriasprimas: TFDTable;
    qmateriasprimasid: TWideStringField;
    qmateriasprimasdescripcion: TWideStringField;
    qmateriasprimasobservaciones: TWideStringField;
    qmateriasprimasimagen: TBlobField;
    qmateriasprimasEAN: TWideStringField;
    qmateriasprimasactivo: TIntegerField;
    tmateriasprimasid: TWideStringField;
    tmateriasprimasdescripcion: TWideStringField;
    tmateriasprimasobservaciones: TWideStringField;
    tmateriasprimasimagen: TBlobField;
    tmateriasprimasEAN: TWideStringField;
    tmateriasprimasactivo: TIntegerField;
    qtipohoras: TFDQuery;
    dsqtipohoras: TDataSource;
    dstipohoras: TDataSource;
    ttipohoras: TFDTable;
    ttipohorascodart: TWideStringField;
    ttipohorasdescrip: TWideStringField;
    ttipohorasprecio: TFloatField;
    ttipohorasactivo: TIntegerField;
    ttipohorasempresa: TIntegerField;
    ttipohorasfacturar: TIntegerField;
    qtipohorascodart: TWideStringField;
    qtipohorasdescrip: TWideStringField;
    qtipohorasprecio: TFloatField;
    qtipohorasactivo: TIntegerField;
    qtipohorasempresa: TIntegerField;
    qtipohorasfacturar: TIntegerField;
    qinftrabajadores: TFDQuery;
    dsqinftrabajadores: TDataSource;
    qinftrabajadoresID: TSmallintField;
    qinftrabajadoresNIF: TWideStringField;
    qinftrabajadoresnombre: TWideStringField;
    qinftrabajadoresactivo: TIntegerField;
    qinftrabajadoresNOMBRECORTO: TWideStringField;
    qinftrabajadoresAPELLIDOS: TWideStringField;
    qinftrabajadoresDIRECCION: TWideStringField;
    qinftrabajadoresCP: TWideStringField;
    qinftrabajadoresPOBLACION: TWideStringField;
    qinftrabajadoresPROVINCIA: TWideStringField;
    qinftrabajadoresFECHANACIMIENTO: TDateField;
    qinftrabajadoresPAISNAC: TWideStringField;
    qinftrabajadoresNACIONALIDAD: TWideStringField;
    qinftrabajadoresSEXO: TWideStringField;
    qinftrabajadoresCBIBAN: TWideStringField;
    qinftrabajadoresCBBANCO: TWideStringField;
    qinftrabajadoresCBOFICINA: TWideStringField;
    qinftrabajadoresCBDC: TWideStringField;
    qinftrabajadoresCBCC: TWideStringField;
    qinftrabajadoresPAGARPORBANCO: TIntegerField;
    qinftrabajadoresTELEFONO1: TWideStringField;
    qinftrabajadoresTELEFONO2: TWideStringField;
    qinftrabajadoresTELEFONO3: TWideStringField;
    qinftrabajadoresTELEFONO4: TWideStringField;
    qinftrabajadoresREGIMEN_COT: TWideStringField;
    qinftrabajadoresNUMSEGSOCIAL: TWideStringField;
    qinftrabajadoresIRPF: TFloatField;
    qinftrabajadoresDESEMPLEO: TFloatField;
    qinftrabajadoresFORMACION: TFloatField;
    qinftrabajadoresOBSERVACIONES: TWideStringField;
    qinftrabajadoresFECHAALTA: TDateField;
    qinftrabajadoresFECHABAJA: TDateField;
    qinftrabajadoresFIJO: TSmallintField;
    qinftrabajadoresFIJODISCONTINUO: TSmallintField;
    qinftrabajadoresTEMPORAL: TSmallintField;
    qinftrabajadoresCONTINGENCIAS: TFloatField;
    qinftrabajadoresempresa: TIntegerField;
    qinfjornales: TFDQuery;
    qinfjornalesid: TIntegerField;
    qinfjornalesfecha: TDateField;
    qinfjornalesparcela: TWideStringField;
    qinfjornalesidt: TIntegerField;
    qinfjornalestrabajador: TWideStringField;
    qinfjornalestypework: TWideStringField;
    qinfjornalesarticulo: TWideStringField;
    qinfjornalesqhoras: TFloatField;
    qinfjornalesestado: TWideStringField;
    qinfjornalesprecio: TFloatField;
    qinfjornalestotal: TFloatField;
    qinfjornalesorigen: TWideStringField;
    dsqinfjornales: TDataSource;
    dsqinfnominasdetalle: TDataSource;
    qinfnominasdetalle: TFDQuery;
    IntegerField1: TIntegerField;
    DateField1: TDateField;
    WideStringField1: TWideStringField;
    IntegerField2: TIntegerField;
    WideStringField2: TWideStringField;
    WideStringField3: TWideStringField;
    WideStringField4: TWideStringField;
    FloatField1: TFloatField;
    FloatField2: TFloatField;
    FloatField3: TFloatField;
    WideStringField5: TWideStringField;
    WideStringField6: TWideStringField;
    dsqtrabajo: TDataSource;
    dsqparcela: TDataSource;
    qtrabajos: TFDQuery;
    qtrabajosid: TWideStringField;
    qtrabajosnombre: TWideStringField;
    qtrabajosactivo: TIntegerField;
    qtrabajosempresa: TIntegerField;
    dstipotrabajo: TDataSource;
    ttipotrabajo: TFDTable;
    ttipotrabajoid: TWideStringField;
    ttipotrabajonombre: TWideStringField;
    ttipotrabajoactivo: TIntegerField;
    ttipotrabajoempresa: TIntegerField;
    dsqtrabajosalmacen: TDataSource;
    qtrabajosalmacen: TFDQuery;
    dstrabajosalmacen: TDataSource;
    ttrabajosalmacen: TFDTable;
    ttrabajosalmacenid: TIntegerField;
    ttrabajosalmacenpuesto: TWideStringField;
    ttrabajosalmacentipo_trabajo: TWideStringField;
    ttrabajosalmacenarticulo: TWideStringField;
    ttrabajosalmacenparcela: TWideStringField;
    ttrabajosalmacenactivo: TIntegerField;
    qtrabajosalmacenid: TIntegerField;
    qtrabajosalmacenpuesto: TWideStringField;
    qtrabajosalmacentipo_trabajo: TWideStringField;
    qtrabajosalmacenarticulo: TWideStringField;
    qtrabajosalmacenparcela: TWideStringField;
    qtrabajosalmacenactivo: TIntegerField;
    dsqmovimientomesas: TDataSource;
    qmesas: TFDQuery;
    qmesasmesa: TWideStringField;
    qproduccion: TFDQuery;
    dsqproduccion: TDataSource;
    qproduccionmesa: TFDQuery;
    dsqproduccionmesa: TDataSource;
    ttrabajadoresID: TSmallintField;
    ttrabajadoresNIF: TWideStringField;
    ttrabajadoresnombre: TWideStringField;
    ttrabajadoresNOMBRECORTO: TWideStringField;
    ttrabajadoresAPELLIDOS: TWideStringField;
    ttrabajadoresDIRECCION: TWideStringField;
    ttrabajadoresCP: TWideStringField;
    ttrabajadoresPOBLACION: TWideStringField;
    ttrabajadoresPROVINCIA: TWideStringField;
    ttrabajadoresFECHANACIMIENTO: TDateField;
    ttrabajadoresPAISNAC: TWideStringField;
    ttrabajadoresNACIONALIDAD: TWideStringField;
    ttrabajadoresSEXO: TWideStringField;
    ttrabajadoresCBIBAN: TWideStringField;
    ttrabajadoresCBBANCO: TWideStringField;
    ttrabajadoresCBOFICINA: TWideStringField;
    ttrabajadoresCBDC: TWideStringField;
    ttrabajadoresCBCC: TWideStringField;
    ttrabajadoresPAGARPORBANCO: TIntegerField;
    ttrabajadoresTELEFONO1: TWideStringField;
    ttrabajadoresTELEFONO2: TWideStringField;
    ttrabajadoresTELEFONO3: TWideStringField;
    ttrabajadoresTELEFONO4: TWideStringField;
    ttrabajadoresREGIMEN_COT: TWideStringField;
    ttrabajadoresNUMSEGSOCIAL: TWideStringField;
    ttrabajadoresIRPF: TFloatField;
    ttrabajadoresDESEMPLEO: TFloatField;
    ttrabajadoresFORMACION: TFloatField;
    ttrabajadoresOBSERVACIONES: TWideStringField;
    ttrabajadoresFECHAALTA: TDateField;
    ttrabajadoresFECHABAJA: TDateField;
    ttrabajadoresCONTINGENCIAS: TFloatField;
    ttrabajadoresempresa: TIntegerField;
    dsqproduccionembasadora: TDataSource;
    qproduccionembasadora: TFDQuery;
    WideStringField7: TWideStringField;
    WideStringField8: TWideStringField;
    LargeintField1: TLargeintField;
    WideStringField9: TWideStringField;
    FloatField4: TFloatField;
    IntegerField3: TIntegerField;
    WideStringField10: TWideStringField;
    dsqproduccionmesa2: TDataSource;
    qproduccionmesa2: TFDQuery;
    dsqproduccionhora: TDataSource;
    qproduccionhora: TFDQuery;
    dsqnominasproduccion: TDataSource;
    qnominasproduccion: TFDQuery;
    qmovimientomesas: TFDQuery;
    qmovimientomesasid: TLargeintField;
    qmovimientomesasfecha: TDateField;
    qmovimientomesasmesa: TWideStringField;
    qmovimientomesasidt: TIntegerField;
    qmovimientomesasTRABAJADOR: TWideStringField;
    qmovimientomesasENTRADA_REAL: TTimeField;
    qmovimientomesasSALIDA_REAL: TTimeField;
    qmovimientomesasENTRADA_AJUSTADA: TTimeField;
    qmovimientomesasSALIDA_AJUSTADA: TTimeField;
    qmovimientomesasHORASREALES: TTimeField;
    qmovimientomesasHORASAJUSTADAS: TTimeField;
    qmovimientomesasPUESTO: TWideStringField;
    qmovimientomesasTIPOTRABAJO: TWideStringField;
    qmovimientomesasARTICULO: TWideStringField;
    qmovimientomesasPARCELA: TWideStringField;
    ttrabajosalmacenmesas: TWideStringField;
    tprenominasFECHAINICIO: TDateField;
    tprenominasFECHAFIN: TDateField;
    tnominasdetalle: TFDTable;
    tcalendario_laboralfecha: TDateField;
    tcalendario_laboralfestivo: TIntegerField;
    tcalendario_laboralalmuerzo: TIntegerField;
    tcalendario_laboralmerienda: TIntegerField;
    qanticipos: TFDQuery;
    qanticiposid: TIntegerField;
    qanticiposidt: TIntegerField;
    qanticiposfecha: TDateField;
    qanticiposimporte: TFloatField;
    qanticiposestado: TWideStringField;
    dsqanticipos: TDataSource;
    tanticipos: TFDTable;
    tanticiposid: TIntegerField;
    tanticiposidt: TIntegerField;
    tanticipostrabajador: TWideStringField;
    tanticiposfecha: TDateField;
    tanticiposimporte: TFloatField;
    tanticiposestado: TWideStringField;
    dsanticipos: TDataSource;
    qanticiposobservaciones: TWideStringField;
    tanticiposobservaciones: TWideStringField;
    qparcelas: TFDQuery;
    dscontrolproduccion: TDataSource;
    qcontrolproduccion: TFDQuery;
    qcontrolproduccionid: TIntegerField;
    qcontrolproduccionfecha: TDateField;
    qcontrolproduccionmateria_prima: TWideStringField;
    qcontrolproduccionproducto: TWideStringField;
    qcontrolproduccioncantidad_teorica: TIntegerField;
    qcontrolproduccioncantidad_real: TIntegerField;
    qcontrolproduccionobservaciones: TWideStringField;
    qcampanyas: TFDQuery;
    dsqcampanyas: TDataSource;
    qlincampanyas: TFDQuery;
    dsqlincampanyas: TDataSource;
    qcampanyasid: TIntegerField;
    qcampanyasdescripcion: TWideStringField;
    qcampanyasfechainicio: TDateField;
    qcampanyasfechafin: TDateField;
    tempresaajusteentrada: TIntegerField;
    tempresaajustesalida: TIntegerField;
    tempresaporcbloqueo: TIntegerField;
    qtipohorasequivalenciahoras: TFloatField;
    ttipohorasequivalenciahoras: TFloatField;
    dsqtipohoras2: TDataSource;
    qtipohoras2: TFDQuery;
    qtipohoras2codart: TWideStringField;
    qtipohoras2seleccionado: TIntegerField;
    dsqtrabajadores2: TDataSource;
    qtrabajadores2: TFDQuery;
    qtrabajadores2id: TSmallintField;
    qtrabajadores2nombre: TWideStringField;
    qtrabajadores2seleccionado: TIntegerField;
    dsqlistadohoras: TDataSource;
    qlistadohoras: TFDQuery;
    qlistadohorasidt: TIntegerField;
    qlistadohorastrabajador: TWideStringField;
    qlistadohorasarticulo: TWideStringField;
    qlistadohorashoras: TFloatField;
    qlistadohorashoras2: TFloatField;
    qlistadohorastotal: TFloatField;
    qlistadohorastotal2: TFloatField;
    qtipotrabajo2: TFDQuery;
    qtipotrabajo2id: TWideStringField;
    qtipotrabajo2seleccionado: TIntegerField;
    dsqtipotrabajo2: TDataSource;
    qlistadotrabajos: TFDQuery;
    qlistadotrabajosidt: TIntegerField;
    qlistadotrabajostrabajador: TWideStringField;
    qlistadotrabajostypework: TWideStringField;
    qlistadotrabajoshoras: TFloatField;
    qlistadotrabajostotal: TFloatField;
    tanticipospenalizacion: TFloatField;
    tanticiposindemnizacion: TFloatField;
    dsqlistadotrabajos: TDataSource;
    qanticipospenalizacion: TFloatField;
    qanticiposindemnizacion: TFloatField;
    tprenominasINDEMNIZACION: TFloatField;
    tprenominasPENALIZACION: TFloatField;
    tnominasdetalleId: TIntegerField;
    tnominasdetalleIDNOMINA: TIntegerField;
    tnominasdetalleIDEMPRESA: TIntegerField;
    tnominasdetalleIDT: TIntegerField;
    tnominasdetalleANYO: TIntegerField;
    tnominasdetalleMES: TWideStringField;
    tnominasdetalleNIF: TWideStringField;
    tnominasdetalleNOMBRE: TWideStringField;
    tnominasdetalleDIRECCION: TWideStringField;
    tnominasdetalleCP: TWideStringField;
    tnominasdetallePOBLACION: TWideStringField;
    tnominasdetalleHORAS: TFloatField;
    tnominasdetalleFECHAALTA: TDateField;
    tnominasdetalleFECHABAJA: TDateField;
    tnominasdetalleDIASTRABAJADOS: TIntegerField;
    tnominasdetalleDIASMAXIMO: TIntegerField;
    tnominasdetalleDIASCALCULO: TIntegerField;
    tnominasdetalleTOTALBRUTO: TFloatField;
    tnominasdetalleIRPF: TFloatField;
    tnominasdetalleTOTALIRPF: TFloatField;
    tnominasdetalleDESEMPLEO: TFloatField;
    tnominasdetalleTOTALDESEMPLEO: TFloatField;
    tnominasdetalleFORMACION: TFloatField;
    tnominasdetalleTOTALFORMACION: TFloatField;
    tnominasdetalleCONTINGENCIAS: TFloatField;
    tnominasdetalleTOTALCONTINGENCIAS: TFloatField;
    tnominasdetalleTOTALNETO: TFloatField;
    tnominasdetalleANTICIPOS: TFloatField;
    tnominasdetalleINDEMNIZACION: TFloatField;
    tnominasdetallePENALIZACION: TFloatField;
    tnominasdetalleTOTALAPAGAR: TFloatField;
    tnominasdetalleCUENTAPAGO: TWideStringField;
    tnominasdetalleFECHAPAGO: TDateField;
    tnominasdetalleESTADO: TWideStringField;
    tnominasdetalleSALARIOBASE: TFloatField;
    tnominasdetalleDIASLABORABLES: TIntegerField;
    tnominasdetalleFECHAINICIO: TDateField;
    tnominasdetalleFECHAFIN: TDateField;
    tnominasdetalleCORRECTO: TIntegerField;
    dstnominas: TDataSource;
    dstnominasdetalle: TDataSource;
    qnominas: TFDQuery;
    qnominasID: TIntegerField;
    qnominasIDEMPRESA: TIntegerField;
    qnominasNOMEMPRESA: TWideStringField;
    qnominasFECHA: TDateField;
    qnominasFECHAINICIO: TDateField;
    qnominasFECHAFIN: TDateField;
    qnominasPERIODO: TIntegerField;
    qnominasNOMPERIODO: TWideStringField;
    qnominasANYO: TIntegerField;
    qnominasFORMAPAGO: TWideStringField;
    qnominasACTIVO: TIntegerField;
    tempresairpf2: TFloatField;
    tempresadesempleo2: TFloatField;
    tempresaformacion2: TFloatField;
    tempresacontingencias2: TFloatField;
    qnominasCANT_LINEAS: TIntegerField;
    qnominasIMPORTETOTAL: TFloatField;
    qtrabajadores3: TFDQuery;
    dsqtrabajadores3: TDataSource;
    qtrabajadores3id: TSmallintField;
    qtrabajadores3nombre: TWideStringField;
    qtrabajadores3seleccionado: TIntegerField;
    qparcela2: TFDQuery;
    dsqparcela2: TDataSource;
    qparcela3: TFDQuery;
    dsqparcela3: TDataSource;
    qparcela3codpar: TWideStringField;
    qparcela3empresa: TIntegerField;
    qparcela3nombre: TWideStringField;
    qparcela3variedad: TWideStringField;
    qparcela3num_plantas: TIntegerField;
    qparcela3fecha_plantacion: TDateField;
    qparcela3marco_plantacion: TWideStringField;
    qparcela3gastosgenerales: TIntegerField;
    qparcela3ref_catastro: TWideStringField;
    qparcela3sigpac_prov: TIntegerField;
    qparcela3sigpac_muni: TIntegerField;
    qparcela3sigpac_agre: TIntegerField;
    qparcela3sigpac_zona: TIntegerField;
    qparcela3sigpac_poli: TIntegerField;
    qparcela3sigpac_pacr: TIntegerField;
    qparcela3x: TWideStringField;
    qparcela3y: TWideStringField;
    qparcela3datum: TWideStringField;
    qparcela3huso: TIntegerField;
    qparcela3propiedad: TWideStringField;
    qparcela3activo: TIntegerField;
    qparcela2codpar: TWideStringField;
    qparcela2empresa: TIntegerField;
    qparcela2nombre: TWideStringField;
    qparcela2variedad: TWideStringField;
    qparcela2num_plantas: TIntegerField;
    qparcela2fecha_plantacion: TDateField;
    qparcela2marco_plantacion: TWideStringField;
    qparcela2gastosgenerales: TIntegerField;
    qparcela2ref_catastro: TWideStringField;
    qparcela2sigpac_prov: TIntegerField;
    qparcela2sigpac_muni: TIntegerField;
    qparcela2sigpac_agre: TIntegerField;
    qparcela2sigpac_zona: TIntegerField;
    qparcela2sigpac_poli: TIntegerField;
    qparcela2sigpac_pacr: TIntegerField;
    qparcela2x: TWideStringField;
    qparcela2y: TWideStringField;
    qparcela2datum: TWideStringField;
    qparcela2huso: TIntegerField;
    qparcela2propiedad: TWideStringField;
    qparcela2activo: TIntegerField;
    qparcela2seleccionado: TIntegerField;
    TFirmas: TFDTable;
    dsfirmas: TDataSource;
    TFirmasid: TIntegerField;
    TFirmaside: TIntegerField;
    TFirmasidt: TIntegerField;
    TFirmasfirma: TBlobField;
    dspartes_diarios: TDataSource;
    qpartes_diarios: TFDQuery;
    qpartes_diariosid: TIntegerField;
    qpartes_diarioside: TIntegerField;
    qpartes_diariosidt: TIntegerField;
    qpartes_diariostrabajador: TWideStringField;
    qpartes_diariosfecha: TDateField;
    qpartes_diarioshoras: TFloatField;
    qpartes_diariosfirma: TIntegerField;
    qpartes_diariosvalidado: TIntegerField;
    qfirmas: TFDQuery;
    qfirmasid: TIntegerField;
    qfirmaside: TIntegerField;
    qfirmasidt: TIntegerField;
    qfirmasfirma: TBlobField;
    dsqfirmas: TDataSource;
    tmateriasprimasbasculas: TIntegerField;
    tempresault_envio: TIntegerField;
    tempresaregistro_sanitario: TWideStringField;
    ttipotrabajoseleccionado: TIntegerField;
    ttipotrabajocoste_elavoracion_campo: TIntegerField;
    dsqalmacenes: TDataSource;
    qalmacenes: TFDQuery;
    qalmacenesid: TIntegerField;
    qalmacenesidempresa: TIntegerField;
    qalmacenesnombre: TWideStringField;
    qalmacenescapacidad: TIntegerField;
    qalmacenesstock_kg: TFloatField;
    qalmacenesstock_cajas: TIntegerField;
    qalmacenesstock_palets: TIntegerField;
    qalmacenesfinal: TIntegerField;
    qalmacenesactivo: TIntegerField;
    qalmacenescoste_kg_dia: TFloatField;
    tempresacoste_kg_gen: TFloatField;
    dstalmacenes: TDataSource;
    talmacenes: TFDTable;
    talmacenesid: TIntegerField;
    talmacenesidempresa: TIntegerField;
    talmacenesnombre: TWideStringField;
    talmacenescapacidad: TIntegerField;
    talmacenesstock_kg: TFloatField;
    talmacenesstock_cajas: TIntegerField;
    talmacenesstock_palets: TIntegerField;
    talmacenesfinal: TIntegerField;
    talmacenesactivo: TIntegerField;
    talmacenescoste_kg_dia: TFloatField;
    talmacenespreguntar_generador: TIntegerField;
    dstarticulosalmacen: TDataSource;
    tarticulosalmacen: TFDTable;
    dsqarticulosalmacen: TDataSource;
    qarticulosalmacen: TFDQuery;
    tarticulosalmacenid: TIntegerField;
    tarticulosalmacenide: TIntegerField;
    tarticulosalmacencodigo: TWideStringField;
    tarticulosalmacencod_logi: TIntegerField;
    tarticulosalmacendescripcion: TWideStringField;
    tarticulosalmacenlargo: TFloatField;
    tarticulosalmacenalto: TFloatField;
    tarticulosalmacenancho: TFloatField;
    tarticulosalmacentara: TFloatField;
    tarticulosalmacentipo: TWideStringField;
    tarticulosalmacenpalet: TIntegerField;
    tarticulosalmacenenvase_trabajo: TIntegerField;
    tarticulosalmacenenvase_venta: TIntegerField;
    tarticulosalmacenactivo: TIntegerField;
    tarticulosalmacencosto: TFloatField;
    tarticulosalmacenobservaciones: TWideStringField;
    tarticulosalmacenpeso_venta: TFloatField;
    talmacenesmermas: TIntegerField;
    tmateriasprimasvariedad: TWideStringField;
    ttipotrabajocoste_elavoracion_almacen: TIntegerField;
    tempresaporc_segsocial: TFloatField;
    talmacenesproduccion: TIntegerField;
    dsqtrabajadores: TDataSource;
    qempleados: TFDQuery;
    qempleadosidt: TIntegerField;
    qempleadostrabajador: TWideStringField;
    qtrabajo_diario: TFDQuery;
    qtrabajo_diarioid: TIntegerField;
    qtrabajo_diarioempresa: TIntegerField;
    qtrabajo_diariofecha: TDateField;
    qtrabajo_diarioparcela: TWideStringField;
    qtrabajo_diarioidt: TIntegerField;
    qtrabajo_diariotrabajador: TWideStringField;
    qtrabajo_diariotypework: TWideStringField;
    qtrabajo_diarioarticulo: TWideStringField;
    qtrabajo_diarioqhoras: TFloatField;
    qtrabajo_diarioprecio: TFloatField;
    qtrabajo_diariototal: TFloatField;
    qtrabajo_diarioestado: TWideStringField;
    qtrabajo_diarioorigen: TWideStringField;
    qtrabajo_diariofechainsmod: TDateTimeField;
    qtrabajo_diariousuario: TIntegerField;
    qtrabajo_diariocontrol: TIntegerField;
    qtrabajo_diariohoras_nomina: TFloatField;
    qtrabajo_diariohoras_acumuladas: TFloatField;
    qtrabajo_diarioidparte1: TIntegerField;
    qtrabajo_diarioidparte2: TIntegerField;
    qpartes_diariosfestivo: TIntegerField;
    qproduccionid: TIntegerField;
    qproduccionidempresa: TIntegerField;
    qproduccionfecha: TDateField;
    qproduccionmateria_prima: TWideStringField;
    qproduccionproducto: TWideStringField;
    qproduccionpesadas: TIntegerField;
    qproduccionneto: TFloatField;
    qproduccionpeso_teorico: TFloatField;
    qproduccionpeso_real: TFloatField;
    qproducciondiferencia: TFloatField;
    qproduccionerror: TFloatField;
    qnominasproduccionidt: TIntegerField;
    qnominasproduccionfecha: TDateField;
    qnominasproduccionid: TIntegerField;
    qnominasproducciontrabajador: TWideStringField;
    qnominasproducciontypework: TWideStringField;
    qnominasproduccionarticulo: TWideStringField;
    qnominasproduccionqhoras: TFloatField;
    qnominasproduccionestado: TWideStringField;
    qnominasproduccionorigen: TWideStringField;
    tarticulosalmacenfacturar_pesofijo: TIntegerField;
    tmateriasprimasusar_precio_parcela: TIntegerField;
    tmateriasprimasdesechos: TIntegerField;
    tempresaprecio_venta_desperdicios: TFloatField;
    ttipotrabajoelavoracion_produccion: TIntegerField;
    ttipotrabajoenvasado_produccion: TIntegerField;
    ttipotrabajologistica_produccion: TIntegerField;
    talmacenestipo_trabajo: TWideStringField;
    talmacenescamara: TIntegerField;
    talmacenesalmacen_asociado: TIntegerField;
    qalmacenesaux: TFDQuery;
    IntegerField4: TIntegerField;
    IntegerField5: TIntegerField;
    WideStringField11: TWideStringField;
    IntegerField6: TIntegerField;
    FloatField5: TFloatField;
    IntegerField7: TIntegerField;
    IntegerField8: TIntegerField;
    IntegerField9: TIntegerField;
    IntegerField10: TIntegerField;
    FloatField6: TFloatField;
    dsqalmacenesaux: TDataSource;
    tmateriasprimasidempresa: TIntegerField;
    tmateriasprimascompuesto: TIntegerField;
    qmprimascompuestas: TFDQuery;
    dsmprimascompuestas: TDataSource;
    qmprimascompuestasidempresa: TIntegerField;
    qmprimascompuestasidmp: TWideStringField;
    qmprimascompuestasidmpc: TWideStringField;
    qmprimascompuestasvariedad: TWideStringField;
    qmprimascompuestasdescripcion: TWideStringField;
    qmprimascompuestasporcentaje: TFloatField;
    ttipotrabajoalmacen_trabajo: TIntegerField;
    talmacenescentrocoste_asociado: TWideStringField;
    tproductosunidades_caja: TIntegerField;
    tproductosobservaciones: TWideMemoField;
    qproductosunidades_caja: TIntegerField;
    qproductosobservaciones: TWideMemoField;
    qpartes_diarios2: TFDQuery;
    qpersonasmesas: TFDQuery;
    dsqpersonasmesas: TDataSource;
    qpartes_diarios2id: TIntegerField;
    qpartes_diarios2ide: TIntegerField;
    qpartes_diarios2idt: TIntegerField;
    qpartes_diarios2trabajador: TWideStringField;
    qpartes_diarios2fecha: TDateField;
    qpartes_diarios2horas: TFloatField;
    qpartes_diarios2firma: TIntegerField;
    qpartes_diarios2validado: TIntegerField;
    qpartes_diarios2festivo: TIntegerField;
    qpersonasmesasidt: TIntegerField;
    qpersonasmesastrabajador: TWideStringField;
    qpersonasmesasmesa: TWideStringField;
    dsqpartesdiarios2: TDataSource;
    tarticulosalmacenpreguntar_gen: TIntegerField;
    qmateriasprimas2: TFDQuery;
    dsqmateriasprimas2: TDataSource;
    qmateriasprimas2idempresa: TIntegerField;
    qmateriasprimas2id: TWideStringField;
    qmateriasprimas2variedad: TWideStringField;
    qmateriasprimas2descripcion: TWideStringField;
    qmateriasprimas2observaciones: TWideStringField;
    qmateriasprimas2imagen: TBlobField;
    qmateriasprimas2EAN: TWideStringField;
    qmateriasprimas2basculas: TIntegerField;
    qmateriasprimas2activo: TIntegerField;
    qmateriasprimas2usar_precio_parcela: TIntegerField;
    qmateriasprimas2desechos: TIntegerField;
    qmateriasprimas2compuesto: TIntegerField;
    qmateriasprimasidempresa: TIntegerField;
    qmateriasprimasvariedad: TWideStringField;
    qmateriasprimasbasculas: TIntegerField;
    qmateriasprimasusar_precio_parcela: TIntegerField;
    qmateriasprimasdesechos: TIntegerField;
    qmateriasprimascompuesto: TIntegerField;
    tmateriasprimasmesas: TIntegerField;
    dtarticulosalmacen: TFDQuery;
    dtarticulosalmacenid: TIntegerField;
    dtarticulosalmacenide: TIntegerField;
    dtarticulosalmacencodigo: TWideStringField;
    dtarticulosalmacencod_logi: TIntegerField;
    dtarticulosalmacendescripcion: TWideStringField;
    dtarticulosalmacenlargo: TFloatField;
    dtarticulosalmacenalto: TFloatField;
    dtarticulosalmacenancho: TFloatField;
    dtarticulosalmacentara: TFloatField;
    dtarticulosalmacenpeso_venta: TFloatField;
    dtarticulosalmacentipo: TWideStringField;
    dtarticulosalmacenpalet: TIntegerField;
    dtarticulosalmacenenvase_trabajo: TIntegerField;
    dtarticulosalmacenenvase_venta: TIntegerField;
    dtarticulosalmacencosto: TFloatField;
    dtarticulosalmacenactivo: TIntegerField;
    dtarticulosalmacenobservaciones: TWideStringField;
    dtarticulosalmacenfacturar_pesofijo: TIntegerField;
    dtarticulosalmacenpreguntar_gen: TIntegerField;
    dtarticulos_componentes: TFDQuery;
    dsarticuloscomponentes: TDataSource;
    dtarticulos_componentesidempresa: TIntegerField;
    dtarticulos_componentesidarticuloalmacen: TIntegerField;
    dtarticulos_componentesidarticulof: TIntegerField;
    dtarticulos_componentespreciocoste: TFloatField;
    dtarticulos_componentesdescripcion: TWideStringField;
    qfirmas2: TFDQuery;
    qfirmas2id: TIntegerField;
    qfirmas2ide: TIntegerField;
    qfirmas2idt: TIntegerField;
    qfirmas2firma: TBlobField;
    tproductosmostrar_boton: TIntegerField;
    dtarticulosalmacenunidades_venta: TIntegerField;
    qseries: TFDQuery;
    qserieside: TIntegerField;
    qseriesid: TWideStringField;
    qseriesfechainicio: TDateField;
    qseriesfechafin: TDateField;
    qseriesnum_pedcliente: TIntegerField;
    qseriesnum_albaran: TIntegerField;
    qseriesnum_factura: TIntegerField;
    qseriesnum_expedicion: TIntegerField;
    qseriesnum_pedproveedor: TIntegerField;
    dsqseries: TDataSource;
    dtarticulos_componentescoste: TFloatField;
    dtarticulos_componentescantidad: TFloatField;
    qaux: TFDQuery;
    qlincampanyaside: TIntegerField;
    qlincampanyasidc: TIntegerField;
    qlincampanyasidp: TWideStringField;
    qlincampanyasmateria_prima: TWideStringField;
    qlincampanyaskgestimados: TFloatField;
    qlincampanyaskgproducidos: TFloatField;
    qlincampanyaskgenvasados: TFloatField;
    qlincampanyaskgfacturados: TFloatField;
    qcampanyasidempresa: TIntegerField;
    qcampanyasid_anterior: TIntegerField;
    qcampanyasult_pesada: TIntegerField;
    qcampanyas_aux: TFDQuery;
    IntegerField11: TIntegerField;
    IntegerField12: TIntegerField;
    IntegerField13: TIntegerField;
    WideStringField12: TWideStringField;
    DateField2: TDateField;
    DateField3: TDateField;
    IntegerField14: TIntegerField;
    dsqcampanyaaux: TDataSource;
    qcampanyasparcela: TFDQuery;
    qcampanyasparcelaide: TIntegerField;
    qcampanyasparcelaidc: TIntegerField;
    qcampanyasparcelaidp: TWideStringField;
    qcampanyasparcelaparcela: TWideStringField;
    dsqcampanyasparcela: TDataSource;
    qparcela2num_goteros: TFloatField;
    qparcela2superficie: TFloatField;
    qparcela2est_meteo: TWideStringField;
    qparcela2coste_kg_ref: TFloatField;
    qparcela2activo_almacen: TIntegerField;
    qparcela2porc_desperdicio: TFloatField;
    qparcela2porc_merma: TFloatField;
    qparcela2es_centrotrabajo: TIntegerField;
    qparcela2sigpac_recinto: TIntegerField;
    qparcela2pie_planta: TWideStringField;
    qparcela2numero: TWideStringField;
    qparcela2tiene_gg: TIntegerField;
    qparcela2tiene_dop: TIntegerField;
    qparcela2c_calidad: TIntegerField;
    qparcela2c_espcliente: TIntegerField;
    qparcela2c_etiquetado: TIntegerField;
    qparcela2sello_gg: TWideStringField;
    qparcela2sello_dop: TWideStringField;
    qparcela2sello_igp: TWideStringField;
    qparcela2tiene_igp: TIntegerField;
    qparcela2tiene_ifs: TIntegerField;
    qparcela2sello_ifs: TWideStringField;
    qparcela3num_goteros: TFloatField;
    qparcela3seleccionado: TIntegerField;
    qparcela3superficie: TFloatField;
    qparcela3est_meteo: TWideStringField;
    qparcela3coste_kg_ref: TFloatField;
    qparcela3activo_almacen: TIntegerField;
    qparcela3porc_desperdicio: TFloatField;
    qparcela3porc_merma: TFloatField;
    qparcela3es_centrotrabajo: TIntegerField;
    qparcela3sigpac_recinto: TIntegerField;
    qparcela3pie_planta: TWideStringField;
    qparcela3numero: TWideStringField;
    qparcela3tiene_gg: TIntegerField;
    qparcela3tiene_dop: TIntegerField;
    qparcela3c_calidad: TIntegerField;
    qparcela3c_espcliente: TIntegerField;
    qparcela3c_etiquetado: TIntegerField;
    qparcela3sello_gg: TWideStringField;
    qparcela3sello_dop: TWideStringField;
    qparcela3sello_igp: TWideStringField;
    qparcela3tiene_igp: TIntegerField;
    qparcela3tiene_ifs: TIntegerField;
    qparcela3sello_ifs: TWideStringField;
    tempresavercodtrazabilidad: TIntegerField;
    qgenericas: TFDQuery;
    qgenericaside: TIntegerField;
    qgenericasid: TIntegerField;
    qgenericasdescripcion: TWideStringField;
    dsgenericas: TDataSource;
    qmateriasprimasmesas: TIntegerField;
    qmateriasprimasidgenerico: TIntegerField;
    qmateriasprimas2mesas: TIntegerField;
    qmateriasprimas2idgenerico: TIntegerField;
    tmateriasprimasidgenerico: TIntegerField;
    qanticiposdetalleindemnizacion: TFloatField;
    qanticiposdetallepenalizacion: TFloatField;
    qanticiposdetalleobservaciones: TWideStringField;
    qanticiposdetalleformapago: TWideStringField;
    qanticiposdetalleimporteletras: TWideStringField;
    tanticiposformapago: TWideStringField;
    tanticiposimporteletras: TWideStringField;
    qseriesimp_albaran: TWideStringField;
    qseriesimp_factura: TWideStringField;
    tarticulosalmacenunidades_venta: TIntegerField;
    tarticulosalmacendescripcion2: TWideStringField;
    dtarticulosalmacendescripcion2: TWideStringField;
    qarticulosalmacenid: TIntegerField;
    qarticulosalmacenide: TIntegerField;
    qarticulosalmacencodigo: TWideStringField;
    qarticulosalmacendescripcion: TWideStringField;
    qarticulosalmacenactivo: TIntegerField;
    ttrabajadoreside: TIntegerField;
    ttrabajadoresIRPF2: TFloatField;
    ttrabajadoresDESEMPLEO2: TFloatField;
    ttrabajadoresFORMACION2: TFloatField;
    ttrabajadoresIMAGEN: TIntegerField;
    ttrabajadoresseleccionado: TIntegerField;
    ttrabajadorescodart: TWideStringField;
    tproductosdeshidratacion: TFloatField;
    tproductostara_envase: TFloatField;
    dtarticulos_componentespeso: TFloatField;
    tprenominasBASEDIA: TFloatField;
    tempresacodcomision: TWideStringField;
    tempresacodtransporte: TWideStringField;
    qseriesactivo: TIntegerField;
    qseriesnum_presupuesto: TIntegerField;
    qseriesseriecontable: TWideStringField;
    tempresacc_bic: TWideStringField;
    tempresacodotros: TWideStringField;
    tempresaavisarstock: TIntegerField;
    tproductoside: TIntegerField;
    tproductosid: TIntegerField;
    tempresahtlunes: TFloatField;
    tempresahtmartes: TFloatField;
    tempresahtmiercoles: TFloatField;
    tempresahtjueves: TFloatField;
    tempresahtviernes: TFloatField;
    tempresahtsabados: TFloatField;
    tempresahtdomingos: TFloatField;
    tempresatavisostock: TIntegerField;
    tempresaresponsable: TWideStringField;
    tempresanif_responsable: TWideStringField;
    tempresalogo: TBlobField;
    tempresafirmaresponsable: TBlobField;
    qmateriasprimasgenerico: TWideStringField;
    qmateriasprimasobtentor: TWideStringField;
    tmateriasprimasgenerico: TWideStringField;
    tmateriasprimasobtentor: TWideStringField;
    tempresatiempoalmuerzo: TIntegerField;
    tempresahorasminimas: TIntegerField;
    tempresaidfamilia: TIntegerField;
    ttrabajadoresFIJO: TIntegerField;
    ttrabajadoresFIJODISCONTINUO: TIntegerField;
    ttrabajadoresTEMPORAL: TIntegerField;
    tempresaajuste15: TIntegerField;
    tempresaajuste30: TIntegerField;
    tempresaseparartraza_e_s: TIntegerField;
    qmateriasprimaspesopieza: TFloatField;
    qmateriasprimas2generico: TWideStringField;
    qmateriasprimas2obtentor: TWideStringField;
    qmateriasprimas2pesopieza: TFloatField;
    tmateriasprimaspesopieza: TFloatField;
    qproduccionmesafecha: TDateField;
    qproduccionmesamesa: TWideStringField;
    qproduccionmesabascula: TWideStringField;
    qproduccionmesamateria_prima: TWideStringField;
    qproduccionmesaproducto: TWideStringField;
    qproduccionmesapesadas: TLargeintField;
    qproduccionmesacantidad: TFloatField;
    qproduccionhoradesde: TIntegerField;
    qproduccionhorahasta: TIntegerField;
    qproduccionhoracantidad: TFloatField;
    tcalendario_laboralinicio_almuerzo: TTimeField;
    tcalendario_laboralfin_almuerzo: TTimeField;
    tcalendario_laboralinicio_merienda: TTimeField;
    tcalendario_laboralfin_merienda: TTimeField;
    tempresaean: TWideStringField;
    qparcelascodpar: TWideStringField;
    qparcelasempresa: TIntegerField;
    qparcelasnombre: TWideStringField;
    qparcelasvariedad: TWideStringField;
    qparcelasnum_plantas: TIntegerField;
    qparcelasfecha_plantacion: TDateField;
    qparcelasmarco_plantacion: TWideStringField;
    qparcelasnum_goteros: TFloatField;
    qparcelasgastosgenerales: TIntegerField;
    qparcelasref_catastro: TWideStringField;
    qparcelassigpac_prov: TIntegerField;
    qparcelassigpac_muni: TIntegerField;
    qparcelassigpac_agre: TIntegerField;
    qparcelassigpac_zona: TIntegerField;
    qparcelassigpac_poli: TIntegerField;
    qparcelassigpac_pacr: TIntegerField;
    qparcelasx: TWideStringField;
    qparcelasy: TWideStringField;
    qparcelasdatum: TWideStringField;
    qparcelashuso: TIntegerField;
    qparcelaspropiedad: TWideStringField;
    qparcelasactivo: TIntegerField;
    qparcelasseleccionado: TIntegerField;
    qparcelassuperficie: TFloatField;
    qparcelasest_meteo: TWideStringField;
    qparcelascoste_kg_ref: TFloatField;
    qparcelasactivo_almacen: TIntegerField;
    qparcelasporc_desperdicio: TFloatField;
    qparcelasporc_merma: TFloatField;
    qparcelases_centrotrabajo: TIntegerField;
    qparcelassigpac_recinto: TIntegerField;
    qparcelaspie_planta: TWideStringField;
    qparcelasnumero: TWideStringField;
    qparcelastiene_gg: TIntegerField;
    qparcelastiene_dop: TIntegerField;
    qparcelasc_calidad: TIntegerField;
    qparcelasc_espcliente: TIntegerField;
    qparcelasc_etiquetado: TIntegerField;
    qparcelassello_gg: TWideStringField;
    qparcelassello_dop: TWideStringField;
    qparcelassello_igp: TWideStringField;
    qparcelastiene_igp: TIntegerField;
    qparcelastiene_ifs: TIntegerField;
    qparcelassello_ifs: TWideStringField;
    qparcelaspropietario: TIntegerField;
    qparcelastiene_brc: TIntegerField;
    qparcelassello_brc: TWideStringField;
    qnominasdetalleobservaciones: TWideStringField;
    qnominasdetalleempresa: TIntegerField;
    qproduccionmesa2mesa: TWideStringField;
    qproduccionmesa2cantidad: TFloatField;
    qproduccionmesa2horasmesa: TFloatField;
    qproduccionmesa2cantidadhora: TFloatField;
    qparcelasancho_calle: TFloatField;
    qfinalizarlogin: TFDQuery;
    tempresafaceficherofirma: TWideStringField;
    tempresafaceficheropass: TWideStringField;
    tempresafaceimpuesto: TWideStringField;
    tempresafacenombrefirma: TWideStringField;
    tempresafacepersona: TWideStringField;
    tempresaverifactuactivo: TIntegerField;
    tempresaverifactupre: TIntegerField;
    tempresaverifactuficherofirma: TWideStringField;
    tempresaverifactuficheropass: TWideStringField;
    tempresaverifactufirma: TWideStringField;
    ttrabajadoresgrupo: TIntegerField;
    ttrabajadoresactivo: TIntegerField;
    ttrabajadorescontrolcalidad: TIntegerField;
    ttrabajadoreshorascontrato: TFloatField;
    ttrabajadoresnum_taquilla: TIntegerField;
    ttrabajadoresemail: TWideStringField;
    ttrabajadoresconvocatoria: TWideStringField;
    tempresaIAmodelo: TWideStringField;
    tempresaapikey: TWideStringField;
    tempresacerrar_sesion: TIntegerField;
    tempresaretencion_me: TFloatField;
    tempresah_comienzo_tarde: TTimeField;
    ttrabajadoresresponsable: TIntegerField;
    ttrabajadoresfumigador: TIntegerField;
    ttrabajadoresretencion_me: TFloatField;
    tprenominasTOTALME: TFloatField;
    tprenominasME: TFloatField;
    tnominasdetalleTOTALME: TFloatField;
    tnominasdetalleME: TFloatField;
    ttrabajadoresjornada_continua: TSmallintField;
    ttrabajadoressalariobasedia: TFloatField;
    tprenominasEMBARGOS: TFloatField;
    Iconos: TImageList;
    procedure DataModuleCreate(Sender: TObject);
    procedure DBagrigestBeforeConnect(Sender: TObject);
    procedure dsqproductosDataChange(Sender: TObject; Field: TField);
    procedure dsqmateriasprimasDataChange(Sender: TObject; Field: TField);
    procedure dsqtipohorasDataChange(Sender: TObject; Field: TField);
    procedure DataModuleDestroy(Sender: TObject);
    procedure nomlhhastaChange(Sender: TObject; Field: TField);
    procedure dsqtrabajosalmacenDataChange(Sender: TObject; Field: TField);
    procedure dscontrolproduccionStateChange(Sender: TObject);
    procedure dsqparcelaStateChange(Sender: TObject);
    procedure dsqcampanyasStateChange(Sender: TObject);
    procedure dsempresaStateChange(Sender: TObject);
    procedure dsqtipohoras2DataChange(Sender: TObject; Field: TField);
    procedure dsqtrabajadores2DataChange(Sender: TObject; Field: TField);
    procedure dsqlistadotrabajosDataChange(Sender: TObject; Field: TField);
    procedure dsqtipotrabajo2DataChange(Sender: TObject; Field: TField);
    procedure dsqtrabajadores3DataChange(Sender: TObject; Field: TField);
    procedure dsqparcela2DataChange(Sender: TObject; Field: TField);
    procedure dspartes_diariosDataChange(Sender: TObject; Field: TField);
    procedure dstalmacenesStateChange(Sender: TObject);
    procedure dstarticulosalmacenStateChange(Sender: TObject);
    procedure dsqpartesdiarios2DataChange(Sender: TObject; Field: TField);
    procedure qarticulosalmacenAfterOpen(DataSet: TDataSet);
    procedure qarticulosalmacenBeforeOpen(DataSet: TDataSet);
    procedure dsqseriesStateChange(Sender: TObject);
    procedure qparcelasBeforeOpen(DataSet: TDataSet);
    procedure dtarticulos_componentesAfterPost(DataSet: TDataSet);
    procedure dtarticulos_componentesBeforePost(DataSet: TDataSet);
    procedure tprenominasCalcFields(DataSet: TDataSet);
    procedure qseriesAfterPost(DataSet: TDataSet);
    procedure dsempresaDataChange(Sender: TObject; Field: TField);
    procedure dsqparcelaDataChange(Sender: TObject; Field: TField);
  private
    { Private declarations }
  public
    { Public declarations }
    var   filtro:string;
          vertodos:integer;
          vempresa,vidusuario,vidlogin:integer;
          vusuario:string;
    function PedirConfirmacion(mensaje:string; si,no,cancelar:boolean):integer;
  end;

var
  DM: TDM;

implementation

{%CLASSGROUP 'Vcl.Controls.TControl'}

uses principal, fenvases_almacen, datosclientes, fconfirmar, datosestadisticas;

{$R *.dfm}

function tdm.PedirConfirmacion(mensaje:string; si,no,cancelar:boolean):integer;
begin
    confirmar:=tconfirmar.create(nil);
    with confirmar do
    begin
        LMensaje.caption:=mensaje;
        bsi.visible:=si;
        bno.visible:=no;
        bcancelar.visible:=cancelar;
    end;
    result:=Confirmar.Showmodal;
    confirmar.free;
end;
procedure TDM.DBagrigestBeforeConnect(Sender: TObject);
begin
  DBagrigest.FormatOptions.AssignedValues := DBagrigest.FormatOptions.AssignedValues + [fvMapRules];
  DBagrigest.FormatOptions.OwnMapRules := True;
  DBagrigest.FormatOptions.MapRules.Clear;
  with DBagrigest.FormatOptions.MapRules.Add do
  begin
    SourceDataType := dtSingle;
    TargetDataType := dtDouble;
  end;
  with DBagrigest.FormatOptions.MapRules.Add do
  begin
    SourceDataType := dtBCD;
    TargetDataType := dtDouble;
  end;
  with DBagrigest.FormatOptions.MapRules.Add do
  begin
    SourceDataType := dtFmtBCD;
    TargetDataType := dtDouble;
  end;
end;

procedure TDM.DataModuleCreate(Sender: TObject);
var F: TextFile;
    sLinea,thost,tuser,tpass,tbd: String;
    hora1,hora2,hora3:ttime;
    configuracion:array of string;
    linea,x:integer;
begin
  inherited;
  AssignFile( F, ExtractFilePath( Application.ExeName ) + 'config.ini' );
  Reset( F );
  linea:=1;
  setlength (configuracion,5);
  for x:=1 to 5 do
  begin
    ReadLn( F, sLinea );
    configuracion[linea]:=sLinea;
    linea:=linea+1;
  end;

  CloseFile( F );
    thost:=configuracion[1];
    tuser:=configuracion[2];
    tpass:=configuracion[3];
    tlimitado:=configuracion[4];
    tbd:=configuracion[5];
    DBagrigest.Connected:=false;
    DBagrigest.Params.Values['Database']:=tbd;
    DBagrigest.Params.Values['Server']:=thost;
    DBagrigest.Params.Values['User_Name']:=tuser;
    DBagrigest.Params.Values['Password']:=tpass;
    DBagrigest.Params.Values['DriverID']:='MySQL';
    DBagrigest.Params.Values['CharacterSet']:='utf8';
    DBagrigest.Connected:=true;
end;

procedure TDM.DataModuleDestroy(Sender: TObject);
begin
  inherited;
    ExitProcess(0);
end;

procedure TDM.dscontrolproduccionStateChange(Sender: TObject);
begin
  inherited;
    if qcontrolproduccion.State in [dsedit] then
    begin
      base.btcontrolproduccion.visible:=true;
      base.btcontrolprodcerrar.Visible:=false;
    end;
    if qcontrolproduccion.State in [dsbrowse] then
    begin
      base.btcontrolproduccion.visible:=false;
      base.btcontrolprodcerrar.Visible:=true;
    end;

end;

procedure TDM.dsempresaDataChange(Sender: TObject; Field: TField);
begin
       If not DirectoryExists('c:\agrigest\tmp') then CreateDir('c:\agrigest\tmp');
       Deletefile('c:\agrigest\tmp\empimg.*');//+temp_fotosextension.AsString);
       base.imgfotoe.Picture:=nil;
       if  tempresalogo.AsString<>'' then
       begin
         tempresalogo.savetofile('c:\agrigest\tmp\empimg.jpg');
         base.imgfotoe.Picture.LoadFromFile('c:\agrigest\tmp\empimg.jpg');
         Deletefile('c:\agrigest\tmp\empimg.jpg');
       end;

end;

procedure TDM.dsempresaStateChange(Sender: TObject);
begin
  inherited;
if tempresa.State in [dsedit] then
begin
    base.bemodificar.Click;
end;
end;

procedure TDM.dspartes_diariosDataChange(Sender: TObject; Field: TField);
begin
  inherited;
  base.tfirmanominas.Picture:=nil;
  qfirmas.Close;
  if  (qpartes_diariosfirma.asinteger<>0) then
  begin
      qfirmas.SQL.Clear;
      qfirmas.SQL.Add('select * from firmas where id='+dm.qpartes_diariosfirma.Asstring+' and ide='+dm.qpartes_diarioside.asstring);
      qfirmas.open;
      qfirmasfirma.SaveToFile('c:\agrigest\informes\firma.bmp');
      base.tfirmanominas.Picture.LoadFromFile('c:\agrigest\informes\firma.bmp');
  end else   base.tfirmanominas.Picture:=nil;
end;

procedure TDM.dsqcampanyasStateChange(Sender: TObject);
begin
  inherited;
if qcampanyas.State in [dsedit,dsinsert] then
begin
    base.bcanadir.Enabled:=false;
    base.bcmodificar.Enabled:=false;
    base.bcborrar.Enabled:=false;
    base.bccancelar.Enabled:=true;
    base.bcaceptar.Enabled:=true;
end else
begin
    base.bcanadir.Enabled:=true;
    base.bcmodificar.Enabled:=true;
    base.bcborrar.Enabled:=true;
    base.bccancelar.Enabled:=false;
    base.bcaceptar.Enabled:=false;
end;
end;

procedure TDM.dsqlistadotrabajosDataChange(Sender: TObject; Field: TField);
begin
  inherited;
    if dm.qlistadotrabajos.State in [dsbrowse] then dm.qlistadotrabajos.Refresh;
    if dm.qtrabajadores2.State in [dsbrowse] then dm.qtrabajadores2.Refresh;
end;

procedure TDM.dsqmateriasprimasDataChange(Sender: TObject; Field: TField);
begin
  inherited;
  if tmateriasprimas.Active then
    tmateriasprimas.Locate('id',qmateriasprimasid.AsString,[locaseinsensitive])
end;

procedure TDM.dsqparcela2DataChange(Sender: TObject; Field: TField);
begin
  inherited;
//    if dm.qlistadohoras.State in [dsbrowse] then dm.qlistadohoras.Refresh;
    if dm.qtipohoras2.State in [dsbrowse] then dm.qtipohoras2.Refresh;
    if dm.qtrabajadores2.State in [dsbrowse] then dm.qtrabajadores2.Refresh;
end;

procedure TDM.dsqparcelaDataChange(Sender: TObject; Field: TField);
begin
    dmestadisticas.qcampanyas.open;
    dmestadisticas.qcampanyas.First;
end;

procedure TDM.dsqparcelaStateChange(Sender: TObject);
begin
  inherited;
if qparcelas.State in [dsedit,dsinsert] then
begin
    base.bccanadir.Enabled:=false;
    base.bccmodificar.Enabled:=false;
    base.bccborrar.Enabled:=false;
    base.bcccancelar.Enabled:=true;
    base.bccaceptar.Enabled:=true;
end else
begin
    base.bccanadir.Enabled:=true;
    base.bccmodificar.Enabled:=true;
    base.bccborrar.Enabled:=true;
    base.bcccancelar.Enabled:=false;
    base.bccaceptar.Enabled:=false;
end;

end;

procedure TDM.dsqpartesdiarios2DataChange(Sender: TObject; Field: TField);
begin
  base.tfirmaproduccion.Picture:=nil;
  qfirmas.Close;
  if  (qpartes_diarios2firma.asinteger<>0) then
  begin
      qfirmas.SQL.Clear;
      qfirmas.SQL.Add('select * from firmas where id='+dm.qpartes_diarios2firma.Asstring+' and ide='+dm.qpartes_diarios2ide.asstring);
      qfirmas.open;
      qfirmasfirma.SaveToFile('c:\agrigest\informes\firma.bmp');
      base.tfirmaproduccion.Picture.LoadFromFile('c:\agrigest\informes\firma.bmp');
  end else

end;

procedure TDM.dsqproductosDataChange(Sender: TObject; Field: TField);
begin
  inherited;
  if tproductos.Active then
    tproductos.Locate('codigo',qproductoscodigo.AsString,[locaseinsensitive])
end;

procedure TDM.dsqseriesStateChange(Sender: TObject);
begin
    if dm.qseries.State in [dsedit,dsinsert] then
    begin
       base.btsnnuevo.enabled:=false;
       base.btsnborrar.enabled:=false;
       base.btsnmodificar.enabled:=false;
       base.btsnguardar.enabled:=true;
       base.btsncancelar.enabled:=true;
    end;
    if dm.qseries.State in [dsbrowse] then
    begin
       base.btsnnuevo.enabled:=true;
       base.btsnborrar.enabled:=true;
       base.btsnmodificar.enabled:=true;
       base.btsnguardar.enabled:=false;
       base.btsncancelar.enabled:=false;
    end;
end;

procedure TDM.dsqtipohoras2DataChange(Sender: TObject; Field: TField);
begin
  inherited;
    if dm.qlistadohoras.State in [dsbrowse] then dm.qlistadohoras.Refresh;
    if dm.qtrabajadores2.State in [dsbrowse] then dm.qtrabajadores2.Refresh;
end;

procedure TDM.dsqtipohorasDataChange(Sender: TObject; Field: TField);
begin
  inherited;
  ttipohoras.Locate('codart',qtipohorascodart.AsString,[locaseinsensitive])
end;

procedure TDM.dsqtipotrabajo2DataChange(Sender: TObject; Field: TField);
begin
  inherited;
    if dm.qlistadotrabajos.State in [dsbrowse] then dm.qlistadotrabajos.Refresh;
    if dm.qtrabajadores3.State in [dsbrowse] then dm.qtrabajadores3.Refresh;
end;

procedure TDM.nomlhhastaChange(Sender: TObject; Field: TField);
begin
  inherited;
  if ttipotrabajo.Active then
    ttipotrabajo.locate('id',qtrabajosid.AsString,[locaseinsensitive]);
end;

procedure TDM.dsqtrabajadores2DataChange(Sender: TObject; Field: TField);
begin
  inherited;
    if dm.qlistadohoras.State in [dsbrowse] then dm.qlistadohoras.Refresh;
end;

procedure TDM.dsqtrabajadores3DataChange(Sender: TObject; Field: TField);
begin
  inherited;
    if dm.qlistadotrabajos.State in [dsbrowse] then dm.qlistadotrabajos.Refresh;
end;

procedure TDM.dsqtrabajosalmacenDataChange(Sender: TObject; Field: TField);
begin
  inherited;
  if ttrabajosalmacen.Active then
    ttrabajosalmacen.locate('id',qtrabajosalmacenid.AsString,[locaseinsensitive]);
  if qtipohoras.Active then
    qtipohoras.locate('codart',qtrabajosalmacenarticulo.AsString,[locaseinsensitive]);
  if qparcelas.Active then
    qparcelas.locate('codpar',qtrabajosalmacenparcela.AsString,[locaseinsensitive]);
  if qtrabajos.Active then
    qtrabajos.locate('id',qtrabajosalmacentipo_trabajo.AsString,[locaseinsensitive]);
end;

procedure TDM.dstalmacenesStateChange(Sender: TObject);
begin
    if talmacenes.State in [dsedit,dsinsert] then
    begin
        base.Panel110.Enabled:=true;
    end;
    if talmacenes.State in [dsbrowse] then
    begin
        base.Panel110.Enabled:=false;
    end;
end;

procedure TDM.dstarticulosalmacenStateChange(Sender: TObject);
begin
    if dm.dtarticulosalmacen.State in [dsedit,dsinsert] then
    begin
       envases_almacen.Panel14.Enabled:=true;
       envases_almacen.btEAnuevo.enabled:=false;
       envases_almacen.btEAborrar.enabled:=false;
       envases_almacen.btEAmodificar.enabled:=false;
       envases_almacen.btEAguardar.enabled:=true;
       envases_almacen.btEAcancelar.enabled:=true;
    end;
    if dm.dtarticulosalmacen.State in [dsbrowse] then
    begin
       envases_almacen.Panel14.Enabled:=false;
       envases_almacen.btEAnuevo.enabled:=true;
       envases_almacen.btEAborrar.enabled:=true;
       envases_almacen.btEAmodificar.enabled:=true;
       envases_almacen.btEAguardar.enabled:=false;
       envases_almacen.btEAcancelar.enabled:=false;
    end;
end;

procedure TDM.dtarticulos_componentesAfterPost(DataSet: TDataSet);
var observaciones:string;
begin
    dtarticulos_componentes.refresh;
    qaux.close;
    qaux.SQL.Clear;
    qaux.SQL.Add('select * from articulos_componentes where idempresa='+dm.dtarticulosalmacenide.Asstring+' and idarticuloalmacen='+dm.dtarticulosalmacenid.Asstring);
    qaux.open;
    qaux.First;
    observaciones:='LLEVA ';
    while not qaux.eof do
    begin
       observaciones:=observaciones+qaux.fields[4].asstring+' X '+qaux.fields[3].asstring+',';
       qaux.next;
    end;
    observaciones:=observaciones+' REVISADO EL '+datetostr(date());
    qaux.close;
    qaux.SQL.Clear;
    qaux.SQL.Add('select sum(peso),sum(coste) from articulos_componentes where idempresa='+dm.dtarticulosalmacenide.Asstring+' and idarticuloalmacen='+dm.dtarticulosalmacenid.Asstring);
    qaux.open;
    dtarticulosalmacen.Edit;
    dtarticulosalmacentara.Value:=qaux.Fields[0].AsFloat;
    dtarticulosalmacencosto.Value:=qaux.Fields[1].AsFloat;
    dtarticulosalmacenobservaciones.Value:=observaciones;
    dtarticulosalmacen.Refresh;
    dtarticulos_componentes.refresh;
end;

procedure TDM.dtarticulos_componentesBeforePost(DataSet: TDataSet);
var ide,idaf:string;
begin
    ide:=dtarticulos_componentesidempresa.asstring;
    idaf:=dtarticulos_componentesidarticulof.asstring;
    dmclientes.qarticulosfinal.Locate('idempresa;id',vararrayof([ide,idaf]),[locaseinsensitive]);
    dtarticulos_componentespreciocoste.Value:=dmclientes.qarticulosfinalult_preciocompra.AsFloat;
    dtarticulos_componentescoste.Value:=dtarticulos_componentescantidad.asfloat*dmclientes.qarticulosfinalult_preciocompra.AsFloat;
    dtarticulos_componentespeso.value:=dtarticulos_componentescantidad.AsFloat*dmclientes.qarticulosfinalpeso.AsFloat;
end;

procedure TDM.qarticulosalmacenAfterOpen(DataSet: TDataSet);
begin
   if dtarticulosalmacen.Active then dtarticulosalmacen.Refresh else dtarticulosalmacen.Open;
end;

procedure TDM.qarticulosalmacenBeforeOpen(DataSet: TDataSet);
var filtrolocal:string;
begin
    if filtro<>'' then
    begin
       begin
         filtrolocal:=' where descripcion like('+''''+filtro+''''+') or codigo like('+''''+filtro+''''+') or id like('+''''+filtro+''''+')';
       end;
      if vertodos=0 then
      begin
          begin
            filtrolocal:=' where (descripcion like('+''''+filtro+''''+') or codigo like('+''''+filtro+''''+') or id like('+''''+filtro+''''+')';
            filtrolocal:=filtrolocal+') and activo=1 ';
          end;
      end;
    end;

    if filtro='' then
    begin
      filtrolocal:='';
      if vertodos=0 then
      begin
          filtrolocal:=' where activo=1 ';
      end;
    end;


    qarticulosalmacen.SQL.Clear;
    qarticulosalmacen.SQL.Add('select id,ide,codigo,descripcion,activo from articulos_almacen ' + filtrolocal +' order by descripcion')


end;

procedure TDM.qparcelasBeforeOpen(DataSet: TDataSet);
var filtro:string;
begin
    if filtroparcelas<>'' then
    begin
         filtro:=filtro+ ' where nombre like('+''''+filtroparcelas+''''+')';
    end;
    if filtroparcelas='' then
    begin
        filtro:=filtro+ ' where activo=1';//+inttostr(vtactivo);
    end;
    qparcelas.SQL.Clear;
    qparcelas.SQL.Add('select * from parcelas ' + filtro +' order by nombre')

end;

procedure TDM.qseriesAfterPost(DataSet: TDataSet);
begin
    if qseriesactivo.AsInteger=1 then
    begin
      qaux.SQL.Clear;
      qaux.SQL.Add('update series_numericas set activo=0 where ide='+qserieside.AsString+' and id<>'+''''+qseriesid.AsString+'''');
      qaux.ExecSQL;
    end;
    qseries.Refresh;
end;

procedure TDM.tprenominasCalcFields(DataSet: TDataSet);
var diascalculo:real;
    salariobase: real;
begin
   salariobase:=tprenominassalariobase.AsFloat;
   diascalculo:=tprenominasdiascalculo.asinteger;
   if diascalculo>0 then tprenominasbasedia.value:=tprenominastotalbruto.asfloat/diascalculo;
{   if tprenominasbasedia.AsFloat<salariobase then
   begin
     diascalculo:=diascalculo-1;
     tprenominasbasedia.value:=tprenominastotalbruto.asfloat/diascalculo;
   end;
   if tprenominasbasedia.AsFloat<salariobase then
   begin
     diascalculo:=diascalculo-1;
     tprenominasbasedia.value:=tprenominastotalbruto.asfloat/diascalculo;
   end;   }



end;

end.
