diff --git a/Modulos/Calendarios/Cliente/Calendarios.bdsproj b/Modulos/Calendarios/Cliente/Calendarios.bdsproj new file mode 100644 index 0000000..1ade83c --- /dev/null +++ b/Modulos/Calendarios/Cliente/Calendarios.bdsproj @@ -0,0 +1,492 @@ + + + + + + + + + + + + Calendarios.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 3 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\Output\Cliente + .\ + $(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\Reglas;..\Cliente + vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;PluginSDK_D7R;DJcl;JvStdCtrlsD7R;JvAppFrmD7R;JvCoreD7R;JvBandsD7R;JvBDED7R;JvDBD7R;JvDlgsD7R;JvCmpD7R;JvCryptD7R;JvCtrlsD7R;JvCustomD7R;JvDockingD7R;JvDotNetCtrlsD7R;JvEDID7R;qrpt;JvGlobusD7R;JvHMID7R;JvInspectorD7R;JvInterpreterD7R;JvJansD7R;JvManagedThreadsD7R;JvMMD7R;JvNetD7R;JvPageCompsD7R;JvPluginD7R;JvPrintPreviewD7R;JvSystemD7R;JvTimeFrameworkD7R;JvUIBD7R;JvValidatorsD7R;JvWizardD7R;JvXPCtrlsD7R;GUISDK_D7;RemObjects_WebBroker_D7;RemObjects_Indy_D7;RemObjects_RODX_D7;RemObjects_BPDX_D7;PascalScript_RO_D7;DataAbstract_Core_D7;DataAbstract_IDE_D7;DataAbstract_DBXDriver_D7;DataAbstract_Scripting_D7;dxBarD7;dxComnD7;cxLibraryVCLD7;cxEditorsVCLD7;dxThemeD7;cxDataD7;cxExtEditorsVCLD7;cxGridVCLD7;cxPageControlVCLD7;cxSchedulerVCLD7;cxTreeListVCLD7;dxBarDBNavD7;dxBarExtDBItemsD7;dxBarExtItemsD7;dxDockingD7;dxNavBarD7;dxPSCoreD7;dxsbD7;dxPSLnksD7;dxPSTeeChartD7;EPCOTAUtils70;PNG_D7;PngComponentsD7;tb2k_d7;tbx_d7;UserControlD7_RT;fqb70;frx7;frxADO7;frxBDE7;frxcs7;frxDB7;frxDBX7;frxe7;frxIBX7;fs7;fsADO7;fsBDE7;fsDB7;fsIBX7;cxExportVCLD7;cxIntl5D7;cxIntlPrintSys3D7;dxPScxCommonD7;dxPScxExtCommonD7;dxPScxGridLnkD7;dxPScxPCProdD7;dxPScxTLLnkD7;dxPSDBTeeChartD7;dxPsPrVwAdvD7;TMSD7;FR7;FRIBX7;cxIntlSchedulerD7;dxLayoutControlD7;dxPScxScheduler2LnkD7 + + + False + + + + + + False + + + True + False + + + + $00000000 + C:\Archivos de programa\Borland\Delphi7\Bin\ + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Modulos/Calendarios/Cliente/Calendarios.cfg b/Modulos/Calendarios/Cliente/Calendarios.cfg new file mode 100644 index 0000000..4af03f3 --- /dev/null +++ b/Modulos/Calendarios/Cliente/Calendarios.cfg @@ -0,0 +1,45 @@ +-$A8 +-$B- +-$C+ +-$D+ +-$E- +-$F- +-$G+ +-$H+ +-$I+ +-$J- +-$K- +-$L+ +-$M- +-$N+ +-$O- +-$P+ +-$Q- +-$R- +-$S- +-$T- +-$U- +-$V+ +-$W- +-$X+ +-$YD +-$Z1 +-GD +-cg +-AWinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; +-H+ +-W+ +-M +-$M16384,1048576 +-K$00400000 +-N".\" +-LE"..\..\..\Output\Cliente" +-LN".\" +-U"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\Reglas;..\Cliente" +-O"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\Reglas;..\Cliente" +-I"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\Reglas;..\Cliente" +-R"c:\archivos de programa\borland\delphi7\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\Reglas;..\Cliente" +-Z +-w-UNSAFE_TYPE +-w-UNSAFE_CODE +-w-UNSAFE_CAST diff --git a/Modulos/Calendarios/Cliente/Calendarios.dpk b/Modulos/Calendarios/Cliente/Calendarios.dpk new file mode 100644 index 0000000..8b5084b --- /dev/null +++ b/Modulos/Calendarios/Cliente/Calendarios.dpk @@ -0,0 +1,79 @@ +package Calendarios; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION OFF} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$IMPLICITBUILD OFF} + +requires + BaseD7, + PluginSDK_D7R, + rtl, + vcl, + cxLibraryVCLD7, + dxThemeD7, + cxEditorsVCLD7, + cxDataD7, + dbrtl, + vcljpg, + vcldb, + cxExtEditorsVCLD7, + vclx, + cxExportVCLD7, + cxSchedulerVCLD7, + dxPScxScheduler2LnkD7, + cxGridVCLD7, + cxPageControlVCLD7, + dxPSCoreD7, + dxComnD7, + dxPScxGridLnkD7, + dxPScxCommonD7, + dxPSLnksD7, + designide, + vclactnband, + vclshlctrls, + dclcxLibraryVCLD7, + dsnap, + adortl, + PngComponentsD7, + PNG_D7, + tb2k_d7, + tbx_d7, + JvCoreD7R, + Jcl, + JclVcl, + JvSystemD7R, + JvPageCompsD7R, + JvStdCtrlsD7R; + +contains + uPluginControllerCalendarios in 'uPluginControllerCalendarios.pas' {ModuleCalendarios: TModuleController}, + uDataModuleCalendarios in 'uDataModuleCalendarios.pas' {dmCalendarios: TDAClientDataModule}, + uViewCalendarioBase in 'uViewCalendarioBase.pas' {frViewCalendarioBase: TCustomView}, + uBizCitas in '..\Reglas\uBizCitas.pas', + uEditorCalendarioBase in 'uEditorCalendarioBase.pas' {fEditorCalendarioBase: TCustomEditor}, + uEditorCalendarioMediciones in 'uEditorCalendarioMediciones.pas' {fEditorCalendarioMediciones: TCustomEditor}, + uViewCalendarioConFiltro in 'uViewCalendarioConFiltro.pas' {frViewCalendarioConFiltro: TCustomView}, + EditorEventos in 'EditorEventos.pas' {frEditorEventos}, + uEditorCalendarioConFiltro in 'uEditorCalendarioConFiltro.pas' {fEditorCalendarioConFiltro: TCustomEditor}; + +end. diff --git a/Modulos/Calendarios/Cliente/Calendarios.res b/Modulos/Calendarios/Cliente/Calendarios.res new file mode 100644 index 0000000..ec5f233 Binary files /dev/null and b/Modulos/Calendarios/Cliente/Calendarios.res differ diff --git a/Modulos/Calendarios/Cliente/EditorEventos.dfm b/Modulos/Calendarios/Cliente/EditorEventos.dfm new file mode 100644 index 0000000..3cc8eaa --- /dev/null +++ b/Modulos/Calendarios/Cliente/EditorEventos.dfm @@ -0,0 +1,267 @@ +inherited frEditorEventos: TfrEditorEventos + Left = 428 + Top = 320 + BorderIcons = [biSystemMenu] + Caption = 'frEditorEventos' + ClientHeight = 533 + Constraints.MinHeight = 350 + PixelsPerInch = 96 + TextHeight = 13 + inherited pnlButtons: TPanel + Top = 492 + Height = 41 + AutoSize = True + inherited pnlThreeButtons: TPanel + Height = 41 + inherited btnOk: TcxButton + Left = -34 + end + inherited btnCancel: TcxButton + Left = 76 + end + inherited btnDelete: TcxButton + Left = 186 + end + end + inherited pnlRecurrence: TPanel + Height = 41 + inherited btnRecurrence: TcxButton + LookAndFeel.Kind = lfFlat + end + end + end + inherited pnlCaption: TPanel + Top = 148 + Height = 37 + Visible = False + DesignSize = ( + 450 + 37) + inherited lbLocation: TLabel + Top = 62 + end + inherited lbLabel: TLabel + Top = 62 + end + inherited teLocation: TcxTextEdit + Top = 58 + end + inherited icbLabel: TcxImageComboBox + Top = 58 + end + end + inherited pnlTime: TPanel + Top = 185 + Visible = False + end + inherited pnlRecurrenceInfo: TPanel + Top = 252 + end + inherited pnlPlaceHolder: TPanel + Top = 332 + Visible = False + inherited pnlReminder: TPanel + Visible = False + end + inherited Panel1: TPanel + inherited Bevel3: TBevel + Width = 431 + Visible = False + end + end + end + inherited pnlMessage: TPanel + Top = 375 + Height = 117 + Anchors = [] + BorderWidth = 10 + TabOrder = 9 + Visible = False + inherited Bevel2: TBevel + Width = 431 + end + inherited Bevel1: TBevel + Left = 10 + Top = 106 + Width = 430 + Height = 1 + Align = alBottom + Visible = False + end + inherited meMessage: TcxMemo + Top = 10 + Align = alClient + Height = 96 + Width = 430 + end + end + inherited pnlResource: TPanel + Top = 105 + Visible = False + object Bevel9: TBevel [2] + Left = 12 + Top = 36 + Width = 429 + Height = 7 + Anchors = [akLeft, akTop, akRight] + Shape = bsBottomLine + Visible = False + end + object cbInstaladores: TcxComboBox [3] + Left = 80 + Top = 13 + TabOrder = 1 + Width = 217 + end + inherited cbResources: TcxCheckComboBox + Left = 144 + Properties.EmptySelectionText = 'Ninguno seleccionado' + Visible = False + Width = 122 + end + object cbMedicion: TcxCheckBox + Left = 319 + Top = 14 + Caption = 'Es una medici'#243'n' + Properties.OnChange = cbTerminadoPropertiesChange + TabOrder = 2 + Visible = False + Width = 122 + end + end + object pnlObra: TPanel + Left = 0 + Top = 41 + Width = 450 + Height = 64 + Align = alTop + BevelOuter = bvNone + FullRepaint = False + ParentColor = True + TabOrder = 6 + Visible = False + DesignSize = ( + 450 + 64) + object lbObra: TLabel + Left = 16 + Top = 16 + Width = 28 + Height = 13 + Caption = 'Obra:' + end + object lbTipo: TLabel + Left = 16 + Top = 41 + Width = 24 + Height = 13 + Caption = 'Tipo:' + end + object lbPartida: TLabel + Left = 241 + Top = 41 + Width = 51 + Height = 13 + Alignment = taRightJustify + Caption = 'Pedido de:' + Visible = False + end + object Bevel10: TBevel + Left = 11 + Top = 0 + Width = 429 + Height = 8 + Anchors = [akLeft, akTop, akRight] + Shape = bsTopLine + end + object cbObra: TcxComboBox + Left = 72 + Top = 12 + Anchors = [akLeft, akTop, akRight] + Properties.DropDownAutoWidth = False + Properties.DropDownListStyle = lsFixedList + Properties.OnEditValueChanged = cbObraPropertiesEditValueChanged + TabOrder = 0 + Width = 370 + end + object cbTipo: TcxComboBox + Left = 72 + Top = 37 + Properties.DropDownAutoWidth = False + Properties.DropDownListStyle = lsFixedList + Properties.OnEditValueChanged = cbTipoPropertiesEditValueChanged + TabOrder = 1 + Width = 145 + end + object teCodigoContrato: TEdit + Left = 40 + Top = 32 + Width = 25 + Height = 21 + TabOrder = 2 + Text = 'teCodigoContrato' + Visible = False + end + object teNombreCliente: TEdit + Left = 40 + Top = 8 + Width = 25 + Height = 21 + TabOrder = 3 + Text = 'teNombreCliente' + Visible = False + end + object cbPartida: TcxComboBox + Left = 296 + Top = 37 + Anchors = [akLeft, akTop, akRight] + Properties.DropDownAutoWidth = False + Properties.DropDownListStyle = lsFixedList + Properties.OnEditValueChanged = cbTipoPropertiesEditValueChanged + TabOrder = 4 + Visible = False + Width = 145 + end + end + object pnlCompletada: TPanel + Left = 0 + Top = 292 + Width = 450 + Height = 40 + Align = alTop + BevelOuter = bvNone + FullRepaint = False + ParentColor = True + TabOrder = 8 + Visible = False + DesignSize = ( + 450 + 40) + object Bevel8: TBevel + Left = 11 + Top = 0 + Width = 431 + Height = 9 + Anchors = [akLeft, akTop, akRight] + Shape = bsTopLine + end + object cbCompletada: TcxCheckBox + Left = 12 + Top = 12 + Caption = 'Cita completada el d'#237'a' + Properties.OnChange = cbTerminadoPropertiesChange + TabOrder = 0 + Width = 141 + end + object deFechaCompletada: TcxDateEdit + Left = 147 + Top = 11 + Properties.DateButtons = [btnToday] + Properties.ImmediatePost = True + Properties.InputKind = ikStandard + Properties.OnChange = deFechaCompletadaPropertiesChange + TabOrder = 1 + Width = 121 + end + end +end diff --git a/Modulos/Calendarios/Cliente/EditorEventos.pas b/Modulos/Calendarios/Cliente/EditorEventos.pas new file mode 100644 index 0000000..73daf4a --- /dev/null +++ b/Modulos/Calendarios/Cliente/EditorEventos.pas @@ -0,0 +1,352 @@ +unit EditorEventos; +//Para poder ver el dfm de esta unidad es necesario abrir primero +//C:\Archivos de programa\Developer Express Inc\ExpressScheduler 2\Sources\cxSchedulerEventEditor + +interface + +uses Graphics, cxSchedulerDialogs, cxSchedulerEventEditor, + Menus, cxLookAndFeelPainters, cxGraphics, StdCtrls, + cxCheckComboBox, cxMemo, cxDropDownEdit, cxCheckBox, cxSpinEdit, + cxTimeEdit, cxCalendar, cxMaskEdit, cxImageComboBox, cxTextEdit, + cxControls, cxContainer, cxEdit, cxGroupBox, Controls, ExtCtrls, + cxButtons, Classes, + + uBizCitas; + +type + TfrEditorEventos = class(TcxSchedulerEventEditorForm) + pnlObra: TPanel; + lbObra: TLabel; + cbObra: TcxComboBox; + lbTipo: TLabel; + cbTipo: TcxComboBox; + teCodigoContrato: TEdit; + teNombreCliente: TEdit; + lbPartida: TLabel; + cbPartida: TcxComboBox; + pnlCompletada: TPanel; + Bevel8: TBevel; + cbCompletada: TcxCheckBox; + deFechaCompletada: TcxDateEdit; + Bevel9: TBevel; + cbInstaladores: TcxComboBox; + Bevel10: TBevel; + cbMedicion: TcxCheckBox; + procedure cbObraPropertiesEditValueChanged(Sender: TObject); + procedure cbTipoPropertiesEditValueChanged(Sender: TObject); + procedure cbTerminadoPropertiesChange(Sender: TObject); + procedure deFechaCompletadaPropertiesChange(Sender: TObject); + private + FTipoEvento : TTipoCitas; + procedure ApplyChanges; + protected + procedure DeleteEvent; override; + procedure PostEvent; override; + procedure SaveChanges; override; + function GetFormColor: TColor; override; + function GetResourcesPanelVisible: Boolean; override; + procedure InitializeControls; override; + procedure LoadEventValuesIntoControls; override; + function IsValid: Boolean; override; + procedure SetCaptions; override; + procedure SetReadOnly(AValue: Boolean); override; + procedure UpdateEventValuesFromControls; override; + procedure SaveResourceID; override; + public + constructor Create(AOwner: TComponent); override; + end; + +var + frEditorEventos: TfrEditorEventos; + +implementation +{$R *.dfm} + +uses SysUtils, Dialogs, Variants, DateUtils, cxSchedulerUtils, +schCitasClient_Intf, uDataModuleCalendarios; + +{ TfrEditorEventos } + +procedure TfrEditorEventos.ApplyChanges; +begin + inherited; + // +end; + +constructor TfrEditorEventos.Create(AOwner: TComponent); +begin + inherited; +end; + +function TfrEditorEventos.GetFormColor: TColor; +begin + Result := $00F9FEFF; +end; + +procedure TfrEditorEventos.InitializeControls; +begin + if not VarIsNull(Event.GetCustomFieldValueByName(fld_CITASTIPOTAREA)) then + FTipoEvento := DarTipoCita(Event.GetCustomFieldValueByName(fld_CITASTIPOTAREA)) + else + FTipoEvento := tcPersonal; + + inherited; + + pnlMessage.Visible := True; + pnlCaption.Visible := True; + + if not (FTipoEvento in [tcPersonal, tcMedicion]) then + begin + pnlObra.Visible := True; + if FTipoEvento in [tcPedido, tcConfirmacion, tcRecepcion, tcAviso, tcEntregaCliente] then + begin + pnlCompletada.Visible := True; + end; + end + else begin + pnlObra.Visible := False; + cbMedicion.Visible := (FTipoEvento = tcMedicion) + end; +end; + +function TfrEditorEventos.IsValid: Boolean; +begin + Result := inherited IsValid; + + if Result then + begin + if Length(teSubject.Text) = 0 then + begin + ShowMessage('Indique el asunto'); + Result := False; + end; + + if (FTipoEvento in [tcEntrega, tcMontaje, tcRemate]) then + begin + if Length(cbInstaladores.EditValue) = 0 then + begin + ShowMessage('Hay que indicar el instalador'); + Result := False; + end; + end; + end; +end; + +procedure TfrEditorEventos.LoadEventValuesIntoControls; +var + I, AResourceIndex: Integer; +begin + inherited LoadEventValuesIntoControls; + + if icbLabel.ItemIndex = 6 then + cbMedicion.Checked := True; + + + if (Event.GetCustomFieldValueByName(fld_CITASTIPOTAREA) <> NULL) and + not (Length(Event.GetCustomFieldValueByName(fld_CITASTIPOTAREA)) = 0) then + cbTipo.EditValue := Event.GetCustomFieldValueByName(fld_CITASTIPOTAREA); + + if not (FTipoEvento in [tcPersonal, tcMedicion]) then + begin + if (Event.GetCustomFieldValueByName(fld_CITASCODIGOCONTRATO) <> NULL) and + not (Length(Event.GetCustomFieldValueByName(fld_CITASCODIGOCONTRATO))=0) then + teCodigoContrato.Text := Event.GetCustomFieldValueByName(fld_CITASCODIGOCONTRATO); + + if (Event.GetCustomFieldValueByName(fld_CITASNOMBRECLIENTE) <> NULL) and + not (Length(Event.GetCustomFieldValueByName(fld_CITASNOMBRECLIENTE))=0) then + teNombreCliente.Text := Event.GetCustomFieldValueByName(fld_CITASNOMBRECLIENTE); + + if (Event.GetCustomFieldValueByName(fld_CITASCOMPLETADA) <> NULL) then + begin + cbCompletada.Checked := True; + deFechaCompletada.Date := DateOf(VarToDateTime(Event.GetCustomFieldValueByName(fld_CITASCOMPLETADA))); + end; + end; + + AResourceIndex := -1; + with cbInstaladores do + begin + Properties.Items.BeginUpdate; + try + Properties.Items.Clear; + for i := 0 to cbResources.Properties.Items.Count - 1 do + begin + Properties.Items.Add(cbResources.Properties.Items[i].Description); + if cbResources.States[I] = cbsChecked then + AResourceIndex := i; + end; + finally + Properties.Items.EndUpdate; + end; + ItemIndex := AResourceIndex; + end; +end; + +procedure TfrEditorEventos.SetCaptions; +begin + inherited SetCaptions; + + case FTipoEvento of + tcEntrega, + tcMontaje, + tcRemate : lbResource.Caption := 'Instalador:'; + + tcMedicion: lbResource.Caption := 'Vendedor:'; + end; + + lbSubject.Caption := 'Asunto:'; + lbStartTime.Caption := 'Comienzo:'; + lbEndTime.Caption := 'Final:'; + cbAllDayEvent.Caption := 'Todo el día'; + btnOk.Caption := 'Aceptar'; + btnDelete.Caption := 'Eliminar'; + btnCancel.Caption := 'Cancelar'; +end; + +procedure TfrEditorEventos.SetReadOnly(AValue: Boolean); +begin + inherited; + if AValue then + begin + cbObra.Enabled:= False; + cbPartida.Enabled:= False; + cbTipo.Enabled:= False; + deFechaCompletada.Enabled:= False; + cbCompletada.Enabled:= False; + end + else + begin + cbObra.Enabled:= True; + cbPartida.Enabled:= True; + cbTipo.Enabled:= True; + deFechaCompletada.Enabled:= True; + cbCompletada.Enabled:= True; + end; +end; + +procedure TfrEditorEventos.UpdateEventValuesFromControls; +begin + inherited UpdateEventValuesFromControls; + + SaveResourceID; + + try + // post the data from the custom editing controls + + if not VarIsNull(teCodigoContrato.Text) then + Event.SetCustomFieldValueByName(fld_CITASCODIGOCONTRATO, teCodigoContrato.Text); + + if not VarIsNull(teNombreCliente.Text) then + Event.SetCustomFieldValueByName(fld_CITASNOMBRECLIENTE, teNombreCliente.Text); + + if not VarIsNull(cbPartida.EditValue) then + Event.SetCustomFieldValueByName(fld_CITASPARTIDA, TextoPartidasObra[cbPartida.ItemIndex]); + + if not VarIsNull(deFechaCompletada.EditValue) then + Event.SetCustomFieldValueByName(fld_CITASCOMPLETADA, deFechaCompletada.Date) + else + Event.SetCustomFieldValueByName(fld_CITASCOMPLETADA, Null); + + if not VarIsNull(cbTipo.EditValue) then + begin + FTipoEvento := DarTipoCita(cbTipo.EditValue); + Event.SetCustomFieldValueByName(fld_CITASTIPOTAREA, TextoTipoCita[Ord(FTipoEvento)]); + end + else + FTipoEvento := tcPersonal; + + if cbMedicion.Checked then + Event.LabelColor := EventLabelColors[6] + else + Event.LabelColor := EventLabelColors[Ord(FTipoEvento) + 1]; + except + on E: Exception do + ShowMessage('Can''t post data' + #13#10 + E.Message); + end; +end; + +procedure TfrEditorEventos.cbObraPropertiesEditValueChanged( + Sender: TObject); +begin + inherited OnChanged(Sender); + if Length(cbObra.EditValue) <> 0 then + begin + teCodigoContrato.Text := Copy(cbObra.EditValue, 0, Pos(' ', cbObra.EditValue)-1); + teNombreCliente.Text := Copy(cbObra.EditValue, Pos(' ', cbObra.EditValue)+1, MaxInt); + end + else begin + teCodigoContrato.Text := '0'; + teNombreCliente.Text := ''; + end; +end; + +procedure TfrEditorEventos.cbTipoPropertiesEditValueChanged( + Sender: TObject); +begin + inherited OnChanged(Sender); + icbLabel.ItemIndex := cbTipo.ItemIndex + 1; + icbLabel.EditModified := True; +end; + +procedure TfrEditorEventos.cbTerminadoPropertiesChange(Sender: TObject); +begin + deFechaCompletada.Enabled := cbCompletada.Checked; + if not cbCompletada.Checked then + deFechaCompletada.Clear + else + if Length(deFechaCompletada.EditValue) = 0 then + deFechaCompletada.Date := DateOf(Now); + + FModified := True; + CheckVisible; +end; + +procedure TfrEditorEventos.deFechaCompletadaPropertiesChange( + Sender: TObject); +begin + FModified := True; +end; + +procedure TfrEditorEventos.DeleteEvent; +begin + inherited; +end; + +procedure TfrEditorEventos.PostEvent; +begin + inherited; +end; + +procedure TfrEditorEventos.SaveChanges; +begin + inherited; +end; + +function TfrEditorEventos.GetResourcesPanelVisible: Boolean; +begin + Result := not (FTipoEvento in [tcPedido, tcConfirmacion, tcRecepcion, tcAviso, tcEntregaCliente]); +end; + +procedure TfrEditorEventos.SaveResourceID; +var + I: Integer; +begin + if pnlResource.Visible then + begin + for I := 0 to cbResources.Properties.Items.Count - 1 do + cbResources.States[I] := cbsUnchecked; + cbResources.States[cbInstaladores.ItemIndex] := cbsChecked; + end + else + begin + showmessage('debo poner a nulo el valor de resources'); + for I := 0 to cbResources.Properties.Items.Count - 1 do + cbResources.States[I] := cbsUnchecked; + end; + inherited; +end; + +initialization + cxEventEditorClass := TfrEditorEventos; // indicate that the new Event modal dialog will be invoked at runtime + +end. diff --git a/Modulos/Calendarios/Cliente/uDataModuleCalendarios.dfm b/Modulos/Calendarios/Cliente/uDataModuleCalendarios.dfm new file mode 100644 index 0000000..8bb3ef1 Binary files /dev/null and b/Modulos/Calendarios/Cliente/uDataModuleCalendarios.dfm differ diff --git a/Modulos/Calendarios/Cliente/uDataModuleCalendarios.pas b/Modulos/Calendarios/Cliente/uDataModuleCalendarios.pas new file mode 100644 index 0000000..c1d967c --- /dev/null +++ b/Modulos/Calendarios/Cliente/uDataModuleCalendarios.pas @@ -0,0 +1,110 @@ +unit uDataModuleCalendarios; + +interface + +uses {vcl:} SysUtils, Classes, DB, DBClient, + {RemObjects:} uDAClientDataModule, uDADataTable, uDABINAdapter, + uROServiceComponent, uRORemoteService, uROClient, uROBinMessage, + uROWinInetHttpChannel, uDAScriptingProvider, uDACDSDataTable, + uBizCitas; + +type + TdmCalendarios = class(TDAClientDataModule) + DABINAdapter: TDABINAdapter; + RORemoteService: TRORemoteService; + tbl_Citas: TDACDSDataTable; + ds_Citas: TDADataSource; + tbl_Vendedores: TDACDSDataTable; + ds_Vendedores: TDADataSource; + procedure DAClientDataModuleCreate(Sender: TObject); + private + public + function GetCodigo: Integer; + function GetItems: IBizCitas; + function GetMediciones: IBizCitas; + function GetVendedores: IBizVendedores; + end; + +var + dmCalendarios: TdmCalendarios; + +implementation + +{$R *.DFM} + +uses + Controls, Forms, uDAInterfaces, DataAbstract_Intf, FactuGES_Intf, + uDataTableUtils, uROTypes, uEditorPreview, Variants, + Dialogs, uDataModuleBase, uDBSelectionList, + schCitasClient_Intf; + + +procedure TdmCalendarios.DAClientDataModuleCreate(Sender: TObject); +begin + RORemoteService.Channel := dmBase.Channel; + RORemoteService.Message := dmBase.Message; +end; + +function TdmCalendarios.GetCodigo: Integer; +begin + Result := (RORemoteService as IsrvCitas).GetCodigo('GEN_ID'); +end; + +function TdmCalendarios.GetItems: IBizCitas; +var + dtCitas: TDACDSDataTable; + ACursor: TCursor; +begin + ACursor := Screen.Cursor; + Screen.Cursor := crHourGlass; + try + dtCitas := TDACDSDataTable.Create(NIL); + CloneDataTable(tbl_Citas, dtCitas); + dtCitas.BusinessRulesID := BIZ_CITAS; + Result := (dtCitas as IBizCitas); + finally + Screen.Cursor := ACursor; + end; +end; + +function TdmCalendarios.GetMediciones: IBizCitas; +var + dtCitas : IBizCitas; +begin + dtCitas := GetItems; + with dtCitas.DataTable.Where do + begin + if not Empty then + AddOperator(opAND); + OpenBraket; + AddText('CITAS.' + fld_CITASTIPOTAREA + ' = ''' + TextoTipoCita[Ord(tcMedicion)] + '''', False); + CloseBraket; + end; + Result := dtCitas; +end; + +function TdmCalendarios.GetVendedores: IBizVendedores; +var + dtVendedores: TDACDSDataTable; + ACursor: TCursor; +begin + ACursor := Screen.Cursor; + Screen.Cursor := crHourGlass; + try + dtVendedores := TDACDSDataTable.Create(NIL); + CloneDataTable(tbl_Vendedores, dtVendedores); + dtVendedores.BusinessRulesID := BIZ_VENDEDORES; + Result := (dtVendedores as IBizVendedores); + finally + Screen.Cursor := ACursor; + end; +end; + +initialization + dmCalendarios := TdmCalendarios.Create(nil); + +finalization + FreeAndNil(dmCalendarios); + +end. + diff --git a/Modulos/Calendarios/Cliente/uEditorCalendarioBase.dfm b/Modulos/Calendarios/Cliente/uEditorCalendarioBase.dfm new file mode 100644 index 0000000..1521860 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uEditorCalendarioBase.dfm @@ -0,0 +1,147 @@ +inherited fEditorCalendarioBase: TfEditorCalendarioBase + Left = 784 + Top = 337 + Align = alClient + Caption = 'fEditorCalendarioBase' + PixelsPerInch = 96 + TextHeight = 13 + inherited TBXDock: TTBXDock + inherited tbxMain: TTBXToolbar + object TBXSeparatorItem14: TTBXSeparatorItem + end + object TBXItem33: TTBXItem + Action = actDia + end + object TBXItem34: TTBXItem + Action = actSemana + end + object TBXItem7: TTBXItem + Action = actMes + end + end + end + inherited EditorActionList: TActionList + Left = 0 + Top = 80 + inherited actNuevo: TAction + Category = 'Calendario' + OnExecute = actNuevoExecute + end + inherited actModificar: TAction + Category = 'Calendario' + OnExecute = actModificarExecute + OnUpdate = actModificarUpdate + end + inherited actGuardarCerrar: TAction + Visible = False + end + inherited actGuardar: TAction + Visible = False + end + inherited actEliminar: TAction + Category = 'Calendario' + OnExecute = actEliminarExecute + OnUpdate = actEliminarUpdate + end + inherited actPrevisualizar: TAction + OnExecute = actPrevisualizarExecute + end + inherited actImprimir: TAction + OnExecute = actImprimirExecute + end + inherited actCerrar: TAction + Visible = False + end + inherited actRefrescar: TAction + Category = 'Calendario' + OnExecute = actRefrescarExecute + end + inherited actAnterior: TAction + Visible = False + end + inherited actSiguiente: TAction + Visible = False + end + object actDia: TAction + Category = 'Calendario' + Caption = 'D'#237'a' + OnExecute = actDiaExecute + end + object actSemana: TAction + Category = 'Calendario' + Caption = 'Semana' + OnExecute = actSemanaExecute + end + object actMes: TAction + Category = 'Calendario' + Caption = 'Mes' + OnExecute = actMesExecute + end + object actSemana5: TAction + Category = 'Calendario' + Caption = 'Semana laboral' + OnExecute = actSemana5Execute + end + end + object cxSchedulerDBStorage: TcxSchedulerDBStorage + Resources.Items = <> + Resources.ResourceID = 'CODIGO' + Resources.ResourceName = 'NOMBRE' + CustomFields = <> + DataSource = DADataSource + FieldNames.Caption = 'CAPTION' + FieldNames.EventType = 'TIPO' + FieldNames.Finish = 'FINISH' + FieldNames.ID = 'ID' + FieldNames.LabelColor = 'LABELCOLOR' + FieldNames.Location = 'LOCATION' + FieldNames.Message = 'MENSAJE' + FieldNames.Options = 'OPTIONS' + FieldNames.ParentID = 'PARENTID' + FieldNames.ResourceID = 'RESOURCEID' + FieldNames.Start = 'START' + FieldNames.State = 'STATE' + Left = 32 + Top = 80 + end + object DADataSource: TDADataSource + Left = 64 + Top = 80 + end + object dxComponentPrinter1: TdxComponentPrinter + CurrentLink = dxComponentPrinter1Link2 + PreviewOptions.EnableOptions = [peoPageSetup, peoPrint] + PreviewOptions.Caption = 'Vista previa' + PreviewOptions.VisibleOptions = [pvoPageSetup, pvoPrint, pvoPageMargins] + Version = 0 + Left = 32 + Top = 112 + object dxComponentPrinter1Link2: TcxSchedulerReportLink + PrinterPage.DMPaper = 9 + PrinterPage.Footer = 6350 + PrinterPage.Header = 6350 + PrinterPage.Margins.Bottom = 12700 + PrinterPage.Margins.Left = 12700 + PrinterPage.Margins.Right = 12700 + PrinterPage.Margins.Top = 12700 + PrinterPage.PageSize.X = 210000 + PrinterPage.PageSize.Y = 297000 + PrinterPage._dxMeasurementUnits_ = 0 + PrinterPage._dxLastMU_ = 2 + ReportDocument.CreationDate = 38869.819535011570000000 + OptionsFormatting.SuppressBackgroundBitmaps = True + OptionsFormatting.UseNativeStyles = True + PrintRange.TimePrintFrom = 0.416666666666666700 + PrintRange.TimePrintTo = 0.854166666666666600 + PrintStyles.Weekly.Active = True + SupportedCustomDraw = True + BuiltInReportLink = True + end + end + object dxPrintDialog1: TdxPrintDialog + ButtonsEnabled = [pdbPrinterProperties, pdbNetwork, pdbPreview, pdbPageSetup] + ButtonsVisible = [pdbPrinterProperties, pdbNetwork, pdbPreview] + OptionsEnabled = [pdoAllPages, pdoPageRange] + Top = 112 + end +end diff --git a/Modulos/Calendarios/Cliente/uEditorCalendarioBase.pas b/Modulos/Calendarios/Cliente/uEditorCalendarioBase.pas new file mode 100644 index 0000000..e6b7208 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uEditorCalendarioBase.pas @@ -0,0 +1,334 @@ +unit uEditorCalendarioBase; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uEditorBase, dxLayoutLookAndFeels, JvAppStorage, + JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, + PngImageList, StdActns, ActnList, ComCtrls, TBX, TB2Item, TB2Dock, + TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, + JvNavigationPane, uBizCitas, uViewCalendarioBase, cxSchedulerStorage, + cxSchedulerDBStorage, DB, uDADataTable, + + + cxScheduler, cxSchedulerCustomControls, cxSchedulerCustomResourceView, + cxSchedulerDayView, cxSchedulerDateNavigator, cxSchedulerTimeGridView, + cxSchedulerUtils, cxSchedulerWeekView, cxSchedulerYearView, dxPSGlbl, + dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, + dxPSFillPatterns, dxPSEdgePatterns, dxPrnDlg, dxPSCore, dxPScxCommon, + dxPScxScheduler2Lnk; + +type + IEditorCalendarioBase = interface(IEditorBase) + ['{FC69C1D8-B566-4CBF-9F87-16728114D161}'] + function GetCitas: IBizCitas; + procedure SetCitas(const Value: IBizCitas); + property Citas: IBizCitas read GetCitas write SetCitas; + end; + + TfEditorCalendarioBase = class(TfEditorBase, IEditorCalendarioBase) + TBXItem7: TTBXItem; + TBXSeparatorItem14: TTBXSeparatorItem; + TBXItem33: TTBXItem; + TBXItem34: TTBXItem; + actDia: TAction; + actSemana: TAction; + actMes: TAction; + cxSchedulerDBStorage: TcxSchedulerDBStorage; + DADataSource: TDADataSource; + actSemana5: TAction; + dxComponentPrinter1: TdxComponentPrinter; + dxComponentPrinter1Link2: TcxSchedulerReportLink; + dxPrintDialog1: TdxPrintDialog; + + procedure FormShow(Sender: TObject); + procedure actDiaExecute(Sender: TObject); + procedure actSemanaExecute(Sender: TObject); + procedure actMesExecute(Sender: TObject); + procedure actRefrescarExecute(Sender: TObject); + procedure actNuevoExecute(Sender: TObject); + procedure actModificarExecute(Sender: TObject); + procedure actEliminarExecute(Sender: TObject); + procedure actModificarUpdate(Sender: TObject); + procedure actEliminarUpdate(Sender: TObject); + procedure actSemana5Execute(Sender: TObject); + procedure actImprimirExecute(Sender: TObject); + + procedure cxSchedulerBeforeEditing(Sender: TcxCustomScheduler; + AEvent: TcxSchedulerControlEvent; AInplace: Boolean; + var Allow: Boolean); + procedure actPrevisualizarExecute(Sender: TObject); + + private + FCitas: IBizCitas; + FViewCitas: IViewCalendarioBase; + + protected + function GetViewCitas: IViewCalendarioBase; + procedure SetViewCitas(const Value: IViewCalendarioBase); + function GetCitas: IBizCitas; + procedure SetCitas(const Value: IBizCitas); + + procedure InicializarCampos; virtual; + procedure InicializarEvento (var aEvent : TcxSchedulerControlEvent); virtual; + + public + property Citas: IBizCitas read GetCitas write SetCitas; + property ViewCitas: IViewCalendarioBase read GetViewCitas write SetViewCitas; + destructor Destroy; override; + end; + +var + fEditorCalendarioBase: TfEditorCalendarioBase; + +implementation +{$R *.dfm} + +{ TfEditorCalendarioBase } + +uses schCitasClient_Intf; + +function TfEditorCalendarioBase.GetCitas: IBizCitas; +begin + Result := FCitas; +end; + +function TfEditorCalendarioBase.GetViewCitas: IViewCalendarioBase; +begin + Result := FViewCitas; +end; + +procedure TfEditorCalendarioBase.SetCitas(const Value: IBizCitas); +begin + FCitas := Value; + + if Assigned(FCitas) then + begin + DADataSource.DataTable := FCitas.DataTable; + + if not DADataSource.DataTable.Active then + DADataSource.DataTable.Active := True; + end + else + DADataSource.DataTable := NIL; +end; + +procedure TfEditorCalendarioBase.SetViewCitas(const Value: IViewCalendarioBase); +begin + FViewCitas := Value; + + if Assigned(FViewCitas) then + FViewCitas.Calendario.OnBeforeEditing := cxSchedulerBeforeEditing; +end; + +procedure TfEditorCalendarioBase.FormShow(Sender: TObject); +begin + inherited; + + InicializarCampos; + + if not Assigned(FViewCitas) then + raise Exception.Create('No hay ninguna vista asignada'); + + if not Assigned(Citas) then + raise Exception.Create('No hay ninguna cita asignada'); + + +end; + +destructor TfEditorCalendarioBase.Destroy; +begin + FViewCitas := NIL; + FCitas := NIL; + inherited; +end; + +procedure TfEditorCalendarioBase.actDiaExecute(Sender: TObject); +begin + with FViewCitas.Calendario do + begin + if not ViewWeek.Active then + FViewCitas.pAnchorDate := SelectedDays[0]; + SelectDays([FViewCitas.pAnchorDate], True); + + ViewDay.Active := True; + end; +end; + +procedure TfEditorCalendarioBase.actSemanaExecute(Sender: TObject); +begin + with FViewCitas.Calendario do + begin + if not ViewWeek.Active then + FViewCitas.pAnchorDate := SelectedDays[0]; + SelectDays([FViewCitas.pAnchorDate], False); + + ViewWeek.Active := True; + end; +end; + +procedure TfEditorCalendarioBase.actMesExecute(Sender: TObject); +begin + with FViewCitas.Calendario do + begin + if not ViewWeek.Active then + FViewCitas.pAnchorDate := SelectedDays[0]; + SelectDays([FViewCitas.pAnchorDate], False); + + GoToDate(SelectedDays[0], vmMonth); + end; +end; + +procedure TfEditorCalendarioBase.actRefrescarExecute(Sender: TObject); +begin + cxSchedulerDBStorage.FullRefresh; +end; + +procedure TfEditorCalendarioBase.actNuevoExecute(Sender: TObject); +begin + FViewCitas.Calendario.CreateEventUsingDialog; +end; + +procedure TfEditorCalendarioBase.actModificarExecute(Sender: TObject); +begin + with FViewCitas.Calendario do + begin + if (SelectedEventCount = 1) then + EditEventUsingDialog(SelectedEvents[0]); + end; +end; + +procedure TfEditorCalendarioBase.actEliminarExecute(Sender: TObject); +begin + with FViewCitas.Calendario do + begin + if (SelectedEventCount > 0) then + DeleteSelectedEvents(); + end; +end; + +procedure TfEditorCalendarioBase.actModificarUpdate(Sender: TObject); +begin + (Sender as TAction).Enabled := (FViewCitas.Calendario.SelectedEventCount = 1); +end; + +procedure TfEditorCalendarioBase.actEliminarUpdate(Sender: TObject); +begin + (Sender as TAction).Enabled := (FViewCitas.Calendario.SelectedEventCount > 0); +end; + +procedure TfEditorCalendarioBase.actSemana5Execute(Sender: TObject); +begin + with FViewCitas.Calendario do + begin + FViewCitas.pAnchorDate := SelectedDays[0]; + SelectDays([FViewCitas.pAnchorDate], True); + + SelectWorkDays(Date); + end; +end; + +procedure TfEditorCalendarioBase.actImprimirExecute(Sender: TObject); +begin + inherited; + with FViewCitas.Calendario do + begin + with dxComponentPrinter1Link2.PrintStyles do + begin + if ViewDay.Active then + begin + Daily.Active := True; + FViewCitas.pAnchorDate := SelectedDays.Items[0]; + end + else + if ViewWeek.Active then + Weekly.Active := True + else begin + Monthly.Active := True; + FViewCitas.pAnchorDate := SelectedDays.Items[SelectedDays.Count DIV 2]; + end; + end; + dxComponentPrinter1Link2.PrintRange.PrintFrom := FViewCitas.pAnchorDate; + dxComponentPrinter1Link2.PrintRange.PrintTo := FViewCitas.pAnchorDate; + dxComponentPrinter1.Print(True, nil, nil); + end; +end; + +procedure TfEditorCalendarioBase.InicializarEvento(var aEvent: TcxSchedulerControlEvent); +begin + // +end; + +procedure TfEditorCalendarioBase.cxSchedulerBeforeEditing( + Sender: TcxCustomScheduler; AEvent: TcxSchedulerControlEvent; + AInplace: Boolean; var Allow: Boolean); +begin + if VarIsNull(AEvent.ID) then + InicializarEvento(AEvent); + Allow := True; +end; + +procedure TfEditorCalendarioBase.InicializarCampos; +var + aField : TcxSchedulerDBStorageField; +begin + inherited; + + with cxSchedulerDBStorage.CustomFields do + begin + try + BeginUpdate; + Clear; + + aField := Add; + aField.FieldName := fld_CITASTIPOTAREA; + + aField := Add; + aField.FieldName := fld_CITASCODIGOCONTRATO; + + aField := Add; + aField.FieldName := fld_CITASNOMBRECLIENTE; + + aField := Add; + aField.FieldName := fld_CITASPARTIDA; + + aField := Add; + aField.FieldName := fld_CITASCOMPLETADA; + + aField := Add; + aField.FieldName := fld_CITASNOMBREPROVEEDOR; + + finally + EndUpdate; + end; + end; +end; + +procedure TfEditorCalendarioBase.actPrevisualizarExecute(Sender: TObject); +begin + inherited; + with FViewCitas.Calendario do + begin + with dxComponentPrinter1Link2.PrintStyles do + begin + if ViewDay.Active then + begin + Daily.Active := True; + FViewCitas.pAnchorDate := SelectedDays.Items[0]; + end + else + if ViewWeek.Active then + Weekly.Active := True + else begin + Monthly.Active := True; + FViewCitas.pAnchorDate := SelectedDays.Items[SelectedDays.Count DIV 2]; + end; + end; + dxComponentPrinter1Link2.PrintRange.PrintFrom := FViewCitas.pAnchorDate; + dxComponentPrinter1Link2.PrintRange.PrintTo := FViewCitas.pAnchorDate; +// dxComponentPrinter1.Preview(True, nil, nil); + end; +end; + +end. diff --git a/Modulos/Calendarios/Cliente/uEditorCalendarioConFiltro.dfm b/Modulos/Calendarios/Cliente/uEditorCalendarioConFiltro.dfm new file mode 100644 index 0000000..625615f --- /dev/null +++ b/Modulos/Calendarios/Cliente/uEditorCalendarioConFiltro.dfm @@ -0,0 +1,20 @@ +inherited fEditorCalendarioConFiltro: TfEditorCalendarioConFiltro + Caption = 'fEditorCalendarioConFiltro' + PixelsPerInch = 96 + TextHeight = 13 + inherited EditorActionList: TActionList + object actVerTodos: TAction + Category = 'Calendario' + Caption = 'Ver todos' + OnExecute = actVerTodosExecute + end + end + inherited JvFormStorage: TJvFormStorage + OnSavePlacement = JvFormStorageSavePlacement + end + inherited dxComponentPrinter1: TdxComponentPrinter + inherited dxComponentPrinter1Link2: TcxSchedulerReportLink + BuiltInReportLink = True + end + end +end diff --git a/Modulos/Calendarios/Cliente/uEditorCalendarioConFiltro.pas b/Modulos/Calendarios/Cliente/uEditorCalendarioConFiltro.pas new file mode 100644 index 0000000..654f289 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uEditorCalendarioConFiltro.pas @@ -0,0 +1,132 @@ +unit uEditorCalendarioConFiltro; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uEditorCalendarioBase, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, + dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, + dxPSEdgePatterns, dxPrnDlg, dxPSCore, dxPScxCommon, dxPScxScheduler2Lnk, + DB, uDADataTable, cxSchedulerStorage, cxSchedulerDBStorage, + dxLayoutLookAndFeels, JvAppStorage, JvAppRegistryStorage, + JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns, + ActnList, ComCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, + ExtCtrls, JvExControls, JvComponent, JvNavigationPane; + +type + IEditorCalendarioConFiltro = interface(IEditorCalendarioBase) + ['{81ED9B0E-6F65-4B7D-884F-192AE45A7708}'] + end; + + TfEditorCalendarioConFiltro = class(TfEditorCalendarioBase, IEditorCalendarioConFiltro) + actVerTodos: TAction; + procedure actVerTodosExecute(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure JvFormStorageSavePlacement(Sender: TObject); + protected + NombreLista: String; + procedure CargarLista; virtual; + public + destructor destroy; override; + end; + +var + fEditorCalendarioConFiltro: TfEditorCalendarioConFiltro; + +implementation +{$R *.dfm} + +uses uViewCalendarioConFiltro; + +procedure TfEditorCalendarioConFiltro.actVerTodosExecute(Sender: TObject); +var + I: Integer; +begin + with (ViewCitas as IViewCalendarioConFiltro).Resources do + begin + Items.BeginUpdate; + try + for I := 0 to Items.Count - 1 do + begin + Items[I].Checked := True; + TcxSchedulerStorageResourceItem(Items[I].ItemObject).Visible := True; + end; + finally + Items.EndUpdate; + end; + end; +end; + +procedure TfEditorCalendarioConFiltro.CargarLista; +var + I: Integer; + cadena: String; +begin + cadena := JvFormStorage.ReadString(NombreLista, ''); + + with (ViewCitas as IViewCalendarioConFiltro).Resources do + begin + Items.BeginUpdate; + try + Items.Clear; + + for I := 0 to ViewCitas.Calendario.Storage.ResourceCount - 1 do + begin + with Items.Add do + begin + ImageIndex := 0; + Text := ViewCitas.Calendario.Storage.ResourceNames[I]; + Checked := ViewCitas.Calendario.Storage.Resources.ResourceItems[I].Visible; + ItemObject := ViewCitas.Calendario.Storage.Resources.ResourceItems[I]; + end; + end; + finally + Items.EndUpdate; + end; + + for I := 0 to Items.Count - 1 do + if (Length(cadena) > 0) and (Pos('#' + IntToStr(i) + '#', cadena) = 0) then + begin + Items[i].Checked := False; + (Items[i].ItemObject as TcxSchedulerStorageResourceItem).Visible := False; + end; + end; +end; + +destructor TfEditorCalendarioConFiltro.destroy; +begin + inherited; +end; + +procedure TfEditorCalendarioConFiltro.FormShow(Sender: TObject); +begin + inherited FormShow(Sender); + + try + ViewCitas.Calendario.BeginUpdate; + CargarLista; + finally; + ViewCitas.Calendario.EndUpdate; + end; + + actSemana.Execute; +end; + +procedure TfEditorCalendarioConFiltro.JvFormStorageSavePlacement( + Sender: TObject); +var + i : integer; + cadena : string; +begin + inherited; + with (ViewCitas as IViewCalendarioConFiltro).Resources do + begin + cadena := '#'; + for i := 0 to Items.Count - 1 do + if Items[i].Checked then + cadena := cadena + IntToStr(i) + '#'; + JvFormStorage.WriteString(NombreLista, cadena); + end; +end; + +end. diff --git a/Modulos/Calendarios/Cliente/uEditorCalendarioMediciones.dfm b/Modulos/Calendarios/Cliente/uEditorCalendarioMediciones.dfm new file mode 100644 index 0000000..9859805 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uEditorCalendarioMediciones.dfm @@ -0,0 +1,135 @@ +inherited fEditorCalendarioMediciones: TfEditorCalendarioMediciones + Left = 529 + Top = 184 + Width = 800 + Height = 646 + Caption = 'fEditorCalendarioMediciones' + PixelsPerInch = 96 + TextHeight = 13 + inherited JvNavPanelHeader: TJvNavPanelHeader + Width = 792 + Caption = 'AGENDA' + inherited Image1: TImage + Left = 765 + Picture.Data = { + 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00 + 00001C0806000000720DDF940000000970485973000017120000171201679FD2 + 520000000467414D410000B18E7CFB5193000004D64944415478DABD957D5054 + 5514C07F6FD905044492B5D6044CD210FCFE0C9B093533C4444B821C14AB51FE + 404873C26AC68FCCB226C5D132354B9D880835191D1D5304B2A6D148938F2C34 + 244405D915C4E563835D78BBBDB7C88B6D91D8FEF0CCDC39F79E77CFFDBD73EE + 3BE709369B8DFB29820C14044131C4AFC8785152FBA5B1E0EB8F120EB87A604F + FE765637405BE6B6458C9FB58CA29C5D828BBC1EFD1560F09B854A5EA7984B49 + 8E9B4FCA86548C6396BA9CB29EFC2B3E1C2F28C075D1A3EDC6DC43FB899F399D + B5DB37B27CCDC74E07B65BC16C81568BCD3E4C2DB2EE589BDB245D7648F1F79F + 9CA63C134B5751787267F7C088D061EC3E9CEE046C6D93615D00164798FC22B6 + CA438ABFF7D8B4BBFB405DDE0350964B97CF3A007B0393E71E37B3157FB7B0CD + 76BB2CF704EA6F5CE7607A1A712FA5A20B0C720926DB04D30DAA8BB6E117BA82 + BAB600E585EF09FCB7B80273DCE7788E13D0E5CFD145F12BD9F30F303BB7C416 + 33738C4B07AC395049F6B1DFB971BDCEC11E18A425267A04CB676A11452BA2D5 + CA915305ECCB3CFADFC04F324E3AD9F4EEC315D0CA9469786BFB4B69173B8645 + A4C5D24EE6CE5C059CF8A42FC7F2CFF51E989230CB21AA6D3B7E6069EC281E19 + 1B82A1BA960754CD840DF1E3F9C8CD1CCE5945E95523E78D7D308B36BECB3AC3 + 6BC953D1592EFF3F60E8A2E344853F4CD098C7B85A7289D9E10F32794200CD2D + AD145FD4E3A90BC068B252F8D36F9CBB2922FAF861B8504EE2742B5F7D73C235 + 606774EFBD1F4B45512949B121E8745E4859E48A41A4FA8E0D3715988C356C5D + B99025EBF6917EA69ECB3F96313DF00ED5B7CB9C81DDDD59A7ECC811ED772265 + 8A886015E19307D9E767AFB4633283462D9543731D69AFC63167711233E6BDC0 + D1C3BF9073BB2FD7F38B19EA7E86E2BCCF9C815D53D875ED1391CE9AF5F351D5 + 5D2331360C51B0D128F5D19FCBDB259880A5C5C8A665F3895CB084C8D878346E + 022A53138BB79660F8B50A9D299FF20B5FBA064C5D3D8F89FD9B099FA0A35DB2 + 15558AF6E8AACA0AF9E2835446854F65CEC25750BBC1C08041685ACD246F29A0 + B4E816FD0C7954FF91E11A30E58D68B62C7E878CAC25F8870CA7418A502DA572 + 7DC253AC7D7727EB5727A192FEADF2EF352DF320519336F1E8AC27A8AA6AC547 + 9F87BE2CA3F777F8D6E70696AE8CE2E9000B6DBE03A482966182943AA9A599EE + B0213186ED47F2159B466D23A88F86675ECFE55291817EFA135497EDEF7D8472 + 494C9D3B9E606E133C7A186A55C787A276EBD032447D57CB6B1F09DC58594BDC + 9E0A6ACE5748777842BA4317809D6511B9600A8F6B2D8C9838548209DDC23C24 + 1DE4A92179D3F71498FD69CA3F89BF7B1925797B7B0FEC8C32242294D69A1A52 + 660FC677D0000495CD218D7D352A06BAABF934EB02BB2E8AB4379A08AD3D4D4D + 53BD631D3E376314BB324FF5D8B0E53E2A473929269C56BD8184B1DECC891A49 + 63730BE346BE8DB1762BB70C0DA46515937BCB13542ABC0A8E93103F8ECCEC5C + 4760F4B491F6CE6EEFF0F62E6FA35D997768AB54E97BCF3629CD3B70FA68A92E + F50CF65571F35A1DBA210FF167A3805AABA5ADDE8857C969E626BDDC7D2F9D1D + 11C6DE83F9F4461A1B4C7C9B574971BDB6DBE7FD340D0CF7AA21F2D9097879FB + D86D4EC08D5B76F70AD655CC52D36EAC1369B3796015540896BFF0F430D357EB + 89BBA7B7D37E05783FE56F92C591F6D1A442580000000049454E44AE426082} + end + end + inherited TBXDock: TTBXDock + Width = 792 + inherited tbxMenu: TTBXToolbar + Visible = False + end + end + inherited StatusBar: TStatusBar + Top = 593 + Width = 792 + end + inline frViewCalendarioMediciones: TfrViewCalendarioConFiltro [3] + Left = 0 + Top = 76 + Width = 792 + Height = 517 + Align = alClient + AutoSize = True + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + TabOrder = 3 + ReadOnly = False + inherited cxScheduler: TcxScheduler + Width = 792 + Height = 517 + OptionsView.WorkStart = 0.416666666666666700 + OptionsView.WorkFinish = 0.854166666666666800 + Storage = cxSchedulerDBStorage + Splitters = { + 89020000FA00000018030000FF00000084020000000000008902000005020000} + StoredClientBounds = {00000000000000001803000005020000} + inherited pnlVendedores: TPanel + Height = 262 + inherited cxResources: TcxCheckListBox + Height = 225 + end + inherited Panel2: TPanel + Caption = 'Usuarios' + end + inherited tbxMain: TTBXToolbar + Top = 243 + Height = 19 + inherited TBXItem5: TTBXItem + Action = actVerTodos + end + end + end + end + end + inherited EditorActionList: TActionList [4] + end + inherited SmallImages: TPngImageList [5] + end + inherited LargeImages: TPngImageList [6] + end + inherited JvFormStorage: TJvFormStorage [7] + end + inherited JvAppRegistryStorage: TJvAppRegistryStorage [8] + end + inherited cxSchedulerDBStorage: TcxSchedulerDBStorage + Resources.DataSource = DADataSource2 + end + inherited dxComponentPrinter1: TdxComponentPrinter + inherited dxComponentPrinter1Link2: TcxSchedulerReportLink + BuiltInReportLink = True + end + end + inherited dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList [12] + end + object DADataSource2: TDADataSource + Left = 96 + Top = 80 + end +end diff --git a/Modulos/Calendarios/Cliente/uEditorCalendarioMediciones.pas b/Modulos/Calendarios/Cliente/uEditorCalendarioMediciones.pas new file mode 100644 index 0000000..d6caf2a --- /dev/null +++ b/Modulos/Calendarios/Cliente/uEditorCalendarioMediciones.pas @@ -0,0 +1,104 @@ +unit uEditorCalendarioMediciones; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, dxLayoutLookAndFeels, JvAppStorage, JvAppRegistryStorage, + JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, + ComCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, + JvComponent, JvNavigationPane, uCustomView, uViewBase, uViewCalendarioBase, + cxSchedulerStorage, cxSchedulerDBStorage, DB, + uDADataTable, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, + dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, dxPSEdgePatterns, + dxPrnDlg, dxPSCore, dxPScxCommon, dxPScxScheduler2Lnk, Grids, DBGrids, + + uBizCitas, uEditorCalendarioConFiltro, uViewCalendarioConFiltro, + uEditorCalendarioBase, uViewCalendarioMediciones; + +type + IEditorCalendarioMediciones = interface(IEditorCalendarioConFiltro) + ['{CA83B596-1408-455F-AD78-0BC121A452C3}'] + function GetVendedores: IBizVendedores; + procedure SetVendedores(const Value: IBizVendedores); + property Vendedores : IBizVendedores read GetVendedores write SetVendedores; + end; + + TfEditorCalendarioMediciones = class(TfEditorCalendarioConFiltro, IEditorCalendarioMediciones) + DADataSource2: TDADataSource; + frViewCalendarioMediciones: TfrViewCalendarioConFiltro; + + private + FVendedores: IBizVendedores; + procedure CargarLista; override; + function GetVendedores: IBizVendedores; + procedure SetVendedores(const Value: IBizVendedores); + + protected + procedure InicializarEvento (var aEvent : TcxSchedulerControlEvent); override; + + public + property Vendedores : IBizVendedores read GetVendedores write SetVendedores; + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + end; + +var + fEditorCalendarioMediciones: TfEditorCalendarioMediciones; + +implementation +{$R *.dfm} + +{ TfEditorCalendarioMediciones } + +uses schCitasClient_Intf; + + +constructor TfEditorCalendarioMediciones.Create(AOwner: TComponent); +begin + inherited; + ViewCitas := frViewCalendarioMediciones; +end; + +procedure TfEditorCalendarioMediciones.CargarLista; +begin + NombreLista := 'Mediciones'; + inherited; +end; + +function TfEditorCalendarioMediciones.GetVendedores: IBizVendedores; +begin + Result := FVendedores; +end; + +procedure TfEditorCalendarioMediciones.SetVendedores(const Value: IBizVendedores); +begin + FVendedores := Value; + + if Assigned(FVendedores) then + begin + DADataSource2.DataTable := FVendedores.DataTable; + + if not FVendedores.DataTable.Active then + FVendedores.DataTable.Active := True; + end + else + DADataSource2.DataTable := Nil; +end; + +procedure TfEditorCalendarioMediciones.InicializarEvento(var aEvent: TcxSchedulerControlEvent); +begin + inherited; + with AEvent do + begin + SetCustomFieldValueByName(fld_CITASTIPOTAREA, TextoTipoCita[Ord(tcMedicion)]); + end; +end; + +destructor TfEditorCalendarioMediciones.Destroy; +begin + FVendedores := Nil; + inherited; +end; + +end. diff --git a/Modulos/Calendarios/Cliente/uEditorCalendarioMontajes.dfm b/Modulos/Calendarios/Cliente/uEditorCalendarioMontajes.dfm new file mode 100644 index 0000000..daf0712 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uEditorCalendarioMontajes.dfm @@ -0,0 +1,76 @@ +inherited fEditorCalendarioMontajes: TfEditorCalendarioMontajes + Caption = 'fEditorCalendarioMontajes' + PixelsPerInch = 96 + TextHeight = 13 + inherited JvNavPanelHeader: TJvNavPanelHeader + Caption = 'CALENDARIO MONTAJES' + end + inline frViewCalendarioMontajes: TfrViewCalendarioConFiltro [3] + Left = 0 + Top = 76 + Width = 666 + Height = 387 + Align = alClient + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + TabOrder = 3 + ReadOnly = False + inherited cxScheduler: TcxScheduler + Width = 666 + Height = 387 + OptionsView.WorkStart = 0.416666666666666700 + OptionsView.WorkFinish = 0.854166666666666800 + Storage = cxSchedulerDBStorage + Selection = 28 + Splitters = { + 0B020000FA0000009A020000FF00000006020000000000000B02000083010000} + StoredClientBounds = {00000000000000009A02000083010000} + inherited pnlVendedores: TPanel + Height = 132 + inherited cxResources: TcxCheckListBox + Height = 95 + end + inherited Panel2: TPanel + Caption = 'Instaladores' + end + inherited tbxMain: TTBXToolbar + Top = 113 + Height = 19 + inherited TBXItem5: TTBXItem + Action = actVerTodos + end + end + end + end + end + inherited EditorActionList: TActionList [4] + end + inherited SmallImages: TPngImageList [5] + end + inherited LargeImages: TPngImageList [6] + end + inherited JvFormStorage: TJvFormStorage [7] + end + inherited JvAppRegistryStorage: TJvAppRegistryStorage [8] + end + inherited dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList [9] + end + inherited cxSchedulerDBStorage: TcxSchedulerDBStorage [10] + Resources.DataSource = DADataSource2 + end + inherited DADataSource: TDADataSource [11] + end + inherited dxComponentPrinter1: TdxComponentPrinter [12] + inherited dxComponentPrinter1Link2: TcxSchedulerReportLink + BuiltInReportLink = True + end + end + object DADataSource2: TDADataSource + Left = 96 + Top = 80 + end +end diff --git a/Modulos/Calendarios/Cliente/uEditorCalendarioMontajes.pas b/Modulos/Calendarios/Cliente/uEditorCalendarioMontajes.pas new file mode 100644 index 0000000..8d20d89 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uEditorCalendarioMontajes.pas @@ -0,0 +1,149 @@ +unit uEditorCalendarioMontajes; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uEditorCalendarioBase, dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, + dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, + dxPSEdgePatterns, dxPrnDlg, dxPSCore, dxPScxCommon, dxPScxScheduler2Lnk, + DB, uDADataTable, cxSchedulerStorage, cxSchedulerDBStorage, + dxLayoutLookAndFeels, JvAppStorage, JvAppRegistryStorage, + JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns, + ActnList, ComCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, + ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uCustomView, + uViewBase, uViewCalendarioBase, uViewCalendarioConFiltro, + uEditorCalendarioConFiltro, uBizCitas; + +type + IEditorCalendarioMontajes = interface(IEditorCalendarioConFiltro) + ['{158B8A5F-5CF6-43F2-BBD0-C65212089035}'] + function GetInstaladores: IBizInstaladores; + procedure SetInstaladores(const Value: IBizInstaladores); + property Instaladores : IBizInstaladores read GetInstaladores write SetInstaladores; + end; + + TfEditorCalendarioMontajes = class(TfEditorCalendarioConFiltro, IEditorCalendarioMontajes) + frViewCalendarioMontajes: TfrViewCalendarioConFiltro; + DADataSource2: TDADataSource; + + procedure EventDisplayText(Sender: TObject; AEvent: TcxSchedulerControlEvent; + var AText: String); + procedure EventHintText(Sender: TObject; AEvent: TcxSchedulerControlEvent; + var AText: String); + procedure FormShow(Sender: TObject); + private + FInstaladores: IBizInstaladores; + procedure CargarLista; override; + function GetInstaladores: IBizInstaladores; + procedure SetInstaladores(const Value: IBizInstaladores); + + protected + procedure InicializarEvento (var aEvent : TcxSchedulerControlEvent); override; + + public + property Instaladores : IBizInstaladores read GetInstaladores write SetInstaladores; + constructor Create(AOwner: TComponent); override; + destructor destroy; override; + end; + +var + fEditorCalendarioMontajes: TfEditorCalendarioMontajes; + +implementation + +{$R *.dfm} +{ TfEditorCalendarioMontajes } + +uses schCitasClient_Intf; + +procedure TfEditorCalendarioMontajes.CargarLista; +begin + NombreLista := 'Instaladores'; + inherited; +end; + +constructor TfEditorCalendarioMontajes.Create(AOwner: TComponent); +begin + inherited; + ViewCitas := frViewCalendarioMontajes; +end; + +function TfEditorCalendarioMontajes.GetInstaladores: IBizInstaladores; +begin + Result := FInstaladores; +end; + +procedure TfEditorCalendarioMontajes.InicializarEvento(var aEvent: TcxSchedulerControlEvent); +begin + inherited; + + with AEvent do + begin + SetCustomFieldValueByName(fld_CITASTIPOTAREA, TextoTipoCita[Ord(tcMontaje)]); + AllDayEvent := True; + end; +end; + +procedure TfEditorCalendarioMontajes.SetInstaladores(const Value: IBizInstaladores); +begin + FInstaladores := Value; + + if Assigned(FInstaladores) then + begin + DADataSource2.DataTable := FInstaladores.DataTable; + + if not FInstaladores.DataTable.Active then + FInstaladores.DataTable.Active := True; + end + else + DADataSource2.DataTable := Nil; +end; + +procedure TfEditorCalendarioMontajes.EventDisplayText(Sender: TObject; AEvent: TcxSchedulerControlEvent; var AText: String); +var + Nombre : String; + Tipo : String; + +begin + inherited; + + if not VarIsNull(AEvent.GetCustomFieldValueByName(fld_CITASNOMBRECLIENTE)) then + begin + Nombre := VarToStr(AEvent.GetCustomFieldValueByName(fld_CITASNOMBRECLIENTE)); + Tipo := VarToStr(AEvent.GetCustomFieldValueByName(fld_CITASTIPOTAREA)); + AText := AEvent.Caption + ' - ' + Tipo + ' (' + Nombre + ')'; + end; +end; + +procedure TfEditorCalendarioMontajes.EventHintText(Sender: TObject; AEvent: TcxSchedulerControlEvent; var AText: String); +var + Nombre : String; + Tipo : String; +begin + inherited; + if not VarIsNull(AEvent.GetCustomFieldValueByName(fld_CITASNOMBRECLIENTE)) then + begin + Nombre := VarToStr(AEvent.GetCustomFieldValueByName(fld_CITASNOMBRECLIENTE)); + Tipo := VarToStr(AEvent.GetCustomFieldValueByName(fld_CITASTIPOTAREA)); + AText := AEvent.Caption + #10#13 + Tipo + ' (' + Nombre + ')'; + end; +end; + +procedure TfEditorCalendarioMontajes.FormShow(Sender: TObject); +begin + inherited FormShow(Sender); + + ViewCitas.Calendario.OnGetEventDisplayText := EventDisplayText; + ViewCitas.Calendario.OnGetEventHintText := EventHintText; +end; + +destructor TfEditorCalendarioMontajes.destroy; +begin + ViewCitas.Calendario.OnGetEventDisplayText := Nil; + ViewCitas.Calendario.OnGetEventHintText := Nil; + + inherited; +end; + +end. diff --git a/Modulos/Calendarios/Cliente/uEditorCalendarioRecepciones.dfm b/Modulos/Calendarios/Cliente/uEditorCalendarioRecepciones.dfm new file mode 100644 index 0000000..9d7a5c7 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uEditorCalendarioRecepciones.dfm @@ -0,0 +1,67 @@ +inherited fEditorCalendarioRecepciones: TfEditorCalendarioRecepciones + Caption = 'fEditorCalendarioRecepciones' + PixelsPerInch = 96 + TextHeight = 13 + inline frViewCalendarioRecepciones: TfrViewCalendarioConFiltro [3] + Left = 0 + Top = 76 + Width = 630 + Height = 319 + Align = alClient + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + TabOrder = 3 + ReadOnly = False + inherited cxScheduler: TcxScheduler + Height = 319 + OptionsView.WorkStart = 0.416666666666666700 + OptionsView.WorkFinish = 0.854166666666666800 + Storage = cxSchedulerDBStorage + Selection = 56 + Splitters = { + E7010000FA00000076020000FF000000E201000000000000E70100003F010000} + StoredClientBounds = {0000000000000000760200003F010000} + inherited pnlVendedores: TPanel + Height = 64 + inherited cxResources: TcxCheckListBox + Height = 40 + end + inherited tbxMain: TTBXToolbar + Top = 58 + Visible = False + end + end + end + end + inherited EditorActionList: TActionList [4] + end + inherited SmallImages: TPngImageList [5] + end + inherited LargeImages: TPngImageList [6] + end + inherited JvFormStorage: TJvFormStorage [7] + end + inherited JvAppRegistryStorage: TJvAppRegistryStorage [8] + end + inherited dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList [9] + end + inherited cxSchedulerDBStorage: TcxSchedulerDBStorage [10] + Resources.DataSource = DADataSource2 + Resources.ResourceName = 'DESCRIPCION' + end + inherited DADataSource: TDADataSource [11] + end + inherited dxComponentPrinter1: TdxComponentPrinter [12] + inherited dxComponentPrinter1Link2: TcxSchedulerReportLink + BuiltInReportLink = True + end + end + object DADataSource2: TDADataSource + Left = 95 + Top = 80 + end +end diff --git a/Modulos/Calendarios/Cliente/uEditorCalendarioRecepciones.pas b/Modulos/Calendarios/Cliente/uEditorCalendarioRecepciones.pas new file mode 100644 index 0000000..491d66c --- /dev/null +++ b/Modulos/Calendarios/Cliente/uEditorCalendarioRecepciones.pas @@ -0,0 +1,142 @@ +unit uEditorCalendarioRecepciones; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uEditorCalendarioConFiltro, dxPSGlbl, dxPSUtl, dxPSEngn, + dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, + dxPSEdgePatterns, dxPrnDlg, dxPSCore, dxPScxCommon, dxPScxScheduler2Lnk, + DB, uDADataTable, cxSchedulerStorage, cxSchedulerDBStorage, + dxLayoutLookAndFeels, JvAppStorage, JvAppRegistryStorage, cxCheckBox, + JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns, + ActnList, ComCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, + ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uCustomView, + uViewBase, uViewCalendarioBase, uViewCalendarioConFiltro, uBizCitas; + +type + IEditorCalendarioRecepciones = interface(IEditorCalendarioConFiltro) + ['{108A5E35-18F4-4100-B4EB-F059AC86BBB4}'] + function GetDocumentos: IBizDocumentos; + procedure SetDocumentos(const Value: IBizDocumentos); + property Documentos : IBizDocumentos read GetDocumentos write SetDocumentos; + end; + + TfEditorCalendarioRecepciones = class(TfEditorCalendarioConFiltro, IEditorCalendarioRecepciones) + frViewCalendarioRecepciones: TfrViewCalendarioConFiltro; + DADataSource2: TDADataSource; + + private + FDocumentos: IBizDocumentos; + procedure CargarLista; override; + function GetDocumentos: IBizDocumentos; + procedure SetDocumentos(const Value: IBizDocumentos); + + protected + procedure InicializarCampos; override; + procedure InicializarEvento (var aEvent : TcxSchedulerControlEvent); override; + + public + property Documentos : IBizDocumentos read GetDocumentos write SetDocumentos; + constructor Create(AOwner: TComponent); override; + end; + +var + fEditorCalendarioRecepciones: TfEditorCalendarioRecepciones; + +implementation + +{$R *.dfm} +{ TfEditorCalendarioRecepciones } +uses schCitasClient_Intf, uEditorCalendarioBase, uDataModuleCalendarios; + +procedure TfEditorCalendarioRecepciones.CargarLista; +begin + NombreLista := 'Documentos'; + inherited; +end; + +constructor TfEditorCalendarioRecepciones.Create(AOwner: TComponent); +begin + inherited; + ViewCitas := frViewCalendarioRecepciones; +// (ViewCitas as IViewCalendarioConFiltro).Resources.OnEditValueChanged := Nil; +end; + +function TfEditorCalendarioRecepciones.GetDocumentos: IBizDocumentos; +begin + Result := FDocumentos; +end; + +procedure TfEditorCalendarioRecepciones.InicializarCampos; +var + aField : TcxSchedulerDBStorageField; +begin + inherited; + + with cxSchedulerDBStorage.CustomFields do + begin + try + BeginUpdate; + + aField := Add; + aField.FieldName := CTE_TIPO_DOCUMENTO; + + finally + EndUpdate; + end; + end; + +end; + +procedure TfEditorCalendarioRecepciones.InicializarEvento(var aEvent: TcxSchedulerControlEvent); +var + ItemSeleccionado: Integer; + ItemTextSeleccionado: String; + ADocumento : IBizDocumentos; +begin + inherited; + + with AEvent do + begin + SetCustomFieldValueByName(fld_CITASTIPOTAREA, TextoTipoCita[Ord(tcRecepcion)]); + + //Preparamos la fuente de datos para que se cargen los tipos de pedido del documento seleccionado + //CAMBIARÁ + + + with (ViewCitas as IViewCalendarioConFiltro).Resources do + begin + Items.BeginUpdate; + for ItemSeleccionado := 0 to Items.Count - 1 do + if Items[ItemSeleccionado].Checked then + Break; + Items.EndUpdate; + end; + ItemTextSeleccionado := (ViewCitas as IViewCalendarioConFiltro).Resources.Items[ItemSeleccionado].Text; + + ADocumento := dmCalendarios.GetDocumento(ItemTextSeleccionado); + ADocumento.DataTable.Active := True; + SetCustomFieldValueByName(CTE_TIPO_DOCUMENTO, ADocumento.CODIGO); + ADocumento := Nil; + + AllDayEvent := True; + end; +end; + +procedure TfEditorCalendarioRecepciones.SetDocumentos(const Value: IBizDocumentos); +begin + FDocumentos := Value; + + if Assigned(FDocumentos) then + begin + DADataSource2.DataTable := FDocumentos.DataTable; + + if not FDocumentos.DataTable.Active then + FDocumentos.DataTable.Active := True; + end + else + DADataSource2.DataTable := Nil; +end; + +end. diff --git a/Modulos/Calendarios/Cliente/uPluginControllerCalendarios.dfm b/Modulos/Calendarios/Cliente/uPluginControllerCalendarios.dfm new file mode 100644 index 0000000..99c3414 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uPluginControllerCalendarios.dfm @@ -0,0 +1,176 @@ +object ModuleCalendarios: TModuleCalendarios + OldCreateOrder = True + DefaultAction = actMediciones + Description = 'Agenda' + ModuleMenu = MainMenu + ModuleName = 'Agenda' + SmallImages = SmallImages + LargeImages = LargeImages + Author = 'Rodax Software' + Version = '1.0.0' + Left = 743 + Top = 220 + Height = 252 + Width = 401 + object LargeImages: TPngImageList + Height = 24 + Width = 24 + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD252000003F74944415478DA + BD957B4C5B6514C07F2D2D9416A40B38B083B291381DD98693988118A6892608 + D14D668CD1CD6982A8F860EA8C7F684C4C9C5B14B30D8D9338CC1E42946C6C63 + 43C79AC5B94D200B5319E1FD280104DA1568A1406F1FB7DE768C50C7A3FEA127 + 3939E77B9CF3CB3DDF77CF27F37ABDFC9722FBDF003299CC6F9F2B3CB65F3285 + 921E283FB07D673049168B990FE02DDBBF8DFBB30AF8A3E6A02C48C08231B380 + A4F77FF73BE9420B996BEEA6E4E411AC2979419561A118E367A9B200C0474FAC + C770FC07FFB8B5AD96B73E2C0E4834E5F03229E94D7B733C2559A1EBF86C8C3A + A5C83F6F55B5CF0F18EEEFA3E24811CFECD8455C827EC9E4D302386DFD18AFEE + E3CE753BB9E15C81DB0376CD0280F964B1E47E5FF0CEFABEE43E9917F06FAFE0 + 521200386168F46E7D2C65C920B75BC470CD44EBB093419B07BBD383522E121B + 0E69492A925769A9ACA9E3BBB22AFF8D5A14F0D5B17301E391090FA30A3DFAD5 + AB707A44CC9609C6C6EC84466A10E572C99F241E1B892A13DF5754070778637B + 96DFFFF8EB6AE4BA0D444447611E1A637D8292C45825A72AEAC8DC9CC1E5261B + ED2607823C0487B193B1EB55341ABE090EE02BCBBBA5CDAC4C4EC2661A212FFB + 2ED46A39E3D2A1769A44AC935E5C8E712C374638D7EC66C42DC77CF114BD3F7F + 703BE09F65F149B719E2531FC262B65290134B84464EDFA848EBA048885C3A17 + E704BB5FC965CB8E7CD6A63FCE9ED37D8C5B46E92DDF9B382FE056596EF9FBAA + FA7168A2D0874F93FD600C6E29E4B74E372E3788AE293E7D6D2B9B72B6F0D44B + F9A89532BE3DDDCD9501277D35D56F070578EF680FEE3015CF6744B2325E4DAF + 45C4681699B49A38BAE71D6256E879FAE5D789940E3B4A7B07B5B5FD94363A30 + 35D4960555A26B1389C8140A428DD7C9DFF5243D5272450874345CA4E3D79334 + 751AF1F5CA0D69E9E4BE584071D12F74E9EEC5DC507736A82F283CDCC1B442CD + 03496AB45A0D4A0533EA458E1B954A895202864A73DA5019672E0D72B0DEC6E0 + 65C3E1A0004595DDB409E1C484B848BB2F6E0E60466792FB7CBD4AC1B6E226DA + A54BD0F5E397AF0655A2018B93CEB03588A2C80B9BE2D044A96E4BEE535D9882 + B3F5837C72DE82BDBB8DC1F23C5D0060F323EBA466E5F1DF7BB7470CF03FAFEC + A2C3AB25CC25F066968EB8B8081CD2BACD3AC1EA782DCBA443A9ACFB8BBDE7CD + 08820BE1D22106EA4B03FF839CCC640E555C98B707395D1ECEB4C8995A9E8830 + 25B051AF62ED72053F9DB84AF6B319185AACB48F79F10802BAA12B4C0C77F1A7 + A12410B0FB8B92451B9D287AB12912A4D6BB91B098E8D967D6BF26F5697B4F3B + F29E0BC4442A9049BD29A017CDDDBCA42C7B541F7ECFC3B9AA98E854294AEB9E + B65BEC7DCDF562674595F42A0CCDDDFA374E2097A403759C690000000049454E + 44AE426082} + Name = 'PngImage0' + Background = clWindow + end> + Left = 232 + Top = 16 + Bitmap = {} + end + object ModuleActionList: TActionList + Images = LargeImages + Left = 40 + Top = 72 + object actMediciones: TAction + Category = 'Agenda' + Caption = 'Agenda' + ImageIndex = 0 + OnExecute = actMedicionesExecute + end + end + object MainMenu: TMainMenu + Images = LargeImages + Left = 40 + Top = 16 + object menu: TMenuItem + Tag = 90 + Caption = 'A&genda' + GroupIndex = 1 + ImageIndex = 0 + OnClick = actMedicionesExecute + object Calendario1: TMenuItem + Tag = 90 + Action = actMediciones + end + end + end + object SmallImages: TPngImageList + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD2520000020E4944415478DA + A5935148535118C77FD7B995E5C21CA68B066A08D540849E4620410F93C256AE + 20230823F42924CAA8071D7B08E9A1879EB37AAA204741413D15962D7CD0A264 + D440289DC26ACEB5ED7AB7DDDDED76B7B5626CEB213F38FC0FE79CEFF7FD0FDF + 3942DB9539950D8490038CF576966DA4D2105B57898AD9BCC6122AB2B6169754 + 44A9A0D9CF23950195928B4945402E6A177E03FED77EC3C709048F6752753A4F + FCF36026AB925632DA1514D2E94C7EEE79F18EBBF79F9603DC6E7749B2AAF95B + 150D289B9A51F57564D6C30C0F9EE4F5CC87EA0097CB95D78B97AE71F9C6130E + D9BB097C8FB1B8A6407D1391509446C9CFDBA9E77F01952A7F93F7D269B3D165 + D1B3D3A4239294F185B6303B1F6439AAE3EBCB3BA58062E59C5E1819A7C6DACF + E90346AC1D26225A6796B58E8C9F3D86AD6F884FD1DDBC9FF3557710485868DC + 7790D1336DC43302B32B1213C3FDEC393240778F03EFF4021E6FB8BA83C1B187 + 44B20D5C3DDF85683473F39CA3A4407DC729BCB1D6EA0E96E226A2663B037DED + 246A7424D3DA238A49646BB7D2BE0D269FCDF3783A5800F43A8EFFE9AF9C536D + ACFE4C30FAE807965D469CF65616E302920CE63AD08B6B0CDDF22107BF14003D + 878F72CFF3AAEC01F9571466C22DB46C376035496C1652C4754D3C78134289C7 + 6896A60A80EBB7CB938B91CC1A499AF69334EC20256B1F4A4E61100398053F06 + 240455DDD06FE617B61D3A44F24E4F720000000049454E44AE426082} + Name = 'PngImage0' + Background = clWindow + end> + PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled] + Left = 308 + Top = 16 + Bitmap = {} + end + object ExtraImages: TPngImageList + Height = 28 + Width = 28 + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF + 940000000970485973000017120000171201679FD252000004D64944415478DA + BD957D50545514C07F6FD905044492B5D6044CD210FCFE0C9B093533C4444B82 + 1C14AB51FE404873C26AC68FCCB226C5D132354B9D880835191D1D5304B2A6D1 + 48938F2C34244405D915C4E563835D78BBBDB7C88B6D91D8FEF0CCDC39F79E77 + CFFDBD73EE3BE709369B8DFB29820C14044131C4AFC8785152FBA5B1E0EB8F12 + 0EB87A604FFE765637405BE6B6458C9FB58CA29C5D828BBC1EFD1560F09B854A + 5EA7984B498E9B4FCA86548C6396BA9CB29EFC2B3E1C2F28C075D1A3EDC6DC43 + FB899F399DB5DB37B27CCDC74E07B65BC16C81568BCD3E4C2DB2EE589BDB245D + 7648F1F79F9CA63C134B5751787267F7C088D061EC3E9CEE046C6D93615D0016 + 4798FC22B6CA438ABFF7D8B4BBFB405DDE0350964B97CF3A007B0393E71E37B3 + 157FB7B0CD76BB2CF704EA6F5CE7607A1A712FA5A20B0C720926DB04D30DAA8B + B6E117BA82BAB600E585EF09FCB7B80273DCE7788E13D0E5CFD145F12BD9F30F + 303BB7C41633738C4B07AC395049F6B1DFB971BDCEC11E18A425267A04CB676A + 11452BA2D5CA915305ECCB3CFADFC04F324E3AD9F4EEC315D0CA9469786BFB4B + 69173B8645A4C5D24EE6CE5C059CF8A42FC7F2CFF51E989230CB21AA6D3B7E60 + 69EC281E191B82A1BA960754CD840DF1E3F9C8CD1CCE5945E95523E78D7D308B + 36BECB3AC36BC953D1592EFF3F60E8A2E344853F4CD098C7B85A7289D9E10F32 + 794200CD2DAD145FD4E3A90BC068B252F8D36F9CBB2922FAF861B8504EE2742B + 5F7D73C235606774EFBD1F4B45512949B121E8745E4859E48A41A4FA8E0D3715 + 988C356C5DB99025EBF6917EA69ECB3F96313DF00ED5B7CB9C81DDDD59A7ECC8 + 11ED7722658A886015E19307D9E767AFB4633283462D9543731D69AFC6316771 + 1233E6BDC0D1C3BF9073BB2FD7F38B19EA7E86E2BCCF9C815D53D875ED1391CE + 9AF5F351D55D2331360C51B0D128F5D19FCBDB259880A5C5C8A665F3895CB084 + C8D878346E022A53138BB79660F8B50A9D299FF20B5FBA064C5D3D8F89FD9B09 + 9FA0A35DB215558AF6E8AACA0AF9E2835446854F65CEC25750BBC1C08041685A + CD246F29A0B4E816FD0C7954FF91E11A30E58D68B62C7E878CAC25F8870CA741 + 8A502DA5727DC253AC7D7727EB5727A192FEADF2EF352DF320519336F1E8AC27 + A8AA6AC5479F87BE2CA3F777F8D6E70696AE8CE2E9000B6DBE03A48296618294 + 3AA9A599EEB0213186ED47F2159B466D23A88F86675ECFE55291817EFA135497 + EDEF7D8472494C9D3B9E606E133C7A186A55C787A276EBD032447D57CB6B1F09 + DC58594BDC9E0A6ACE5748777842BA4317809D6511B9600A8F6B2D8C98385482 + 09DDC23C241DE4A92179D3F71498FD69CA3F89BF7B1925797B7B0FEC8C322422 + 94D69A1A52660FC677D0000495CD218D7D352A06BAABF934EB02BB2E8AB4379A + 08AD3D4D4D53BD631D3E376314BB324FF5D8B0E53E2A473929269C56BD8184B1 + DECC891A4963730BE346BE8DB1762BB70C0DA46515937BCB13542ABC0A8E9310 + 3F8ECCEC5C4760F4B491F6CE6EEFF0F62E6FA35D997768AB54E97BCF3629CD3B + 70FA68A92EF50CF65571F35A1DBA210FF167A3805AABA5ADDE8857C969E626BD + DC7D2F9D1D11C6DE83F9F4461A1B4C7C9B574971BDB6DBE7FD340D0CF7AA21F2 + D9097879FBD86D4EC08D5B76F70AD655CC52D36EAC1369B3796015540896BFF0 + F430D357EB89BBA7B7D37E05783FE56F92C591F6D1A442580000000049454E44 + AE426082} + Name = 'PngImage0' + Background = clWindow + end> + Left = 232 + Top = 80 + Bitmap = {} + end +end diff --git a/Modulos/Calendarios/Cliente/uPluginControllerCalendarios.pas b/Modulos/Calendarios/Cliente/uPluginControllerCalendarios.pas new file mode 100644 index 0000000..72ec666 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uPluginControllerCalendarios.pas @@ -0,0 +1,79 @@ +unit uPluginControllerCalendarios; + +interface + +uses + uModuleController, uInterfaces, uHostManager, Menus, Classes, ActnList, + ImgList, Controls, PngImageList; + +type + IMCCuentas = interface(IInterface) + ['{269979BB-DCF8-41FD-8F46-57022242FE86}'] + end; + + TModuleCalendarios = class(TModuleController, IMCCuentas) + actMediciones: TAction; + menu: TMenuItem; + ExtraImages: TPngImageList; + LargeImages: TPngImageList; + MainMenu: TMainMenu; + ModuleActionList: TActionList; + Calendario1: TMenuItem; + SmallImages: TPngImageList; + procedure actMedicionesExecute(Sender: TObject); + public + end; + +implementation + +{$R *.dfm} + +uses + Forms, Dialogs, uGUIBase, SysUtils, uDataModuleCalendarios, + uBizCitas, + + uEditorCalendarioMediciones, uEditorCalendarioBase, + uEditorCalendarioConFiltro; + +function GetModule : TModuleController; +begin + Result := TModuleCalendarios.Create(NIL); +end; + +exports + GetModule name GET_MODULE_FUNC; + +{ +******************************* TModuleContactos ******************************* +} + +procedure TModuleCalendarios.actMedicionesExecute(Sender: TObject); +var + aObj: IEditorCalendarioMediciones; + ACitas : IBizCitas; + AVendedores : IBizVendedores; +begin + ACitas := dmCalendarios.GetMediciones; + AVendedores := dmCalendarios.GetVendedores; + aObj := TfEditorCalendarioMediciones.Create(Application); + try + with aObj do + begin + Citas := ACitas; + Vendedores := AVendedores; + ShowEmbedded; + end; + finally + ACitas := NIL; + AVendedores := NIL; + aObj := NIL; + end; +end; + +initialization + RegisterModuleClass(TModuleCalendarios); + +finalization + UnRegisterModuleClass(TModuleCalendarios); + +end. diff --git a/Modulos/Calendarios/Cliente/uViewCalendarioBase.dfm b/Modulos/Calendarios/Cliente/uViewCalendarioBase.dfm new file mode 100644 index 0000000..bb74873 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uViewCalendarioBase.dfm @@ -0,0 +1,45 @@ +inherited frViewCalendarioBase: TfrViewCalendarioBase + Width = 443 + Height = 270 + Align = alClient + object cxScheduler: TcxScheduler + Left = 0 + Top = 0 + Width = 443 + Height = 270 + DateNavigator.RowCount = 2 + DateNavigator.ShowWeekNumbers = False + ViewDay.Active = True + ViewDay.AutoContentHeight = True + ViewDay.GroupingKind = gkByDate + ViewTimeGrid.ShowTimeAsClock = True + ViewWeek.GroupingKind = gkByDate + ViewWeek.ShowTimeAsClock = True + ViewWeeks.GroupingKind = gkNone + ViewWeeks.ShowTimeAsClock = True + Align = alClient + BevelInner = bvNone + BevelOuter = bvNone + BorderStyle = cxcbsNone + ContentPopupMenu.Items = [cpmiNewEvent, cpmiToday, cpmiGoToThisDay] + DialogsLookAndFeel.NativeStyle = True + EventOperations.InplaceEditing = False + EventOperations.Recurrence = False + EventPopupMenu.Items = [epmiOpen, epmiDelete] + LookAndFeel.Kind = lfUltraFlat + LookAndFeel.NativeStyle = False + OptionsCustomize.DynamicSizing = True + OptionsView.DayBorderColor = clActiveCaption + OptionsView.ShowEventsWithoutResource = True + OptionsView.WorkDays = [dMonday, dTuesday, dWednesday, dThursday, dFriday, dSaturday] + OptionsView.WorkStart = 0.416666666666666700 + OptionsView.WorkFinish = 0.854166666666666800 + ParentFont = True + ShowHint = True + TabOrder = 0 + Selection = 1 + Splitters = { + 2C010000FA000000BB010000FF00000027010000000000002C0100000E010000} + StoredClientBounds = {0000000000000000BB0100000E010000} + end +end diff --git a/Modulos/Calendarios/Cliente/uViewCalendarioBase.pas b/Modulos/Calendarios/Cliente/uViewCalendarioBase.pas new file mode 100644 index 0000000..6b79953 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uViewCalendarioBase.pas @@ -0,0 +1,79 @@ +unit uViewCalendarioBase; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uViewBase, dxLayoutControl, cxControls, Menus, cxStyles, + cxGraphics, cxEdit, cxScheduler, cxSchedulerStorage, + cxSchedulerCustomControls, cxSchedulerCustomResourceView, + cxSchedulerDayView, cxSchedulerDateNavigator, cxSchedulerTimeGridView, + cxSchedulerUtils, cxSchedulerWeekView, cxSchedulerYearView, dxPrnDev, + dxPSGlbl, dxPSUtl, dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPSCompsProvider, + dxPSFillPatterns, dxPSEdgePatterns, dxPSCore, dxPScxCommon, + dxPScxScheduler2Lnk, dxPrnDlg, cxSchedulerDBStorage, ActnList, DB, + uDADataTable, uBizCitas, JvAppStorage, JvAppRegistryStorage, + JvComponentBase, JvFormPlacement, uViewGrid; + +type + IViewCalendarioBase = interface(IViewBase) + ['{A5CF0823-17C6-4FBA-9DC8-6E8D310503F5}'] + function getCalendario: TcxScheduler; + property Calendario: TcxScheduler read getCalendario; + + function GetpAnchorDate: TDateTime; + procedure SetpAnchorDate(const Value: TDateTime); + property pAnchorDate: TDateTime read GetpAnchorDate write SetpAnchorDate; + end; + + TfrViewCalendarioBase = class(TfrViewBase, IViewCalendarioBase) + cxScheduler : TcxScheduler; + private + AnchorDate: TDateTime; + + protected + function GetpAnchorDate: TDateTime; + procedure SetpAnchorDate(const Value: TDateTime); + + function getCalendario: TcxScheduler; + public + property pAnchorDate: TDateTime read GetpAnchorDate write SetpAnchorDate; + property Calendario: TcxScheduler read getCalendario; + constructor Create(AOwner : TComponent); override; + destructor Destroy; override; + end; + +var + frViewCalendarioBase: TfrViewCalendarioBase; + +implementation + +{$R *.dfm} + +constructor TfrViewCalendarioBase.Create(AOwner: TComponent); +begin + inherited Create(AOwner); + AnchorDate := Date; +end; + +destructor TfrViewCalendarioBase.Destroy; +begin + inherited; +end; + +function TfrViewCalendarioBase.getCalendario: TcxScheduler; +begin + Result := cxScheduler; +end; + +function TfrViewCalendarioBase.GetpAnchorDate: TDateTime; +begin + Result := AnchorDate; +end; + +procedure TfrViewCalendarioBase.SetpAnchorDate(const Value: TDateTime); +begin + AnchorDate := Value; +end; + +end. diff --git a/Modulos/Calendarios/Cliente/uViewCalendarioConFiltro.dfm b/Modulos/Calendarios/Cliente/uViewCalendarioConFiltro.dfm new file mode 100644 index 0000000..e11a194 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uViewCalendarioConFiltro.dfm @@ -0,0 +1,624 @@ +inherited frViewCalendarioConFiltro: TfrViewCalendarioConFiltro + inherited cxScheduler: TcxScheduler + OnInitEventImages = cxSchedulerInitEventImages + ControlBox.Control = pnlVendedores + EventImages = ImageList1 + OptionsView.WorkStart = 0.416666666666666700 + OptionsView.WorkFinish = 0.854166666666666800 + Selection = 1 + Splitters = { + 2C010000FA000000BB010000FF00000027010000000000002C0100000E010000} + StoredClientBounds = {0000000000000000BB0100000E010000} + object pnlVendedores: TPanel + Left = 0 + Top = 0 + Width = 143 + Height = 15 + Align = alClient + BevelOuter = bvNone + Color = 16383743 + Constraints.MaxHeight = 440 + ParentBackground = True + TabOrder = 0 + object cxResources: TcxCheckListBox + Left = 0 + Top = 18 + Width = 143 + Height = 416 + Align = alClient + Items = <> + ParentFont = False + Sorted = True + Style.BorderStyle = cbsNone + Style.LookAndFeel.Kind = lfStandard + Style.TransparentBorder = False + StyleDisabled.BorderStyle = cbsNone + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleFocused.BorderStyle = cbsNone + StyleFocused.LookAndFeel.Kind = lfStandard + StyleHot.BorderStyle = cbsNone + StyleHot.LookAndFeel.Kind = lfStandard + TabOrder = 0 + OnEditValueChanged = cxResourcesEditValueChanged + end + object Panel2: TPanel + Left = 0 + Top = 0 + Width = 143 + Height = 18 + Align = alTop + BevelInner = bvSpace + BevelOuter = bvNone + Caption = 'Titulo filtro' + Color = 14280169 + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'MS Sans Serif' + Font.Style = [fsBold] + ParentFont = False + TabOrder = 1 + end + object tbxMain: TTBXToolbar + Left = 0 + Top = 9 + Width = 143 + Height = 6 + Align = alBottom + Caption = 'tbxMain' + ChevronHint = 'M'#225's botones|' + DockMode = dmCannotFloatOrChangeDocks + DockPos = -23 + DockRow = 1 + DragHandleStyle = dhNone + ParentShowHint = False + ShowHint = True + TabOrder = 2 + object TBXItem5: TTBXItem + DisplayMode = nbdmImageAndText + end + end + end + end + object ImageList1: TImageList + Height = 32 + Width = 32 + Left = 744 + Top = 280 + Bitmap = { + 494C010101000400040020002000FFFFFFFFFF10FFFFFFFFFFFFFFFF424D3600 + 0000000000003600000028000000800000002000000001002000000000000040 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000000A0A0AFF0A0A + 0AFF0A0A0AFF0A0A0AFF0A0A0AFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000000A0A0AFF0A0A + 0AFF306074FF0A0A0AFF0A0A0AFF0A0A0AFF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000A0A0AFF0A0A0AFF76FC + FAFF76FCFAFF306074FF0A0A0AFF0A0A0AFF0A0A0AFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000A0A0AFF0A0A0AFF76FCFAFF76FC + FAFF76FCFAFF76FCFAFF306074FF0A0A0AFF0A0A0AFF0A0A0AFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000A0A0AFF0A0A0AFF76FCFAFF76FCFAFF76FC + FAFF76FCFAFF76FCFAFF76FCFAFF306074FF0A0A0AFF0A0A0AFF0A0A0AFF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000A0A0AFF0A0A0AFF76FCFAFF76FCFAFF76FCFAFF76FC + FAFF43CCFFFF76FCFAFF76FCFAFF76FCFAFF306074FF0A0A0AFF0A0A0AFF0A0A + 0AFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000A0A0AFF0A0A0AFF76FCFAFF76FCFAFF306074FF60B7 + D0FF43CCFFFF76FCFAFF76FCFAFF76FCFAFF76FCFAFF306074FF0A0A0AFF0A0A + 0AFF0A0A0AFF0000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000A0A0AFF0A0A0AFF306074FF0A0A0AFF43CC + FFFF76FCFAFF43CCFFFF306074FF43CCFFFF76FCFAFF76FCFAFF306074FF0A0A + 0AFF0A0A0AFF0A0A0AFF00000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000A0A0AFF0A0A0AFF43CCFFFF76FC + FAFF43CCFFFF306074FF0A0A0AFF43CCFFFF76FCFAFF76FCFAFF76FCFAFF3060 + 74FF0A0A0AFF0A0A0AFF0A0A0AFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000A0A0AFF0A0A0AFF97DE + F3FF306074FF0A0A0AFF43CCFFFF76FCFAFF76FCFAFF76FCFAFF76FCFAFF76FC + FAFF306074FF0A0A0AFF0A0A0AFF0A0A0AFF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000000A0A0AFF0A0A + 0AFF0A0A0AFF43CCFFFF76FCFAFF76FCFAFF76FCFAFF43CCFFFF76FCFAFF76FC + FAFF76FCFAFF306074FF0A0A0AFF0A0A0AFF0A0A0AFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000A0A + 0AFF0A0A0AFF76FCFAFF76FCFAFF306074FF60B7D0FF43CCFFFF76FCFAFF76FC + FAFF76FCFAFF76FCFAFF306074FF0A0A0AFF0A0A0AFF0A0A0AFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000A0A0AFF0A0A0AFF306074FF0A0A0AFF43CCFFFF76FCFAFF43CCFFFF3060 + 74FF43CCFFFF76FCFAFF76FCFAFF306074FF0A0A0AFF0A0A0AFF0A0A0AFF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000A0A0AFF0A0A0AFF43CCFFFF76FCFAFF43CCFFFF306074FF0A0A + 0AFF60B7D0FF76FCFAFF76FCFAFF76FCFAFF306074FF0A0A0AFF0A0A0AFF0A0A + 0AFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000A0A0AFF0A0A0AFF43CCFFFF306074FF0A0A0AFF43CC + FFFF43CCFFFF76FCFAFF76FCFAFF76FCFAFF76FCFAFF306074FF0A0A0AFF0A0A + 0AFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000A0A0AFF0A0A0AFF0A0A0AFF43CCFFFF76FC + FAFF76FCFAFF76FCFAFF76FCFAFF76FCFAFF76FCFAFF76FCFAFF306074FF0A0A + 0AFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000A0A0AFF0A0A0AFF97DEF3FF76FC + FAFF306074FF60B7D0FF43CCFFFF76FCFAFF76FCFAFF76FCFAFF306074FF0A0A + 0AFF000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000000000000A0A0AFF0A0A0AFF3060 + 74FF0A0A0AFF43CCFFFF76FCFAFF76FCFAFF76FCFAFF306074FF0A0A0AFF0000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000000000000000000000000000000000000000000000000000A0A0AFF0A0A + 0AFF43CCFFFF76FCFAFF76FCFAFF76FCFAFF306074FF0A0A0AFF000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000A0A + 0AFF0A0A0AFF76FCFAFF76FCFAFF306074FF0A0A0AFF00000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 00000A0A0AFF0A0A0AFF306074FF0A0A0AFF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000A0A0AFF0A0A0AFF000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 000000000000000000000000000000000000424D3E000000000000003E000000 + 2800000080000000200000000100010000000000000200000000000000000000 + 000000000000000000000000FFFFFF00FFFFFFFF000000000000000000000000 + FFFFFFFF000000000000000000000000FFFFFFFF000000000000000000000000 + FFFFFFFF000000000000000000000000FFC1FFFF000000000000000000000000 + FFC0FFFF000000000000000000000000FF807FFF000000000000000000000000 + FF003FFF000000000000000000000000FE001FFF000000000000000000000000 + FC000FFF000000000000000000000000FC0007FF000000000000000000000000 + FE0003FF000000000000000000000000FF0001FF000000000000000000000000 + FF8000FF000000000000000000000000FFC0007F000000000000000000000000 + FFE0003F000000000000000000000000FFF0001F000000000000000000000000 + FFF8000F000000000000000000000000FFFC000F000000000000000000000000 + FFFE000F000000000000000000000000FFFF000F000000000000000000000000 + FFFF801F000000000000000000000000FFFFC03F000000000000000000000000 + FFFFE07F000000000000000000000000FFFFF0FF000000000000000000000000 + FFFFF9FF000000000000000000000000FFFFFFFF000000000000000000000000 + FFFFFFFF000000000000000000000000FFFFFFFF000000000000000000000000 + FFFFFFFF000000000000000000000000FFFFFFFF000000000000000000000000 + FFFFFFFF00000000000000000000000000000000000000000000000000000000 + 000000000000} + end +end diff --git a/Modulos/Calendarios/Cliente/uViewCalendarioConFiltro.pas b/Modulos/Calendarios/Cliente/uViewCalendarioConFiltro.pas new file mode 100644 index 0000000..0430111 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uViewCalendarioConFiltro.pas @@ -0,0 +1,119 @@ +unit uViewCalendarioConFiltro; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uViewCalendarioBase, Menus, cxStyles, cxGraphics, cxEdit, + cxScheduler, cxSchedulerStorage, cxSchedulerCustomControls, + cxSchedulerCustomResourceView, cxSchedulerDayView, + cxSchedulerDateNavigator, cxSchedulerTimeGridView, cxSchedulerUtils, + cxSchedulerWeekView, cxSchedulerYearView, dxPrnDev, dxPSGlbl, dxPSUtl, + dxPSEngn, dxPrnPg, dxBkgnd, dxWrap, dxPSCompsProvider, dxPSFillPatterns, + dxPSEdgePatterns, cxContainer, cxCheckListBox, ExtCtrls, + dxPSCore, dxPScxCommon, dxPScxScheduler2Lnk, dxPrnDlg, + cxSchedulerDBStorage, ActnList, cxControls, JvAppStorage, + JvAppRegistryStorage, JvComponentBase, JvFormPlacement, TB2Item, TBX, + TB2Dock, TB2Toolbar, DB, uDADataTable, ImgList; + +type + IViewCalendarioConFiltro = interface(IViewCalendarioBase) + ['{636C30A6-74A9-4B6D-A68A-2B26DE208A7F}'] + function getResources: TcxCheckListBox; + property Resources: TcxCheckListBox read getResources; + end; + + TfrViewCalendarioConFiltro = class(TfrViewCalendarioBase, IViewCalendarioConFiltro) + pnlVendedores: TPanel; + cxResources: TcxCheckListBox; + Panel2: TPanel; + tbxMain: TTBXToolbar; + TBXItem5: TTBXItem; + ImageList1: TImageList; + procedure cxResourcesEditValueChanged(Sender: TObject); + procedure cxSchedulerInitEventImages(Sender: TcxCustomScheduler; + AEvent: TcxSchedulerControlEvent; AImages: TcxSchedulerEventImages); + protected + function getResources: TcxCheckListBox; + public + property Resources: TcxCheckListBox read getResources; + + public + constructor Create(AOwner : TComponent); override; + end; + +var + frViewCalendarioConFiltro: TfrViewCalendarioConFiltro; + +implementation + +{$R *.dfm} + +procedure TfrViewCalendarioConFiltro.cxResourcesEditValueChanged(Sender: TObject); +var + AIndex: Integer; +begin + AIndex := cxResources.ItemIndex; + + if AIndex < 0 then + Exit; + with cxResources.Items[AIndex] do + TcxSchedulerStorageResourceItem(ItemObject).Visible := Checked; + + if cxScheduler.Storage.Resources.ResourceItems.VisibleResourceCount = 0 then + begin + cxResources.Items[AIndex].Checked := True; + Exit; + end; +end; + +procedure TfrViewCalendarioConFiltro.cxSchedulerInitEventImages( + Sender: TcxCustomScheduler; AEvent: TcxSchedulerControlEvent; + AImages: TcxSchedulerEventImages); +begin + inherited; + if not cxScheduler.ViewWeeks.Active then + if AEvent.LabelColor = EventLabelColors[6] then + AImages.Add(0); +end; + +constructor TfrViewCalendarioConFiltro.Create(AOwner: TComponent); +begin + inherited; + { + dsCitas.DataSet := TablaCitas; + dsVendedores.DataSet := TablaVendedores; + + with TablaCitas do + begin + Database := dmBaseDatos.BD; + Transaction := dmBaseDatos.Transaccion; + SelectSQL.Assign(dmTablaCitas.sqlConsultar); + SelectSQL.Add('WHERE TIPOTAREA = ''' + TextoTipoCita[Ord(tcMedicion)] + ''''); + InsertSQL.Assign(dmTablaCitas.sqlInsertar); + ModifySQL.Assign(dmTablaCitas.sqlModificar); + DeleteSQL.Assign(dmTablaCitas.sqlEliminar); + RefreshSQL.Assign(dmTablaCitas.sqlRefrescar); + RefreshSQL.Add('and TIPOTAREA = ''' + TextoTipoCita[Ord(tcMedicion)] + ''''); + + BeforePost := TablaCitasBeforePost; + AfterPost := TablaCitasAfterPost; + Prepare; + end; + + with TablaVendedores do + begin + Database := dmBaseDatos.BD; + Transaction := dmBaseDatos.Transaccion; + SelectSQL.Add('select * from VENDEDORES'); + Prepare; + end; +} +end; + +function TfrViewCalendarioConFiltro.getResources: TcxCheckListBox; +begin + Result := cxResources; +end; + +end. diff --git a/Modulos/Calendarios/Cliente/uViewCalendarioMediciones.dfm b/Modulos/Calendarios/Cliente/uViewCalendarioMediciones.dfm new file mode 100644 index 0000000..4959589 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uViewCalendarioMediciones.dfm @@ -0,0 +1,26 @@ +inherited frViewCalendarioMediciones: TfrViewCalendarioMediciones + Width = 586 + Height = 406 + inherited cxScheduler: TcxScheduler + Width = 586 + Height = 406 + OptionsView.WorkStart = 0.416666666666666700 + OptionsView.WorkFinish = 0.854166666666666800 + Selection = 231 + Splitters = { + BB010000FA0000004A020000FF000000B601000000000000BB01000096010000} + StoredClientBounds = {00000000000000004A02000096010000} + inherited pnlVendedores: TPanel + Height = 151 + inherited cxResources: TcxCheckListBox + Height = 127 + end + inherited Panel2: TPanel + Caption = 'Vendedores' + end + inherited tbxMain: TTBXToolbar + Top = 145 + end + end + end +end diff --git a/Modulos/Calendarios/Cliente/uViewCalendarioMediciones.pas b/Modulos/Calendarios/Cliente/uViewCalendarioMediciones.pas new file mode 100644 index 0000000..79dadb4 --- /dev/null +++ b/Modulos/Calendarios/Cliente/uViewCalendarioMediciones.pas @@ -0,0 +1,29 @@ +unit uViewCalendarioMediciones; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uViewCalendarioConFiltro, Menus, cxStyles, cxGraphics, cxEdit, + cxScheduler, cxSchedulerStorage, cxSchedulerCustomControls, + cxSchedulerCustomResourceView, cxSchedulerDayView, + cxSchedulerDateNavigator, cxSchedulerTimeGridView, cxSchedulerUtils, + cxSchedulerWeekView, cxSchedulerYearView, ImgList, TB2Item, TBX, TB2Dock, + TB2Toolbar, cxContainer, cxCheckListBox, ExtCtrls, cxControls; + +type + TfrViewCalendarioMediciones = class(TfrViewCalendarioConFiltro) + private + { Private declarations } + public + { Public declarations } + end; + +var + frViewCalendarioMediciones: TfrViewCalendarioMediciones; + +implementation + +{$R *.dfm} + +end. diff --git a/Modulos/Calendarios/Reglas/schCitasClient_Intf.pas b/Modulos/Calendarios/Reglas/schCitasClient_Intf.pas new file mode 100644 index 0000000..5437e2d --- /dev/null +++ b/Modulos/Calendarios/Reglas/schCitasClient_Intf.pas @@ -0,0 +1,862 @@ +unit schCitasClient_Intf; + +interface + +uses + Classes, DB, SysUtils, uROClasses, uDADataTable; + +const + { Data table rules ids + Feel free to change them to something more human readable + but make sure they are unique in the context of your application } + RID_CITAS = '{8A00AC3C-FD7C-4241-B7C7-8EFD1937F000}'; + RID_VENDEDORES = '{59850C69-DF4D-44E2-BA00-C4FDC03E39E0}'; + + { Data table names } + nme_CITAS = 'CITAS'; + nme_VENDEDORES = 'VENDEDORES'; + + { CITAS fields } + fld_CITASID = 'ID'; + fld_CITASPARENTID = 'PARENTID'; + fld_CITASSTART = 'START'; + fld_CITASTIPO = 'TIPO'; + fld_CITASFINISH = 'FINISH'; + fld_CITASOPTIONS = 'OPTIONS'; + fld_CITASCAPTION = 'CAPTION'; + fld_CITASMENSAJE = 'MENSAJE'; + fld_CITASRECURRENCEINDEX = 'RECURRENCEINDEX'; + fld_CITASRESOURCEID = 'RESOURCEID'; + fld_CITASLOCATION = 'LOCATION'; + fld_CITASREMINDER = 'REMINDER'; + fld_CITASSTATE = 'STATE'; + fld_CITASLABELCOLOR = 'LABELCOLOR'; + fld_CITASCODIGOCONTRATO = 'CODIGOCONTRATO'; + fld_CITASTIPOTAREA = 'TIPOTAREA'; + fld_CITASNOMBRECLIENTE = 'NOMBRECLIENTE'; + fld_CITASPARTIDA = 'PARTIDA'; + fld_CITASCOMPLETADA = 'COMPLETADA'; + fld_CITASNOMBREPROVEEDOR = 'NOMBREPROVEEDOR'; + fld_CITASCODIGOCOLUMNA = 'CODIGOCOLUMNA'; + fld_CITASCODIGOFILA = 'CODIGOFILA'; + fld_CITASEMPRESA = 'EMPRESA'; + + { CITAS field indexes } + idx_CITASID = 0; + idx_CITASPARENTID = 1; + idx_CITASSTART = 2; + idx_CITASTIPO = 3; + idx_CITASFINISH = 4; + idx_CITASOPTIONS = 5; + idx_CITASCAPTION = 6; + idx_CITASMENSAJE = 7; + idx_CITASRECURRENCEINDEX = 8; + idx_CITASRESOURCEID = 9; + idx_CITASLOCATION = 10; + idx_CITASREMINDER = 11; + idx_CITASSTATE = 12; + idx_CITASLABELCOLOR = 13; + idx_CITASCODIGOCONTRATO = 14; + idx_CITASTIPOTAREA = 15; + idx_CITASNOMBRECLIENTE = 16; + idx_CITASPARTIDA = 17; + idx_CITASCOMPLETADA = 18; + idx_CITASNOMBREPROVEEDOR = 19; + idx_CITASCODIGOCOLUMNA = 20; + idx_CITASCODIGOFILA = 21; + idx_CITASEMPRESA = 22; + + { VENDEDORES fields } + fld_VENDEDORESCODIGOEMPRESA = 'CODIGOEMPRESA'; + fld_VENDEDORESCODIGO = 'CODIGO'; + fld_VENDEDORESFECHAALTA = 'FECHAALTA'; + fld_VENDEDORESUSUARIO = 'USUARIO'; + fld_VENDEDORESNIFCIF = 'NIFCIF'; + fld_VENDEDORESNOMBRE = 'NOMBRE'; + fld_VENDEDORESNOTAS = 'NOTAS'; + fld_VENDEDORESCALLE = 'CALLE'; + fld_VENDEDORESPROVINCIA = 'PROVINCIA'; + fld_VENDEDORESCODIGOPOSTAL = 'CODIGOPOSTAL'; + fld_VENDEDORESPOBLACION = 'POBLACION'; + fld_VENDEDORESTELEFONO1 = 'TELEFONO1'; + fld_VENDEDORESTELEFONO2 = 'TELEFONO2'; + fld_VENDEDORESMOVIL = 'MOVIL'; + fld_VENDEDORESFAX = 'FAX'; + fld_VENDEDORESCORREO1 = 'CORREO1'; + fld_VENDEDORESCORREO2 = 'CORREO2'; + fld_VENDEDORESPAGINAWEB = 'PAGINAWEB'; + fld_VENDEDORESPERSONACONTACTO = 'PERSONACONTACTO'; + + { VENDEDORES field indexes } + idx_VENDEDORESCODIGOEMPRESA = 0; + idx_VENDEDORESCODIGO = 1; + idx_VENDEDORESFECHAALTA = 2; + idx_VENDEDORESUSUARIO = 3; + idx_VENDEDORESNIFCIF = 4; + idx_VENDEDORESNOMBRE = 5; + idx_VENDEDORESNOTAS = 6; + idx_VENDEDORESCALLE = 7; + idx_VENDEDORESPROVINCIA = 8; + idx_VENDEDORESCODIGOPOSTAL = 9; + idx_VENDEDORESPOBLACION = 10; + idx_VENDEDORESTELEFONO1 = 11; + idx_VENDEDORESTELEFONO2 = 12; + idx_VENDEDORESMOVIL = 13; + idx_VENDEDORESFAX = 14; + idx_VENDEDORESCORREO1 = 15; + idx_VENDEDORESCORREO2 = 16; + idx_VENDEDORESPAGINAWEB = 17; + idx_VENDEDORESPERSONACONTACTO = 18; + +type + { ICITAS } + ICITAS = interface(IDAStronglyTypedDataTable) + ['{03AC3728-729B-4224-B900-4A4A1666746B}'] + { Property getters and setters } + function GetIDValue: Integer; + procedure SetIDValue(const aValue: Integer); + function GetPARENTIDValue: Integer; + procedure SetPARENTIDValue(const aValue: Integer); + function GetSTARTValue: DateTime; + procedure SetSTARTValue(const aValue: DateTime); + function GetTIPOValue: Integer; + procedure SetTIPOValue(const aValue: Integer); + function GetFINISHValue: DateTime; + procedure SetFINISHValue(const aValue: DateTime); + function GetOPTIONSValue: Integer; + procedure SetOPTIONSValue(const aValue: Integer); + function GetCAPTIONValue: String; + procedure SetCAPTIONValue(const aValue: String); + function GetMENSAJEValue: String; + procedure SetMENSAJEValue(const aValue: String); + function GetRECURRENCEINDEXValue: Integer; + procedure SetRECURRENCEINDEXValue(const aValue: Integer); + function GetRESOURCEIDValue: Integer; + procedure SetRESOURCEIDValue(const aValue: Integer); + function GetLOCATIONValue: String; + procedure SetLOCATIONValue(const aValue: String); + function GetREMINDERValue: Integer; + procedure SetREMINDERValue(const aValue: Integer); + function GetSTATEValue: Integer; + procedure SetSTATEValue(const aValue: Integer); + function GetLABELCOLORValue: Integer; + procedure SetLABELCOLORValue(const aValue: Integer); + function GetCODIGOCONTRATOValue: String; + procedure SetCODIGOCONTRATOValue(const aValue: String); + function GetTIPOTAREAValue: String; + procedure SetTIPOTAREAValue(const aValue: String); + function GetNOMBRECLIENTEValue: String; + procedure SetNOMBRECLIENTEValue(const aValue: String); + function GetPARTIDAValue: String; + procedure SetPARTIDAValue(const aValue: String); + function GetCOMPLETADAValue: DateTime; + procedure SetCOMPLETADAValue(const aValue: DateTime); + function GetNOMBREPROVEEDORValue: String; + procedure SetNOMBREPROVEEDORValue(const aValue: String); + function GetCODIGOCOLUMNAValue: Integer; + procedure SetCODIGOCOLUMNAValue(const aValue: Integer); + function GetCODIGOFILAValue: Integer; + procedure SetCODIGOFILAValue(const aValue: Integer); + function GetEMPRESAValue: Integer; + procedure SetEMPRESAValue(const aValue: Integer); + + + { Properties } + property ID: Integer read GetIDValue write SetIDValue; + property PARENTID: Integer read GetPARENTIDValue write SetPARENTIDValue; + property START: DateTime read GetSTARTValue write SetSTARTValue; + property TIPO: Integer read GetTIPOValue write SetTIPOValue; + property FINISH: DateTime read GetFINISHValue write SetFINISHValue; + property OPTIONS: Integer read GetOPTIONSValue write SetOPTIONSValue; + property CAPTION: String read GetCAPTIONValue write SetCAPTIONValue; + property MENSAJE: String read GetMENSAJEValue write SetMENSAJEValue; + property RECURRENCEINDEX: Integer read GetRECURRENCEINDEXValue write SetRECURRENCEINDEXValue; + property RESOURCEID: Integer read GetRESOURCEIDValue write SetRESOURCEIDValue; + property LOCATION: String read GetLOCATIONValue write SetLOCATIONValue; + property REMINDER: Integer read GetREMINDERValue write SetREMINDERValue; + property STATE: Integer read GetSTATEValue write SetSTATEValue; + property LABELCOLOR: Integer read GetLABELCOLORValue write SetLABELCOLORValue; + property CODIGOCONTRATO: String read GetCODIGOCONTRATOValue write SetCODIGOCONTRATOValue; + property TIPOTAREA: String read GetTIPOTAREAValue write SetTIPOTAREAValue; + property NOMBRECLIENTE: String read GetNOMBRECLIENTEValue write SetNOMBRECLIENTEValue; + property PARTIDA: String read GetPARTIDAValue write SetPARTIDAValue; + property COMPLETADA: DateTime read GetCOMPLETADAValue write SetCOMPLETADAValue; + property NOMBREPROVEEDOR: String read GetNOMBREPROVEEDORValue write SetNOMBREPROVEEDORValue; + property CODIGOCOLUMNA: Integer read GetCODIGOCOLUMNAValue write SetCODIGOCOLUMNAValue; + property CODIGOFILA: Integer read GetCODIGOFILAValue write SetCODIGOFILAValue; + property EMPRESA: Integer read GetEMPRESAValue write SetEMPRESAValue; + end; + + { TCITASDataTableRules } + TCITASDataTableRules = class(TDADataTableRules, ICITAS) + private + protected + { Property getters and setters } + function GetIDValue: Integer; virtual; + procedure SetIDValue(const aValue: Integer); virtual; + function GetPARENTIDValue: Integer; virtual; + procedure SetPARENTIDValue(const aValue: Integer); virtual; + function GetSTARTValue: DateTime; virtual; + procedure SetSTARTValue(const aValue: DateTime); virtual; + function GetTIPOValue: Integer; virtual; + procedure SetTIPOValue(const aValue: Integer); virtual; + function GetFINISHValue: DateTime; virtual; + procedure SetFINISHValue(const aValue: DateTime); virtual; + function GetOPTIONSValue: Integer; virtual; + procedure SetOPTIONSValue(const aValue: Integer); virtual; + function GetCAPTIONValue: String; virtual; + procedure SetCAPTIONValue(const aValue: String); virtual; + function GetMENSAJEValue: String; virtual; + procedure SetMENSAJEValue(const aValue: String); virtual; + function GetRECURRENCEINDEXValue: Integer; virtual; + procedure SetRECURRENCEINDEXValue(const aValue: Integer); virtual; + function GetRESOURCEIDValue: Integer; virtual; + procedure SetRESOURCEIDValue(const aValue: Integer); virtual; + function GetLOCATIONValue: String; virtual; + procedure SetLOCATIONValue(const aValue: String); virtual; + function GetREMINDERValue: Integer; virtual; + procedure SetREMINDERValue(const aValue: Integer); virtual; + function GetSTATEValue: Integer; virtual; + procedure SetSTATEValue(const aValue: Integer); virtual; + function GetLABELCOLORValue: Integer; virtual; + procedure SetLABELCOLORValue(const aValue: Integer); virtual; + function GetCODIGOCONTRATOValue: String; virtual; + procedure SetCODIGOCONTRATOValue(const aValue: String); virtual; + function GetTIPOTAREAValue: String; virtual; + procedure SetTIPOTAREAValue(const aValue: String); virtual; + function GetNOMBRECLIENTEValue: String; virtual; + procedure SetNOMBRECLIENTEValue(const aValue: String); virtual; + function GetPARTIDAValue: String; virtual; + procedure SetPARTIDAValue(const aValue: String); virtual; + function GetCOMPLETADAValue: DateTime; virtual; + procedure SetCOMPLETADAValue(const aValue: DateTime); virtual; + function GetNOMBREPROVEEDORValue: String; virtual; + procedure SetNOMBREPROVEEDORValue(const aValue: String); virtual; + function GetCODIGOCOLUMNAValue: Integer; virtual; + procedure SetCODIGOCOLUMNAValue(const aValue: Integer); virtual; + function GetCODIGOFILAValue: Integer; virtual; + procedure SetCODIGOFILAValue(const aValue: Integer); virtual; + function GetEMPRESAValue: Integer; virtual; + procedure SetEMPRESAValue(const aValue: Integer); virtual; + + { Properties } + property ID: Integer read GetIDValue write SetIDValue; + property PARENTID: Integer read GetPARENTIDValue write SetPARENTIDValue; + property START: DateTime read GetSTARTValue write SetSTARTValue; + property TIPO: Integer read GetTIPOValue write SetTIPOValue; + property FINISH: DateTime read GetFINISHValue write SetFINISHValue; + property OPTIONS: Integer read GetOPTIONSValue write SetOPTIONSValue; + property CAPTION: String read GetCAPTIONValue write SetCAPTIONValue; + property MENSAJE: String read GetMENSAJEValue write SetMENSAJEValue; + property RECURRENCEINDEX: Integer read GetRECURRENCEINDEXValue write SetRECURRENCEINDEXValue; + property RESOURCEID: Integer read GetRESOURCEIDValue write SetRESOURCEIDValue; + property LOCATION: String read GetLOCATIONValue write SetLOCATIONValue; + property REMINDER: Integer read GetREMINDERValue write SetREMINDERValue; + property STATE: Integer read GetSTATEValue write SetSTATEValue; + property LABELCOLOR: Integer read GetLABELCOLORValue write SetLABELCOLORValue; + property CODIGOCONTRATO: String read GetCODIGOCONTRATOValue write SetCODIGOCONTRATOValue; + property TIPOTAREA: String read GetTIPOTAREAValue write SetTIPOTAREAValue; + property NOMBRECLIENTE: String read GetNOMBRECLIENTEValue write SetNOMBRECLIENTEValue; + property PARTIDA: String read GetPARTIDAValue write SetPARTIDAValue; + property COMPLETADA: DateTime read GetCOMPLETADAValue write SetCOMPLETADAValue; + property NOMBREPROVEEDOR: String read GetNOMBREPROVEEDORValue write SetNOMBREPROVEEDORValue; + property CODIGOCOLUMNA: Integer read GetCODIGOCOLUMNAValue write SetCODIGOCOLUMNAValue; + property CODIGOFILA: Integer read GetCODIGOFILAValue write SetCODIGOFILAValue; + property EMPRESA: Integer read GetEMPRESAValue write SetEMPRESAValue; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + + { IVENDEDORES } + IVENDEDORES = interface(IDAStronglyTypedDataTable) + ['{97DEA09F-C83C-47D3-8854-74212F62078A}'] + { Property getters and setters } + function GetCODIGOEMPRESAValue: Integer; + procedure SetCODIGOEMPRESAValue(const aValue: Integer); + function GetCODIGOValue: Integer; + procedure SetCODIGOValue(const aValue: Integer); + function GetFECHAALTAValue: DateTime; + procedure SetFECHAALTAValue(const aValue: DateTime); + function GetUSUARIOValue: String; + procedure SetUSUARIOValue(const aValue: String); + function GetNIFCIFValue: String; + procedure SetNIFCIFValue(const aValue: String); + function GetNOMBREValue: String; + procedure SetNOMBREValue(const aValue: String); + function GetNOTASValue: String; + procedure SetNOTASValue(const aValue: String); + function GetCALLEValue: String; + procedure SetCALLEValue(const aValue: String); + function GetPROVINCIAValue: String; + procedure SetPROVINCIAValue(const aValue: String); + function GetCODIGOPOSTALValue: String; + procedure SetCODIGOPOSTALValue(const aValue: String); + function GetPOBLACIONValue: String; + procedure SetPOBLACIONValue(const aValue: String); + function GetTELEFONO1Value: String; + procedure SetTELEFONO1Value(const aValue: String); + function GetTELEFONO2Value: String; + procedure SetTELEFONO2Value(const aValue: String); + function GetMOVILValue: String; + procedure SetMOVILValue(const aValue: String); + function GetFAXValue: String; + procedure SetFAXValue(const aValue: String); + function GetCORREO1Value: String; + procedure SetCORREO1Value(const aValue: String); + function GetCORREO2Value: String; + procedure SetCORREO2Value(const aValue: String); + function GetPAGINAWEBValue: String; + procedure SetPAGINAWEBValue(const aValue: String); + function GetPERSONACONTACTOValue: String; + procedure SetPERSONACONTACTOValue(const aValue: String); + + + { Properties } + property CODIGOEMPRESA: Integer read GetCODIGOEMPRESAValue write SetCODIGOEMPRESAValue; + property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue; + property FECHAALTA: DateTime read GetFECHAALTAValue write SetFECHAALTAValue; + property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; + property NIFCIF: String read GetNIFCIFValue write SetNIFCIFValue; + property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; + property NOTAS: String read GetNOTASValue write SetNOTASValue; + property CALLE: String read GetCALLEValue write SetCALLEValue; + property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue; + property CODIGOPOSTAL: String read GetCODIGOPOSTALValue write SetCODIGOPOSTALValue; + property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue; + property TELEFONO1: String read GetTELEFONO1Value write SetTELEFONO1Value; + property TELEFONO2: String read GetTELEFONO2Value write SetTELEFONO2Value; + property MOVIL: String read GetMOVILValue write SetMOVILValue; + property FAX: String read GetFAXValue write SetFAXValue; + property CORREO1: String read GetCORREO1Value write SetCORREO1Value; + property CORREO2: String read GetCORREO2Value write SetCORREO2Value; + property PAGINAWEB: String read GetPAGINAWEBValue write SetPAGINAWEBValue; + property PERSONACONTACTO: String read GetPERSONACONTACTOValue write SetPERSONACONTACTOValue; + end; + + { TVENDEDORESDataTableRules } + TVENDEDORESDataTableRules = class(TDADataTableRules, IVENDEDORES) + private + protected + { Property getters and setters } + function GetCODIGOEMPRESAValue: Integer; virtual; + procedure SetCODIGOEMPRESAValue(const aValue: Integer); virtual; + function GetCODIGOValue: Integer; virtual; + procedure SetCODIGOValue(const aValue: Integer); virtual; + function GetFECHAALTAValue: DateTime; virtual; + procedure SetFECHAALTAValue(const aValue: DateTime); virtual; + function GetUSUARIOValue: String; virtual; + procedure SetUSUARIOValue(const aValue: String); virtual; + function GetNIFCIFValue: String; virtual; + procedure SetNIFCIFValue(const aValue: String); virtual; + function GetNOMBREValue: String; virtual; + procedure SetNOMBREValue(const aValue: String); virtual; + function GetNOTASValue: String; virtual; + procedure SetNOTASValue(const aValue: String); virtual; + function GetCALLEValue: String; virtual; + procedure SetCALLEValue(const aValue: String); virtual; + function GetPROVINCIAValue: String; virtual; + procedure SetPROVINCIAValue(const aValue: String); virtual; + function GetCODIGOPOSTALValue: String; virtual; + procedure SetCODIGOPOSTALValue(const aValue: String); virtual; + function GetPOBLACIONValue: String; virtual; + procedure SetPOBLACIONValue(const aValue: String); virtual; + function GetTELEFONO1Value: String; virtual; + procedure SetTELEFONO1Value(const aValue: String); virtual; + function GetTELEFONO2Value: String; virtual; + procedure SetTELEFONO2Value(const aValue: String); virtual; + function GetMOVILValue: String; virtual; + procedure SetMOVILValue(const aValue: String); virtual; + function GetFAXValue: String; virtual; + procedure SetFAXValue(const aValue: String); virtual; + function GetCORREO1Value: String; virtual; + procedure SetCORREO1Value(const aValue: String); virtual; + function GetCORREO2Value: String; virtual; + procedure SetCORREO2Value(const aValue: String); virtual; + function GetPAGINAWEBValue: String; virtual; + procedure SetPAGINAWEBValue(const aValue: String); virtual; + function GetPERSONACONTACTOValue: String; virtual; + procedure SetPERSONACONTACTOValue(const aValue: String); virtual; + + { Properties } + property CODIGOEMPRESA: Integer read GetCODIGOEMPRESAValue write SetCODIGOEMPRESAValue; + property CODIGO: Integer read GetCODIGOValue write SetCODIGOValue; + property FECHAALTA: DateTime read GetFECHAALTAValue write SetFECHAALTAValue; + property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; + property NIFCIF: String read GetNIFCIFValue write SetNIFCIFValue; + property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; + property NOTAS: String read GetNOTASValue write SetNOTASValue; + property CALLE: String read GetCALLEValue write SetCALLEValue; + property PROVINCIA: String read GetPROVINCIAValue write SetPROVINCIAValue; + property CODIGOPOSTAL: String read GetCODIGOPOSTALValue write SetCODIGOPOSTALValue; + property POBLACION: String read GetPOBLACIONValue write SetPOBLACIONValue; + property TELEFONO1: String read GetTELEFONO1Value write SetTELEFONO1Value; + property TELEFONO2: String read GetTELEFONO2Value write SetTELEFONO2Value; + property MOVIL: String read GetMOVILValue write SetMOVILValue; + property FAX: String read GetFAXValue write SetFAXValue; + property CORREO1: String read GetCORREO1Value write SetCORREO1Value; + property CORREO2: String read GetCORREO2Value write SetCORREO2Value; + property PAGINAWEB: String read GetPAGINAWEBValue write SetPAGINAWEBValue; + property PERSONACONTACTO: String read GetPERSONACONTACTOValue write SetPERSONACONTACTOValue; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + +implementation + +uses Variants; + +{ TCITASDataTableRules } +constructor TCITASDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TCITASDataTableRules.Destroy; +begin + inherited; +end; + +function TCITASDataTableRules.GetIDValue: Integer; +begin + result := DataTable.Fields[idx_CITASID].AsInteger; +end; + +procedure TCITASDataTableRules.SetIDValue(const aValue: Integer); +begin + DataTable.Fields[idx_CITASID].AsInteger := aValue; +end; + +function TCITASDataTableRules.GetPARENTIDValue: Integer; +begin + result := DataTable.Fields[idx_CITASPARENTID].AsInteger; +end; + +procedure TCITASDataTableRules.SetPARENTIDValue(const aValue: Integer); +begin + DataTable.Fields[idx_CITASPARENTID].AsInteger := aValue; +end; + +function TCITASDataTableRules.GetSTARTValue: DateTime; +begin + result := DataTable.Fields[idx_CITASSTART].AsDateTime; +end; + +procedure TCITASDataTableRules.SetSTARTValue(const aValue: DateTime); +begin + DataTable.Fields[idx_CITASSTART].AsDateTime := aValue; +end; + +function TCITASDataTableRules.GetTIPOValue: Integer; +begin + result := DataTable.Fields[idx_CITASTIPO].AsInteger; +end; + +procedure TCITASDataTableRules.SetTIPOValue(const aValue: Integer); +begin + DataTable.Fields[idx_CITASTIPO].AsInteger := aValue; +end; + +function TCITASDataTableRules.GetFINISHValue: DateTime; +begin + result := DataTable.Fields[idx_CITASFINISH].AsDateTime; +end; + +procedure TCITASDataTableRules.SetFINISHValue(const aValue: DateTime); +begin + DataTable.Fields[idx_CITASFINISH].AsDateTime := aValue; +end; + +function TCITASDataTableRules.GetOPTIONSValue: Integer; +begin + result := DataTable.Fields[idx_CITASOPTIONS].AsInteger; +end; + +procedure TCITASDataTableRules.SetOPTIONSValue(const aValue: Integer); +begin + DataTable.Fields[idx_CITASOPTIONS].AsInteger := aValue; +end; + +function TCITASDataTableRules.GetCAPTIONValue: String; +begin + result := DataTable.Fields[idx_CITASCAPTION].AsString; +end; + +procedure TCITASDataTableRules.SetCAPTIONValue(const aValue: String); +begin + DataTable.Fields[idx_CITASCAPTION].AsString := aValue; +end; + +function TCITASDataTableRules.GetMENSAJEValue: String; +begin + result := DataTable.Fields[idx_CITASMENSAJE].AsString; +end; + +procedure TCITASDataTableRules.SetMENSAJEValue(const aValue: String); +begin + DataTable.Fields[idx_CITASMENSAJE].AsString := aValue; +end; + +function TCITASDataTableRules.GetRECURRENCEINDEXValue: Integer; +begin + result := DataTable.Fields[idx_CITASRECURRENCEINDEX].AsInteger; +end; + +procedure TCITASDataTableRules.SetRECURRENCEINDEXValue(const aValue: Integer); +begin + DataTable.Fields[idx_CITASRECURRENCEINDEX].AsInteger := aValue; +end; + +function TCITASDataTableRules.GetRESOURCEIDValue: Integer; +begin + result := DataTable.Fields[idx_CITASRESOURCEID].AsInteger; +end; + +procedure TCITASDataTableRules.SetRESOURCEIDValue(const aValue: Integer); +begin + DataTable.Fields[idx_CITASRESOURCEID].AsInteger := aValue; +end; + +function TCITASDataTableRules.GetLOCATIONValue: String; +begin + result := DataTable.Fields[idx_CITASLOCATION].AsString; +end; + +procedure TCITASDataTableRules.SetLOCATIONValue(const aValue: String); +begin + DataTable.Fields[idx_CITASLOCATION].AsString := aValue; +end; + +function TCITASDataTableRules.GetREMINDERValue: Integer; +begin + result := DataTable.Fields[idx_CITASREMINDER].AsInteger; +end; + +procedure TCITASDataTableRules.SetREMINDERValue(const aValue: Integer); +begin + DataTable.Fields[idx_CITASREMINDER].AsInteger := aValue; +end; + +function TCITASDataTableRules.GetSTATEValue: Integer; +begin + result := DataTable.Fields[idx_CITASSTATE].AsInteger; +end; + +procedure TCITASDataTableRules.SetSTATEValue(const aValue: Integer); +begin + DataTable.Fields[idx_CITASSTATE].AsInteger := aValue; +end; + +function TCITASDataTableRules.GetLABELCOLORValue: Integer; +begin + result := DataTable.Fields[idx_CITASLABELCOLOR].AsInteger; +end; + +procedure TCITASDataTableRules.SetLABELCOLORValue(const aValue: Integer); +begin + DataTable.Fields[idx_CITASLABELCOLOR].AsInteger := aValue; +end; + +function TCITASDataTableRules.GetCODIGOCONTRATOValue: String; +begin + result := DataTable.Fields[idx_CITASCODIGOCONTRATO].AsString; +end; + +procedure TCITASDataTableRules.SetCODIGOCONTRATOValue(const aValue: String); +begin + DataTable.Fields[idx_CITASCODIGOCONTRATO].AsString := aValue; +end; + +function TCITASDataTableRules.GetTIPOTAREAValue: String; +begin + result := DataTable.Fields[idx_CITASTIPOTAREA].AsString; +end; + +procedure TCITASDataTableRules.SetTIPOTAREAValue(const aValue: String); +begin + DataTable.Fields[idx_CITASTIPOTAREA].AsString := aValue; +end; + +function TCITASDataTableRules.GetNOMBRECLIENTEValue: String; +begin + result := DataTable.Fields[idx_CITASNOMBRECLIENTE].AsString; +end; + +procedure TCITASDataTableRules.SetNOMBRECLIENTEValue(const aValue: String); +begin + DataTable.Fields[idx_CITASNOMBRECLIENTE].AsString := aValue; +end; + +function TCITASDataTableRules.GetPARTIDAValue: String; +begin + result := DataTable.Fields[idx_CITASPARTIDA].AsString; +end; + +procedure TCITASDataTableRules.SetPARTIDAValue(const aValue: String); +begin + DataTable.Fields[idx_CITASPARTIDA].AsString := aValue; +end; + +function TCITASDataTableRules.GetCOMPLETADAValue: DateTime; +begin + result := DataTable.Fields[idx_CITASCOMPLETADA].AsDateTime; +end; + +procedure TCITASDataTableRules.SetCOMPLETADAValue(const aValue: DateTime); +begin + DataTable.Fields[idx_CITASCOMPLETADA].AsDateTime := aValue; +end; + +function TCITASDataTableRules.GetNOMBREPROVEEDORValue: String; +begin + result := DataTable.Fields[idx_CITASNOMBREPROVEEDOR].AsString; +end; + +procedure TCITASDataTableRules.SetNOMBREPROVEEDORValue(const aValue: String); +begin + DataTable.Fields[idx_CITASNOMBREPROVEEDOR].AsString := aValue; +end; + +function TCITASDataTableRules.GetCODIGOCOLUMNAValue: Integer; +begin + result := DataTable.Fields[idx_CITASCODIGOCOLUMNA].AsInteger; +end; + +procedure TCITASDataTableRules.SetCODIGOCOLUMNAValue(const aValue: Integer); +begin + DataTable.Fields[idx_CITASCODIGOCOLUMNA].AsInteger := aValue; +end; + +function TCITASDataTableRules.GetCODIGOFILAValue: Integer; +begin + result := DataTable.Fields[idx_CITASCODIGOFILA].AsInteger; +end; + +procedure TCITASDataTableRules.SetCODIGOFILAValue(const aValue: Integer); +begin + DataTable.Fields[idx_CITASCODIGOFILA].AsInteger := aValue; +end; + +function TCITASDataTableRules.GetEMPRESAValue: Integer; +begin + result := DataTable.Fields[idx_CITASEMPRESA].AsInteger; +end; + +procedure TCITASDataTableRules.SetEMPRESAValue(const aValue: Integer); +begin + DataTable.Fields[idx_CITASEMPRESA].AsInteger := aValue; +end; + + +{ TVENDEDORESDataTableRules } +constructor TVENDEDORESDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TVENDEDORESDataTableRules.Destroy; +begin + inherited; +end; + +function TVENDEDORESDataTableRules.GetCODIGOEMPRESAValue: Integer; +begin + result := DataTable.Fields[idx_VENDEDORESCODIGOEMPRESA].AsInteger; +end; + +procedure TVENDEDORESDataTableRules.SetCODIGOEMPRESAValue(const aValue: Integer); +begin + DataTable.Fields[idx_VENDEDORESCODIGOEMPRESA].AsInteger := aValue; +end; + +function TVENDEDORESDataTableRules.GetCODIGOValue: Integer; +begin + result := DataTable.Fields[idx_VENDEDORESCODIGO].AsInteger; +end; + +procedure TVENDEDORESDataTableRules.SetCODIGOValue(const aValue: Integer); +begin + DataTable.Fields[idx_VENDEDORESCODIGO].AsInteger := aValue; +end; + +function TVENDEDORESDataTableRules.GetFECHAALTAValue: DateTime; +begin + result := DataTable.Fields[idx_VENDEDORESFECHAALTA].AsDateTime; +end; + +procedure TVENDEDORESDataTableRules.SetFECHAALTAValue(const aValue: DateTime); +begin + DataTable.Fields[idx_VENDEDORESFECHAALTA].AsDateTime := aValue; +end; + +function TVENDEDORESDataTableRules.GetUSUARIOValue: String; +begin + result := DataTable.Fields[idx_VENDEDORESUSUARIO].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetUSUARIOValue(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESUSUARIO].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetNIFCIFValue: String; +begin + result := DataTable.Fields[idx_VENDEDORESNIFCIF].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetNIFCIFValue(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESNIFCIF].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetNOMBREValue: String; +begin + result := DataTable.Fields[idx_VENDEDORESNOMBRE].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetNOMBREValue(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESNOMBRE].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetNOTASValue: String; +begin + result := DataTable.Fields[idx_VENDEDORESNOTAS].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetNOTASValue(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESNOTAS].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetCALLEValue: String; +begin + result := DataTable.Fields[idx_VENDEDORESCALLE].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetCALLEValue(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESCALLE].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetPROVINCIAValue: String; +begin + result := DataTable.Fields[idx_VENDEDORESPROVINCIA].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetPROVINCIAValue(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESPROVINCIA].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetCODIGOPOSTALValue: String; +begin + result := DataTable.Fields[idx_VENDEDORESCODIGOPOSTAL].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetCODIGOPOSTALValue(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESCODIGOPOSTAL].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetPOBLACIONValue: String; +begin + result := DataTable.Fields[idx_VENDEDORESPOBLACION].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetPOBLACIONValue(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESPOBLACION].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetTELEFONO1Value: String; +begin + result := DataTable.Fields[idx_VENDEDORESTELEFONO1].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetTELEFONO1Value(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESTELEFONO1].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetTELEFONO2Value: String; +begin + result := DataTable.Fields[idx_VENDEDORESTELEFONO2].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetTELEFONO2Value(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESTELEFONO2].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetMOVILValue: String; +begin + result := DataTable.Fields[idx_VENDEDORESMOVIL].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetMOVILValue(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESMOVIL].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetFAXValue: String; +begin + result := DataTable.Fields[idx_VENDEDORESFAX].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetFAXValue(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESFAX].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetCORREO1Value: String; +begin + result := DataTable.Fields[idx_VENDEDORESCORREO1].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetCORREO1Value(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESCORREO1].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetCORREO2Value: String; +begin + result := DataTable.Fields[idx_VENDEDORESCORREO2].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetCORREO2Value(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESCORREO2].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetPAGINAWEBValue: String; +begin + result := DataTable.Fields[idx_VENDEDORESPAGINAWEB].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetPAGINAWEBValue(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESPAGINAWEB].AsString := aValue; +end; + +function TVENDEDORESDataTableRules.GetPERSONACONTACTOValue: String; +begin + result := DataTable.Fields[idx_VENDEDORESPERSONACONTACTO].AsString; +end; + +procedure TVENDEDORESDataTableRules.SetPERSONACONTACTOValue(const aValue: String); +begin + DataTable.Fields[idx_VENDEDORESPERSONACONTACTO].AsString := aValue; +end; + + +initialization + RegisterDataTableRules(RID_CITAS, TCITASDataTableRules); + RegisterDataTableRules(RID_VENDEDORES, TVENDEDORESDataTableRules); + +end. diff --git a/Modulos/Calendarios/Reglas/schCitasServer_Intf.pas b/Modulos/Calendarios/Reglas/schCitasServer_Intf.pas new file mode 100644 index 0000000..f325294 --- /dev/null +++ b/Modulos/Calendarios/Reglas/schCitasServer_Intf.pas @@ -0,0 +1,1017 @@ +unit schCitasServer_Intf; + +interface + +uses + Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, schCitasClient_Intf; + +const + { Delta rules ids + Feel free to change them to something more human readable + but make sure they are unique in the context of your application } + RID_CITASDelta = '{5090F644-9CFB-4232-9EEE-7F7E7168EBB7}'; + RID_VENDEDORESDelta = '{DD67A3C2-3DE7-439A-B460-DC5BD2BB3032}'; + +type + { ICITASDelta } + ICITASDelta = interface(ICITAS) + ['{5090F644-9CFB-4232-9EEE-7F7E7168EBB7}'] + { Property getters and setters } + function GetOldIDValue : Integer; + function GetOldPARENTIDValue : Integer; + function GetOldSTARTValue : DateTime; + function GetOldTIPOValue : Integer; + function GetOldFINISHValue : DateTime; + function GetOldOPTIONSValue : Integer; + function GetOldCAPTIONValue : String; + function GetOldMENSAJEValue : String; + function GetOldRECURRENCEINDEXValue : Integer; + function GetOldRESOURCEIDValue : Integer; + function GetOldLOCATIONValue : String; + function GetOldREMINDERValue : Integer; + function GetOldSTATEValue : Integer; + function GetOldLABELCOLORValue : Integer; + function GetOldCODIGOCONTRATOValue : String; + function GetOldTIPOTAREAValue : String; + function GetOldNOMBRECLIENTEValue : String; + function GetOldPARTIDAValue : String; + function GetOldCOMPLETADAValue : DateTime; + function GetOldNOMBREPROVEEDORValue : String; + function GetOldCODIGOCOLUMNAValue : Integer; + function GetOldCODIGOFILAValue : Integer; + function GetOldEMPRESAValue : Integer; + + { Properties } + property OldID : Integer read GetOldIDValue; + property OldPARENTID : Integer read GetOldPARENTIDValue; + property OldSTART : DateTime read GetOldSTARTValue; + property OldTIPO : Integer read GetOldTIPOValue; + property OldFINISH : DateTime read GetOldFINISHValue; + property OldOPTIONS : Integer read GetOldOPTIONSValue; + property OldCAPTION : String read GetOldCAPTIONValue; + property OldMENSAJE : String read GetOldMENSAJEValue; + property OldRECURRENCEINDEX : Integer read GetOldRECURRENCEINDEXValue; + property OldRESOURCEID : Integer read GetOldRESOURCEIDValue; + property OldLOCATION : String read GetOldLOCATIONValue; + property OldREMINDER : Integer read GetOldREMINDERValue; + property OldSTATE : Integer read GetOldSTATEValue; + property OldLABELCOLOR : Integer read GetOldLABELCOLORValue; + property OldCODIGOCONTRATO : String read GetOldCODIGOCONTRATOValue; + property OldTIPOTAREA : String read GetOldTIPOTAREAValue; + property OldNOMBRECLIENTE : String read GetOldNOMBRECLIENTEValue; + property OldPARTIDA : String read GetOldPARTIDAValue; + property OldCOMPLETADA : DateTime read GetOldCOMPLETADAValue; + property OldNOMBREPROVEEDOR : String read GetOldNOMBREPROVEEDORValue; + property OldCODIGOCOLUMNA : Integer read GetOldCODIGOCOLUMNAValue; + property OldCODIGOFILA : Integer read GetOldCODIGOFILAValue; + property OldEMPRESA : Integer read GetOldEMPRESAValue; + end; + + { TCITASBusinessProcessorRules } + TCITASBusinessProcessorRules = class(TDABusinessProcessorRules, ICITAS, ICITASDelta) + private + protected + { Property getters and setters } + function GetIDValue: Integer; virtual; + function GetOldIDValue: Integer; virtual; + procedure SetIDValue(const aValue: Integer); virtual; + function GetPARENTIDValue: Integer; virtual; + function GetOldPARENTIDValue: Integer; virtual; + procedure SetPARENTIDValue(const aValue: Integer); virtual; + function GetSTARTValue: DateTime; virtual; + function GetOldSTARTValue: DateTime; virtual; + procedure SetSTARTValue(const aValue: DateTime); virtual; + function GetTIPOValue: Integer; virtual; + function GetOldTIPOValue: Integer; virtual; + procedure SetTIPOValue(const aValue: Integer); virtual; + function GetFINISHValue: DateTime; virtual; + function GetOldFINISHValue: DateTime; virtual; + procedure SetFINISHValue(const aValue: DateTime); virtual; + function GetOPTIONSValue: Integer; virtual; + function GetOldOPTIONSValue: Integer; virtual; + procedure SetOPTIONSValue(const aValue: Integer); virtual; + function GetCAPTIONValue: String; virtual; + function GetOldCAPTIONValue: String; virtual; + procedure SetCAPTIONValue(const aValue: String); virtual; + function GetMENSAJEValue: String; virtual; + function GetOldMENSAJEValue: String; virtual; + procedure SetMENSAJEValue(const aValue: String); virtual; + function GetRECURRENCEINDEXValue: Integer; virtual; + function GetOldRECURRENCEINDEXValue: Integer; virtual; + procedure SetRECURRENCEINDEXValue(const aValue: Integer); virtual; + function GetRESOURCEIDValue: Integer; virtual; + function GetOldRESOURCEIDValue: Integer; virtual; + procedure SetRESOURCEIDValue(const aValue: Integer); virtual; + function GetLOCATIONValue: String; virtual; + function GetOldLOCATIONValue: String; virtual; + procedure SetLOCATIONValue(const aValue: String); virtual; + function GetREMINDERValue: Integer; virtual; + function GetOldREMINDERValue: Integer; virtual; + procedure SetREMINDERValue(const aValue: Integer); virtual; + function GetSTATEValue: Integer; virtual; + function GetOldSTATEValue: Integer; virtual; + procedure SetSTATEValue(const aValue: Integer); virtual; + function GetLABELCOLORValue: Integer; virtual; + function GetOldLABELCOLORValue: Integer; virtual; + procedure SetLABELCOLORValue(const aValue: Integer); virtual; + function GetCODIGOCONTRATOValue: String; virtual; + function GetOldCODIGOCONTRATOValue: String; virtual; + procedure SetCODIGOCONTRATOValue(const aValue: String); virtual; + function GetTIPOTAREAValue: String; virtual; + function GetOldTIPOTAREAValue: String; virtual; + procedure SetTIPOTAREAValue(const aValue: String); virtual; + function GetNOMBRECLIENTEValue: String; virtual; + function GetOldNOMBRECLIENTEValue: String; virtual; + procedure SetNOMBRECLIENTEValue(const aValue: String); virtual; + function GetPARTIDAValue: String; virtual; + function GetOldPARTIDAValue: String; virtual; + procedure SetPARTIDAValue(const aValue: String); virtual; + function GetCOMPLETADAValue: DateTime; virtual; + function GetOldCOMPLETADAValue: DateTime; virtual; + procedure SetCOMPLETADAValue(const aValue: DateTime); virtual; + function GetNOMBREPROVEEDORValue: String; virtual; + function GetOldNOMBREPROVEEDORValue: String; virtual; + procedure SetNOMBREPROVEEDORValue(const aValue: String); virtual; + function GetCODIGOCOLUMNAValue: Integer; virtual; + function GetOldCODIGOCOLUMNAValue: Integer; virtual; + procedure SetCODIGOCOLUMNAValue(const aValue: Integer); virtual; + function GetCODIGOFILAValue: Integer; virtual; + function GetOldCODIGOFILAValue: Integer; virtual; + procedure SetCODIGOFILAValue(const aValue: Integer); virtual; + function GetEMPRESAValue: Integer; virtual; + function GetOldEMPRESAValue: Integer; virtual; + procedure SetEMPRESAValue(const aValue: Integer); virtual; + + { Properties } + property ID : Integer read GetIDValue write SetIDValue; + property OldID : Integer read GetOldIDValue; + property PARENTID : Integer read GetPARENTIDValue write SetPARENTIDValue; + property OldPARENTID : Integer read GetOldPARENTIDValue; + property START : DateTime read GetSTARTValue write SetSTARTValue; + property OldSTART : DateTime read GetOldSTARTValue; + property TIPO : Integer read GetTIPOValue write SetTIPOValue; + property OldTIPO : Integer read GetOldTIPOValue; + property FINISH : DateTime read GetFINISHValue write SetFINISHValue; + property OldFINISH : DateTime read GetOldFINISHValue; + property OPTIONS : Integer read GetOPTIONSValue write SetOPTIONSValue; + property OldOPTIONS : Integer read GetOldOPTIONSValue; + property CAPTION : String read GetCAPTIONValue write SetCAPTIONValue; + property OldCAPTION : String read GetOldCAPTIONValue; + property MENSAJE : String read GetMENSAJEValue write SetMENSAJEValue; + property OldMENSAJE : String read GetOldMENSAJEValue; + property RECURRENCEINDEX : Integer read GetRECURRENCEINDEXValue write SetRECURRENCEINDEXValue; + property OldRECURRENCEINDEX : Integer read GetOldRECURRENCEINDEXValue; + property RESOURCEID : Integer read GetRESOURCEIDValue write SetRESOURCEIDValue; + property OldRESOURCEID : Integer read GetOldRESOURCEIDValue; + property LOCATION : String read GetLOCATIONValue write SetLOCATIONValue; + property OldLOCATION : String read GetOldLOCATIONValue; + property REMINDER : Integer read GetREMINDERValue write SetREMINDERValue; + property OldREMINDER : Integer read GetOldREMINDERValue; + property STATE : Integer read GetSTATEValue write SetSTATEValue; + property OldSTATE : Integer read GetOldSTATEValue; + property LABELCOLOR : Integer read GetLABELCOLORValue write SetLABELCOLORValue; + property OldLABELCOLOR : Integer read GetOldLABELCOLORValue; + property CODIGOCONTRATO : String read GetCODIGOCONTRATOValue write SetCODIGOCONTRATOValue; + property OldCODIGOCONTRATO : String read GetOldCODIGOCONTRATOValue; + property TIPOTAREA : String read GetTIPOTAREAValue write SetTIPOTAREAValue; + property OldTIPOTAREA : String read GetOldTIPOTAREAValue; + property NOMBRECLIENTE : String read GetNOMBRECLIENTEValue write SetNOMBRECLIENTEValue; + property OldNOMBRECLIENTE : String read GetOldNOMBRECLIENTEValue; + property PARTIDA : String read GetPARTIDAValue write SetPARTIDAValue; + property OldPARTIDA : String read GetOldPARTIDAValue; + property COMPLETADA : DateTime read GetCOMPLETADAValue write SetCOMPLETADAValue; + property OldCOMPLETADA : DateTime read GetOldCOMPLETADAValue; + property NOMBREPROVEEDOR : String read GetNOMBREPROVEEDORValue write SetNOMBREPROVEEDORValue; + property OldNOMBREPROVEEDOR : String read GetOldNOMBREPROVEEDORValue; + property CODIGOCOLUMNA : Integer read GetCODIGOCOLUMNAValue write SetCODIGOCOLUMNAValue; + property OldCODIGOCOLUMNA : Integer read GetOldCODIGOCOLUMNAValue; + property CODIGOFILA : Integer read GetCODIGOFILAValue write SetCODIGOFILAValue; + property OldCODIGOFILA : Integer read GetOldCODIGOFILAValue; + property EMPRESA : Integer read GetEMPRESAValue write SetEMPRESAValue; + property OldEMPRESA : Integer read GetOldEMPRESAValue; + + public + constructor Create(aBusinessProcessor: TDABusinessProcessor); override; + destructor Destroy; override; + + end; + + { IVENDEDORESDelta } + IVENDEDORESDelta = interface(IVENDEDORES) + ['{DD67A3C2-3DE7-439A-B460-DC5BD2BB3032}'] + { Property getters and setters } + function GetOldCODIGOEMPRESAValue : Integer; + function GetOldCODIGOValue : Integer; + function GetOldFECHAALTAValue : DateTime; + function GetOldUSUARIOValue : String; + function GetOldNIFCIFValue : String; + function GetOldNOMBREValue : String; + function GetOldNOTASValue : String; + function GetOldCALLEValue : String; + function GetOldPROVINCIAValue : String; + function GetOldCODIGOPOSTALValue : String; + function GetOldPOBLACIONValue : String; + function GetOldTELEFONO1Value : String; + function GetOldTELEFONO2Value : String; + function GetOldMOVILValue : String; + function GetOldFAXValue : String; + function GetOldCORREO1Value : String; + function GetOldCORREO2Value : String; + function GetOldPAGINAWEBValue : String; + function GetOldPERSONACONTACTOValue : String; + + { Properties } + property OldCODIGOEMPRESA : Integer read GetOldCODIGOEMPRESAValue; + property OldCODIGO : Integer read GetOldCODIGOValue; + property OldFECHAALTA : DateTime read GetOldFECHAALTAValue; + property OldUSUARIO : String read GetOldUSUARIOValue; + property OldNIFCIF : String read GetOldNIFCIFValue; + property OldNOMBRE : String read GetOldNOMBREValue; + property OldNOTAS : String read GetOldNOTASValue; + property OldCALLE : String read GetOldCALLEValue; + property OldPROVINCIA : String read GetOldPROVINCIAValue; + property OldCODIGOPOSTAL : String read GetOldCODIGOPOSTALValue; + property OldPOBLACION : String read GetOldPOBLACIONValue; + property OldTELEFONO1 : String read GetOldTELEFONO1Value; + property OldTELEFONO2 : String read GetOldTELEFONO2Value; + property OldMOVIL : String read GetOldMOVILValue; + property OldFAX : String read GetOldFAXValue; + property OldCORREO1 : String read GetOldCORREO1Value; + property OldCORREO2 : String read GetOldCORREO2Value; + property OldPAGINAWEB : String read GetOldPAGINAWEBValue; + property OldPERSONACONTACTO : String read GetOldPERSONACONTACTOValue; + end; + + { TVENDEDORESBusinessProcessorRules } + TVENDEDORESBusinessProcessorRules = class(TDABusinessProcessorRules, IVENDEDORES, IVENDEDORESDelta) + private + protected + { Property getters and setters } + function GetCODIGOEMPRESAValue: Integer; virtual; + function GetOldCODIGOEMPRESAValue: Integer; virtual; + procedure SetCODIGOEMPRESAValue(const aValue: Integer); virtual; + function GetCODIGOValue: Integer; virtual; + function GetOldCODIGOValue: Integer; virtual; + procedure SetCODIGOValue(const aValue: Integer); virtual; + function GetFECHAALTAValue: DateTime; virtual; + function GetOldFECHAALTAValue: DateTime; virtual; + procedure SetFECHAALTAValue(const aValue: DateTime); virtual; + function GetUSUARIOValue: String; virtual; + function GetOldUSUARIOValue: String; virtual; + procedure SetUSUARIOValue(const aValue: String); virtual; + function GetNIFCIFValue: String; virtual; + function GetOldNIFCIFValue: String; virtual; + procedure SetNIFCIFValue(const aValue: String); virtual; + function GetNOMBREValue: String; virtual; + function GetOldNOMBREValue: String; virtual; + procedure SetNOMBREValue(const aValue: String); virtual; + function GetNOTASValue: String; virtual; + function GetOldNOTASValue: String; virtual; + procedure SetNOTASValue(const aValue: String); virtual; + function GetCALLEValue: String; virtual; + function GetOldCALLEValue: String; virtual; + procedure SetCALLEValue(const aValue: String); virtual; + function GetPROVINCIAValue: String; virtual; + function GetOldPROVINCIAValue: String; virtual; + procedure SetPROVINCIAValue(const aValue: String); virtual; + function GetCODIGOPOSTALValue: String; virtual; + function GetOldCODIGOPOSTALValue: String; virtual; + procedure SetCODIGOPOSTALValue(const aValue: String); virtual; + function GetPOBLACIONValue: String; virtual; + function GetOldPOBLACIONValue: String; virtual; + procedure SetPOBLACIONValue(const aValue: String); virtual; + function GetTELEFONO1Value: String; virtual; + function GetOldTELEFONO1Value: String; virtual; + procedure SetTELEFONO1Value(const aValue: String); virtual; + function GetTELEFONO2Value: String; virtual; + function GetOldTELEFONO2Value: String; virtual; + procedure SetTELEFONO2Value(const aValue: String); virtual; + function GetMOVILValue: String; virtual; + function GetOldMOVILValue: String; virtual; + procedure SetMOVILValue(const aValue: String); virtual; + function GetFAXValue: String; virtual; + function GetOldFAXValue: String; virtual; + procedure SetFAXValue(const aValue: String); virtual; + function GetCORREO1Value: String; virtual; + function GetOldCORREO1Value: String; virtual; + procedure SetCORREO1Value(const aValue: String); virtual; + function GetCORREO2Value: String; virtual; + function GetOldCORREO2Value: String; virtual; + procedure SetCORREO2Value(const aValue: String); virtual; + function GetPAGINAWEBValue: String; virtual; + function GetOldPAGINAWEBValue: String; virtual; + procedure SetPAGINAWEBValue(const aValue: String); virtual; + function GetPERSONACONTACTOValue: String; virtual; + function GetOldPERSONACONTACTOValue: String; virtual; + procedure SetPERSONACONTACTOValue(const aValue: String); virtual; + + { Properties } + property CODIGOEMPRESA : Integer read GetCODIGOEMPRESAValue write SetCODIGOEMPRESAValue; + property OldCODIGOEMPRESA : Integer read GetOldCODIGOEMPRESAValue; + property CODIGO : Integer read GetCODIGOValue write SetCODIGOValue; + property OldCODIGO : Integer read GetOldCODIGOValue; + property FECHAALTA : DateTime read GetFECHAALTAValue write SetFECHAALTAValue; + property OldFECHAALTA : DateTime read GetOldFECHAALTAValue; + property USUARIO : String read GetUSUARIOValue write SetUSUARIOValue; + property OldUSUARIO : String read GetOldUSUARIOValue; + property NIFCIF : String read GetNIFCIFValue write SetNIFCIFValue; + property OldNIFCIF : String read GetOldNIFCIFValue; + property NOMBRE : String read GetNOMBREValue write SetNOMBREValue; + property OldNOMBRE : String read GetOldNOMBREValue; + property NOTAS : String read GetNOTASValue write SetNOTASValue; + property OldNOTAS : String read GetOldNOTASValue; + property CALLE : String read GetCALLEValue write SetCALLEValue; + property OldCALLE : String read GetOldCALLEValue; + property PROVINCIA : String read GetPROVINCIAValue write SetPROVINCIAValue; + property OldPROVINCIA : String read GetOldPROVINCIAValue; + property CODIGOPOSTAL : String read GetCODIGOPOSTALValue write SetCODIGOPOSTALValue; + property OldCODIGOPOSTAL : String read GetOldCODIGOPOSTALValue; + property POBLACION : String read GetPOBLACIONValue write SetPOBLACIONValue; + property OldPOBLACION : String read GetOldPOBLACIONValue; + property TELEFONO1 : String read GetTELEFONO1Value write SetTELEFONO1Value; + property OldTELEFONO1 : String read GetOldTELEFONO1Value; + property TELEFONO2 : String read GetTELEFONO2Value write SetTELEFONO2Value; + property OldTELEFONO2 : String read GetOldTELEFONO2Value; + property MOVIL : String read GetMOVILValue write SetMOVILValue; + property OldMOVIL : String read GetOldMOVILValue; + property FAX : String read GetFAXValue write SetFAXValue; + property OldFAX : String read GetOldFAXValue; + property CORREO1 : String read GetCORREO1Value write SetCORREO1Value; + property OldCORREO1 : String read GetOldCORREO1Value; + property CORREO2 : String read GetCORREO2Value write SetCORREO2Value; + property OldCORREO2 : String read GetOldCORREO2Value; + property PAGINAWEB : String read GetPAGINAWEBValue write SetPAGINAWEBValue; + property OldPAGINAWEB : String read GetOldPAGINAWEBValue; + property PERSONACONTACTO : String read GetPERSONACONTACTOValue write SetPERSONACONTACTOValue; + property OldPERSONACONTACTO : String read GetOldPERSONACONTACTOValue; + + public + constructor Create(aBusinessProcessor: TDABusinessProcessor); override; + destructor Destroy; override; + + end; + +implementation + +uses + Variants, uROBinaryHelpers; + +{ TCITASBusinessProcessorRules } +constructor TCITASBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TCITASBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TCITASBusinessProcessorRules.GetIDValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASID]; +end; + +function TCITASBusinessProcessorRules.GetOldIDValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASID]; +end; + +procedure TCITASBusinessProcessorRules.SetIDValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASID] := aValue; +end; + +function TCITASBusinessProcessorRules.GetPARENTIDValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASPARENTID]; +end; + +function TCITASBusinessProcessorRules.GetOldPARENTIDValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASPARENTID]; +end; + +procedure TCITASBusinessProcessorRules.SetPARENTIDValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASPARENTID] := aValue; +end; + +function TCITASBusinessProcessorRules.GetSTARTValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASSTART]; +end; + +function TCITASBusinessProcessorRules.GetOldSTARTValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASSTART]; +end; + +procedure TCITASBusinessProcessorRules.SetSTARTValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASSTART] := aValue; +end; + +function TCITASBusinessProcessorRules.GetTIPOValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASTIPO]; +end; + +function TCITASBusinessProcessorRules.GetOldTIPOValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASTIPO]; +end; + +procedure TCITASBusinessProcessorRules.SetTIPOValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASTIPO] := aValue; +end; + +function TCITASBusinessProcessorRules.GetFINISHValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASFINISH]; +end; + +function TCITASBusinessProcessorRules.GetOldFINISHValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASFINISH]; +end; + +procedure TCITASBusinessProcessorRules.SetFINISHValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASFINISH] := aValue; +end; + +function TCITASBusinessProcessorRules.GetOPTIONSValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASOPTIONS]; +end; + +function TCITASBusinessProcessorRules.GetOldOPTIONSValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASOPTIONS]; +end; + +procedure TCITASBusinessProcessorRules.SetOPTIONSValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASOPTIONS] := aValue; +end; + +function TCITASBusinessProcessorRules.GetCAPTIONValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASCAPTION]; +end; + +function TCITASBusinessProcessorRules.GetOldCAPTIONValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASCAPTION]; +end; + +procedure TCITASBusinessProcessorRules.SetCAPTIONValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASCAPTION] := aValue; +end; + +function TCITASBusinessProcessorRules.GetMENSAJEValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASMENSAJE]; +end; + +function TCITASBusinessProcessorRules.GetOldMENSAJEValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASMENSAJE]; +end; + +procedure TCITASBusinessProcessorRules.SetMENSAJEValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASMENSAJE] := aValue; +end; + +function TCITASBusinessProcessorRules.GetRECURRENCEINDEXValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASRECURRENCEINDEX]; +end; + +function TCITASBusinessProcessorRules.GetOldRECURRENCEINDEXValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASRECURRENCEINDEX]; +end; + +procedure TCITASBusinessProcessorRules.SetRECURRENCEINDEXValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASRECURRENCEINDEX] := aValue; +end; + +function TCITASBusinessProcessorRules.GetRESOURCEIDValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASRESOURCEID]; +end; + +function TCITASBusinessProcessorRules.GetOldRESOURCEIDValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASRESOURCEID]; +end; + +procedure TCITASBusinessProcessorRules.SetRESOURCEIDValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASRESOURCEID] := aValue; +end; + +function TCITASBusinessProcessorRules.GetLOCATIONValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASLOCATION]; +end; + +function TCITASBusinessProcessorRules.GetOldLOCATIONValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASLOCATION]; +end; + +procedure TCITASBusinessProcessorRules.SetLOCATIONValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASLOCATION] := aValue; +end; + +function TCITASBusinessProcessorRules.GetREMINDERValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASREMINDER]; +end; + +function TCITASBusinessProcessorRules.GetOldREMINDERValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASREMINDER]; +end; + +procedure TCITASBusinessProcessorRules.SetREMINDERValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASREMINDER] := aValue; +end; + +function TCITASBusinessProcessorRules.GetSTATEValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASSTATE]; +end; + +function TCITASBusinessProcessorRules.GetOldSTATEValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASSTATE]; +end; + +procedure TCITASBusinessProcessorRules.SetSTATEValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASSTATE] := aValue; +end; + +function TCITASBusinessProcessorRules.GetLABELCOLORValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASLABELCOLOR]; +end; + +function TCITASBusinessProcessorRules.GetOldLABELCOLORValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASLABELCOLOR]; +end; + +procedure TCITASBusinessProcessorRules.SetLABELCOLORValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASLABELCOLOR] := aValue; +end; + +function TCITASBusinessProcessorRules.GetCODIGOCONTRATOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASCODIGOCONTRATO]; +end; + +function TCITASBusinessProcessorRules.GetOldCODIGOCONTRATOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASCODIGOCONTRATO]; +end; + +procedure TCITASBusinessProcessorRules.SetCODIGOCONTRATOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASCODIGOCONTRATO] := aValue; +end; + +function TCITASBusinessProcessorRules.GetTIPOTAREAValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASTIPOTAREA]; +end; + +function TCITASBusinessProcessorRules.GetOldTIPOTAREAValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASTIPOTAREA]; +end; + +procedure TCITASBusinessProcessorRules.SetTIPOTAREAValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASTIPOTAREA] := aValue; +end; + +function TCITASBusinessProcessorRules.GetNOMBRECLIENTEValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASNOMBRECLIENTE]; +end; + +function TCITASBusinessProcessorRules.GetOldNOMBRECLIENTEValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASNOMBRECLIENTE]; +end; + +procedure TCITASBusinessProcessorRules.SetNOMBRECLIENTEValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASNOMBRECLIENTE] := aValue; +end; + +function TCITASBusinessProcessorRules.GetPARTIDAValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASPARTIDA]; +end; + +function TCITASBusinessProcessorRules.GetOldPARTIDAValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASPARTIDA]; +end; + +procedure TCITASBusinessProcessorRules.SetPARTIDAValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASPARTIDA] := aValue; +end; + +function TCITASBusinessProcessorRules.GetCOMPLETADAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASCOMPLETADA]; +end; + +function TCITASBusinessProcessorRules.GetOldCOMPLETADAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASCOMPLETADA]; +end; + +procedure TCITASBusinessProcessorRules.SetCOMPLETADAValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASCOMPLETADA] := aValue; +end; + +function TCITASBusinessProcessorRules.GetNOMBREPROVEEDORValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASNOMBREPROVEEDOR]; +end; + +function TCITASBusinessProcessorRules.GetOldNOMBREPROVEEDORValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASNOMBREPROVEEDOR]; +end; + +procedure TCITASBusinessProcessorRules.SetNOMBREPROVEEDORValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASNOMBREPROVEEDOR] := aValue; +end; + +function TCITASBusinessProcessorRules.GetCODIGOCOLUMNAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASCODIGOCOLUMNA]; +end; + +function TCITASBusinessProcessorRules.GetOldCODIGOCOLUMNAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASCODIGOCOLUMNA]; +end; + +procedure TCITASBusinessProcessorRules.SetCODIGOCOLUMNAValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASCODIGOCOLUMNA] := aValue; +end; + +function TCITASBusinessProcessorRules.GetCODIGOFILAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASCODIGOFILA]; +end; + +function TCITASBusinessProcessorRules.GetOldCODIGOFILAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASCODIGOFILA]; +end; + +procedure TCITASBusinessProcessorRules.SetCODIGOFILAValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASCODIGOFILA] := aValue; +end; + +function TCITASBusinessProcessorRules.GetEMPRESAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_CITASEMPRESA]; +end; + +function TCITASBusinessProcessorRules.GetOldEMPRESAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_CITASEMPRESA]; +end; + +procedure TCITASBusinessProcessorRules.SetEMPRESAValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_CITASEMPRESA] := aValue; +end; + + +{ TVENDEDORESBusinessProcessorRules } +constructor TVENDEDORESBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TVENDEDORESBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TVENDEDORESBusinessProcessorRules.GetCODIGOEMPRESAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESCODIGOEMPRESA]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldCODIGOEMPRESAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESCODIGOEMPRESA]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetCODIGOEMPRESAValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESCODIGOEMPRESA] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetCODIGOValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESCODIGO]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldCODIGOValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESCODIGO]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetCODIGOValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESCODIGO] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetFECHAALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESFECHAALTA]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldFECHAALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESFECHAALTA]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetFECHAALTAValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESFECHAALTA] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetUSUARIOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESUSUARIO]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldUSUARIOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESUSUARIO]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetUSUARIOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESUSUARIO] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetNIFCIFValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESNIFCIF]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldNIFCIFValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESNIFCIF]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetNIFCIFValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESNIFCIF] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetNOMBREValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESNOMBRE]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldNOMBREValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESNOMBRE]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetNOMBREValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESNOMBRE] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetNOTASValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESNOTAS]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldNOTASValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESNOTAS]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetNOTASValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESNOTAS] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetCALLEValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESCALLE]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldCALLEValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESCALLE]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetCALLEValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESCALLE] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetPROVINCIAValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESPROVINCIA]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldPROVINCIAValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESPROVINCIA]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetPROVINCIAValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESPROVINCIA] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetCODIGOPOSTALValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESCODIGOPOSTAL]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldCODIGOPOSTALValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESCODIGOPOSTAL]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetCODIGOPOSTALValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESCODIGOPOSTAL] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetPOBLACIONValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESPOBLACION]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldPOBLACIONValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESPOBLACION]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetPOBLACIONValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESPOBLACION] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetTELEFONO1Value: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESTELEFONO1]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldTELEFONO1Value: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESTELEFONO1]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetTELEFONO1Value(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESTELEFONO1] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetTELEFONO2Value: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESTELEFONO2]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldTELEFONO2Value: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESTELEFONO2]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetTELEFONO2Value(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESTELEFONO2] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetMOVILValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESMOVIL]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldMOVILValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESMOVIL]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetMOVILValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESMOVIL] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetFAXValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESFAX]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldFAXValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESFAX]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetFAXValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESFAX] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetCORREO1Value: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESCORREO1]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldCORREO1Value: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESCORREO1]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetCORREO1Value(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESCORREO1] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetCORREO2Value: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESCORREO2]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldCORREO2Value: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESCORREO2]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetCORREO2Value(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESCORREO2] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetPAGINAWEBValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESPAGINAWEB]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldPAGINAWEBValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESPAGINAWEB]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetPAGINAWEBValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESPAGINAWEB] := aValue; +end; + +function TVENDEDORESBusinessProcessorRules.GetPERSONACONTACTOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESPERSONACONTACTO]; +end; + +function TVENDEDORESBusinessProcessorRules.GetOldPERSONACONTACTOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_VENDEDORESPERSONACONTACTO]; +end; + +procedure TVENDEDORESBusinessProcessorRules.SetPERSONACONTACTOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_VENDEDORESPERSONACONTACTO] := aValue; +end; + + +initialization + RegisterBusinessProcessorRules(RID_CITASDelta, TCITASBusinessProcessorRules); + RegisterBusinessProcessorRules(RID_VENDEDORESDelta, TVENDEDORESBusinessProcessorRules); + +end. diff --git a/Modulos/Calendarios/Reglas/uBizCitas.pas b/Modulos/Calendarios/Reglas/uBizCitas.pas new file mode 100644 index 0000000..fa9c97b --- /dev/null +++ b/Modulos/Calendarios/Reglas/uBizCitas.pas @@ -0,0 +1,193 @@ +unit uBizCitas; + +interface + +uses + uDAInterfaces, uDADataTable, Classes, DBGrids, uDBSelectionList, DB, + uExceptions, Controls, + + schCitasClient_Intf; + +const + BIZ_CITAS = 'BizCitas'; + BIZ_VENDEDORES = 'BizVendedores'; + BIZ_INSTALADORES = 'BizInstaladores'; + BIZ_DOCUMENTOS = 'BizDocumentos'; + BIZ_TIPOSPEDIDODOCUMENTO = 'BizTiposPedidoDocumento'; + CTE_TIPO_DOCUMENTO = 'TIPO_DOCUMENTO'; + BIZ_OBRAS = 'BizObras'; + + TextoTipoCita: array[0..9] of String = ('PERSONAL', 'MEDICION', 'ENTREGA', + 'MONTAJE', 'REMATE', 'PEDIDO', 'CONFIRMACION', + 'RECEPCION', 'AVISO', 'ENTREGACLIENTE'); + + LiteralTipoCita: array[0..9] of String = ('Personal', 'Medición', + 'Entrega a instalador', 'Montaje', 'Remate', 'Pedido', + 'Confirmación de pedido', 'Recepción de pedido', 'Aviso transportista', + 'Entrega al cliente'); + + TextoPartidasObra: array[0..3] of String = ('COCINA', 'ENCIMERAS', + 'ELECTRO', 'VARIOS'); + + LiteralPartidasObra: array[0..3] of String = ('Cocina', 'Encimeras', + 'Electrodomésticos', 'Varios'); + +type + TPartidasObra = (poCocina, poEncimeras, poElectro, poVarios); + TTipoCitas = (tcPersonal, tcMedicion, tcEntrega, tcMontaje, tcRemate, + tcPedido, tcConfirmacion, tcRecepcion, tcAviso, tcEntregaCliente); + + + IBizCitas = interface(ICitas) + ['{B7CFAD14-99F6-4541-89B4-94B4C4B829D2}'] + procedure Show; + end; + + IBizVendedores = interface(IVendedores) + ['{19E86356-0BA1-4A58-A552-D68D665232DB}'] + end; + + IBizInstaladores = interface //(IInstaladores) + ['{27917CC0-E202-4C0B-82FE-19DC2B494DB2}'] + end; + + IBizDocumentos = interface //(IDocumentos) + ['{3000D86E-FD7B-40BD-99FB-E05C00B8FA8A}'] + end; + + IBizTiposPedidoDocumento = interface //(ITiposPedidoDocumento) + ['{B6B48E61-C510-4ACA-BFD8-65A876010B13}'] + end; + + IBizObras = interface //(IObras) + ['{B9A9EDDE-4F4C-46D1-B48C-2B0BB4E4580E}'] + end; + + TBizCitasDataTableRules = class(TCitasDataTableRules, IBizCitas, + IApplyUpdateFailedException) + private + procedure BeforeApplyUpdates(Sender: TDADataTable; const Delta: IDADelta); + procedure BeforePost(Sender: TDADataTable); + procedure OnPostError(DataTable: TDADataTable; Error: EDatabaseError; + var Action: TDataAction); override; + protected + procedure OnNewRecord(Sender: TDADataTable); override; + procedure ShowApplyUpdateFailed (const Error: EDAApplyUpdateFailed); virtual; + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + procedure Show; virtual; + end; + + TBizVendedoresDataTableRules = class(TVendedoresDataTableRules, IBizVendedores) + end; + + function DarTipoCita (Texto : String) : TTipoCitas; + function esCitaFase (Texto : String) : Boolean; + +implementation + +uses + Windows, Dialogs, uDACDSDataTable, SysUtils, uDataModuleBase, + uEditorUtils, Variants, + + uDataModuleCalendarios; + + +function DarTipoCita (Texto : String) : TTipoCitas; +var + i : Integer; +begin + Result := tcPersonal; + for I := Low(TextoTipoCita) to High(TextoTipoCita) do + begin + if UpperCase(TextoTipoCita[i]) = UpperCase(Texto) then + Result := TTipoCitas(I); + end; + + if Result = tcPersonal then + for I := Low(LiteralTipoCita) to High(LiteralTipoCita) do + begin + if UpperCase(LiteralTipoCita[i]) = UpperCase(Texto) then + Result := TTipoCitas(I); + end; +end; + +function esCitaFase (Texto : String) : Boolean; +var + I: TTipoCitas; +begin + Result := False; + for I:=tcPedido to tcEntregaCliente do + if (TextoTipoCita[Ord(I)] = Texto) then + Result := True; +end; + + +{ TBizCitasDataTableRules } + +{ +************************** TBizCitasDataTableRules ************************** +} + +procedure TBizCitasDataTableRules.OnNewRecord(Sender: TDADataTable); +begin + inherited; + ID := dmCalendarios.GetCodigo; +end; + +procedure TBizCitasDataTableRules.Show; +begin + ShowEditor(IBizCitas, Self, etItem); +end; + +procedure TBizCitasDataTableRules.ShowApplyUpdateFailed(const Error: EDAApplyUpdateFailed); +begin +// if (Pos(AUF_FKVIOLATION, Error.Message) > 0) then +// MessageBox(0, 'No se puede borrar esta cuenta porque tiene pagos asociados', 'Atención', MB_ICONWARNING or MB_OK); +end; + +constructor TBizCitasDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; + aDataTable.OnBeforeApplyUpdates := BeforeApplyUpdates; +end; + +destructor TBizCitasDataTableRules.Destroy; +begin + inherited; +end; + +procedure TBizCitasDataTableRules.BeforeApplyUpdates(Sender: TDADataTable; const Delta: IDADelta); +begin +// +end; + +procedure TBizCitasDataTableRules.OnPostError(DataTable: TDADataTable; + Error: EDatabaseError; var Action: TDataAction); +begin + inherited; + Action := daAbort; + if (Pos(AUF_HAVEVALUE, Error.Message) > 0) then + begin + if (Pos('Nombre', Error.Message) > 0) then + MessageBox(0, 'Debe indicar al menos el nombre', 'Atención', MB_ICONWARNING or MB_OK) + else + raise Error; + end + else + raise Error; +end; + +procedure TBizCitasDataTableRules.BeforePost(Sender: TDADataTable); +begin + Sender.FieldByName(fld_CITASCODIGOCONTRATO).AsVariant := null; +end; + +initialization + RegisterDataTableRules(BIZ_CITAS, TBizCitasDataTableRules); + RegisterDataTableRules(BIZ_VENDEDORES, TBizVendedoresDataTableRules); + +finalization + +end.