diff --git a/BD/BASEDATOS.FDB b/BD/BASEDATOS.FDB index 9c0aee4..c5fa923 100644 Binary files a/BD/BASEDATOS.FDB and b/BD/BASEDATOS.FDB differ diff --git a/Base/BaseD7.dcp b/Base/BaseD7.dcp index 2398f6b..8e18618 100644 Binary files a/Base/BaseD7.dcp and b/Base/BaseD7.dcp differ diff --git a/Base/BaseD7.dof b/Base/BaseD7.dof index b3ada7a..2710571 100644 --- a/Base/BaseD7.dof +++ b/Base/BaseD7.dof @@ -168,8 +168,8 @@ Count=1 Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; [HistoryLists\hlSearchPath] Count=16 -Item0=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas -Item1=..\Modulos\Presupuestos\Reglas;..\Modulos\Contactos\Reglas;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Albaranes de cliente\Reglas +Item0=..\Modulos\Presupuestos\Reglas;..\Modulos\Contactos\Reglas;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Albaranes de cliente\Reglas +Item1=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas Item2=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente;..\..\Asientos\Cliente;..\..\Cuentas\Cliente Item3=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente;..\..\Asientos\Cliente Item4=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente @@ -189,8 +189,8 @@ Count=1 Item0=.\ [HistoryLists\hlOutputDirectorry] Count=2 -Item0=..\Output\Cliente -Item1=..\Output\Servidor +Item0=..\Output\Servidor +Item1=..\Output\Cliente [HistoryLists\hlBPLOutput] Count=3 Item0=..\..\..\Output\Cliente @@ -199,320 +199,3 @@ Item2=..\..\Output\Cliente [HistoryLists\hlDCPOutput] Count=1 Item0=.\ -[Exception Log] -EurekaLog Version=519 -Activate=1 -Activate Handle=1 -Save Log File=1 -Foreground Tab=0 -Freeze Activate=0 -Freeze Timeout=0 -Freeze Message=The application seems to be frozen. -SMTP From=eurekalog@email.com -SMTP Host= -SMTP Port=25 -SMTP UserID= -SMTP Password= -Append to Log=0 -Show TerminateBtn=1 -TerminateBtn Operation=1 -Errors Number=32 -Errors Terminate=3 -Email Address= -Email Object= -Email Send Options=0 -Output Path= -Encrypt Password= -AutoCloseDialogSecs=0 -WebSendMode=0 -SupportULR= -HTMLLayout Count=15 -HTMLLine0="%3Chtml%3E" -HTMLLine1=" %3Chead%3E" -HTMLLine2=" %3C/head%3E" -HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E" -HTMLLine4=" %3Ctable width="100%%" border="0"%3E" -HTMLLine5=" %3Ctr%3E" -HTMLLine6=" %3Ctd nowrap%3E" -HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E" -HTMLLine8=" %3C%%HTML_TAG%%%3E" -HTMLLine9=" %3C/font%3E" -HTMLLine10=" %3C/td%3E" -HTMLLine11=" %3C/tr%3E" -HTMLLine12=" %3C/table%3E" -HTMLLine13=" %3C/body%3E" -HTMLLine14="%3C/html%3E" -AutoCrashOperation=1 -AutoCrashNumber=10 -AutoCrashMinutes=1 -WebURL= -WebUserID= -WebPassword= -WebPort=0 -AttachedFiles= -Count=0 -EMail Message Line Count=0 -loNoDuplicateErrors=0 -loAppendReproduceText=0 -loDeleteLogAtVersionChange=0 -loAddComputerNameInLogFileName=0 -loSaveModulesSection=1 -loSaveCPUSection=1 -soAppStartDate=1 -soAppName=1 -soAppVersionNumber=1 -soAppParameters=1 -soAppCompilationDate=1 -soExcDate=1 -soExcAddress=1 -soExcModule=1 -soExcType=1 -soExcMessage=1 -soActCtlsFormClass=1 -soActCtlsFormText=1 -soActCtlsControlClass=1 -soActCtlsControlText=1 -soCmpName=1 -soCmpUser=1 -soCmpTotalMemory=1 -soCmpFreeMemory=1 -soCmpTotalDisk=1 -soCmpFreeDisk=1 -soCmpSysUpTime=1 -soCmpProcessor=1 -soCmpDisplayMode=1 -soOSType=1 -soOSBuildN=1 -soOSUpdate=1 -soOSLanguage=1 -soNetIP=1 -soNetSubmask=1 -soNetGateway=1 -soNetDNS1=1 -soNetDNS2=1 -soNetDHCP=1 -sndShowSendDialog=1 -sndShowSuccessFailureMsg=0 -sndSendEntireLog=0 -sndSendXMLLogCopy=0 -sndSendScreenshot=0 -sndUseOnlyActiveWindow=0 -sndSendLastHTMLPage=1 -sndSendInSeparatedThread=0 -sndAddDateInFileName=0 -sndCompressAllFiles=0 -edoShowExceptionDialog=1 -edoSendEmailChecked=1 -edoAttachScreenshotChecked=1 -edoShowCopyToClipOption=1 -edoShowDetailsButton=1 -edoShowInDetailedMode=0 -edoShowInTopMostMode=0 -edoUseEurekaLogLookAndFeel=1 -csoShowDLLs=1 -csoShowBPLs=1 -csoShowBorlandThreads=1 -csoShowWindowsThreads=1 -csoShowProcedureOffset=0 -boActivateCrashDetection=0 -boPauseBorlandThreads=0 -boDoNotPauseMainThread=0 -boPauseWindowsThreads=0 -boUseMainModuleOptions=1 -boCopyLogInCaseOfError=1 -boSaveCompressedCopyInCaseOfError=0 -Count mtInformationMsgCaption=1 -mtInformationMsgCaption0="Information." -Count mtQuestionMsgCaption=1 -mtQuestionMsgCaption0="Question." -Count mtDialog_Caption=1 -mtDialog_Caption0="Error." -Count mtDialog_ErrorMsgCaption=2 -mtDialog_ErrorMsgCaption0="An error has occurred during program execution." -mtDialog_ErrorMsgCaption1="Please read the following information for further details." -Count mtDialog_GeneralCaption=1 -mtDialog_GeneralCaption0="General" -Count mtDialog_GeneralHeader=1 -mtDialog_GeneralHeader0="General Information" -Count mtDialog_CallStackCaption=1 -mtDialog_CallStackCaption0="Call Stack" -Count mtDialog_CallStackHeader=1 -mtDialog_CallStackHeader0="Call Stack Information" -Count mtDialog_ModulesCaption=1 -mtDialog_ModulesCaption0="Modules" -Count mtDialog_ModulesHeader=1 -mtDialog_ModulesHeader0="Modules Information" -Count mtDialog_CPUCaption=1 -mtDialog_CPUCaption0="CPU" -Count mtDialog_CPUHeader=1 -mtDialog_CPUHeader0="CPU Information" -Count mtDialog_CustomDataCaption=1 -mtDialog_CustomDataCaption0="Other" -Count mtDialog_CustomDataHeader=1 -mtDialog_CustomDataHeader0="Other Information" -Count mtDialog_OKButtonCaption=1 -mtDialog_OKButtonCaption0="%26OK" -Count mtDialog_TerminateButtonCaption=1 -mtDialog_TerminateButtonCaption0="%26Terminate" -Count mtDialog_RestartButtonCaption=1 -mtDialog_RestartButtonCaption0="%26Restart" -Count mtDialog_DetailsButtonCaption=1 -mtDialog_DetailsButtonCaption0="%26Details" -Count mtDialog_SendMessage=1 -mtDialog_SendMessage0="%26Send this error via Internet" -Count mtDialog_ScreenshotMessage=1 -mtDialog_ScreenshotMessage0="%26Attach a Screenshot image" -Count mtDialog_CopyMessage=1 -mtDialog_CopyMessage0="%26Copy to Clipboard" -Count mtDialog_SupportMessage=1 -mtDialog_SupportMessage0="Go to the Support Page" -Count mtLog_AppHeader=1 -mtLog_AppHeader0="Application" -Count mtLog_AppStartDate=1 -mtLog_AppStartDate0="Start Date" -Count mtLog_AppName=1 -mtLog_AppName0="Name/Description" -Count mtLog_AppVersionNumber=1 -mtLog_AppVersionNumber0="Version Number" -Count mtLog_AppParameters=1 -mtLog_AppParameters0="Parameters" -Count mtLog_AppCompilationDate=1 -mtLog_AppCompilationDate0="Compilation Date" -Count mtLog_ExcHeader=1 -mtLog_ExcHeader0="Exception" -Count mtLog_ExcDate=1 -mtLog_ExcDate0="Date" -Count mtLog_ExcAddress=1 -mtLog_ExcAddress0="Address" -Count mtLog_ExcModule=1 -mtLog_ExcModule0="Module" -Count mtLog_ExcType=1 -mtLog_ExcType0="Type" -Count mtLog_ExcMessage=1 -mtLog_ExcMessage0="Message" -Count mtLog_ActCtrlsHeader=1 -mtLog_ActCtrlsHeader0="Active Controls" -Count mtLog_ActCtrlsFormClass=1 -mtLog_ActCtrlsFormClass0="Form Class" -Count mtLog_ActCtrlsFormText=1 -mtLog_ActCtrlsFormText0="Form Text" -Count mtLog_ActCtrlsControlClass=1 -mtLog_ActCtrlsControlClass0="Control Class" -Count mtLog_ActCtrlsControlText=1 -mtLog_ActCtrlsControlText0="Control Text" -Count mtLog_CmpHeader=1 -mtLog_CmpHeader0="Computer" -Count mtLog_CmpName=1 -mtLog_CmpName0="Name" -Count mtLog_CmpUser=1 -mtLog_CmpUser0="User" -Count mtLog_CmpTotalMemory=1 -mtLog_CmpTotalMemory0="Total Memory" -Count mtLog_CmpFreeMemory=1 -mtLog_CmpFreeMemory0="Free Memory" -Count mtLog_CmpTotalDisk=1 -mtLog_CmpTotalDisk0="Total Disk" -Count mtLog_CmpFreeDisk=1 -mtLog_CmpFreeDisk0="Free Disk" -Count mtLog_CmpSystemUpTime=1 -mtLog_CmpSystemUpTime0="System Up Time" -Count mtLog_CmpProcessor=1 -mtLog_CmpProcessor0="Processor" -Count mtLog_CmpDisplayMode=1 -mtLog_CmpDisplayMode0="Display Mode" -Count mtLog_OSHeader=1 -mtLog_OSHeader0="Operating System" -Count mtLog_OSType=1 -mtLog_OSType0="Type" -Count mtLog_OSBuildN=1 -mtLog_OSBuildN0="Build #" -Count mtLog_OSUpdate=1 -mtLog_OSUpdate0="Update" -Count mtLog_OSLanguage=1 -mtLog_OSLanguage0="Language" -Count mtLog_NetHeader=1 -mtLog_NetHeader0="Network" -Count mtLog_NetIP=1 -mtLog_NetIP0="IP Address" -Count mtLog_NetSubmask=1 -mtLog_NetSubmask0="Submask" -Count mtLog_NetGateway=1 -mtLog_NetGateway0="Gateway" -Count mtLog_NetDNS1=1 -mtLog_NetDNS10="DNS 1" -Count mtLog_NetDNS2=1 -mtLog_NetDNS20="DNS 2" -Count mtLog_NetDHCP=1 -mtLog_NetDHCP0="DHCP" -Count mtLog_CustInfoHeader=1 -mtLog_CustInfoHeader0="Custom Information" -Count mtCallStack_Address=1 -mtCallStack_Address0="Address" -Count mtCallStack_Name=1 -mtCallStack_Name0="Module" -Count mtCallStack_Unit=1 -mtCallStack_Unit0="Unit" -Count mtCallStack_Class=1 -mtCallStack_Class0="Class" -Count mtCallStack_Procedure=1 -mtCallStack_Procedure0="Procedure/Method" -Count mtCallStack_Line=1 -mtCallStack_Line0="Line" -Count mtCallStack_MainThread=1 -mtCallStack_MainThread0="Main" -Count mtCallStack_ExceptionThread=1 -mtCallStack_ExceptionThread0="Exception Thread" -Count mtCallStack_RunningThread=1 -mtCallStack_RunningThread0="Running Thread" -Count mtCallStack_CallingThread=1 -mtCallStack_CallingThread0="Calling Thread" -Count mtCallStack_ThreadID=1 -mtCallStack_ThreadID0="ID" -Count mtCallStack_ThreadPriority=1 -mtCallStack_ThreadPriority0="Priority" -Count mtCallStack_ThreadClass=1 -mtCallStack_ThreadClass0="Class" -Count mtSendDialog_Caption=1 -mtSendDialog_Caption0="Send." -Count mtSendDialog_Message=1 -mtSendDialog_Message0="Message" -Count mtSendDialog_Resolving=1 -mtSendDialog_Resolving0="Resolving DNS..." -Count mtSendDialog_Connecting=1 -mtSendDialog_Connecting0="Connecting with server..." -Count mtSendDialog_Connected=1 -mtSendDialog_Connected0="Connected with server." -Count mtSendDialog_Sending=1 -mtSendDialog_Sending0="Sending message..." -Count mtReproduceDialog_Caption=1 -mtReproduceDialog_Caption0="Request" -Count mtReproduceDialog_Request=1 -mtReproduceDialog_Request0="Please describe the steps to reproduce the error:" -Count mtReproduceDialog_OKButtonCaption=1 -mtReproduceDialog_OKButtonCaption0="%26OK" -Count mtModules_Handle=1 -mtModules_Handle0="Handle" -Count mtModules_Name=1 -mtModules_Name0="Name" -Count mtModules_Description=1 -mtModules_Description0="Description" -Count mtModules_Version=1 -mtModules_Version0="Version" -Count mtModules_Size=1 -mtModules_Size0="Size" -Count mtModules_LastModified=1 -mtModules_LastModified0="Modified" -Count mtModules_Path=1 -mtModules_Path0="Path" -Count mtCPU_Registers=1 -mtCPU_Registers0="Registers" -Count mtCPU_Stack=1 -mtCPU_Stack0="Stack" -Count mtCPU_MemoryDump=1 -mtCPU_MemoryDump0="Memory Dump" -Count mtSend_SuccessMsg=1 -mtSend_SuccessMsg0="The message was sent successfully." -Count mtSend_FailureMsg=1 -mtSend_FailureMsg0="Sorry, sending the message didn't work." - - diff --git a/Base/uDataModuleBase.dfm b/Base/uDataModuleBase.dfm index 9b17daa..49c4657 100644 --- a/Base/uDataModuleBase.dfm +++ b/Base/uDataModuleBase.dfm @@ -2,7 +2,7 @@ object dmBase: TdmBase OldCreateOrder = True OnCreate = DAClientDataModuleCreate Left = 616 - Top = 230 + Top = 176 Height = 368 Width = 494 object SmallImages: TPngImageList diff --git a/Base/uEditorBase.dfm b/Base/uEditorBase.dfm index f958905..2e2bc9a 100644 --- a/Base/uEditorBase.dfm +++ b/Base/uEditorBase.dfm @@ -1,6 +1,6 @@ object fEditorBase: TfEditorBase Left = 482 - Top = 318 + Top = 242 Width = 670 Height = 512 Caption = 'EditorBase' diff --git a/Base/uEditorDBBase.pas b/Base/uEditorDBBase.pas index 15890e9..96c075d 100644 --- a/Base/uEditorDBBase.pas +++ b/Base/uEditorDBBase.pas @@ -57,24 +57,31 @@ begin inherited; if Assigned(dsDataTable.DataTable) then begin - if (dsDataTable.DataTable.IsEmpty) or (not ModifiedQuery) then - Exit; // No continuar con el refresco - - ABookmark := dsDataTable.DataTable.GetBookMark; -// dsDataTable.DataTable.DisableControls; <- No descomentar + if (not ModifiedQuery) then + Exit; // No continuar con el refresco ACursor := Screen.Cursor; Screen.Cursor := crHourGlass; try - dsDataTable.DataTable.Refresh; - - if dsDataTable.DataTable.Dataset.BookmarkValid(ABookmark) then - dsDataTable.DataTable.GotoBookmark(ABookmark); + if dsDataTable.DataTable.IsEmpty then + begin + dsDataTable.DataTable.Refresh; + end + else + begin + ABookmark := dsDataTable.DataTable.GetBookMark; + // dsDataTable.DataTable.DisableControls; <- No descomentar + dsDataTable.DataTable.Refresh; + if dsDataTable.DataTable.Dataset.BookmarkValid(ABookmark) then + dsDataTable.DataTable.GotoBookmark(ABookmark); + dsDataTable.DataTable.FreeBookmark(ABookmark); + // dsDataTable.DataTable.EnableControls; <- No descomentar + end; finally - dsDataTable.DataTable.FreeBookmark(ABookmark); -// dsDataTable.DataTable.EnableControls; <- No descomentar Screen.Cursor := ACursor; end; + + end; end; diff --git a/Base/uEditorGrid.dfm b/Base/uEditorGrid.dfm index af9861f..b863152 100644 --- a/Base/uEditorGrid.dfm +++ b/Base/uEditorGrid.dfm @@ -1,19 +1,20 @@ inherited fEditorGrid: TfEditorGrid - Left = 208 - Top = 182 - Width = 893 + Left = 747 + Top = 158 + Width = 714 Height = 485 Caption = 'fEditorGrid' PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader - Width = 885 + Width = 706 inherited Image1: TImage - Left = 858 + Left = 679 end end inherited TBXDock: TTBXDock - Width = 885 + Width = 706 + Height = 75 inherited tbxMain: TTBXToolbar DefaultDock = TBXDock inherited TBXItem29: TTBXItem @@ -52,21 +53,27 @@ inherited fEditorGrid: TfEditorGrid end end object tbxFiltro: TTBXToolbar - Left = 465 - Top = 23 + Left = 0 + Top = 49 Align = alRight - CloseButton = False DefaultDock = TBXDock DockMode = dmCannotFloatOrChangeDocks - DockPos = 392 - DockRow = 1 - DragHandleStyle = dhNone + DockPos = -12 + DockRow = 2 Images = SmallImages ParentShowHint = False - Resizable = False ShowHint = True - ShrinkMode = tbsmNone TabOrder = 2 + object lblAno: TTBXLabelItem + Caption = 'A'#241'o:' + Visible = False + end + object cbxListaAnos: TTBXComboBoxItem + Visible = False + end + object sepAno: TTBXSeparatorItem + Visible = False + end object TBXLabelItem1: TTBXLabelItem Caption = 'Filtrar:' end @@ -91,7 +98,7 @@ inherited fEditorGrid: TfEditorGrid end inherited StatusBar: TStatusBar Top = 432 - Width = 885 + Width = 706 end inherited EditorActionList: TActionList Left = 72 @@ -652,6 +659,8 @@ inherited fEditorGrid: TfEditorGrid Name = 'PngImage21' Background = clWindow end> + Left = 323 + Top = 120 Bitmap = {} end inherited LargeImages: TPngImageList @@ -1422,6 +1431,8 @@ inherited fEditorGrid: TfEditorGrid Name = 'PngImage20' Background = clWindow end> + Left = 443 + Top = 128 Bitmap = {} end inherited JvFormStorage: TJvFormStorage diff --git a/Base/uEditorGrid.pas b/Base/uEditorGrid.pas index 560fa21..53ef182 100644 --- a/Base/uEditorGrid.pas +++ b/Base/uEditorGrid.pas @@ -41,6 +41,9 @@ type TBXItem35: TTBXItem; actFiltrar: TAction; TBXItem37: TTBXItem; + lblAno: TTBXLabelItem; + cbxListaAnos: TTBXComboBoxItem; + sepAno: TTBXSeparatorItem; procedure tbxEditFiltroChange(Sender: TObject; const Text: String); procedure FormShow(Sender: TObject); procedure actPrevisualizarExecute(Sender: TObject); @@ -58,15 +61,27 @@ type procedure actFiltrarExecute(Sender: TObject); procedure actFiltrarUpdate(Sender: TObject); private + FListaAnos: TStringList; FViewGrid : IViewGrid; + FWhereDataTable: WideString; + + function GetListaAnos: TStringList; + procedure SetListaAnos(const Value: TStringList); + + function GetWhereDataTable: String; + procedure SetWhereDataTable(const Value: String); + protected procedure SetViewGrid(const Value : IViewGrid); virtual; function GetViewGrid: IViewGrid; + public + property ListaAnos: TStringList read GetListaAnos write SetListaAnos; + property WhereDataTable: String read GetWhereDataTable write SetWhereDataTable; property ViewGrid: IViewGrid read GetViewGrid write SetViewGrid; constructor Create(AOwner : TComponent); override; - destructor Destroy; override; + end; implementation @@ -81,7 +96,11 @@ uses } destructor TfEditorGrid.Destroy; begin + FWhereDataTable := ''; FViewGrid := NIL; + if Assigned(FListaAnos) then + FlistaAnos.Free; + inherited; end; @@ -109,6 +128,8 @@ end; procedure TfEditorGrid.FormShow(Sender: TObject); begin inherited; + cbxListaAnos.ItemIndex := 0; //OJO EL ORDEN PORQUE EL ShowEmbedded hace el open de la tabla + if Assigned(ViewGrid) then ViewGrid.ShowEmbedded(Self); end; @@ -239,6 +260,57 @@ begin (Sender as TAction).Checked := ViewGrid.EstanFiltrosVisible end; +function TfEditorGrid.GetListaAnos: TStringList; +begin + Result := FListaAnos; +end; + +function TfEditorGrid.GetWhereDataTable: String; +begin + Result := FWhereDataTable; +end; + +procedure TfEditorGrid.SetListaAnos(const Value: TStringList); +var + i: Integer; + AStringAnterior: String; + +begin + AStringAnterior := ''; + if Assigned(FListaAnos) then + begin + AStringAnterior := FListaAnos.ValueFromIndex[cbxListaAnos.ItemIndex]; + FListaAnos.Free; + end; + + //Se asigna el nuevo TStringList + FListaAnos := Value; + + if Assigned(FListaAnos) then + begin + cbxListaAnos.Strings.BeginUpdate; + cbxListaAnos.Strings.Clear; + for i := 0 to FListaAnos.Count - 1 do + cbxListaAnos.Strings.Append(FListaAnos.Names[i]); + + //Se posiciona en el elemento que habia anteriormente + if Length(AStringAnterior) > 0 then + begin + if FListaAnos.IndexOfName(AStringAnterior) <> -1 then + cbxListaAnos.ItemIndex := FListaAnos.IndexOfName(AStringAnterior) + else + cbxListaAnos.ItemIndex := 0; + end; + + cbxListaAnos.Strings.EndUpdate; + end; +end; + +procedure TfEditorGrid.SetWhereDataTable(const Value: String); +begin + FWhereDataTable := Value; +end; + initialization RegisterClass(TfEditorGrid); diff --git a/Base/uViewBarraSeleccion.dfm b/Base/uViewBarraSeleccion.dfm index cf83624..82dd9fa 100644 --- a/Base/uViewBarraSeleccion.dfm +++ b/Base/uViewBarraSeleccion.dfm @@ -1,5 +1,5 @@ inherited frViewBarraSeleccion: TfrViewBarraSeleccion - Width = 439 + Width = 443 Height = 19 Align = alBottom AutoScroll = False @@ -7,14 +7,14 @@ inherited frViewBarraSeleccion: TfrViewBarraSeleccion object pnlSeleccion: TPanel Left = 0 Top = -18 - Width = 439 + Width = 443 Height = 37 Align = alBottom BevelOuter = bvNone ParentBackground = True TabOrder = 0 DesignSize = ( - 439 + 443 37) object bSeleccionar: TButton Left = 264 diff --git a/Configuracion/Configuracion.dcp b/Configuracion/Configuracion.dcp index 3a3dbda..0995c07 100644 Binary files a/Configuracion/Configuracion.dcp and b/Configuracion/Configuracion.dcp differ diff --git a/FactuGES_D7.bpg b/FactuGES_D7.bpg index 24dfaa4..e998232 100644 --- a/FactuGES_D7.bpg +++ b/FactuGES_D7.bpg @@ -11,10 +11,10 @@ BRCC = $(ROOT)\bin\brcc32.exe $** #------------------------------------------------------------------------------ PROJECTS = DataAbstract_D7.bpl BaseD7.bpl Usuarios.bpl Configuracion.bpl \ Contactos.bpl Intervalos.bpl DocumentosAsociados.bpl Cuentas.bpl Almacenes.bpl \ - Presupuestos_Intf.bpl Montajes_Intf.bpl Presupuestos.bpl AlbaranesCliente.bpl \ - PedidosProveedor.bpl PedidosMontaje.bpl Articulos.bpl ArticulosMontaje.bpl \ - Montajes_Impl.bpl FacturasCliente.bpl FacturasProveedor.bpl Asientos.bpl \ - Pagos.bpl Calendarios.bpl FactuGES.exe FactuGES_Server.exe + Presupuestos_Intf.bpl Montajes_Intf.bpl Presupuestos.bpl Asientos.bpl Pagos.bpl \ + AlbaranesCliente.bpl PedidosProveedor.bpl PedidosMontaje.bpl Articulos.bpl \ + ArticulosMontaje.bpl Montajes_Impl.bpl FacturasCliente.bpl \ + FacturasProveedor.bpl Calendarios.bpl FactuGES.exe FactuGES_Server.exe #------------------------------------------------------------------------------ default: $(PROJECTS) #------------------------------------------------------------------------------ diff --git a/Modulos/Albaranes de cliente/Cliente/AlbaranesCliente.dcp b/Modulos/Albaranes de cliente/Cliente/AlbaranesCliente.dcp index a15b642..510dcf9 100644 Binary files a/Modulos/Albaranes de cliente/Cliente/AlbaranesCliente.dcp and b/Modulos/Albaranes de cliente/Cliente/AlbaranesCliente.dcp differ diff --git a/Modulos/Albaranes de cliente/Cliente/uDataModuleAlbaranesCliente.dfm b/Modulos/Albaranes de cliente/Cliente/uDataModuleAlbaranesCliente.dfm index 9bc8cfe..dc86ce2 100644 --- a/Modulos/Albaranes de cliente/Cliente/uDataModuleAlbaranesCliente.dfm +++ b/Modulos/Albaranes de cliente/Cliente/uDataModuleAlbaranesCliente.dfm @@ -683,4 +683,113 @@ object dmAlbaranesCliente: TdmAlbaranesCliente Left = 48 Top = 152 end + object tbl_ListaAnosAlbaranes: TDACDSDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + Params = <> + MasterMappingMode = mmDataRequest + StreamingOptions = [soDisableEventsWhileStreaming] + SchemaCall.MethodName = 'GetDatasetSchema' + SchemaCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'aDatasetName' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosAlbaranes' + end> + DataRequestCall.MethodName = 'GetDatasetDataEx' + DataRequestCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'DatasetName' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosAlbaranes' + end + item + Name = 'Params' + ParamType = fIn + DataType = rtUserDefined + UserClassName = 'TDADatasetParamArray' + end + item + Name = 'UserFilter' + ParamType = fIn + DataType = rtString + Value = '' + end + item + Name = 'IncludeSchema' + ParamType = fIn + DataType = rtBoolean + Value = False + end + item + Name = 'MaxRecords' + ParamType = fIn + DataType = rtInteger + Value = -1 + end> + DataUpdateCall.MethodName = 'UpdateData' + DataUpdateCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'Delta' + ParamType = fIn + DataType = rtBinary + end> + ScriptCall.MethodName = 'GetDatasetScripts' + ScriptCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtString + Value = '' + end + item + Name = 'DatasetNames' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosAlbaranes' + end> + ReadOnly = False + RemoteService = RORemoteService + Adapter = dmBase.DABINAdapter + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'ListaAnosAlbaranes' + IndexDefs = <> + Left = 184 + Top = 200 + end + object ds_ListaAnosAlbaranes: TDADataSource + DataTable = tbl_ListaAnosAlbaranes + Left = 184 + Top = 152 + end end diff --git a/Modulos/Albaranes de cliente/Cliente/uDataModuleAlbaranesCliente.pas b/Modulos/Albaranes de cliente/Cliente/uDataModuleAlbaranesCliente.pas index f1df368..886e862 100644 --- a/Modulos/Albaranes de cliente/Cliente/uDataModuleAlbaranesCliente.pas +++ b/Modulos/Albaranes de cliente/Cliente/uDataModuleAlbaranesCliente.pas @@ -17,6 +17,8 @@ type ds_DetallesAlbaranCliente: TDADataSource; DADesigntimeCall1: TDADesigntimeCall; RORemoteService2: TRORemoteService; + tbl_ListaAnosAlbaranes: TDACDSDataTable; + ds_ListaAnosAlbaranes: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); private { Private declarations } @@ -31,6 +33,9 @@ type function PuedoEliminarAlbaran (CodigoAlbaran : Integer) : Boolean; function GetItemsSeleccionados(ASource : IBizAlbaranesCliente): IBizAlbaranesCliente; procedure CambiarSituacion(AAlbaran: IBizAlbaranesCliente); + + function DarListaAnosAlbaranes: TStringList; + procedure FiltrarAno(AAlbaranes: IBizAlbaranesCliente; AWhereDataTable: String; const Ano: String); end; var @@ -41,7 +46,7 @@ implementation {$R *.DFM} uses - Forms, Controls, uDataTableUtils, uBizContacto, uDataModulePagos, + Forms, Controls, cxControls, uDataTableUtils, uBizContacto, uDataModulePagos, uDataModuleContactos, uDataModuleBase, schAlbaranesClienteClient_Intf, uEditorPreview, uROTypes, uDBSelectionList, uDAInterfaces; @@ -246,6 +251,55 @@ begin end; end; +function TdmAlbaranesCliente.DarListaAnosAlbaranes: TStringList; +var + AListaAnos: TStringList; +begin + AListaAnos := TStringList.Create; + ShowHourglassCursor; + try + with tbl_ListaAnosAlbaranes do + begin + Open; + First; + while not eof do + begin + AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString])); + Next; + end; + Close; + end; + Result := AListaAnos; + finally + HideHourglassCursor; + end; +end; + +procedure TdmAlbaranesCliente.FiltrarAno(AAlbaranes: IBizAlbaranesCliente; AWhereDataTable: String; const Ano: String); +var + FechaIni: String; + FechaFin: String; + +begin + AAlbaranes.DataTable.Where.Clear; + AAlbaranes.DataTable.Where.AddText(AWhereDataTable); + + if (Ano <> 'Todos') then + begin + // Filtrar los presupuestos actuales por años + FechaIni := '01.01.' + Ano; + FechaFin := '31.12.' + Ano; + with AAlbaranes.DataTable.Where do + begin + if NotEmpty then + AddOperator(opAND); + AddCondition(fld_AlbaranClienteFECHAALBARAN, cMajorOrEqual, FechaIni); + AddOperator(opAND); + AddCondition(fld_AlbaranClienteFECHAALBARAN, cLessOrEqual, FechaFin); + end; + end; +end; + initialization dmAlbaranesCliente := TdmAlbaranesCliente.Create(nil); diff --git a/Modulos/Albaranes de cliente/Cliente/uEditorAlbaranesCliente.dfm b/Modulos/Albaranes de cliente/Cliente/uEditorAlbaranesCliente.dfm index 8a7a4e0..ded0173 100644 --- a/Modulos/Albaranes de cliente/Cliente/uEditorAlbaranesCliente.dfm +++ b/Modulos/Albaranes de cliente/Cliente/uEditorAlbaranesCliente.dfm @@ -48,7 +48,15 @@ inherited fEditorAlbaranesCliente: TfEditorAlbaranesCliente end end inherited tbxFiltro: TTBXToolbar - Left = 505 + inherited lblAno: TTBXLabelItem + Visible = True + end + inherited cbxListaAnos: TTBXComboBoxItem + Visible = True + end + inherited sepAno: TTBXSeparatorItem + Visible = True + end end end inherited StatusBar: TStatusBar diff --git a/Modulos/Albaranes de cliente/Cliente/uEditorAlbaranesCliente.pas b/Modulos/Albaranes de cliente/Cliente/uEditorAlbaranesCliente.pas index 14ef590..a248275 100644 --- a/Modulos/Albaranes de cliente/Cliente/uEditorAlbaranesCliente.pas +++ b/Modulos/Albaranes de cliente/Cliente/uEditorAlbaranesCliente.pas @@ -34,14 +34,19 @@ type procedure frViewBarraSeleccionactCancelarExecute(Sender: TObject); procedure actPagarExecute(Sender: TObject); procedure edtFechaFiltro1PropertiesEditValueChanged(Sender: TObject); + procedure OnListaAnosChange(Sender: TObject; const Text: string); + procedure FormShow(Sender: TObject); + private FAlbaranesCliente: IBizAlbaranesCliente; + protected function GetAlbaranesCliente: IBizAlbaranesCliente; procedure SetAlbaranesCliente(const Value: IBizAlbaranesCliente); procedure SetViewGrid(const Value: IViewGrid); override; function GetSelectionBarVisible: Boolean; procedure SetSelectionBarVisible(const Value: Boolean); + public constructor Create(AOwner: TComponent); override; destructor Destroy; override; @@ -130,13 +135,20 @@ begin Result := FAlbaranesCliente; end; -procedure TfEditorAlbaranesCliente.SetAlbaranesCliente(const Value: - IBizAlbaranesCliente); +procedure TfEditorAlbaranesCliente.SetAlbaranesCliente(const Value: IBizAlbaranesCliente); begin FAlbaranesCliente := Value; - dsDataTable.DataTable := FAlbaranesCliente.DataTable; - if Assigned(ViewGrid) then - (ViewGrid as IViewAlbaranesCliente).AlbaranesCliente := AlbaranesCliente; + + if Assigned(FAlbaranesCliente) then + begin + //Se guarda el where de la sentencia origen, por si el editor tiene filtros que + //afecten a este where y en un futuro se desea volver al where origen (filtro de año)) + WhereDataTable := FAlbaranesCliente.DataTable.Where.Clause; + + dsDataTable.DataTable := FAlbaranesCliente.DataTable; + if Assigned(ViewGrid) then + (ViewGrid as IViewAlbaranesCliente).AlbaranesCliente := AlbaranesCliente; + end; end; procedure TfEditorAlbaranesCliente.SetViewGrid(const Value: IViewGrid); @@ -201,6 +213,21 @@ begin } end; +procedure TfEditorAlbaranesCliente.FormShow(Sender: TObject); +begin + ListaAnos := dmAlbaranesCliente.DarListaAnosAlbaranes; + cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED + + inherited; +end; + +procedure TfEditorAlbaranesCliente.OnListaAnosChange(Sender: TObject; const Text: string); +begin + dmAlbaranesCliente.FiltrarAno(AlbaranesCliente, WhereDataTable, Text); + if AlbaranesCliente.DataTable.Active then + actRefrescar.Execute; +end; + initialization RegisterEditor(IBizAlbaranesCliente, ShowEditorAlbaranesCliente, etItems); RegisterEditor(IBizAlbaranesCliente, ShowSelectEditorAlbaranesCliente, etSelectItems); diff --git a/Modulos/Albaranes de cliente/Reglas/schAlbaranesClienteClient_Intf.pas b/Modulos/Albaranes de cliente/Reglas/schAlbaranesClienteClient_Intf.pas index 9ecb273..7fab81d 100644 --- a/Modulos/Albaranes de cliente/Reglas/schAlbaranesClienteClient_Intf.pas +++ b/Modulos/Albaranes de cliente/Reglas/schAlbaranesClienteClient_Intf.pas @@ -9,16 +9,18 @@ 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_DarReferenciaAlbaran = '{35F98298-F696-46BE-9D56-50D87C52A2C1}'; - RID_AlbaranCliente = '{14578616-F521-4BA3-A7E9-BB99BA3FA09C}'; - RID_AlbaranDePresupuesto = '{116AED58-1A39-4230-8961-B965FB7B0697}'; - RID_DetallesAlbaranCliente = '{9C31D267-5CA0-4776-9B6A-32E4633153D9}'; - RID_AlbaranCliente_RefreshDataset = '{22F08733-B02A-4130-84ED-B1E32F9F18DF}'; - RID_InformeCabeceraAlbaranPago = '{D018D751-1373-4A7C-9E2F-BFD097EC6967}'; - RID_InformeDetallesAlbaranPago = '{61D6092F-B71A-40E6-9601-980B85F71C86}'; - RID_DarSumaImportes = '{6AD3F242-7984-41B6-8F0F-CEAEF113373A}'; + RID_ListaAnosAlbaranes = '{633AA7F3-9231-41FD-9AFA-20F135BF0015}'; + RID_DarReferenciaAlbaran = '{2A1DC102-86E4-4ED4-99B3-63A0A8ADF44E}'; + RID_AlbaranCliente = '{D7B2EDBF-3686-4A8C-910A-B4CFBE86FA03}'; + RID_AlbaranDePresupuesto = '{30A07021-CB00-471E-933D-C775663D9916}'; + RID_DetallesAlbaranCliente = '{7462D89E-A291-4EEB-86A1-466E9CA91AB2}'; + RID_AlbaranCliente_RefreshDataset = '{937F0EE6-A236-4A40-AC09-EA6C414C708C}'; + RID_InformeCabeceraAlbaranPago = '{56F3725F-E457-4DC3-AE69-F6B955C4D525}'; + RID_InformeDetallesAlbaranPago = '{1023528D-E1A8-4850-9C26-F0AE36E755D0}'; + RID_DarSumaImportes = '{0183F8AD-2381-4ED5-931F-546D5C269857}'; { Data table names } + nme_ListaAnosAlbaranes = 'ListaAnosAlbaranes'; nme_DarReferenciaAlbaran = 'DarReferenciaAlbaran'; nme_AlbaranCliente = 'AlbaranCliente'; nme_AlbaranDePresupuesto = 'AlbaranDePresupuesto'; @@ -28,6 +30,12 @@ const nme_InformeDetallesAlbaranPago = 'InformeDetallesAlbaranPago'; nme_DarSumaImportes = 'DarSumaImportes'; + { ListaAnosAlbaranes fields } + fld_ListaAnosAlbaranesANO = 'ANO'; + + { ListaAnosAlbaranes field indexes } + idx_ListaAnosAlbaranesANO = 0; + { DarReferenciaAlbaran fields } fld_DarReferenciaAlbaranREFERENCIA = 'REFERENCIA'; @@ -211,9 +219,38 @@ const idx_DarSumaImportesIMPORTETOTAL = 2; type + { IListaAnosAlbaranes } + IListaAnosAlbaranes = interface(IDAStronglyTypedDataTable) + ['{D7D4C0A5-1F72-468B-A5FB-C81C33C826F2}'] + { Property getters and setters } + function GetANOValue: String; + procedure SetANOValue(const aValue: String); + + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + end; + + { TListaAnosAlbaranesDataTableRules } + TListaAnosAlbaranesDataTableRules = class(TDADataTableRules, IListaAnosAlbaranes) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + { IDarReferenciaAlbaran } IDarReferenciaAlbaran = interface(IDAStronglyTypedDataTable) - ['{C6FEC801-58D9-4332-B152-41E118F9B63A}'] + ['{631B04FF-3196-4DB1-8266-43D0CCA14B6C}'] { Property getters and setters } function GetREFERENCIAValue: String; procedure SetREFERENCIAValue(const aValue: String); @@ -242,7 +279,7 @@ type { IAlbaranCliente } IAlbaranCliente = interface(IDAStronglyTypedDataTable) - ['{642833FA-4649-486C-89C8-B9728500F01D}'] + ['{2E3EA9B3-B1D2-432C-A31E-4BBDDD644872}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -385,7 +422,7 @@ type { IAlbaranDePresupuesto } IAlbaranDePresupuesto = interface(IDAStronglyTypedDataTable) - ['{78FBFEFF-5738-4B40-819A-3F70EED86124}'] + ['{8CD58BB1-A4D0-4DF4-8E30-969F1BACC961}'] { Property getters and setters } function GetCODIGOValue: Integer; procedure SetCODIGOValue(const aValue: Integer); @@ -414,7 +451,7 @@ type { IDetallesAlbaranCliente } IDetallesAlbaranCliente = interface(IDAStronglyTypedDataTable) - ['{D9E720C6-134F-4020-975B-7EF111D57933}'] + ['{675AE33F-D64C-47AD-A206-64BFAA11FCD7}'] { Property getters and setters } function GetCODIGOALBARANValue: Integer; procedure SetCODIGOALBARANValue(const aValue: Integer); @@ -503,7 +540,7 @@ type { IAlbaranCliente_RefreshDataset } IAlbaranCliente_RefreshDataset = interface(IDAStronglyTypedDataTable) - ['{3832562D-0F4D-4243-A963-3B59CB9D2B05}'] + ['{37351A63-CE65-4762-B897-5DE5998CAB64}'] { Property getters and setters } function GetCODIGOValue: Integer; procedure SetCODIGOValue(const aValue: Integer); @@ -550,7 +587,7 @@ type { IInformeCabeceraAlbaranPago } IInformeCabeceraAlbaranPago = interface(IDAStronglyTypedDataTable) - ['{7CEBCE95-FD7B-46D1-844E-70F47FC60D0E}'] + ['{173C44D2-12F3-4383-86A6-29107BF40AF6}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -735,7 +772,7 @@ type { IInformeDetallesAlbaranPago } IInformeDetallesAlbaranPago = interface(IDAStronglyTypedDataTable) - ['{2C1837CB-F884-46C6-BD8E-59A6AD8670A8}'] + ['{92CC3EF0-B88D-4396-8134-AD775CD2E583}'] { Property getters and setters } function GetCODIGOALBARANValue: Integer; procedure SetCODIGOALBARANValue(const aValue: Integer); @@ -809,7 +846,7 @@ type } { IDarSumaImportes } IDarSumaImportes = interface(IDAStronglyTypedDataTable) - ['{C49AE35E-D0D0-4D17-80C9-9E996E212A8D}'] + ['{0A03D6E5-29C3-4B3C-8004-8D48A433FB36}'] { Property getters and setters } function GetBASEIMPONIBLEValue: Float; procedure SetBASEIMPONIBLEValue(const aValue: Float); @@ -852,6 +889,28 @@ implementation uses Variants; +{ TListaAnosAlbaranesDataTableRules } +constructor TListaAnosAlbaranesDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TListaAnosAlbaranesDataTableRules.Destroy; +begin + inherited; +end; + +function TListaAnosAlbaranesDataTableRules.GetANOValue: String; +begin + result := DataTable.Fields[idx_ListaAnosAlbaranesANO].AsString; +end; + +procedure TListaAnosAlbaranesDataTableRules.SetANOValue(const aValue: String); +begin + DataTable.Fields[idx_ListaAnosAlbaranesANO].AsString := aValue; +end; + + { TDarReferenciaAlbaranDataTableRules } constructor TDarReferenciaAlbaranDataTableRules.Create(aDataTable: TDADataTable); begin @@ -1703,6 +1762,7 @@ end; initialization + RegisterDataTableRules(RID_ListaAnosAlbaranes, TListaAnosAlbaranesDataTableRules); RegisterDataTableRules(RID_DarReferenciaAlbaran, TDarReferenciaAlbaranDataTableRules); RegisterDataTableRules(RID_AlbaranCliente, TAlbaranClienteDataTableRules); RegisterDataTableRules(RID_AlbaranDePresupuesto, TAlbaranDePresupuestoDataTableRules); diff --git a/Modulos/Albaranes de cliente/Reglas/schAlbaranesClienteServer_Intf.pas b/Modulos/Albaranes de cliente/Reglas/schAlbaranesClienteServer_Intf.pas index adf9ed5..4531432 100644 --- a/Modulos/Albaranes de cliente/Reglas/schAlbaranesClienteServer_Intf.pas +++ b/Modulos/Albaranes de cliente/Reglas/schAlbaranesClienteServer_Intf.pas @@ -9,19 +9,49 @@ 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_DarReferenciaAlbaranDelta = '{D9EAC03F-B4A2-41B9-A2B2-7CF11F780D28}'; - RID_AlbaranClienteDelta = '{8E3B55C2-3828-41E4-8AEA-F0D487EDD873}'; - RID_AlbaranDePresupuestoDelta = '{1D24D93A-7A20-4DC4-ACE3-F9E644618634}'; - RID_DetallesAlbaranClienteDelta = '{91443B47-343B-46EC-85F0-19C431B1F56B}'; - RID_AlbaranCliente_RefreshDatasetDelta = '{7857A2CE-B06F-491A-BB36-844139B9125E}'; - RID_InformeCabeceraAlbaranPagoDelta = '{B87026ED-31B8-4320-8908-DE7DED600AC9}'; - RID_InformeDetallesAlbaranPagoDelta = '{0698DC8F-4317-451B-8770-F18535997036}'; - RID_DarSumaImportesDelta = '{DFDB0CB4-85D3-449B-B350-EC3758E21B72}'; + RID_ListaAnosAlbaranesDelta = '{5C2DB703-C887-4F77-A9DC-11DA0CF6FE4E}'; + RID_DarReferenciaAlbaranDelta = '{D832A4B5-6FDD-49E0-AE5F-306375C415AD}'; + RID_AlbaranClienteDelta = '{5DFFE549-E998-435B-BB5C-F859B970C506}'; + RID_AlbaranDePresupuestoDelta = '{B5AB03E8-D48D-4BA2-A1E9-9CD0D0907C62}'; + RID_DetallesAlbaranClienteDelta = '{1502B47E-54CF-4FCD-8CC2-48C36D9EF53A}'; + RID_AlbaranCliente_RefreshDatasetDelta = '{5E7557E0-2251-46D8-83CF-818EC119C817}'; + RID_InformeCabeceraAlbaranPagoDelta = '{51A960DD-CBCF-4151-9471-61453103C2EF}'; + RID_InformeDetallesAlbaranPagoDelta = '{FA30D0F8-1FFC-4FAD-8C8B-CA8553D877EA}'; + RID_DarSumaImportesDelta = '{50AE6D16-89E0-4C6A-9A75-62FE055859AF}'; type + { IListaAnosAlbaranesDelta } + IListaAnosAlbaranesDelta = interface(IListaAnosAlbaranes) + ['{5C2DB703-C887-4F77-A9DC-11DA0CF6FE4E}'] + { Property getters and setters } + function GetOldANOValue : String; + + { Properties } + property OldANO : String read GetOldANOValue; + end; + + { TListaAnosAlbaranesBusinessProcessorRules } + TListaAnosAlbaranesBusinessProcessorRules = class(TDABusinessProcessorRules, IListaAnosAlbaranes, IListaAnosAlbaranesDelta) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + function GetOldANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + + { Properties } + property ANO : String read GetANOValue write SetANOValue; + property OldANO : String read GetOldANOValue; + + public + constructor Create(aBusinessProcessor: TDABusinessProcessor); override; + destructor Destroy; override; + + end; + { IDarReferenciaAlbaranDelta } IDarReferenciaAlbaranDelta = interface(IDarReferenciaAlbaran) - ['{D9EAC03F-B4A2-41B9-A2B2-7CF11F780D28}'] + ['{D832A4B5-6FDD-49E0-AE5F-306375C415AD}'] { Property getters and setters } function GetOldREFERENCIAValue : String; @@ -50,7 +80,7 @@ type { IAlbaranClienteDelta } IAlbaranClienteDelta = interface(IAlbaranCliente) - ['{8E3B55C2-3828-41E4-8AEA-F0D487EDD873}'] + ['{5DFFE549-E998-435B-BB5C-F859B970C506}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -212,7 +242,7 @@ type { IAlbaranDePresupuestoDelta } IAlbaranDePresupuestoDelta = interface(IAlbaranDePresupuesto) - ['{1D24D93A-7A20-4DC4-ACE3-F9E644618634}'] + ['{B5AB03E8-D48D-4BA2-A1E9-9CD0D0907C62}'] { Property getters and setters } function GetOldCODIGOValue : Integer; @@ -241,7 +271,7 @@ type { IDetallesAlbaranClienteDelta } IDetallesAlbaranClienteDelta = interface(IDetallesAlbaranCliente) - ['{91443B47-343B-46EC-85F0-19C431B1F56B}'] + ['{1502B47E-54CF-4FCD-8CC2-48C36D9EF53A}'] { Property getters and setters } function GetOldCODIGOALBARANValue : Integer; function GetOldNUMCONCEPTOValue : Integer; @@ -340,7 +370,7 @@ type { IAlbaranCliente_RefreshDatasetDelta } IAlbaranCliente_RefreshDatasetDelta = interface(IAlbaranCliente_RefreshDataset) - ['{7857A2CE-B06F-491A-BB36-844139B9125E}'] + ['{5E7557E0-2251-46D8-83CF-818EC119C817}'] { Property getters and setters } function GetOldCODIGOValue : Integer; function GetOldNOMBREValue : String; @@ -390,7 +420,7 @@ type { IInformeCabeceraAlbaranPagoDelta } IInformeCabeceraAlbaranPagoDelta = interface(IInformeCabeceraAlbaranPago) - ['{B87026ED-31B8-4320-8908-DE7DED600AC9}'] + ['{51A960DD-CBCF-4151-9471-61453103C2EF}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -601,7 +631,7 @@ type { IInformeDetallesAlbaranPagoDelta } IInformeDetallesAlbaranPagoDelta = interface(IInformeDetallesAlbaranPago) - ['{0698DC8F-4317-451B-8770-F18535997036}'] + ['{FA30D0F8-1FFC-4FAD-8C8B-CA8553D877EA}'] { Property getters and setters } function GetOldCODIGOALBARANValue : Integer; function GetOldNUMCONCEPTOValue : Integer; @@ -679,7 +709,7 @@ type { IDarSumaImportesDelta } IDarSumaImportesDelta = interface(IDarSumaImportes) - ['{DFDB0CB4-85D3-449B-B350-EC3758E21B72}'] + ['{50AE6D16-89E0-4C6A-9A75-62FE055859AF}'] { Property getters and setters } function GetOldBASEIMPONIBLEValue : Float; function GetOldIMPORTEIVAValue : Float; @@ -725,6 +755,33 @@ implementation uses Variants, uROBinaryHelpers; +{ TListaAnosAlbaranesBusinessProcessorRules } +constructor TListaAnosAlbaranesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TListaAnosAlbaranesBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TListaAnosAlbaranesBusinessProcessorRules.GetANOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosAlbaranesANO]; +end; + +function TListaAnosAlbaranesBusinessProcessorRules.GetOldANOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosAlbaranesANO]; +end; + +procedure TListaAnosAlbaranesBusinessProcessorRules.SetANOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosAlbaranesANO] := aValue; +end; + + { TDarReferenciaAlbaranBusinessProcessorRules } constructor TDarReferenciaAlbaranBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); begin @@ -1955,6 +2012,7 @@ end; initialization + RegisterBusinessProcessorRules(RID_ListaAnosAlbaranesDelta, TListaAnosAlbaranesBusinessProcessorRules); RegisterBusinessProcessorRules(RID_DarReferenciaAlbaranDelta, TDarReferenciaAlbaranBusinessProcessorRules); RegisterBusinessProcessorRules(RID_AlbaranClienteDelta, TAlbaranClienteBusinessProcessorRules); RegisterBusinessProcessorRules(RID_AlbaranDePresupuestoDelta, TAlbaranDePresupuestoBusinessProcessorRules); diff --git a/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm b/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm index 67a5701..e88d28a 100644 --- a/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm +++ b/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.dfm @@ -7,7 +7,7 @@ object srvAlbaranesCliente: TsrvAlbaranesCliente ServiceSchema = schAlbaranesCliente ServiceAdapter = DABINAdapter Left = 413 - Top = 252 + Top = 220 Height = 463 Width = 347 object schAlbaranesCliente: TDASchema @@ -15,6 +15,39 @@ object srvAlbaranesCliente: TsrvAlbaranesCliente DataDictionary = dmServer.DataDictionary Diagrams = dmServer.DADiagrams Datasets = < + item + Params = <> + Statements = < + item + Connection = 'IBX' + SQL = + 'select ANO from'#10'(select distinct(substr(FECHAALBARAN, 1,4)) as A' + + 'NO'#10'from albaranpago'#10'order by 1 desc)'#10#10'UNION ALL'#10#10'select distinct' + + ' '#39'Todos'#39' as ANO'#10'from empresas' + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'ANO' + TableField = 'ANO' + end> + end> + Name = 'ListaAnosAlbaranes' + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + BusinessRulesClient.ScriptLanguage = rslPascalScript + BusinessRulesServer.ScriptLanguage = rslPascalScript + end item Params = <> Statements = < diff --git a/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas b/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas index 77f619a..99c1b86 100644 --- a/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas +++ b/Modulos/Albaranes de cliente/Servidor/srvAlbaranesCliente_Impl.pas @@ -29,8 +29,8 @@ type tbl_AlbaranPago: TDACDSDataTable; tbl_DetallesAlbaranPago: TDACDSDataTable; DABINAdapter: TDABINAdapter; - schAlbaranesCliente: TDASchema; frxReport1: TfrxReport; + schAlbaranesCliente: TDASchema; private protected function GetNextAutoinc: Integer; diff --git a/Modulos/Almacenes/Cliente/Almacenes.dcp b/Modulos/Almacenes/Cliente/Almacenes.dcp index dacc4ea..e241ffe 100644 Binary files a/Modulos/Almacenes/Cliente/Almacenes.dcp and b/Modulos/Almacenes/Cliente/Almacenes.dcp differ diff --git a/Modulos/Almacenes/Servidor/srvAlmacenes_Impl.dfm b/Modulos/Almacenes/Servidor/srvAlmacenes_Impl.dfm index 5f0a4cc..e56fd8b 100644 --- a/Modulos/Almacenes/Servidor/srvAlmacenes_Impl.dfm +++ b/Modulos/Almacenes/Servidor/srvAlmacenes_Impl.dfm @@ -7,7 +7,7 @@ object srvAlmacenes: TsrvAlmacenes ServiceSchema = schAlmacenes ServiceAdapter = DABINAdapter Left = 200 - Top = 200 + Top = 175 Height = 300 Width = 300 object schAlmacenes: TDASchema diff --git a/Modulos/Articulos/Cliente/Articulos.dcp b/Modulos/Articulos/Cliente/Articulos.dcp index 21e4b78..1814f3b 100644 Binary files a/Modulos/Articulos/Cliente/Articulos.dcp and b/Modulos/Articulos/Cliente/Articulos.dcp differ diff --git a/Modulos/Articulos/Cliente/Articulos.dof b/Modulos/Articulos/Cliente/Articulos.dof index 8a816a4..a2b6110 100644 --- a/Modulos/Articulos/Cliente/Articulos.dof +++ b/Modulos/Articulos/Cliente/Articulos.dof @@ -142,12 +142,12 @@ Count=1 Item0=WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; [HistoryLists\hlSearchPath] Count=16 -Item0=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente;..\..\Asientos\Cliente;..\..\Cuentas\Cliente -Item1=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente;..\..\Asientos\Cliente -Item2=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente -Item3=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente -Item4=..\Modulos\Presupuestos\Reglas;..\Modulos\Contactos\Reglas;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Albaranes de cliente\Reglas -Item5=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas +Item0=..\Modulos\Presupuestos\Reglas;..\Modulos\Contactos\Reglas;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Albaranes de cliente\Reglas +Item1=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\Base;..\Configuracion;..\Usuarios;..\Modulos\Intervalos;..\Modulos\Documentos asociados;..\Modulos\Contactos\Cliente;..\Modulos\Contactos\Reglas;..\Modulos\Presupuestos\Cliente;..\Modulos\Presupuestos\Reglas;..\Modulos\Albaranes de cliente\Cliente;..\Modulos\Albaranes de cliente\Reglas;..\Modulos\Facturas de cliente\Cliente;..\Modulos\Facturas de cliente\Reglas;..\Modulos\Pedidos a proveedor\Cliente;..\Modulos\Pedidos a proveedor\Reglas;..\Modulos\Facturas de proveedor\Cliente;..\Modulos\Facturas de proveedor\Reglas;..\Modulos\Montajes\Reglas;..\Modulos\Montajes\Cliente;..\Modulos\Articulos\Cliente;..\Modulos\Articulos\Reglas;..\Modulos\Almacenes\Reglas;..\Modulos\Almacenes\Cliente;..\Modulos\Pagos\Reglas;..\Modulos\Pagos\Cliente;..\Modulos\Cuentas\Reglas;..\Modulos\Cuentas\Cliente;..\Modulos\Asientos\Reglas;..\Modulos\Asientos\Cliente;..\Modulos\Calendarios\Cliente;..\Modulos\Calendarios\Reglas +Item2=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente;..\..\Asientos\Cliente;..\..\Cuentas\Cliente +Item3=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente;..\..\Asientos\Cliente +Item4=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente;..\..\Intervalos\Cliente +Item5=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\Presupuestos\Cliente;..\..\..\Usuarios;..\..\Albaranes de cliente\Cliente;..\..\Documentos asociados;..\..\Pagos\Cliente Item6=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente;..\..\Documentos asociados;..\..\Contactos\Cliente;..\..\Almacenes\Cliente Item7=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\Contactos\Cliente;..\..\..\Usuarios;..\..\Documentos asociados Item8=$(DELPHI)\Lib\Debug;D:\PROYEC~1\COMPON~1\jcl\lib\D7\debug;..\..\..\Base;..\..\..\Servidor;..\..\..\Usuarios;..\..\Montajes\Cliente;..\..\Documentos asociados;..\..\Contactos\Cliente diff --git a/Modulos/Articulos/Cliente/uDataModuleArticulos.dfm b/Modulos/Articulos/Cliente/uDataModuleArticulos.dfm index a0feb6c..9d0cdd7 100644 --- a/Modulos/Articulos/Cliente/uDataModuleArticulos.dfm +++ b/Modulos/Articulos/Cliente/uDataModuleArticulos.dfm @@ -11,7 +11,7 @@ object dmArticulos: TdmArticulos DataType = rtString end> Left = 328 - Top = 337 + Top = 294 Height = 197 Width = 369 object RORemoteService: TRORemoteService diff --git a/Modulos/Articulos/Cliente/uDataModuleArticulos.pas b/Modulos/Articulos/Cliente/uDataModuleArticulos.pas index 0b727e3..0b0d5e8 100644 --- a/Modulos/Articulos/Cliente/uDataModuleArticulos.pas +++ b/Modulos/Articulos/Cliente/uDataModuleArticulos.pas @@ -100,8 +100,7 @@ begin begin Clear; OpenBraket; - AddText('MONTAJES.SITUACION not in (''' + SITUACION_PENDIENTEPAGO + ''', ''' + SITUACION_PAGADO + ''')', False); -// AddText('MONTAJES.FECHAFIN is null', False); + AddText('(MONTAJES.SITUACION is null) OR (MONTAJES.SITUACION not in (''' + SITUACION_PENDIENTEPAGO + ''', ''' + SITUACION_PAGADO + '''))', False); CloseBraket; end; diff --git a/Modulos/Articulos/Cliente/uEditorArticulosAlmacen.dfm b/Modulos/Articulos/Cliente/uEditorArticulosAlmacen.dfm index cb962fc..a65e412 100644 --- a/Modulos/Articulos/Cliente/uEditorArticulosAlmacen.dfm +++ b/Modulos/Articulos/Cliente/uEditorArticulosAlmacen.dfm @@ -1,6 +1,6 @@ inherited fEditorArticulosAlmacen: TfEditorArticulosAlmacen Left = 162 - Top = 243 + Top = 212 Caption = 'Inventario de art'#237'culos en almacenes' PixelsPerInch = 96 TextHeight = 13 diff --git a/Modulos/Articulos/Cliente/uPluginControllerArticulos.dfm b/Modulos/Articulos/Cliente/uPluginControllerArticulos.dfm index 4848c37..2104425 100644 --- a/Modulos/Articulos/Cliente/uPluginControllerArticulos.dfm +++ b/Modulos/Articulos/Cliente/uPluginControllerArticulos.dfm @@ -7,8 +7,8 @@ object ModuleArticulos: TModuleArticulos LargeImages = LargeImages Author = 'Rodax Software' Version = '1.0.0' - Left = 691 - Top = 507 + Left = 690 + Top = 441 Height = 252 Width = 401 object LargeImages: TPngImageList diff --git a/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm b/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm index c910303..9e59fd6 100644 --- a/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm +++ b/Modulos/Articulos/Servidor/srvArticulos_Impl.dfm @@ -6,7 +6,7 @@ object srvArticulos: TsrvArticulos ServiceSchema = schArticulos ServiceAdapter = DABINAdapter Left = 449 - Top = 259 + Top = 197 Height = 300 Width = 300 object schArticulos: TDASchema diff --git a/Modulos/Asientos/Cliente/Asientos.dcp b/Modulos/Asientos/Cliente/Asientos.dcp index 94a82f7..d635922 100644 Binary files a/Modulos/Asientos/Cliente/Asientos.dcp and b/Modulos/Asientos/Cliente/Asientos.dcp differ diff --git a/Modulos/Asientos/Servidor/srvAsientos_Impl.dfm b/Modulos/Asientos/Servidor/srvAsientos_Impl.dfm index 29d8e98..6c08652 100644 --- a/Modulos/Asientos/Servidor/srvAsientos_Impl.dfm +++ b/Modulos/Asientos/Servidor/srvAsientos_Impl.dfm @@ -7,7 +7,7 @@ object srvAsientos: TsrvAsientos ServiceSchema = schAsientos ServiceAdapter = DABINAdapter Left = 512 - Top = 168 + Top = 147 Height = 300 Width = 300 object schAsientos: TDASchema diff --git a/Modulos/Calendarios/Cliente/Calendarios.dcp b/Modulos/Calendarios/Cliente/Calendarios.dcp index adbbfa3..019360f 100644 Binary files a/Modulos/Calendarios/Cliente/Calendarios.dcp and b/Modulos/Calendarios/Cliente/Calendarios.dcp differ diff --git a/Modulos/Calendarios/Servidor/srvCitas_Impl.dfm b/Modulos/Calendarios/Servidor/srvCitas_Impl.dfm index f4572ce..410815f 100644 --- a/Modulos/Calendarios/Servidor/srvCitas_Impl.dfm +++ b/Modulos/Calendarios/Servidor/srvCitas_Impl.dfm @@ -7,7 +7,7 @@ object srvCitas: TsrvCitas ServiceSchema = schCitas ServiceAdapter = DABINAdapter Left = 502 - Top = 206 + Top = 180 Height = 184 Width = 245 object schCitas: TDASchema diff --git a/Modulos/Contactos/Cliente/Contactos.dcp b/Modulos/Contactos/Cliente/Contactos.dcp index eee0e6a..1ad57ba 100644 Binary files a/Modulos/Contactos/Cliente/Contactos.dcp and b/Modulos/Contactos/Cliente/Contactos.dcp differ diff --git a/Modulos/Contactos/Servidor/srvContactos_Impl.dfm b/Modulos/Contactos/Servidor/srvContactos_Impl.dfm index b5e3540..3aa46b7 100644 --- a/Modulos/Contactos/Servidor/srvContactos_Impl.dfm +++ b/Modulos/Contactos/Servidor/srvContactos_Impl.dfm @@ -9,7 +9,7 @@ object srvContactos: TsrvContactos ServiceSchema = schContactos ServiceAdapter = DABINAdapter Left = 617 - Top = 313 + Top = 273 Height = 354 Width = 450 object schContactos: TDASchema @@ -501,7 +501,7 @@ object srvContactos: TsrvContactos Top = 16 end object frxReport1: TfrxReport - Version = '3.15' + Version = '3.23.7' DotMatrixReport = False EngineOptions.DoublePass = True IniFile = '\Software\Fast Reports' @@ -545,7 +545,7 @@ object srvContactos: TsrvContactos Height = 18.897650000000000000 DataSet = frxDBDataset1 DataSetName = 'frxDBDataset1' - Memo.Strings = ( + Memo.UTF8 = ( '[frxDBDataset1."nombre"]') end end diff --git a/Modulos/Cuentas/Cliente/Cuentas.dcp b/Modulos/Cuentas/Cliente/Cuentas.dcp index e9fce86..e509219 100644 Binary files a/Modulos/Cuentas/Cliente/Cuentas.dcp and b/Modulos/Cuentas/Cliente/Cuentas.dcp differ diff --git a/Modulos/Cuentas/Servidor/srvCuentas_Impl.dfm b/Modulos/Cuentas/Servidor/srvCuentas_Impl.dfm index fcd38b0..91e5a3f 100644 --- a/Modulos/Cuentas/Servidor/srvCuentas_Impl.dfm +++ b/Modulos/Cuentas/Servidor/srvCuentas_Impl.dfm @@ -7,7 +7,7 @@ object srvCuentas: TsrvCuentas ServiceSchema = schCuentas ServiceAdapter = DABINAdapter Left = 555 - Top = 179 + Top = 156 Height = 300 Width = 300 object schCuentas: TDASchema diff --git a/Modulos/Documentos asociados/DocumentosAsociados.dcp b/Modulos/Documentos asociados/DocumentosAsociados.dcp index aea9067..cc0520a 100644 Binary files a/Modulos/Documentos asociados/DocumentosAsociados.dcp and b/Modulos/Documentos asociados/DocumentosAsociados.dcp differ diff --git a/Modulos/Facturas de cliente/Cliente/FacturasCliente.dcp b/Modulos/Facturas de cliente/Cliente/FacturasCliente.dcp index bdaec2c..d4dc502 100644 Binary files a/Modulos/Facturas de cliente/Cliente/FacturasCliente.dcp and b/Modulos/Facturas de cliente/Cliente/FacturasCliente.dcp differ diff --git a/Modulos/Facturas de cliente/Cliente/uDataModuleFacturasCliente.dfm b/Modulos/Facturas de cliente/Cliente/uDataModuleFacturasCliente.dfm index 8b5d9a3..be7528b 100644 --- a/Modulos/Facturas de cliente/Cliente/uDataModuleFacturasCliente.dfm +++ b/Modulos/Facturas de cliente/Cliente/uDataModuleFacturasCliente.dfm @@ -680,4 +680,113 @@ object dmFacturasCliente: TdmFacturasCliente Left = 48 Top = 152 end + object tbl_ListaAnosFacturas: TDACDSDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + Params = <> + MasterMappingMode = mmDataRequest + StreamingOptions = [soDisableEventsWhileStreaming] + SchemaCall.MethodName = 'GetDatasetSchema' + SchemaCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'aDatasetName' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosFacturas' + end> + DataRequestCall.MethodName = 'GetDatasetDataEx' + DataRequestCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'DatasetName' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosFacturas' + end + item + Name = 'Params' + ParamType = fIn + DataType = rtUserDefined + UserClassName = 'TDADatasetParamArray' + end + item + Name = 'UserFilter' + ParamType = fIn + DataType = rtString + Value = '' + end + item + Name = 'IncludeSchema' + ParamType = fIn + DataType = rtBoolean + Value = False + end + item + Name = 'MaxRecords' + ParamType = fIn + DataType = rtInteger + Value = -1 + end> + DataUpdateCall.MethodName = 'UpdateData' + DataUpdateCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'Delta' + ParamType = fIn + DataType = rtBinary + end> + ScriptCall.MethodName = 'GetDatasetScripts' + ScriptCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtString + Value = '' + end + item + Name = 'DatasetNames' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosFacturas' + end> + ReadOnly = False + RemoteService = RORemoteService + Adapter = dmBase.DABINAdapter + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'ListaAnosFacturas' + IndexDefs = <> + Left = 168 + Top = 216 + end + object ds_ListaAnosFacturas: TDADataSource + DataTable = tbl_ListaAnosFacturas + Left = 168 + Top = 160 + end end diff --git a/Modulos/Facturas de cliente/Cliente/uDataModuleFacturasCliente.pas b/Modulos/Facturas de cliente/Cliente/uDataModuleFacturasCliente.pas index 36f905d..6c91930 100644 --- a/Modulos/Facturas de cliente/Cliente/uDataModuleFacturasCliente.pas +++ b/Modulos/Facturas de cliente/Cliente/uDataModuleFacturasCliente.pas @@ -21,6 +21,8 @@ type ds_DetallesFacturasCliente: TDADataSource; DADesigntimeCall1: TDADesigntimeCall; RORemoteService2: TRORemoteService; + tbl_ListaAnosFacturas: TDACDSDataTable; + ds_ListaAnosFacturas: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); private { Private declarations } @@ -32,7 +34,10 @@ type procedure Preview(Const Codigo: Integer); function DarNuevaReferencia : String; function PuedoEliminarFactura (CodigoFactura : Integer) : Boolean; - procedure Refrescar(lReport: TfrxReport; Const Codigo: Integer; const TamLetra: Integer); + procedure Refrescar(lReport: TfrxReport; Const Codigo: Integer; const TamLetra: Integer); + + function DarListaAnosFacturas: TStringList; + procedure FiltrarAno(AFacturas: IBizFacturasCliente; AWhereDataTable: String; const Ano: String); end; var @@ -43,8 +48,8 @@ implementation {$R *.DFM} uses - Forms, Controls, uDataTableUtils, uBizContacto, - uDataModuleContactos, uDataModuleBase, + Forms, Controls, cxControls, uDataTableUtils, uBizContacto, + uDataModuleContactos, uDataModuleBase, uDAInterfaces, FactuGES_Intf, uEditorPreviewFacturaCliente, uEditorPreview, uROTypes, schFacturasClienteClient_Intf; @@ -194,6 +199,55 @@ begin lReport.ShowPreparedReport; end; +function TdmFacturasCliente.DarListaAnosFacturas: TStringList; +var + AListaAnos: TStringList; +begin + AListaAnos := TStringList.Create; + ShowHourglassCursor; + try + with tbl_ListaAnosFacturas do + begin + Open; + First; + while not eof do + begin + AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString])); + Next; + end; + Close; + end; + Result := AListaAnos; + finally + HideHourglassCursor; + end; +end; + +procedure TdmFacturasCliente.FiltrarAno(AFacturas: IBizFacturasCliente; AWhereDataTable: String; const Ano: String); +var + FechaIni: String; + FechaFin: String; + +begin + AFacturas.DataTable.Where.Clear; + AFacturas.DataTable.Where.AddText(AWhereDataTable); + + if (Ano <> 'Todos') then + begin + // Filtrar los presupuestos actuales por años + FechaIni := '01.01.' + Ano; + FechaFin := '31.12.' + Ano; + with AFacturas.DataTable.Where do + begin + if NotEmpty then + AddOperator(opAND); + AddCondition(fld_FacturasClienteFECHAFACTURA, cMajorOrEqual, FechaIni); + AddOperator(opAND); + AddCondition(fld_FacturasClienteFECHAFACTURA, cLessOrEqual, FechaFin); + end; + end; +end; + initialization dmFacturasCliente := TdmFacturasCliente.Create(nil); diff --git a/Modulos/Facturas de cliente/Cliente/uEditorFacturasCliente.dfm b/Modulos/Facturas de cliente/Cliente/uEditorFacturasCliente.dfm index 287944f..502aff2 100644 --- a/Modulos/Facturas de cliente/Cliente/uEditorFacturasCliente.dfm +++ b/Modulos/Facturas de cliente/Cliente/uEditorFacturasCliente.dfm @@ -42,7 +42,15 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente end end inherited tbxFiltro: TTBXToolbar - Left = 395 + inherited lblAno: TTBXLabelItem + Visible = True + end + inherited cbxListaAnos: TTBXComboBoxItem + Visible = True + end + inherited sepAno: TTBXSeparatorItem + Visible = True + end end end inherited StatusBar: TStatusBar diff --git a/Modulos/Facturas de cliente/Cliente/uEditorFacturasCliente.pas b/Modulos/Facturas de cliente/Cliente/uEditorFacturasCliente.pas index a6ca782..a514981 100644 --- a/Modulos/Facturas de cliente/Cliente/uEditorFacturasCliente.pas +++ b/Modulos/Facturas de cliente/Cliente/uEditorFacturasCliente.pas @@ -26,12 +26,17 @@ type procedure actEliminarExecute(Sender: TObject); procedure actModificarExecute(Sender: TObject); procedure actNuevoExecute(Sender: TObject); + procedure OnListaAnosChange(Sender: TObject; const Text: string); + procedure FormShow(Sender: TObject); + private FFacturasCliente: IBizFacturasCliente; + protected function GetFacturasCliente: IBizFacturasCliente; procedure SetFacturasCliente(const Value: IBizFacturasCliente); procedure SetViewGrid(const Value: IViewGrid); override; + public constructor Create(AOwner: TComponent); override; destructor Destroy; override; @@ -122,13 +127,20 @@ begin Result := FFacturasCliente; end; -procedure TfEditorFacturasCliente.SetFacturasCliente(const Value: - IBizFacturasCliente); +procedure TfEditorFacturasCliente.SetFacturasCliente(const Value: IBizFacturasCliente); begin FFacturasCliente := Value; - dsDataTable.DataTable := FFacturasCliente.DataTable; - if Assigned(ViewGrid) then - (ViewGrid as IViewFacturasCliente).FacturasCliente := FacturasCliente; + + if Assigned(FFacturasCliente) then + begin + //Se guarda el where de la sentencia origen, por si el editor tiene filtros que + //afecten a este where y en un futuro se desea volver al where origen (filtro de año)) + WhereDataTable := FFacturasCliente.DataTable.Where.Clause; + + dsDataTable.DataTable := FFacturasCliente.DataTable; + if Assigned(ViewGrid) then + (ViewGrid as IViewFacturasCliente).FacturasCliente := FacturasCliente; + end; end; procedure TfEditorFacturasCliente.SetViewGrid(const Value: IViewGrid); @@ -138,6 +150,21 @@ begin (ViewGrid as IViewFacturasCliente).FacturasCliente := FFacturasCliente; end; +procedure TfEditorFacturasCliente.FormShow(Sender: TObject); +begin + ListaAnos := dmFacturasCliente.DarListaAnosFacturas; + cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED + + inherited; +end; + +procedure TfEditorFacturasCliente.OnListaAnosChange(Sender: TObject; const Text: string); +begin + dmFacturasCliente.FiltrarAno(FacturasCliente, WhereDataTable, Text); + if FacturasCliente.DataTable.Active then + actRefrescar.Execute; +end; + initialization RegisterEditor(IBizFacturasCliente, ShowEditorFacturasCliente, etItems); RegisterEditor(IBizFacturasCliente, ShowSelectEditorFacturasCliente, etSelectItems); diff --git a/Modulos/Facturas de cliente/Reglas/schFacturasClienteClient_Intf.pas b/Modulos/Facturas de cliente/Reglas/schFacturasClienteClient_Intf.pas index 6884e8f..d00c30e 100644 --- a/Modulos/Facturas de cliente/Reglas/schFacturasClienteClient_Intf.pas +++ b/Modulos/Facturas de cliente/Reglas/schFacturasClienteClient_Intf.pas @@ -9,19 +9,27 @@ 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_DarReferenciaFactura = '{0A0311FE-E619-4E86-8FB5-DF8D223B48EA}'; - RID_FacturasCliente = '{896C2481-665F-4006-88F1-3C08F7AE938C}'; - RID_DetallesFacturasCliente = '{A966AEEF-FB48-42DA-A290-C9AD58B38E48}'; - RID_InformeCabeceraFacturaCliente = '{6652332A-E17A-44E7-9833-7CD70E9458C1}'; - RID_InformeDetallesFacturaCliente = '{D240F619-DD60-4E7F-AB3F-E2B401E3236D}'; + RID_ListaAnosFacturas = '{42919587-DDC2-4D2F-8B79-4C034016B877}'; + RID_DarReferenciaFactura = '{75D2C86E-2226-4165-AE57-6FBB114F6C38}'; + RID_FacturasCliente = '{46F2D1A1-F069-49C3-8FD7-F73A82EA4B30}'; + RID_DetallesFacturasCliente = '{BB44EE25-910C-4356-B962-792C1239F806}'; + RID_InformeCabeceraFacturaCliente = '{865C733F-2C85-46C9-A40C-8A022512FC4E}'; + RID_InformeDetallesFacturaCliente = '{E219BB9F-D3FD-438D-A03B-0E466305B8A9}'; { Data table names } + nme_ListaAnosFacturas = 'ListaAnosFacturas'; nme_DarReferenciaFactura = 'DarReferenciaFactura'; nme_FacturasCliente = 'FacturasCliente'; nme_DetallesFacturasCliente = 'DetallesFacturasCliente'; nme_InformeCabeceraFacturaCliente = 'InformeCabeceraFacturaCliente'; nme_InformeDetallesFacturaCliente = 'InformeDetallesFacturaCliente'; + { ListaAnosFacturas fields } + fld_ListaAnosFacturasANO = 'ANO'; + + { ListaAnosFacturas field indexes } + idx_ListaAnosFacturasANO = 0; + { DarReferenciaFactura fields } fld_DarReferenciaFacturaREFERENCIA = 'REFERENCIA'; @@ -165,9 +173,38 @@ const idx_InformeDetallesFacturaClientePOSICION = 7; type + { IListaAnosFacturas } + IListaAnosFacturas = interface(IDAStronglyTypedDataTable) + ['{728E1D30-3B2E-44F0-86B2-D18BDDE2C92C}'] + { Property getters and setters } + function GetANOValue: String; + procedure SetANOValue(const aValue: String); + + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + end; + + { TListaAnosFacturasDataTableRules } + TListaAnosFacturasDataTableRules = class(TDADataTableRules, IListaAnosFacturas) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + { IDarReferenciaFactura } IDarReferenciaFactura = interface(IDAStronglyTypedDataTable) - ['{3780860F-0689-4DB4-87ED-879E5E0974B9}'] + ['{E947ABD4-4AD9-41C2-9351-96CBCDFFF938}'] { Property getters and setters } function GetREFERENCIAValue: String; procedure SetREFERENCIAValue(const aValue: String); @@ -196,7 +233,7 @@ type { IFacturasCliente } IFacturasCliente = interface(IDAStronglyTypedDataTable) - ['{9AB55416-5EBD-4913-9D16-DFB75478A091}'] + ['{1D8ABDA0-4A60-4470-9880-627ED9D48B67}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -351,7 +388,7 @@ type { IDetallesFacturasCliente } IDetallesFacturasCliente = interface(IDAStronglyTypedDataTable) - ['{BF49E552-D331-4DD7-A1E9-6C246BE51E99}'] + ['{5D2C18DA-1596-42C5-B509-360BFB347BDD}'] { Property getters and setters } function GetCODIGOFACTURAValue: Integer; procedure SetCODIGOFACTURAValue(const aValue: Integer); @@ -428,7 +465,7 @@ type { IInformeCabeceraFacturaCliente } IInformeCabeceraFacturaCliente = interface(IDAStronglyTypedDataTable) - ['{3C1DD3E9-BFEC-479A-91BE-9703C511AA3B}'] + ['{64DCF384-1920-4E15-9B5A-BD3B2673C3C4}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -577,7 +614,7 @@ type { IInformeDetallesFacturaCliente } IInformeDetallesFacturaCliente = interface(IDAStronglyTypedDataTable) - ['{8A9BE448-C659-4CA5-8C7C-B916FBF7E9C1}'] + ['{398C14EC-410D-4756-B0B6-97EF74DA85D2}'] { Property getters and setters } function GetCODIGOFACTURAValue: Integer; procedure SetCODIGOFACTURAValue(const aValue: Integer); @@ -650,6 +687,28 @@ implementation uses Variants; +{ TListaAnosFacturasDataTableRules } +constructor TListaAnosFacturasDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TListaAnosFacturasDataTableRules.Destroy; +begin + inherited; +end; + +function TListaAnosFacturasDataTableRules.GetANOValue: String; +begin + result := DataTable.Fields[idx_ListaAnosFacturasANO].AsString; +end; + +procedure TListaAnosFacturasDataTableRules.SetANOValue(const aValue: String); +begin + DataTable.Fields[idx_ListaAnosFacturasANO].AsString := aValue; +end; + + { TDarReferenciaFacturaDataTableRules } constructor TDarReferenciaFacturaDataTableRules.Create(aDataTable: TDADataTable); begin @@ -1325,6 +1384,7 @@ end; initialization + RegisterDataTableRules(RID_ListaAnosFacturas, TListaAnosFacturasDataTableRules); RegisterDataTableRules(RID_DarReferenciaFactura, TDarReferenciaFacturaDataTableRules); RegisterDataTableRules(RID_FacturasCliente, TFacturasClienteDataTableRules); RegisterDataTableRules(RID_DetallesFacturasCliente, TDetallesFacturasClienteDataTableRules); diff --git a/Modulos/Facturas de cliente/Reglas/schFacturasClienteServer_Intf.pas b/Modulos/Facturas de cliente/Reglas/schFacturasClienteServer_Intf.pas index 337e7ca..b368a3e 100644 --- a/Modulos/Facturas de cliente/Reglas/schFacturasClienteServer_Intf.pas +++ b/Modulos/Facturas de cliente/Reglas/schFacturasClienteServer_Intf.pas @@ -9,16 +9,46 @@ 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_DarReferenciaFacturaDelta = '{F2A5D10C-55BF-43D0-BEE6-3712ED9D6EF7}'; - RID_FacturasClienteDelta = '{E5E319FF-A856-43F4-A936-9BEA61505D26}'; - RID_DetallesFacturasClienteDelta = '{7BDC4CEC-780B-4254-8D31-10F7DBDC2641}'; - RID_InformeCabeceraFacturaClienteDelta = '{4EB09950-01DA-4E9E-A3A2-DECCB3A7812F}'; - RID_InformeDetallesFacturaClienteDelta = '{6666A20D-5DCA-4D7C-9AAE-46BE7FEF57F6}'; + RID_ListaAnosFacturasDelta = '{4A3D7BF0-E719-4050-B586-158542987232}'; + RID_DarReferenciaFacturaDelta = '{83C26CE1-CD1F-49D4-9120-6EDE7CEEA2EA}'; + RID_FacturasClienteDelta = '{68C74297-5D44-444B-8771-A8E6D3D3271B}'; + RID_DetallesFacturasClienteDelta = '{BD1FD6EF-39D5-452F-9839-1629116AF11F}'; + RID_InformeCabeceraFacturaClienteDelta = '{790B67BB-36BD-484E-8E99-288CC4E12849}'; + RID_InformeDetallesFacturaClienteDelta = '{0EC5EBAE-B438-4B46-AC9F-C126476C5876}'; type + { IListaAnosFacturasDelta } + IListaAnosFacturasDelta = interface(IListaAnosFacturas) + ['{4A3D7BF0-E719-4050-B586-158542987232}'] + { Property getters and setters } + function GetOldANOValue : String; + + { Properties } + property OldANO : String read GetOldANOValue; + end; + + { TListaAnosFacturasBusinessProcessorRules } + TListaAnosFacturasBusinessProcessorRules = class(TDABusinessProcessorRules, IListaAnosFacturas, IListaAnosFacturasDelta) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + function GetOldANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + + { Properties } + property ANO : String read GetANOValue write SetANOValue; + property OldANO : String read GetOldANOValue; + + public + constructor Create(aBusinessProcessor: TDABusinessProcessor); override; + destructor Destroy; override; + + end; + { IDarReferenciaFacturaDelta } IDarReferenciaFacturaDelta = interface(IDarReferenciaFactura) - ['{F2A5D10C-55BF-43D0-BEE6-3712ED9D6EF7}'] + ['{83C26CE1-CD1F-49D4-9120-6EDE7CEEA2EA}'] { Property getters and setters } function GetOldREFERENCIAValue : String; @@ -47,7 +77,7 @@ type { IFacturasClienteDelta } IFacturasClienteDelta = interface(IFacturasCliente) - ['{E5E319FF-A856-43F4-A936-9BEA61505D26}'] + ['{68C74297-5D44-444B-8771-A8E6D3D3271B}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -223,7 +253,7 @@ type { IDetallesFacturasClienteDelta } IDetallesFacturasClienteDelta = interface(IDetallesFacturasCliente) - ['{7BDC4CEC-780B-4254-8D31-10F7DBDC2641}'] + ['{BD1FD6EF-39D5-452F-9839-1629116AF11F}'] { Property getters and setters } function GetOldCODIGOFACTURAValue : Integer; function GetOldNUMCONCEPTOValue : Integer; @@ -308,7 +338,7 @@ type { IInformeCabeceraFacturaClienteDelta } IInformeCabeceraFacturaClienteDelta = interface(IInformeCabeceraFacturaCliente) - ['{4EB09950-01DA-4E9E-A3A2-DECCB3A7812F}'] + ['{790B67BB-36BD-484E-8E99-288CC4E12849}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -477,7 +507,7 @@ type { IInformeDetallesFacturaClienteDelta } IInformeDetallesFacturaClienteDelta = interface(IInformeDetallesFacturaCliente) - ['{6666A20D-5DCA-4D7C-9AAE-46BE7FEF57F6}'] + ['{0EC5EBAE-B438-4B46-AC9F-C126476C5876}'] { Property getters and setters } function GetOldCODIGOFACTURAValue : Integer; function GetOldNUMCONCEPTOValue : Integer; @@ -558,6 +588,33 @@ implementation uses Variants, uROBinaryHelpers; +{ TListaAnosFacturasBusinessProcessorRules } +constructor TListaAnosFacturasBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TListaAnosFacturasBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TListaAnosFacturasBusinessProcessorRules.GetANOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosFacturasANO]; +end; + +function TListaAnosFacturasBusinessProcessorRules.GetOldANOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosFacturasANO]; +end; + +procedure TListaAnosFacturasBusinessProcessorRules.SetANOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosFacturasANO] := aValue; +end; + + { TDarReferenciaFacturaBusinessProcessorRules } constructor TDarReferenciaFacturaBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); begin @@ -1542,6 +1599,7 @@ end; initialization + RegisterBusinessProcessorRules(RID_ListaAnosFacturasDelta, TListaAnosFacturasBusinessProcessorRules); RegisterBusinessProcessorRules(RID_DarReferenciaFacturaDelta, TDarReferenciaFacturaBusinessProcessorRules); RegisterBusinessProcessorRules(RID_FacturasClienteDelta, TFacturasClienteBusinessProcessorRules); RegisterBusinessProcessorRules(RID_DetallesFacturasClienteDelta, TDetallesFacturasClienteBusinessProcessorRules); diff --git a/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm b/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm index d153933..44fedf5 100644 --- a/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm +++ b/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.dfm @@ -6,8 +6,8 @@ object srvFacturasCliente: TsrvFacturasCliente ConnectionName = 'IBX' ServiceSchema = schFacturasCliente ServiceAdapter = DABINAdapter - Left = 711 - Top = 310 + Left = 710 + Top = 270 Height = 490 Width = 347 object schFacturasCliente: TDASchema @@ -15,6 +15,39 @@ object srvFacturasCliente: TsrvFacturasCliente DataDictionary = dmServer.DataDictionary Diagrams = dmServer.DADiagrams Datasets = < + item + Params = <> + Statements = < + item + Connection = 'IBX' + SQL = + 'select ANO from'#10'(select distinct(substr(FECHAfactura, 1,4)) as A' + + 'NO'#10'from facturascliente'#10'order by 1 desc)'#10#10'UNION ALL'#10#10'select dist' + + 'inct '#39'Todos'#39' as ANO'#10'from empresas' + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'ANO' + TableField = 'ANO' + end> + end> + Name = 'ListaAnosFacturas' + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + BusinessRulesClient.ScriptLanguage = rslPascalScript + BusinessRulesServer.ScriptLanguage = rslPascalScript + end item Params = <> Statements = < diff --git a/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.pas b/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.pas index 5c588fe..bb8f0bf 100644 --- a/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.pas +++ b/Modulos/Facturas de cliente/Servidor/srvFacturasCliente_Impl.pas @@ -38,8 +38,8 @@ type frxDotMatrixExport1: TfrxDotMatrixExport; frxDialogControls1: TfrxDialogControls; DABINAdapter: TDABINAdapter; - schFacturasCliente: TDASchema; frxReport1: TfrxReport; + schFacturasCliente: TDASchema; private protected { IsrvFacturasCliente methods } diff --git a/Modulos/Facturas de proveedor/Cliente/FacturasProveedor.dcp b/Modulos/Facturas de proveedor/Cliente/FacturasProveedor.dcp index da62760..f7db2b8 100644 Binary files a/Modulos/Facturas de proveedor/Cliente/FacturasProveedor.dcp and b/Modulos/Facturas de proveedor/Cliente/FacturasProveedor.dcp differ diff --git a/Modulos/Facturas de proveedor/Cliente/uDataModuleFacturasProveedor.dfm b/Modulos/Facturas de proveedor/Cliente/uDataModuleFacturasProveedor.dfm index bf7eed8..ec3b382 100644 --- a/Modulos/Facturas de proveedor/Cliente/uDataModuleFacturasProveedor.dfm +++ b/Modulos/Facturas de proveedor/Cliente/uDataModuleFacturasProveedor.dfm @@ -448,4 +448,113 @@ object dmFacturasProveedor: TdmFacturasProveedor Left = 48 Top = 88 end + object tbl_ListaAnosFacturas: TDACDSDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + Params = <> + MasterMappingMode = mmDataRequest + StreamingOptions = [soDisableEventsWhileStreaming] + SchemaCall.MethodName = 'GetDatasetSchema' + SchemaCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'aDatasetName' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosFacturas' + end> + DataRequestCall.MethodName = 'GetDatasetDataEx' + DataRequestCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'DatasetName' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosFacturas' + end + item + Name = 'Params' + ParamType = fIn + DataType = rtUserDefined + UserClassName = 'TDADatasetParamArray' + end + item + Name = 'UserFilter' + ParamType = fIn + DataType = rtString + Value = '' + end + item + Name = 'IncludeSchema' + ParamType = fIn + DataType = rtBoolean + Value = False + end + item + Name = 'MaxRecords' + ParamType = fIn + DataType = rtInteger + Value = -1 + end> + DataUpdateCall.MethodName = 'UpdateData' + DataUpdateCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'Delta' + ParamType = fIn + DataType = rtBinary + end> + ScriptCall.MethodName = 'GetDatasetScripts' + ScriptCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtString + Value = '' + end + item + Name = 'DatasetNames' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosFacturas' + end> + ReadOnly = False + RemoteService = RORemoteService + Adapter = dmBase.DABINAdapter + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'ListaAnosFacturas' + IndexDefs = <> + Left = 152 + Top = 144 + end + object ds_ListaAnosFacturas: TDADataSource + DataTable = tbl_ListaAnosFacturas + Left = 152 + Top = 96 + end end diff --git a/Modulos/Facturas de proveedor/Cliente/uDataModuleFacturasProveedor.pas b/Modulos/Facturas de proveedor/Cliente/uDataModuleFacturasProveedor.pas index 7be506f..57953f5 100644 --- a/Modulos/Facturas de proveedor/Cliente/uDataModuleFacturasProveedor.pas +++ b/Modulos/Facturas de proveedor/Cliente/uDataModuleFacturasProveedor.pas @@ -14,6 +14,8 @@ type tbl_FacturasProveedor: TDACDSDataTable; ds_FacturasProveedor: TDADataSource; DADesigntimeCall1: TDADesigntimeCall; + tbl_ListaAnosFacturas: TDACDSDataTable; + ds_ListaAnosFacturas: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); private { Private declarations } @@ -22,6 +24,9 @@ type function GetItem: IBizFacturasProveedor; function GetItems: IBizFacturasProveedor; function PuedoEliminarFactura (CodigoFactura : Integer) : Boolean; + + function DarListaAnosFacturas: TStringList; + procedure FiltrarAno(AFacturas: IBizFacturasProveedor; AWhereDataTable: String; const Ano: String); end; var @@ -32,8 +37,8 @@ implementation {$R *.DFM} uses - Forms, Controls, uDataTableUtils, uBizContacto, - uDataModuleContactos, uDataModuleBase, + Forms, Controls, cxControls, uDataTableUtils, uBizContacto, + uDataModuleContactos, uDataModuleBase, uDAInterfaces, FactuGES_Intf, uEditorPreview, uROTypes, schFacturasProveedorClient_Intf; { TDAClientDataModule1 } @@ -121,6 +126,55 @@ begin Result := (RORemoteService as IsrvFacturasProveedor).PuedoEliminarFactura(CodigoFactura); end; +function TdmFacturasProveedor.DarListaAnosFacturas: TStringList; +var + AListaAnos: TStringList; +begin + AListaAnos := TStringList.Create; + ShowHourglassCursor; + try + with tbl_ListaAnosFacturas do + begin + Open; + First; + while not eof do + begin + AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString])); + Next; + end; + Close; + end; + Result := AListaAnos; + finally + HideHourglassCursor; + end; +end; + +procedure TdmFacturasProveedor.FiltrarAno(AFacturas: IBizFacturasProveedor; AWhereDataTable: String; const Ano: String); +var + FechaIni: String; + FechaFin: String; + +begin + AFacturas.DataTable.Where.Clear; + AFacturas.DataTable.Where.AddText(AWhereDataTable); + + if (Ano <> 'Todos') then + begin + // Filtrar los presupuestos actuales por años + FechaIni := '01.01.' + Ano; + FechaFin := '31.12.' + Ano; + with AFacturas.DataTable.Where do + begin + if NotEmpty then + AddOperator(opAND); + AddCondition(fld_FacturasProveedorFECHAFACTURA, cMajorOrEqual, FechaIni); + AddOperator(opAND); + AddCondition(fld_FacturasProveedorFECHAFACTURA, cLessOrEqual, FechaFin); + end; + end; +end; + initialization dmFacturasProveedor := TdmFacturasProveedor.Create(nil); diff --git a/Modulos/Facturas de proveedor/Cliente/uEditorFacturasProveedor.dfm b/Modulos/Facturas de proveedor/Cliente/uEditorFacturasProveedor.dfm index be04361..3074cec 100644 --- a/Modulos/Facturas de proveedor/Cliente/uEditorFacturasProveedor.dfm +++ b/Modulos/Facturas de proveedor/Cliente/uEditorFacturasProveedor.dfm @@ -36,7 +36,15 @@ inherited fEditorFacturasProveedor: TfEditorFacturasProveedor end end inherited tbxFiltro: TTBXToolbar - Left = 411 + inherited lblAno: TTBXLabelItem + Visible = True + end + inherited cbxListaAnos: TTBXComboBoxItem + Visible = True + end + inherited sepAno: TTBXSeparatorItem + Visible = True + end end end inherited EditorActionList: TActionList diff --git a/Modulos/Facturas de proveedor/Cliente/uEditorFacturasProveedor.pas b/Modulos/Facturas de proveedor/Cliente/uEditorFacturasProveedor.pas index 35434fd..7499693 100644 --- a/Modulos/Facturas de proveedor/Cliente/uEditorFacturasProveedor.pas +++ b/Modulos/Facturas de proveedor/Cliente/uEditorFacturasProveedor.pas @@ -24,6 +24,9 @@ type procedure actEliminarExecute(Sender: TObject); procedure actModificarExecute(Sender: TObject); procedure actNuevoExecute(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure OnListaAnosChange(Sender: TObject; const Text: string); + private FFacturasProveedor: IBizFacturasProveedor; protected @@ -137,6 +140,21 @@ begin (ViewGrid as IViewFacturasProveedor).FacturasProveedor := FFacturasProveedor; end; +procedure TfEditorFacturasProveedor.FormShow(Sender: TObject); +begin + ListaAnos := dmFacturasProveedor.DarListaAnosFacturas; + cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED + + inherited; +end; + +procedure TfEditorFacturasProveedor.OnListaAnosChange(Sender: TObject; const Text: string); +begin + dmFacturasProveedor.FiltrarAno(FacturasProveedor, WhereDataTable, Text); + if FacturasProveedor.DataTable.Active then + actRefrescar.Execute; +end; + initialization RegisterEditor(IBizFacturasProveedor, ShowEditorFacturasProveedor, etItems); RegisterEditor(IBizFacturasProveedor, ShowSelectEditorFacturasProveedor, etSelectItems); diff --git a/Modulos/Facturas de proveedor/Reglas/schFacturasProveedorClient_Intf.pas b/Modulos/Facturas de proveedor/Reglas/schFacturasProveedorClient_Intf.pas index a4f3aea..1a6cf62 100644 --- a/Modulos/Facturas de proveedor/Reglas/schFacturasProveedorClient_Intf.pas +++ b/Modulos/Facturas de proveedor/Reglas/schFacturasProveedorClient_Intf.pas @@ -9,11 +9,19 @@ 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_FacturasProveedor = '{3F8DC163-805B-44BC-9D8A-90A0A6527F1B}'; + RID_ListaAnosFacturas = '{A357058B-4217-48F4-A5D2-9C243409ABAE}'; + RID_FacturasProveedor = '{DF327921-CD7F-42FB-A1F9-0F1642C8826E}'; { Data table names } + nme_ListaAnosFacturas = 'ListaAnosFacturas'; nme_FacturasProveedor = 'FacturasProveedor'; + { ListaAnosFacturas fields } + fld_ListaAnosFacturasANO = 'ANO'; + + { ListaAnosFacturas field indexes } + idx_ListaAnosFacturasANO = 0; + { FacturasProveedor fields } fld_FacturasProveedorCODIGOEMPRESA = 'CODIGOEMPRESA'; fld_FacturasProveedorCODIGO = 'CODIGO'; @@ -63,9 +71,38 @@ const idx_FacturasProveedorPOBLACION = 21; type + { IListaAnosFacturas } + IListaAnosFacturas = interface(IDAStronglyTypedDataTable) + ['{BB47DCBF-79F2-4F47-B2FB-78344C6265D9}'] + { Property getters and setters } + function GetANOValue: String; + procedure SetANOValue(const aValue: String); + + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + end; + + { TListaAnosFacturasDataTableRules } + TListaAnosFacturasDataTableRules = class(TDADataTableRules, IListaAnosFacturas) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + { IFacturasProveedor } IFacturasProveedor = interface(IDAStronglyTypedDataTable) - ['{B8F57619-27F5-4D11-A277-5F3873F0A4E8}'] + ['{03DE23C9-A1E1-41CB-B3AB-4E923905D12C}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -222,6 +259,28 @@ implementation uses Variants; +{ TListaAnosFacturasDataTableRules } +constructor TListaAnosFacturasDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TListaAnosFacturasDataTableRules.Destroy; +begin + inherited; +end; + +function TListaAnosFacturasDataTableRules.GetANOValue: String; +begin + result := DataTable.Fields[idx_ListaAnosFacturasANO].AsString; +end; + +procedure TListaAnosFacturasDataTableRules.SetANOValue(const aValue: String); +begin + DataTable.Fields[idx_ListaAnosFacturasANO].AsString := aValue; +end; + + { TFacturasProveedorDataTableRules } constructor TFacturasProveedorDataTableRules.Create(aDataTable: TDADataTable); begin @@ -457,6 +516,7 @@ end; initialization + RegisterDataTableRules(RID_ListaAnosFacturas, TListaAnosFacturasDataTableRules); RegisterDataTableRules(RID_FacturasProveedor, TFacturasProveedorDataTableRules); end. diff --git a/Modulos/Facturas de proveedor/Reglas/schFacturasProveedorServer_Intf.pas b/Modulos/Facturas de proveedor/Reglas/schFacturasProveedorServer_Intf.pas index aec1e42..e751bfc 100644 --- a/Modulos/Facturas de proveedor/Reglas/schFacturasProveedorServer_Intf.pas +++ b/Modulos/Facturas de proveedor/Reglas/schFacturasProveedorServer_Intf.pas @@ -9,12 +9,42 @@ 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_FacturasProveedorDelta = '{F350F1F7-81A3-49B7-BD15-015F6A05A808}'; + RID_ListaAnosFacturasDelta = '{8208DBF7-1A9B-4F24-B4E8-18CF5DC51A1E}'; + RID_FacturasProveedorDelta = '{48F74298-152B-4B34-88EB-AF07A72D390A}'; type + { IListaAnosFacturasDelta } + IListaAnosFacturasDelta = interface(IListaAnosFacturas) + ['{8208DBF7-1A9B-4F24-B4E8-18CF5DC51A1E}'] + { Property getters and setters } + function GetOldANOValue : String; + + { Properties } + property OldANO : String read GetOldANOValue; + end; + + { TListaAnosFacturasBusinessProcessorRules } + TListaAnosFacturasBusinessProcessorRules = class(TDABusinessProcessorRules, IListaAnosFacturas, IListaAnosFacturasDelta) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + function GetOldANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + + { Properties } + property ANO : String read GetANOValue write SetANOValue; + property OldANO : String read GetOldANOValue; + + public + constructor Create(aBusinessProcessor: TDABusinessProcessor); override; + destructor Destroy; override; + + end; + { IFacturasProveedorDelta } IFacturasProveedorDelta = interface(IFacturasProveedor) - ['{F350F1F7-81A3-49B7-BD15-015F6A05A808}'] + ['{48F74298-152B-4B34-88EB-AF07A72D390A}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -193,6 +223,33 @@ implementation uses Variants, uROBinaryHelpers; +{ TListaAnosFacturasBusinessProcessorRules } +constructor TListaAnosFacturasBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TListaAnosFacturasBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TListaAnosFacturasBusinessProcessorRules.GetANOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosFacturasANO]; +end; + +function TListaAnosFacturasBusinessProcessorRules.GetOldANOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosFacturasANO]; +end; + +procedure TListaAnosFacturasBusinessProcessorRules.SetANOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosFacturasANO] := aValue; +end; + + { TFacturasProveedorBusinessProcessorRules } constructor TFacturasProveedorBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); begin @@ -540,6 +597,7 @@ end; initialization + RegisterBusinessProcessorRules(RID_ListaAnosFacturasDelta, TListaAnosFacturasBusinessProcessorRules); RegisterBusinessProcessorRules(RID_FacturasProveedorDelta, TFacturasProveedorBusinessProcessorRules); end. diff --git a/Modulos/Facturas de proveedor/Servidor/srvFacturasProveedor_Impl.dfm b/Modulos/Facturas de proveedor/Servidor/srvFacturasProveedor_Impl.dfm index f9b96ca..5bd02fc 100644 --- a/Modulos/Facturas de proveedor/Servidor/srvFacturasProveedor_Impl.dfm +++ b/Modulos/Facturas de proveedor/Servidor/srvFacturasProveedor_Impl.dfm @@ -7,7 +7,7 @@ object srvFacturasProveedor: TsrvFacturasProveedor ServiceSchema = schFacturasProveedor ServiceAdapter = DABINAdapter Left = 477 - Top = 382 + Top = 333 Height = 392 Width = 369 object schFacturasProveedor: TDASchema @@ -15,6 +15,39 @@ object srvFacturasProveedor: TsrvFacturasProveedor DataDictionary = dmServer.DataDictionary Diagrams = dmServer.DADiagrams Datasets = < + item + Params = <> + Statements = < + item + Connection = 'IBX' + SQL = + 'select ANO from'#10'(select distinct(substr(FECHAFACTURA, 1,4)) as A' + + 'NO'#10'from facturasproveedor'#10'order by 1 desc)'#10#10'UNION ALL'#10#10'select di' + + 'stinct '#39'Todos'#39' as ANO'#10'from empresas' + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'ANO' + TableField = 'ANO' + end> + end> + Name = 'ListaAnosFacturas' + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + BusinessRulesClient.ScriptLanguage = rslPascalScript + BusinessRulesServer.ScriptLanguage = rslPascalScript + end item Params = <> Statements = < diff --git a/Modulos/Facturas de proveedor/Servidor/srvFacturasProveedor_Impl.pas b/Modulos/Facturas de proveedor/Servidor/srvFacturasProveedor_Impl.pas index d470d8f..a74912d 100644 --- a/Modulos/Facturas de proveedor/Servidor/srvFacturasProveedor_Impl.pas +++ b/Modulos/Facturas de proveedor/Servidor/srvFacturasProveedor_Impl.pas @@ -20,8 +20,8 @@ uses type { TsrvFacturasProveedor } TsrvFacturasProveedor = class(TDARemoteService, IsrvFacturasProveedor) - schFacturasProveedor: TDASchema; DABINAdapter: TDABINAdapter; + schFacturasProveedor: TDASchema; private protected { IsrvFacturasProveedor methods } diff --git a/Modulos/Intervalos/Cliente/Intervalos.dcp b/Modulos/Intervalos/Cliente/Intervalos.dcp index 95da464..818d14c 100644 Binary files a/Modulos/Intervalos/Cliente/Intervalos.dcp and b/Modulos/Intervalos/Cliente/Intervalos.dcp differ diff --git a/Modulos/Intervalos/Servidor/srvIntervalos_Impl.dfm b/Modulos/Intervalos/Servidor/srvIntervalos_Impl.dfm index 7127f06..9b1b761 100644 --- a/Modulos/Intervalos/Servidor/srvIntervalos_Impl.dfm +++ b/Modulos/Intervalos/Servidor/srvIntervalos_Impl.dfm @@ -7,7 +7,7 @@ object srvIntervalos: TsrvIntervalos ServiceSchema = schIntervalos ServiceAdapter = DABINAdapter Left = 444 - Top = 205 + Top = 179 Height = 300 Width = 300 object schIntervalos: TDASchema diff --git a/Modulos/Montajes/Cliente/ArticulosMontaje.dcp b/Modulos/Montajes/Cliente/ArticulosMontaje.dcp index dc1043d..0629676 100644 Binary files a/Modulos/Montajes/Cliente/ArticulosMontaje.dcp and b/Modulos/Montajes/Cliente/ArticulosMontaje.dcp differ diff --git a/Modulos/Montajes/Cliente/Montajes_Impl.dcp b/Modulos/Montajes/Cliente/Montajes_Impl.dcp index 02aef2f..ade134f 100644 Binary files a/Modulos/Montajes/Cliente/Montajes_Impl.dcp and b/Modulos/Montajes/Cliente/Montajes_Impl.dcp differ diff --git a/Modulos/Montajes/Cliente/Montajes_Intf.dcp b/Modulos/Montajes/Cliente/Montajes_Intf.dcp index b02bc7f..7a949e3 100644 Binary files a/Modulos/Montajes/Cliente/Montajes_Intf.dcp and b/Modulos/Montajes/Cliente/Montajes_Intf.dcp differ diff --git a/Modulos/Montajes/Cliente/PedidosMontaje.dcp b/Modulos/Montajes/Cliente/PedidosMontaje.dcp index 3eebe67..4494ea9 100644 Binary files a/Modulos/Montajes/Cliente/PedidosMontaje.dcp and b/Modulos/Montajes/Cliente/PedidosMontaje.dcp differ diff --git a/Modulos/Montajes/Cliente/uDataModuleMontajes.dfm b/Modulos/Montajes/Cliente/uDataModuleMontajes.dfm index 79bf094..48ffff1 100644 --- a/Modulos/Montajes/Cliente/uDataModuleMontajes.dfm +++ b/Modulos/Montajes/Cliente/uDataModuleMontajes.dfm @@ -13,7 +13,7 @@ object dmMontajes: TdmMontajes Left = 564 Top = 347 Height = 335 - Width = 343 + Width = 536 object RORemoteService: TRORemoteService ServiceName = 'srvMontajes' Message = dmBase.ROMessage @@ -616,4 +616,113 @@ object dmMontajes: TdmMontajes Left = 240 Top = 200 end + object tbl_ListaAnosMontajes: TDACDSDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + Params = <> + MasterMappingMode = mmDataRequest + StreamingOptions = [soDisableEventsWhileStreaming] + SchemaCall.MethodName = 'GetDatasetSchema' + SchemaCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'aDatasetName' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosMontajes' + end> + DataRequestCall.MethodName = 'GetDatasetDataEx' + DataRequestCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'DatasetName' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosMontajes' + end + item + Name = 'Params' + ParamType = fIn + DataType = rtUserDefined + UserClassName = 'TDADatasetParamArray' + end + item + Name = 'UserFilter' + ParamType = fIn + DataType = rtString + Value = '' + end + item + Name = 'IncludeSchema' + ParamType = fIn + DataType = rtBoolean + Value = False + end + item + Name = 'MaxRecords' + ParamType = fIn + DataType = rtInteger + Value = -1 + end> + DataUpdateCall.MethodName = 'UpdateData' + DataUpdateCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'Delta' + ParamType = fIn + DataType = rtBinary + end> + ScriptCall.MethodName = 'GetDatasetScripts' + ScriptCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtString + Value = '' + end + item + Name = 'DatasetNames' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosMontajes' + end> + ReadOnly = False + RemoteService = RORemoteService + Adapter = DABINAdapter + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'ListaAnosMontajes' + IndexDefs = <> + Left = 344 + Top = 88 + end + object ds_ListaAnosMontajes: TDADataSource + DataTable = tbl_ListaAnosMontajes + Left = 344 + Top = 24 + end end diff --git a/Modulos/Montajes/Cliente/uDataModuleMontajes.pas b/Modulos/Montajes/Cliente/uDataModuleMontajes.pas index bdd04b4..5b7870f 100644 --- a/Modulos/Montajes/Cliente/uDataModuleMontajes.pas +++ b/Modulos/Montajes/Cliente/uDataModuleMontajes.pas @@ -18,6 +18,8 @@ type ds_FichaBeneficios: TDADataSource; tbl_FichaBeneficios_Aux: TDACDSDataTable; ds_FichaBeneficios_Aux: TDADataSource; + tbl_ListaAnosMontajes: TDACDSDataTable; + ds_ListaAnosMontajes: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); public function GetItems: IBizMontaje; overload; @@ -34,7 +36,10 @@ type function darFichaBeneficiosAux: IFichaBeneficios_Aux; procedure NuevoMontaje(AMontaje: IBizMontaje; APresupuesto: IBizPresupuestos); function CambiarSituacion(CodigoPresupuesto: Integer; Situacion: TEnumSituacion): String; - function DarNuevaReferencia (TipoMontaje : String) : String; + function DarNuevaReferencia (TipoMontaje : String) : String; + + function DarListaAnosMontajes: TStringList; + procedure FiltrarAno(AMontajes: IBizMontaje; AWhereDataTable: String; const Ano: String); end; var @@ -45,7 +50,7 @@ implementation {$R *.DFM} uses - Controls, Forms, uDAInterfaces, DataAbstract_Intf, FactuGES_Intf, + Controls, cxControls, Forms, uDAInterfaces, DataAbstract_Intf, FactuGES_Intf, uDataTableUtils, uROTypes, uEditorPreview, Dialogs, uDataModuleBase, uDBSelectionList, uDataModuleContactos, uDataModulePresupuestos; @@ -364,6 +369,55 @@ begin Result := (RORemoteService as IsrvMontajes).DarNuevaReferencia(TipoMontaje); end; +function TdmMontajes.DarListaAnosMontajes: TStringList; +var + AListaAnos: TStringList; +begin + AListaAnos := TStringList.Create; + ShowHourglassCursor; + try + with tbl_ListaAnosMontajes do + begin + Open; + First; + while not eof do + begin + AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString])); + Next; + end; + Close; + end; + Result := AListaAnos; + finally + HideHourglassCursor; + end; +end; + +procedure TdmMontajes.FiltrarAno(AMontajes: IBizMontaje; AWhereDataTable: String; const Ano: String); +var + FechaIni: String; + FechaFin: String; + +begin + AMontajes.DataTable.Where.Clear; + AMontajes.DataTable.Where.AddText(AWhereDataTable); + + if (Ano <> 'Todos') then + begin + // Filtrar los presupuestos actuales por años + FechaIni := '01.01.' + Ano; + FechaFin := '31.12.' + Ano; + with AMontajes.DataTable.Where do + begin + if NotEmpty then + AddOperator(opAND); + AddCondition(fld_MontajesFECHAINICIO, cMajorOrEqual, FechaIni); + AddOperator(opAND); + AddCondition(fld_MontajesFECHAINICIO, cLessOrEqual, FechaFin); + end; + end; +end; + initialization dmMontajes := TdmMontajes.Create(nil); diff --git a/Modulos/Montajes/Cliente/uEditorMontajes.dfm b/Modulos/Montajes/Cliente/uEditorMontajes.dfm index 428eb4e..df32aef 100644 --- a/Modulos/Montajes/Cliente/uEditorMontajes.dfm +++ b/Modulos/Montajes/Cliente/uEditorMontajes.dfm @@ -41,7 +41,15 @@ inherited fEditorMontajes: TfEditorMontajes inherited TBXDock: TTBXDock Width = 742 inherited tbxFiltro: TTBXToolbar - Left = 411 + inherited lblAno: TTBXLabelItem + Visible = True + end + inherited cbxListaAnos: TTBXComboBoxItem + Visible = True + end + inherited sepAno: TTBXSeparatorItem + Visible = True + end inherited tbxEditFiltro: TTBXEditItem EditOptions = [tboUseEditWhenVertical] end diff --git a/Modulos/Montajes/Cliente/uEditorMontajes.pas b/Modulos/Montajes/Cliente/uEditorMontajes.pas index 7055204..3eb6594 100644 --- a/Modulos/Montajes/Cliente/uEditorMontajes.pas +++ b/Modulos/Montajes/Cliente/uEditorMontajes.pas @@ -32,14 +32,18 @@ type procedure actModificarExecute(Sender: TObject); procedure actEliminarExecute(Sender: TObject); procedure frViewBarraSeleccionactSeleccionarExecute(Sender: TObject); + procedure OnListaAnosChange(Sender: TObject; const Text: string); + private FMontajes: IBizMontaje; + protected function GetMontajes: IBizMontaje; virtual; procedure SetMontajes(const Value: IBizMontaje); virtual; procedure SetViewGrid(const Value: IViewGrid); override; function GetSelectionBarVisible: Boolean; virtual; procedure SetSelectionBarVisible(const Value: Boolean); virtual; + public property SelectionBarVisible : Boolean read GetSelectionBarVisible write SetSelectionBarVisible; @@ -90,6 +94,9 @@ end; } procedure TfEditorMontajes.FormShow(Sender: TObject); begin + ListaAnos := dmMontajes.DarListaAnosMontajes; + cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED + inherited; if not Assigned(ViewGrid) then @@ -191,6 +198,13 @@ begin end; end; +procedure TfEditorMontajes.OnListaAnosChange(Sender: TObject; const Text: string); +begin + dmMontajes.FiltrarAno(Montajes, WhereDataTable, Text); + if Montajes.DataTable.Active then + actRefrescar.Execute; +end; + initialization RegisterEditor(IBizMontaje, ShowEditorMontajes, etItems); RegisterEditor(IBizMontaje, ShowSelectEditorMontajes, etSelectItems); diff --git a/Modulos/Montajes/Reglas/schMontajesClient_Intf.pas b/Modulos/Montajes/Reglas/schMontajesClient_Intf.pas index 52c6c65..10fe0e6 100644 --- a/Modulos/Montajes/Reglas/schMontajesClient_Intf.pas +++ b/Modulos/Montajes/Reglas/schMontajesClient_Intf.pas @@ -9,15 +9,17 @@ 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_darNuevaReferencia = '{6547ACA4-805B-4EE7-9499-2D0196BEFC6F}'; - RID_InformeCabeceraFicha = '{F09A7509-40A9-480E-8E43-F05EF537125E}'; - RID_Montajes = '{C70762DB-3285-4C26-888D-63B20160927C}'; - RID_Refresh_Montajes = '{40108B41-7E49-4883-9528-3FBD57B56703}'; - RID_FichaBeneficios = '{573182C2-5168-428D-99A9-5BFBA9E74705}'; - RID_InformeDetallesFicha = '{BA1E0ABA-559C-4A1A-B028-32382BB3111A}'; - RID_FichaBeneficios_Aux = '{706C0AC4-9532-4640-AAF4-BFA1DCD52D26}'; + RID_ListaAnosMontajes = '{8A77AA23-1850-4C51-9890-61883469A21D}'; + RID_darNuevaReferencia = '{98BF35DF-261B-4AF5-B3EC-024D293CB3BF}'; + RID_InformeCabeceraFicha = '{9FCA86CA-5B72-45D8-8B2E-623344608585}'; + RID_Montajes = '{EA56C374-7E7B-4FC5-8C42-1D65BA1BD7EF}'; + RID_Refresh_Montajes = '{A948AC0C-F4EF-465D-B2DD-FA4301D3B029}'; + RID_FichaBeneficios = '{8572BE0C-91B5-4D2C-B729-BB13BAEBC13D}'; + RID_InformeDetallesFicha = '{D3E3E171-62A4-465E-A954-3EDF6EB38F6F}'; + RID_FichaBeneficios_Aux = '{5D3EC453-7D49-4AB0-98C0-7F0807279919}'; { Data table names } + nme_ListaAnosMontajes = 'ListaAnosMontajes'; nme_darNuevaReferencia = 'darNuevaReferencia'; nme_InformeCabeceraFicha = 'InformeCabeceraFicha'; nme_Montajes = 'Montajes'; @@ -26,6 +28,12 @@ const nme_InformeDetallesFicha = 'InformeDetallesFicha'; nme_FichaBeneficios_Aux = 'FichaBeneficios_Aux'; + { ListaAnosMontajes fields } + fld_ListaAnosMontajesANO = 'ANO'; + + { ListaAnosMontajes field indexes } + idx_ListaAnosMontajesANO = 0; + { darNuevaReferencia fields } fld_darNuevaReferenciaREFERENCIA = 'REFERENCIA'; @@ -167,9 +175,38 @@ const idx_FichaBeneficios_AuxDESCRIPCION = 1; type + { IListaAnosMontajes } + IListaAnosMontajes = interface(IDAStronglyTypedDataTable) + ['{6FCA63AA-AE36-4EF9-BFCB-91693E467AE1}'] + { Property getters and setters } + function GetANOValue: String; + procedure SetANOValue(const aValue: String); + + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + end; + + { TListaAnosMontajesDataTableRules } + TListaAnosMontajesDataTableRules = class(TDADataTableRules, IListaAnosMontajes) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + { IdarNuevaReferencia } IdarNuevaReferencia = interface(IDAStronglyTypedDataTable) - ['{1D96C64B-6FB2-4AAF-8444-A92600498486}'] + ['{A6774E16-4A24-4A3D-A8D6-93ADD76C90AF}'] { Property getters and setters } function GetREFERENCIAValue: String; procedure SetREFERENCIAValue(const aValue: String); @@ -198,7 +235,7 @@ type { IInformeCabeceraFicha } IInformeCabeceraFicha = interface(IDAStronglyTypedDataTable) - ['{72D2A87F-6179-41A5-84D9-22060DEE9727}'] + ['{232A3364-2478-4717-BD42-3DBAE60B11CC}'] { Property getters and setters } function GetREFERENCIAValue: String; procedure SetREFERENCIAValue(const aValue: String); @@ -311,7 +348,7 @@ type { IMontajes } IMontajes = interface(IDAStronglyTypedDataTable) - ['{ECCCC9FA-E3EF-4F98-9B46-795A66D964DB}'] + ['{E50B9717-4671-4DC6-896B-F2C3EC14C399}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -412,7 +449,7 @@ type { IRefresh_Montajes } IRefresh_Montajes = interface(IDAStronglyTypedDataTable) - ['{FAB2B839-6970-4AB2-A8BC-088A8B74FDCC}'] + ['{B31A8001-6DF2-4389-9347-423642175B74}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -513,7 +550,7 @@ type { IFichaBeneficios } IFichaBeneficios = interface(IDAStronglyTypedDataTable) - ['{7C92B973-791A-477D-8DE0-BF61AF95236A}'] + ['{CBD6AD21-2417-45BD-B514-D9D3ACA64E4F}'] { Property getters and setters } function GetCODIGOMONTAJEValue: Integer; procedure SetCODIGOMONTAJEValue(const aValue: Integer); @@ -578,7 +615,7 @@ type { IInformeDetallesFicha } IInformeDetallesFicha = interface(IDAStronglyTypedDataTable) - ['{16284B23-DBDE-405F-9307-CAFDDB913576}'] + ['{CDD0B24E-43DC-4BE9-9451-49126D130C35}'] { Property getters and setters } function GetDESCRIPCIONValue: String; procedure SetDESCRIPCIONValue(const aValue: String); @@ -631,7 +668,7 @@ type { IFichaBeneficios_Aux } IFichaBeneficios_Aux = interface(IDAStronglyTypedDataTable) - ['{C14BE74A-4651-4387-A6E3-048197F0CAC9}'] + ['{AE5C37AD-B172-4181-8726-C94153D32E9B}'] { Property getters and setters } function GetNUMCONCEPTOValue: Integer; procedure SetNUMCONCEPTOValue(const aValue: Integer); @@ -668,6 +705,28 @@ implementation uses Variants; +{ TListaAnosMontajesDataTableRules } +constructor TListaAnosMontajesDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TListaAnosMontajesDataTableRules.Destroy; +begin + inherited; +end; + +function TListaAnosMontajesDataTableRules.GetANOValue: String; +begin + result := DataTable.Fields[idx_ListaAnosMontajesANO].AsString; +end; + +procedure TListaAnosMontajesDataTableRules.SetANOValue(const aValue: String); +begin + DataTable.Fields[idx_ListaAnosMontajesANO].AsString := aValue; +end; + + { TdarNuevaReferenciaDataTableRules } constructor TdarNuevaReferenciaDataTableRules.Create(aDataTable: TDADataTable); begin @@ -1316,6 +1375,7 @@ end; initialization + RegisterDataTableRules(RID_ListaAnosMontajes, TListaAnosMontajesDataTableRules); RegisterDataTableRules(RID_darNuevaReferencia, TdarNuevaReferenciaDataTableRules); RegisterDataTableRules(RID_InformeCabeceraFicha, TInformeCabeceraFichaDataTableRules); RegisterDataTableRules(RID_Montajes, TMontajesDataTableRules); diff --git a/Modulos/Montajes/Reglas/schMontajesServer_Intf.pas b/Modulos/Montajes/Reglas/schMontajesServer_Intf.pas index 409bb36..0b07d41 100644 --- a/Modulos/Montajes/Reglas/schMontajesServer_Intf.pas +++ b/Modulos/Montajes/Reglas/schMontajesServer_Intf.pas @@ -9,18 +9,48 @@ 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_darNuevaReferenciaDelta = '{5C9B1530-2031-47B8-A401-B55FE08E3EB7}'; - RID_InformeCabeceraFichaDelta = '{F5A62AC1-DF4E-4510-942E-3595C5BC5137}'; - RID_MontajesDelta = '{939D89F0-AEBE-4E5F-9F1C-05829C1C9AD4}'; - RID_Refresh_MontajesDelta = '{A7E3BF24-EC68-403B-9732-11DA2807356E}'; - RID_FichaBeneficiosDelta = '{E6D1DA2C-DE89-4F62-B1C1-8DE78BBF1F76}'; - RID_InformeDetallesFichaDelta = '{FAC578F4-482B-4E46-8C07-D7C521604FCA}'; - RID_FichaBeneficios_AuxDelta = '{3E015966-D349-4153-B8F8-4F083CD724F5}'; + RID_ListaAnosMontajesDelta = '{A1079675-6804-43A1-8113-4C69034E612B}'; + RID_darNuevaReferenciaDelta = '{B926E1E9-D5FE-4AD9-81B6-6DB568BAF1AC}'; + RID_InformeCabeceraFichaDelta = '{295D1406-43D2-4AB6-90C5-3C77F026EEF1}'; + RID_MontajesDelta = '{2E686B2F-A149-44D8-B8A0-978EF00888B3}'; + RID_Refresh_MontajesDelta = '{A0465C98-DB95-4236-B3CE-5D2580AED7A0}'; + RID_FichaBeneficiosDelta = '{E75F17B7-C959-49D7-84B3-55AA239759FC}'; + RID_InformeDetallesFichaDelta = '{E97CAB1B-CCB0-4710-95F3-9AD8D1C9305F}'; + RID_FichaBeneficios_AuxDelta = '{BB83B8A0-16FB-43C4-8776-0A2DDCE8A85B}'; type + { IListaAnosMontajesDelta } + IListaAnosMontajesDelta = interface(IListaAnosMontajes) + ['{A1079675-6804-43A1-8113-4C69034E612B}'] + { Property getters and setters } + function GetOldANOValue : String; + + { Properties } + property OldANO : String read GetOldANOValue; + end; + + { TListaAnosMontajesBusinessProcessorRules } + TListaAnosMontajesBusinessProcessorRules = class(TDABusinessProcessorRules, IListaAnosMontajes, IListaAnosMontajesDelta) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + function GetOldANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + + { Properties } + property ANO : String read GetANOValue write SetANOValue; + property OldANO : String read GetOldANOValue; + + public + constructor Create(aBusinessProcessor: TDABusinessProcessor); override; + destructor Destroy; override; + + end; + { IdarNuevaReferenciaDelta } IdarNuevaReferenciaDelta = interface(IdarNuevaReferencia) - ['{5C9B1530-2031-47B8-A401-B55FE08E3EB7}'] + ['{B926E1E9-D5FE-4AD9-81B6-6DB568BAF1AC}'] { Property getters and setters } function GetOldREFERENCIAValue : String; @@ -49,7 +79,7 @@ type { IInformeCabeceraFichaDelta } IInformeCabeceraFichaDelta = interface(IInformeCabeceraFicha) - ['{F5A62AC1-DF4E-4510-942E-3595C5BC5137}'] + ['{295D1406-43D2-4AB6-90C5-3C77F026EEF1}'] { Property getters and setters } function GetOldREFERENCIAValue : String; function GetOldFECHAINICIOValue : DateTime; @@ -176,7 +206,7 @@ type { IMontajesDelta } IMontajesDelta = interface(IMontajes) - ['{939D89F0-AEBE-4E5F-9F1C-05829C1C9AD4}'] + ['{2E686B2F-A149-44D8-B8A0-978EF00888B3}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -289,7 +319,7 @@ type { IRefresh_MontajesDelta } IRefresh_MontajesDelta = interface(IRefresh_Montajes) - ['{A7E3BF24-EC68-403B-9732-11DA2807356E}'] + ['{A0465C98-DB95-4236-B3CE-5D2580AED7A0}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -402,7 +432,7 @@ type { IFichaBeneficiosDelta } IFichaBeneficiosDelta = interface(IFichaBeneficios) - ['{E6D1DA2C-DE89-4F62-B1C1-8DE78BBF1F76}'] + ['{E75F17B7-C959-49D7-84B3-55AA239759FC}'] { Property getters and setters } function GetOldCODIGOMONTAJEValue : Integer; function GetOldNUMCONCEPTOValue : Integer; @@ -473,7 +503,7 @@ type { IInformeDetallesFichaDelta } IInformeDetallesFichaDelta = interface(IInformeDetallesFicha) - ['{FAC578F4-482B-4E46-8C07-D7C521604FCA}'] + ['{E97CAB1B-CCB0-4710-95F3-9AD8D1C9305F}'] { Property getters and setters } function GetOldDESCRIPCIONValue : String; function GetOldMODELOValue : String; @@ -530,7 +560,7 @@ type { IFichaBeneficios_AuxDelta } IFichaBeneficios_AuxDelta = interface(IFichaBeneficios_Aux) - ['{3E015966-D349-4153-B8F8-4F083CD724F5}'] + ['{BB83B8A0-16FB-43C4-8776-0A2DDCE8A85B}'] { Property getters and setters } function GetOldNUMCONCEPTOValue : Integer; function GetOldDESCRIPCIONValue : String; @@ -569,6 +599,33 @@ implementation uses Variants, uROBinaryHelpers; +{ TListaAnosMontajesBusinessProcessorRules } +constructor TListaAnosMontajesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TListaAnosMontajesBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TListaAnosMontajesBusinessProcessorRules.GetANOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosMontajesANO]; +end; + +function TListaAnosMontajesBusinessProcessorRules.GetOldANOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosMontajesANO]; +end; + +procedure TListaAnosMontajesBusinessProcessorRules.SetANOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosMontajesANO] := aValue; +end; + + { TdarNuevaReferenciaBusinessProcessorRules } constructor TdarNuevaReferenciaBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); begin @@ -1500,6 +1557,7 @@ end; initialization + RegisterBusinessProcessorRules(RID_ListaAnosMontajesDelta, TListaAnosMontajesBusinessProcessorRules); RegisterBusinessProcessorRules(RID_darNuevaReferenciaDelta, TdarNuevaReferenciaBusinessProcessorRules); RegisterBusinessProcessorRules(RID_InformeCabeceraFichaDelta, TInformeCabeceraFichaBusinessProcessorRules); RegisterBusinessProcessorRules(RID_MontajesDelta, TMontajesBusinessProcessorRules); diff --git a/Modulos/Montajes/Servidor/srvMontajes_Impl.dfm b/Modulos/Montajes/Servidor/srvMontajes_Impl.dfm index df13eca..9f7c7f8 100644 --- a/Modulos/Montajes/Servidor/srvMontajes_Impl.dfm +++ b/Modulos/Montajes/Servidor/srvMontajes_Impl.dfm @@ -5,8 +5,8 @@ object srvMontajes: TsrvMontajes ConnectionName = 'IBX' ServiceSchema = schMontajes ServiceAdapter = DABINAdapter - Left = 648 - Top = 207 + Left = 647 + Top = 181 Height = 356 Width = 300 object bpMontajes: TDABusinessProcessor @@ -26,6 +26,39 @@ object srvMontajes: TsrvMontajes DataDictionary = dmServer.DataDictionary Diagrams = dmServer.DADiagrams Datasets = < + item + Params = <> + Statements = < + item + Connection = 'IBX' + SQL = + 'select ANO from'#10'(select distinct(substr(FECHAINICIO, 1,4)) as AN' + + 'O'#10'from montajes'#10'order by 1 desc)'#10#10'UNION ALL'#10#10'select distinct '#39'To' + + 'dos'#39' as ANO'#10'from empresas' + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'ANO' + TableField = 'ANO' + end> + end> + Name = 'ListaAnosMontajes' + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + BusinessRulesClient.ScriptLanguage = rslPascalScript + BusinessRulesServer.ScriptLanguage = rslPascalScript + end item Params = < item diff --git a/Modulos/Pagos/Cliente/Pagos.dcp b/Modulos/Pagos/Cliente/Pagos.dcp index 7cd2ab8..bbaae76 100644 Binary files a/Modulos/Pagos/Cliente/Pagos.dcp and b/Modulos/Pagos/Cliente/Pagos.dcp differ diff --git a/Modulos/Pagos/Cliente/uDataModulePagos.dfm b/Modulos/Pagos/Cliente/uDataModulePagos.dfm index fab0ad9..56b6bc5 100644 --- a/Modulos/Pagos/Cliente/uDataModulePagos.dfm +++ b/Modulos/Pagos/Cliente/uDataModulePagos.dfm @@ -305,4 +305,113 @@ object dmPagos: TdmPagos Left = 232 Top = 24 end + object tbl_ListaAnosPagos: TDACDSDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + Params = <> + MasterMappingMode = mmDataRequest + StreamingOptions = [soDisableEventsWhileStreaming] + SchemaCall.MethodName = 'GetDatasetSchema' + SchemaCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'aDatasetName' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosPagos' + end> + DataRequestCall.MethodName = 'GetDatasetDataEx' + DataRequestCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'DatasetName' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosPagos' + end + item + Name = 'Params' + ParamType = fIn + DataType = rtUserDefined + UserClassName = 'TDADatasetParamArray' + end + item + Name = 'UserFilter' + ParamType = fIn + DataType = rtString + Value = '' + end + item + Name = 'IncludeSchema' + ParamType = fIn + DataType = rtBoolean + Value = False + end + item + Name = 'MaxRecords' + ParamType = fIn + DataType = rtInteger + Value = -1 + end> + DataUpdateCall.MethodName = 'UpdateData' + DataUpdateCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'Delta' + ParamType = fIn + DataType = rtBinary + end> + ScriptCall.MethodName = 'GetDatasetScripts' + ScriptCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtString + Value = '' + end + item + Name = 'DatasetNames' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosPagos' + end> + ReadOnly = False + RemoteService = RORemoteService + Adapter = DABINAdapter + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'ListaAnosPagos' + IndexDefs = <> + Left = 128 + Top = 120 + end + object ds_ListaAnosPagos: TDADataSource + DataTable = tbl_ListaAnosPagos + Left = 128 + Top = 64 + end end diff --git a/Modulos/Pagos/Cliente/uDataModulePagos.pas b/Modulos/Pagos/Cliente/uDataModulePagos.pas index d41278e..b205277 100644 --- a/Modulos/Pagos/Cliente/uDataModulePagos.pas +++ b/Modulos/Pagos/Cliente/uDataModulePagos.pas @@ -14,6 +14,8 @@ type RORemoteService: TRORemoteService; tbl_Pagos: TDACDSDataTable; ds_Pagos: TDADataSource; + tbl_ListaAnosPagos: TDACDSDataTable; + ds_ListaAnosPagos: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); private function GetPagos(CodigoCategoria : Integer): IBizPagos; @@ -31,6 +33,9 @@ type function PuedoEliminarAlmacen(Codigo : Integer) : Boolean; function AnadirPagoCliente(Cliente: IBizCliente; CodigoPresupuesto: Integer; Descripcion: Variant; Importe: Currency; var FechaPago: TDateTime): Boolean; + + function DarListaAnosPagos: TStringList; + procedure FiltrarAno(APagos: IBizPagos; AWhereDataTable: String; const Ano: String); end; var @@ -41,7 +46,7 @@ implementation {$R *.DFM} uses - Controls, Forms, uDAInterfaces, DataAbstract_Intf, FactuGES_Intf, + Controls, cxControls, Forms, uDAInterfaces, DataAbstract_Intf, FactuGES_Intf, uDataTableUtils, uROTypes, uEditorPreview, Dialogs, uDataModuleBase, schPagosClient_Intf, uDataModuleMontajes, uBizMontajes; @@ -82,6 +87,55 @@ begin RORemoteService.Message := dmBase.Message; end; +function TdmPagos.DarListaAnosPagos: TStringList; +var + AListaAnos: TStringList; +begin + AListaAnos := TStringList.Create; + ShowHourglassCursor; + try + with tbl_ListaAnosPagos do + begin + Open; + First; + while not eof do + begin + AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString])); + Next; + end; + Close; + end; + Result := AListaAnos; + finally + HideHourglassCursor; + end; +end; + +procedure TdmPagos.FiltrarAno(APagos: IBizPagos; AWhereDataTable: String; const Ano: String); +var + FechaIni: String; + FechaFin: String; + +begin + APagos.DataTable.Where.Clear; + APagos.DataTable.Where.AddText(AWhereDataTable); + + if (Ano <> 'Todos') then + begin + // Filtrar los presupuestos actuales por años + FechaIni := '01.01.' + Ano; + FechaFin := '31.12.' + Ano; + with APagos.DataTable.Where do + begin + if NotEmpty then + AddOperator(opAND); + AddCondition(fld_PagosFECHAPAGO, cMajorOrEqual, FechaIni); + AddOperator(opAND); + AddCondition(fld_PagosFECHAPAGO, cLessOrEqual, FechaFin); + end; + end; +end; + function TdmPagos.GetItems: IBizPagos; var dtPagos: TDACDSDataTable; diff --git a/Modulos/Pagos/Cliente/uEditorPagos.dfm b/Modulos/Pagos/Cliente/uEditorPagos.dfm index d2dda22..0e3a302 100644 --- a/Modulos/Pagos/Cliente/uEditorPagos.dfm +++ b/Modulos/Pagos/Cliente/uEditorPagos.dfm @@ -9,7 +9,15 @@ inherited fEditorPagos: TfEditorPagos end inherited TBXDock: TTBXDock inherited tbxFiltro: TTBXToolbar - Left = 411 + inherited lblAno: TTBXLabelItem + Visible = True + end + inherited cbxListaAnos: TTBXComboBoxItem + Visible = True + end + inherited sepAno: TTBXSeparatorItem + Visible = True + end inherited tbxEditFiltro: TTBXEditItem EditOptions = [tboUseEditWhenVertical] end diff --git a/Modulos/Pagos/Cliente/uEditorPagos.pas b/Modulos/Pagos/Cliente/uEditorPagos.pas index 4ce7039..19b42d5 100644 --- a/Modulos/Pagos/Cliente/uEditorPagos.pas +++ b/Modulos/Pagos/Cliente/uEditorPagos.pas @@ -21,15 +21,19 @@ type end; TfEditorPagos = class(TfEditorGrid, IEditorPagos) - procedure FormShow(Sender: TObject); procedure actNuevoExecute(Sender: TObject); procedure actModificarExecute(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure OnListaAnosChange(Sender: TObject; const Text: string); + private FPagos: IBizPagos; + protected function GetPagos: IBizPagos; virtual; procedure SetPagos(const Value: IBizPagos); virtual; procedure SetViewGrid(const Value: IViewGrid); override; + public property Pagos: IBizPagos read GetPagos write SetPagos; destructor Destroy; override; @@ -50,6 +54,9 @@ uses } procedure TfEditorPagos.FormShow(Sender: TObject); begin + ListaAnos := dmPagos.DarListaAnosPagos; + cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED + inherited; if not Assigned(ViewGrid) then @@ -58,7 +65,7 @@ begin if not Assigned(Pagos) then raise Exception.Create('No hay ningún Pago asignado'); - Pagos.DataTable.Active := True; +// Pagos.DataTable.Active := True; end; function TfEditorPagos.GetPagos: IBizPagos; @@ -69,9 +76,17 @@ end; procedure TfEditorPagos.SetPagos(const Value: IBizPagos); begin FPagos := Value; - dsDataTable.DataTable := FPagos.DataTable; - if Assigned(ViewGrid) then - (ViewGrid as IViewPagos).Pagos := Pagos; + + if Assigned(FPagos) then + begin + //Se guarda el where de la sentencia origen, por si el editor tiene filtros que + //afecten a este where y en un futuro se desea volver al where origen (filtro de año)) + WhereDataTable := FPagos.DataTable.Where.Clause; + + dsDataTable.DataTable := FPagos.DataTable; + if Assigned(ViewGrid) then + (ViewGrid as IViewPagos).Pagos := Pagos; + end; end; procedure TfEditorPagos.actNuevoExecute(Sender: TObject); @@ -104,5 +119,12 @@ begin inherited; end; +procedure TfEditorPagos.OnListaAnosChange(Sender: TObject; const Text: string); +begin + dmPagos.FiltrarAno(Pagos, WhereDataTable, Text); + if Pagos.DataTable.Active then + actRefrescar.Execute; +end; + end. diff --git a/Modulos/Pagos/Reglas/schPagosClient_Intf.pas b/Modulos/Pagos/Reglas/schPagosClient_Intf.pas index 4aed960..de116d5 100644 --- a/Modulos/Pagos/Reglas/schPagosClient_Intf.pas +++ b/Modulos/Pagos/Reglas/schPagosClient_Intf.pas @@ -9,12 +9,14 @@ 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_InformeCabeceraPago = '{15DB645D-82F8-47D2-B265-F96587E77C7B}'; - RID_Pagos = '{B164F992-38BF-4CC5-89D1-01472F107C3E}'; - RID_Refresh_Pagos = '{CBBD3913-987D-4199-9F0D-F76BB9557BA3}'; + RID_InformeCabeceraPago = '{B59F93CF-6EAF-4991-B028-BB0CCE36364E}'; + RID_ListaAnosPagos = '{850055F7-8D08-4539-AB66-5DA63D40E26A}'; + RID_Pagos = '{29B2AF5B-087B-4E74-83F7-8D96ECEC370C}'; + RID_Refresh_Pagos = '{7E9A215E-D8F2-452C-83EB-36815D1F2E30}'; { Data table names } nme_InformeCabeceraPago = 'InformeCabeceraPago'; + nme_ListaAnosPagos = 'ListaAnosPagos'; nme_Pagos = 'Pagos'; nme_Refresh_Pagos = 'Refresh_Pagos'; @@ -50,6 +52,12 @@ const idx_InformeCabeceraPagoPOBLACION = 12; idx_InformeCabeceraPagoPROVINCIA = 13; + { ListaAnosPagos fields } + fld_ListaAnosPagosANO = 'ANO'; + + { ListaAnosPagos field indexes } + idx_ListaAnosPagosANO = 0; + { Pagos fields } fld_PagosCODIGOEMPRESA = 'CODIGOEMPRESA'; fld_PagosCODIGO = 'CODIGO'; @@ -117,7 +125,7 @@ const type { IInformeCabeceraPago } IInformeCabeceraPago = interface(IDAStronglyTypedDataTable) - ['{D34C282C-0A16-4856-93A2-761BCC9E74B6}'] + ['{148B6411-0D8B-49BB-BB6D-B7EC3E511B59}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -222,9 +230,38 @@ type end; + { IListaAnosPagos } + IListaAnosPagos = interface(IDAStronglyTypedDataTable) + ['{1FB6B43B-966A-47CA-BACF-1BC4BBF28F54}'] + { Property getters and setters } + function GetANOValue: String; + procedure SetANOValue(const aValue: String); + + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + end; + + { TListaAnosPagosDataTableRules } + TListaAnosPagosDataTableRules = class(TDADataTableRules, IListaAnosPagos) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + { IPagos } IPagos = interface(IDAStronglyTypedDataTable) - ['{0B093D73-8029-4287-A384-410C43F01D94}'] + ['{26CF2773-53D4-4547-A06B-7E5C1A131C5A}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -331,7 +368,7 @@ type { IRefresh_Pagos } IRefresh_Pagos = interface(IDAStronglyTypedDataTable) - ['{62CDC2A7-3320-400F-817E-059D1FCB917E}'] + ['{D6BB1255-4087-475E-AC3E-54FD4FA60158}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -592,6 +629,28 @@ begin end; +{ TListaAnosPagosDataTableRules } +constructor TListaAnosPagosDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TListaAnosPagosDataTableRules.Destroy; +begin + inherited; +end; + +function TListaAnosPagosDataTableRules.GetANOValue: String; +begin + result := DataTable.Fields[idx_ListaAnosPagosANO].AsString; +end; + +procedure TListaAnosPagosDataTableRules.SetANOValue(const aValue: String); +begin + DataTable.Fields[idx_ListaAnosPagosANO].AsString := aValue; +end; + + { TPagosDataTableRules } constructor TPagosDataTableRules.Create(aDataTable: TDADataTable); begin @@ -900,6 +959,7 @@ end; initialization RegisterDataTableRules(RID_InformeCabeceraPago, TInformeCabeceraPagoDataTableRules); + RegisterDataTableRules(RID_ListaAnosPagos, TListaAnosPagosDataTableRules); RegisterDataTableRules(RID_Pagos, TPagosDataTableRules); RegisterDataTableRules(RID_Refresh_Pagos, TRefresh_PagosDataTableRules); diff --git a/Modulos/Pagos/Reglas/schPagosServer_Intf.pas b/Modulos/Pagos/Reglas/schPagosServer_Intf.pas index 5e42102..3d5f262 100644 --- a/Modulos/Pagos/Reglas/schPagosServer_Intf.pas +++ b/Modulos/Pagos/Reglas/schPagosServer_Intf.pas @@ -9,14 +9,15 @@ 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_InformeCabeceraPagoDelta = '{435D82E6-79DC-40E5-8832-EA15AE38CFB2}'; - RID_PagosDelta = '{C8AD6796-7481-4F57-AF85-C283AAF1DF27}'; - RID_Refresh_PagosDelta = '{3A452B1A-45BD-4837-8F96-86D8F5B8F80E}'; + RID_InformeCabeceraPagoDelta = '{FC7F498A-8050-4BDE-A554-9C74657C161A}'; + RID_ListaAnosPagosDelta = '{FB96D6D8-C3F2-4F99-B469-E697516F65C6}'; + RID_PagosDelta = '{4F690594-2042-436F-B8F7-EA4D4E766C33}'; + RID_Refresh_PagosDelta = '{BBAE7331-5759-4693-A233-6EBD8A2B340E}'; type { IInformeCabeceraPagoDelta } IInformeCabeceraPagoDelta = interface(IInformeCabeceraPago) - ['{435D82E6-79DC-40E5-8832-EA15AE38CFB2}'] + ['{FC7F498A-8050-4BDE-A554-9C74657C161A}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -134,9 +135,38 @@ type end; + { IListaAnosPagosDelta } + IListaAnosPagosDelta = interface(IListaAnosPagos) + ['{FB96D6D8-C3F2-4F99-B469-E697516F65C6}'] + { Property getters and setters } + function GetOldANOValue : String; + + { Properties } + property OldANO : String read GetOldANOValue; + end; + + { TListaAnosPagosBusinessProcessorRules } + TListaAnosPagosBusinessProcessorRules = class(TDABusinessProcessorRules, IListaAnosPagos, IListaAnosPagosDelta) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + function GetOldANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + + { Properties } + property ANO : String read GetANOValue write SetANOValue; + property OldANO : String read GetOldANOValue; + + public + constructor Create(aBusinessProcessor: TDABusinessProcessor); override; + destructor Destroy; override; + + end; + { IPagosDelta } IPagosDelta = interface(IPagos) - ['{C8AD6796-7481-4F57-AF85-C283AAF1DF27}'] + ['{4F690594-2042-436F-B8F7-EA4D4E766C33}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -256,7 +286,7 @@ type { IRefresh_PagosDelta } IRefresh_PagosDelta = interface(IRefresh_Pagos) - ['{3A452B1A-45BD-4837-8F96-86D8F5B8F80E}'] + ['{BBAE7331-5759-4693-A233-6EBD8A2B340E}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -601,6 +631,33 @@ begin end; +{ TListaAnosPagosBusinessProcessorRules } +constructor TListaAnosPagosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TListaAnosPagosBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TListaAnosPagosBusinessProcessorRules.GetANOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosPagosANO]; +end; + +function TListaAnosPagosBusinessProcessorRules.GetOldANOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosPagosANO]; +end; + +procedure TListaAnosPagosBusinessProcessorRules.SetANOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosPagosANO] := aValue; +end; + + { TPagosBusinessProcessorRules } constructor TPagosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); begin @@ -1051,6 +1108,7 @@ end; initialization RegisterBusinessProcessorRules(RID_InformeCabeceraPagoDelta, TInformeCabeceraPagoBusinessProcessorRules); + RegisterBusinessProcessorRules(RID_ListaAnosPagosDelta, TListaAnosPagosBusinessProcessorRules); RegisterBusinessProcessorRules(RID_PagosDelta, TPagosBusinessProcessorRules); RegisterBusinessProcessorRules(RID_Refresh_PagosDelta, TRefresh_PagosBusinessProcessorRules); diff --git a/Modulos/Pagos/Servidor/srvPagos_Impl.dfm b/Modulos/Pagos/Servidor/srvPagos_Impl.dfm index e615c4a..8ca5589 100644 --- a/Modulos/Pagos/Servidor/srvPagos_Impl.dfm +++ b/Modulos/Pagos/Servidor/srvPagos_Impl.dfm @@ -7,7 +7,7 @@ object srvPagos: TsrvPagos ServiceSchema = schPagos ServiceAdapter = DABINAdapter Left = 345 - Top = 452 + Top = 394 Height = 300 Width = 300 object schPagos: TDASchema @@ -259,6 +259,39 @@ object srvPagos: TsrvPagos BusinessRulesClient.ScriptLanguage = rslPascalScript BusinessRulesServer.ScriptLanguage = rslPascalScript end + item + Params = <> + Statements = < + item + Connection = 'IBX' + SQL = + 'select ANO from'#10'(select distinct(substr(FECHAPago, 1,4)) as ANO'#10 + + 'from pagos'#10'order by 1 desc)'#10#10'UNION ALL'#10#10'select distinct '#39'Todos'#39' ' + + 'as ANO'#10'from empresas' + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'ANO' + TableField = 'ANO' + end> + end> + Name = 'ListaAnosPagos' + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + BusinessRulesClient.ScriptLanguage = rslPascalScript + BusinessRulesServer.ScriptLanguage = rslPascalScript + end item Params = <> Statements = < @@ -931,7 +964,7 @@ object srvPagos: TsrvPagos Top = 16 end object frxReport1: TfrxReport - Version = '3.15' + Version = '3.23.7' DotMatrixReport = False EngineOptions.DoublePass = True IniFile = '\Software\Fast Reports' diff --git a/Modulos/Pagos/Servidor/srvPagos_Impl.pas b/Modulos/Pagos/Servidor/srvPagos_Impl.pas index 2bb9fc1..6cf5da3 100644 --- a/Modulos/Pagos/Servidor/srvPagos_Impl.pas +++ b/Modulos/Pagos/Servidor/srvPagos_Impl.pas @@ -26,8 +26,8 @@ type tbl_Pagos: TDACDSDataTable; DADataCabecera: TDADataSource; frxReport1: TfrxReport; - schPagos: TDASchema; DABINAdapter: TDABINAdapter; + schPagos: TDASchema; private protected function GetNextAutoinc: Integer; diff --git a/Modulos/Pedidos a proveedor/Cliente/PedidosProveedor.dcp b/Modulos/Pedidos a proveedor/Cliente/PedidosProveedor.dcp index c646ba8..62373f4 100644 Binary files a/Modulos/Pedidos a proveedor/Cliente/PedidosProveedor.dcp and b/Modulos/Pedidos a proveedor/Cliente/PedidosProveedor.dcp differ diff --git a/Modulos/Pedidos a proveedor/Cliente/uDataModulePedidosProveedor.dfm b/Modulos/Pedidos a proveedor/Cliente/uDataModulePedidosProveedor.dfm index 94d5493..899bc34 100644 --- a/Modulos/Pedidos a proveedor/Cliente/uDataModulePedidosProveedor.dfm +++ b/Modulos/Pedidos a proveedor/Cliente/uDataModulePedidosProveedor.dfm @@ -611,4 +611,113 @@ object dmPedidos: TdmPedidos Left = 288 Top = 24 end + object tbl_ListaAnosPedidos: TDACDSDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + Params = <> + MasterMappingMode = mmDataRequest + StreamingOptions = [soDisableEventsWhileStreaming] + SchemaCall.MethodName = 'GetDatasetSchema' + SchemaCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'aDatasetName' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosPedidos' + end> + DataRequestCall.MethodName = 'GetDatasetDataEx' + DataRequestCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'DatasetName' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosPedidos' + end + item + Name = 'Params' + ParamType = fIn + DataType = rtUserDefined + UserClassName = 'TDADatasetParamArray' + end + item + Name = 'UserFilter' + ParamType = fIn + DataType = rtString + Value = '' + end + item + Name = 'IncludeSchema' + ParamType = fIn + DataType = rtBoolean + Value = False + end + item + Name = 'MaxRecords' + ParamType = fIn + DataType = rtInteger + Value = -1 + end> + DataUpdateCall.MethodName = 'UpdateData' + DataUpdateCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'Delta' + ParamType = fIn + DataType = rtBinary + end> + ScriptCall.MethodName = 'GetDatasetScripts' + ScriptCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtString + Value = '' + end + item + Name = 'DatasetNames' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosPedidos' + end> + ReadOnly = False + RemoteService = RORemoteService + Adapter = DABinAdapter + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'ListaAnosPedidos' + IndexDefs = <> + Left = 56 + Top = 184 + end + object ds_ListaAnosPedidos: TDADataSource + DataTable = tbl_ListaAnosPedidos + Left = 48 + Top = 136 + end end diff --git a/Modulos/Pedidos a proveedor/Cliente/uDataModulePedidosProveedor.pas b/Modulos/Pedidos a proveedor/Cliente/uDataModulePedidosProveedor.pas index 6e1a336..9cb1539 100644 --- a/Modulos/Pedidos a proveedor/Cliente/uDataModulePedidosProveedor.pas +++ b/Modulos/Pedidos a proveedor/Cliente/uDataModulePedidosProveedor.pas @@ -16,6 +16,8 @@ type ds_DetallesPedidosProveedor: TDADataSource; tbl_PedidosProveedor: TDACDSDataTable; ds_PedidosProveedor: TDADataSource; + tbl_ListaAnosPedidos: TDACDSDataTable; + ds_ListaAnosPedidos: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); { private procedure Fax (AFile : String);} @@ -28,7 +30,10 @@ type function GetItemsPendientesRecepcion: IBizPedidosProveedor; function GetItem(Codigo : Integer): IBizPedidosProveedor; function DarNuevaReferencia : String; - function PuedoEliminarPedido(Codigo : Integer) : Boolean; + function PuedoEliminarPedido(Codigo : Integer) : Boolean; + + function DarListaAnosPedidos: TStringList; + procedure FiltrarAno(APedidos: IBizPedidosProveedor; AWhereDataTable: String; const Ano: String); end; var @@ -39,7 +44,7 @@ implementation {$R *.DFM} uses - Forms, Controls, uDataTableUtils, uBizContacto, FactuGES_Intf, + Forms, Controls, cxControls, uDataTableUtils, uBizContacto, FactuGES_Intf, uDataModuleContactos, uDataModuleBase, schPedidosProveedorClient_Intf, uDAInterfaces, uEditorPreview, Dialogs; @@ -199,6 +204,55 @@ begin end; end;} +function TdmPedidos.DarListaAnosPedidos: TStringList; +var + AListaAnos: TStringList; +begin + AListaAnos := TStringList.Create; + ShowHourglassCursor; + try + with tbl_ListaAnosPedidos do + begin + Open; + First; + while not eof do + begin + AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString])); + Next; + end; + Close; + end; + Result := AListaAnos; + finally + HideHourglassCursor; + end; +end; + +procedure TdmPedidos.FiltrarAno(APedidos: IBizPedidosProveedor; AWhereDataTable: String; const Ano: String); +var + FechaIni: String; + FechaFin: String; + +begin + APedidos.DataTable.Where.Clear; + APedidos.DataTable.Where.AddText(AWhereDataTable); + + if (Ano <> 'Todos') then + begin + // Filtrar los pedidos actuales por años + FechaIni := '01.01.' + Ano; + FechaFin := '31.12.' + Ano; + with APedidos.DataTable.Where do + begin + if NotEmpty then + AddOperator(opAND); + AddCondition(fld_PedidosProveedorFECHAPEDIDO, cMajorOrEqual, FechaIni); + AddOperator(opAND); + AddCondition(fld_PedidosProveedorFECHAPEDIDO, cLessOrEqual, FechaFin); + end; + end; +end; + initialization dmPedidos := TdmPedidos.Create(nil); diff --git a/Modulos/Pedidos a proveedor/Cliente/uEditorPedidosProveedor.dfm b/Modulos/Pedidos a proveedor/Cliente/uEditorPedidosProveedor.dfm index eb1e6b8..591e503 100644 --- a/Modulos/Pedidos a proveedor/Cliente/uEditorPedidosProveedor.dfm +++ b/Modulos/Pedidos a proveedor/Cliente/uEditorPedidosProveedor.dfm @@ -35,13 +35,21 @@ inherited fEditorPedidosProveedor: TfEditorPedidosProveedor end inherited TBXDock: TTBXDock inherited tbxFiltro: TTBXToolbar - Left = 482 + inherited lblAno: TTBXLabelItem + Visible = True + end + inherited cbxListaAnos: TTBXComboBoxItem + Visible = True + end + inherited sepAno: TTBXSeparatorItem + Visible = True + end end end inline frViewBarraSeleccion: TfrViewBarraSeleccion [3] Left = 0 Top = 395 - Width = 707 + Width = 706 Height = 37 Align = alBottom AutoScroll = False @@ -56,7 +64,7 @@ inherited fEditorPedidosProveedor: TfEditorPedidosProveedor ReadOnly = False inherited pnlSeleccion: TPanel Top = 0 - Width = 707 + Width = 706 inherited bSeleccionar: TButton Left = 550 end diff --git a/Modulos/Pedidos a proveedor/Cliente/uEditorPedidosProveedor.pas b/Modulos/Pedidos a proveedor/Cliente/uEditorPedidosProveedor.pas index 777b637..5ef3d14 100644 --- a/Modulos/Pedidos a proveedor/Cliente/uEditorPedidosProveedor.pas +++ b/Modulos/Pedidos a proveedor/Cliente/uEditorPedidosProveedor.pas @@ -29,21 +29,24 @@ type procedure frViewBarraSeleccionactSeleccionarExecute(Sender: TObject); procedure frViewBarraSeleccionbCancelarClick(Sender: TObject); procedure actDuplicarExecute(Sender: TObject); + procedure OnListaAnosChange(Sender: TObject; const Text: string); + procedure FormShow(Sender: TObject); + private FPedidosProveedor: IBizPedidosProveedor; + protected function GetPedidosProveedor: IBizPedidosProveedor; function GetSelectionBarVisible: Boolean; procedure SetPedidosProveedor(const Value: IBizPedidosProveedor); procedure SetSelectionBarVisible(const Value: Boolean); procedure SetViewGrid(const Value: IViewGrid); override; + public constructor Create(AOwner: TComponent); override; destructor Destroy; override; - property PedidosProveedor: IBizPedidosProveedor read GetPedidosProveedor write - SetPedidosProveedor; - property SelectionBarVisible: Boolean read GetSelectionBarVisible write - SetSelectionBarVisible; + property PedidosProveedor: IBizPedidosProveedor read GetPedidosProveedor write SetPedidosProveedor; + property SelectionBarVisible: Boolean read GetSelectionBarVisible write SetSelectionBarVisible; end; var @@ -184,6 +187,22 @@ begin // ViewGrid.GotoFirst; end; +procedure TfEditorPedidosProveedor.OnListaAnosChange(Sender: TObject; + const Text: string); +begin + dmPedidos.FiltrarAno(PedidosProveedor, WhereDataTable, Text); + if PedidosProveedor.DataTable.Active then + actRefrescar.Execute; +end; + +procedure TfEditorPedidosProveedor.FormShow(Sender: TObject); +begin + ListaAnos := dmPedidos.DarListaAnosPedidos; + cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED + + inherited; +end; + initialization RegisterEditor(IBizPedidosProveedor, ShowEditorPedidosProveedor, etItems); RegisterEditor(IBizPedidosProveedor, ShowSelectEditorPedidosProveedor, etSelectItems); diff --git a/Modulos/Pedidos a proveedor/Reglas/schPedidosProveedorClient_Intf.pas b/Modulos/Pedidos a proveedor/Reglas/schPedidosProveedorClient_Intf.pas index 011675d..10f3efe 100644 --- a/Modulos/Pedidos a proveedor/Reglas/schPedidosProveedorClient_Intf.pas +++ b/Modulos/Pedidos a proveedor/Reglas/schPedidosProveedorClient_Intf.pas @@ -9,16 +9,18 @@ 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_darReferenciaPedido = '{505FD1BA-CDDC-4703-8DD7-3D2BDD241D2E}'; - RID_DetallesPedidosProveedor = '{FBD0F0E0-3295-4D79-863F-FC778E6787E2}'; - RID_PedidosProveedor = '{45DBB351-50FF-4444-A2BA-305E6D011C02}'; - RID_Refresh_PedidosProveedor = '{139C4281-92C5-4431-B4BB-E51B6D4CBC8A}'; - RID_InformeCabeceraPedido = '{4D5A204C-EE0C-4C02-B954-C305CE082250}'; - RID_InformeDetallesPedido = '{5EB109BB-A440-4768-A612-6A04E27E451D}'; + RID_darReferenciaPedido = '{3B002028-795E-4D3E-AFC5-A1D21AC442E3}'; + RID_DetallesPedidosProveedor = '{3052F8C1-9E64-4C97-AC67-3CBDCD3B7E2E}'; + RID_ListaAnosPedidos = '{954E9284-FE16-4847-8094-359A86E7F733}'; + RID_PedidosProveedor = '{40ACE341-D7B5-4619-9D19-D3A0BEAD3A3E}'; + RID_Refresh_PedidosProveedor = '{808987D2-D222-43AB-B8B5-4180683C7955}'; + RID_InformeCabeceraPedido = '{2C8C37B1-EE18-4CA7-8078-D8BA9B4355C6}'; + RID_InformeDetallesPedido = '{3C6B060F-68EB-4A3C-8DC4-5EF3C99BFD5B}'; { Data table names } nme_darReferenciaPedido = 'darReferenciaPedido'; nme_DetallesPedidosProveedor = 'DetallesPedidosProveedor'; + nme_ListaAnosPedidos = 'ListaAnosPedidos'; nme_PedidosProveedor = 'PedidosProveedor'; nme_Refresh_PedidosProveedor = 'Refresh_PedidosProveedor'; nme_InformeCabeceraPedido = 'InformeCabeceraPedido'; @@ -48,6 +50,12 @@ const idx_DetallesPedidosProveedorPOSICION = 6; idx_DetallesPedidosProveedorTIPO = 7; + { ListaAnosPedidos fields } + fld_ListaAnosPedidosANO = 'ANO'; + + { ListaAnosPedidos field indexes } + idx_ListaAnosPedidosANO = 0; + { PedidosProveedor fields } fld_PedidosProveedorCODIGOEMPRESA = 'CODIGOEMPRESA'; fld_PedidosProveedorCODIGO = 'CODIGO'; @@ -199,7 +207,7 @@ const type { IdarReferenciaPedido } IdarReferenciaPedido = interface(IDAStronglyTypedDataTable) - ['{0F22273C-9C50-4C0B-A525-91B8A4A2B810}'] + ['{18C748BC-1317-4E78-B489-08E7B08EE6DC}'] { Property getters and setters } @@ -222,7 +230,7 @@ type { IDetallesPedidosProveedor } IDetallesPedidosProveedor = interface(IDAStronglyTypedDataTable) - ['{85D589DA-23C9-4E5C-A8D5-E9C5FE0C299C}'] + ['{7F82D076-A16A-4224-8E51-C0B633DE871A}'] { Property getters and setters } function GetCODIGOPEDIDOValue: Integer; procedure SetCODIGOPEDIDOValue(const aValue: Integer); @@ -291,9 +299,38 @@ type end; + { IListaAnosPedidos } + IListaAnosPedidos = interface(IDAStronglyTypedDataTable) + ['{F60E3C70-E432-46AC-A1A9-179DED53654C}'] + { Property getters and setters } + function GetANOValue: String; + procedure SetANOValue(const aValue: String); + + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + end; + + { TListaAnosPedidosDataTableRules } + TListaAnosPedidosDataTableRules = class(TDADataTableRules, IListaAnosPedidos) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + { IPedidosProveedor } IPedidosProveedor = interface(IDAStronglyTypedDataTable) - ['{A3234350-6EC1-44E2-914A-4F402CAD1C21}'] + ['{F3788442-CDBC-42DC-A0E7-9694796FC10B}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -442,7 +479,7 @@ type { IRefresh_PedidosProveedor } IRefresh_PedidosProveedor = interface(IDAStronglyTypedDataTable) - ['{6F81940D-E091-4CCF-87B5-3D18484BF359}'] + ['{BDBAF845-6E60-4488-9165-A5D2BDB6355D}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -591,7 +628,7 @@ type { IInformeCabeceraPedido } IInformeCabeceraPedido = interface(IDAStronglyTypedDataTable) - ['{D3E6B5DA-06AA-442B-89E8-53CF2ACC19ED}'] + ['{6F1EB595-8513-4BCA-BC28-6D939D39E2A2}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -710,7 +747,7 @@ type { IInformeDetallesPedido } IInformeDetallesPedido = interface(IDAStronglyTypedDataTable) - ['{7800BEA2-1E81-406B-9107-3E56B0A796B6}'] + ['{4461E273-1874-4E87-84F3-C8A69C2F5F81}'] { Property getters and setters } function GetCODIGOPEDIDOValue: Integer; procedure SetCODIGOPEDIDOValue(const aValue: Integer); @@ -887,6 +924,28 @@ begin end; +{ TListaAnosPedidosDataTableRules } +constructor TListaAnosPedidosDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TListaAnosPedidosDataTableRules.Destroy; +begin + inherited; +end; + +function TListaAnosPedidosDataTableRules.GetANOValue: String; +begin + result := DataTable.Fields[idx_ListaAnosPedidosANO].AsString; +end; + +procedure TListaAnosPedidosDataTableRules.SetANOValue(const aValue: String); +begin + DataTable.Fields[idx_ListaAnosPedidosANO].AsString := aValue; +end; + + { TPedidosProveedorDataTableRules } constructor TPedidosProveedorDataTableRules.Create(aDataTable: TDADataTable); begin @@ -1606,6 +1665,7 @@ end; initialization RegisterDataTableRules(RID_darReferenciaPedido, TdarReferenciaPedidoDataTableRules); RegisterDataTableRules(RID_DetallesPedidosProveedor, TDetallesPedidosProveedorDataTableRules); + RegisterDataTableRules(RID_ListaAnosPedidos, TListaAnosPedidosDataTableRules); RegisterDataTableRules(RID_PedidosProveedor, TPedidosProveedorDataTableRules); RegisterDataTableRules(RID_Refresh_PedidosProveedor, TRefresh_PedidosProveedorDataTableRules); RegisterDataTableRules(RID_InformeCabeceraPedido, TInformeCabeceraPedidoDataTableRules); diff --git a/Modulos/Pedidos a proveedor/Reglas/schPedidosProveedorServer_Intf.pas b/Modulos/Pedidos a proveedor/Reglas/schPedidosProveedorServer_Intf.pas index bff05e3..23ce135 100644 --- a/Modulos/Pedidos a proveedor/Reglas/schPedidosProveedorServer_Intf.pas +++ b/Modulos/Pedidos a proveedor/Reglas/schPedidosProveedorServer_Intf.pas @@ -9,17 +9,18 @@ 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_darReferenciaPedidoDelta = '{BD698220-2611-41EB-89F0-E844371835DD}'; - RID_DetallesPedidosProveedorDelta = '{A69EEC04-2DA2-41D3-90B3-F3DDFDF124AB}'; - RID_PedidosProveedorDelta = '{C14C1230-236A-46C3-91AF-903D77FA30EE}'; - RID_Refresh_PedidosProveedorDelta = '{9FC9D322-C920-4E9A-8CEA-23CD43B052ED}'; - RID_InformeCabeceraPedidoDelta = '{FF0381B3-8498-47B0-96EA-FE9723B370A6}'; - RID_InformeDetallesPedidoDelta = '{011AA7C9-CDEC-493F-BA61-F01B37E0F0C3}'; + RID_darReferenciaPedidoDelta = '{6B5B16E9-5B36-4082-A757-7B0429D1B110}'; + RID_DetallesPedidosProveedorDelta = '{43C91112-A2EE-4A9E-83B2-BEF9CB6A2DE3}'; + RID_ListaAnosPedidosDelta = '{081EB504-A5DD-4B18-B47C-13DBF134B88D}'; + RID_PedidosProveedorDelta = '{1DDF0247-6AED-4F12-AB3D-187CD8742029}'; + RID_Refresh_PedidosProveedorDelta = '{1FA69710-D78F-4702-BB9C-FED9D0EF34FF}'; + RID_InformeCabeceraPedidoDelta = '{AAA39823-20B1-40CA-B150-B1DD9366F5F9}'; + RID_InformeDetallesPedidoDelta = '{48CFF8AA-9EEB-4068-AB9E-362E5700810A}'; type { IdarReferenciaPedidoDelta } IdarReferenciaPedidoDelta = interface(IdarReferenciaPedido) - ['{BD698220-2611-41EB-89F0-E844371835DD}'] + ['{6B5B16E9-5B36-4082-A757-7B0429D1B110}'] { Property getters and setters } { Properties } @@ -41,7 +42,7 @@ type { IDetallesPedidosProveedorDelta } IDetallesPedidosProveedorDelta = interface(IDetallesPedidosProveedor) - ['{A69EEC04-2DA2-41D3-90B3-F3DDFDF124AB}'] + ['{43C91112-A2EE-4A9E-83B2-BEF9CB6A2DE3}'] { Property getters and setters } function GetOldCODIGOPEDIDOValue : Integer; function GetOldNUMCONCEPTOValue : Integer; @@ -117,9 +118,38 @@ type end; + { IListaAnosPedidosDelta } + IListaAnosPedidosDelta = interface(IListaAnosPedidos) + ['{081EB504-A5DD-4B18-B47C-13DBF134B88D}'] + { Property getters and setters } + function GetOldANOValue : String; + + { Properties } + property OldANO : String read GetOldANOValue; + end; + + { TListaAnosPedidosBusinessProcessorRules } + TListaAnosPedidosBusinessProcessorRules = class(TDABusinessProcessorRules, IListaAnosPedidos, IListaAnosPedidosDelta) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + function GetOldANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + + { Properties } + property ANO : String read GetANOValue write SetANOValue; + property OldANO : String read GetOldANOValue; + + public + constructor Create(aBusinessProcessor: TDABusinessProcessor); override; + destructor Destroy; override; + + end; + { IPedidosProveedorDelta } IPedidosProveedorDelta = interface(IPedidosProveedor) - ['{C14C1230-236A-46C3-91AF-903D77FA30EE}'] + ['{1DDF0247-6AED-4F12-AB3D-187CD8742029}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -288,7 +318,7 @@ type { IRefresh_PedidosProveedorDelta } IRefresh_PedidosProveedorDelta = interface(IRefresh_PedidosProveedor) - ['{9FC9D322-C920-4E9A-8CEA-23CD43B052ED}'] + ['{1FA69710-D78F-4702-BB9C-FED9D0EF34FF}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -457,7 +487,7 @@ type { IInformeCabeceraPedidoDelta } IInformeCabeceraPedidoDelta = interface(IInformeCabeceraPedido) - ['{FF0381B3-8498-47B0-96EA-FE9723B370A6}'] + ['{AAA39823-20B1-40CA-B150-B1DD9366F5F9}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -591,7 +621,7 @@ type { IInformeDetallesPedidoDelta } IInformeDetallesPedidoDelta = interface(IInformeDetallesPedido) - ['{011AA7C9-CDEC-493F-BA61-F01B37E0F0C3}'] + ['{48CFF8AA-9EEB-4068-AB9E-362E5700810A}'] { Property getters and setters } function GetOldCODIGOPEDIDOValue : Integer; function GetOldNUMCONCEPTOValue : Integer; @@ -816,6 +846,33 @@ begin end; +{ TListaAnosPedidosBusinessProcessorRules } +constructor TListaAnosPedidosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TListaAnosPedidosBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TListaAnosPedidosBusinessProcessorRules.GetANOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosPedidosANO]; +end; + +function TListaAnosPedidosBusinessProcessorRules.GetOldANOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosPedidosANO]; +end; + +procedure TListaAnosPedidosBusinessProcessorRules.SetANOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosPedidosANO] := aValue; +end; + + { TPedidosProveedorBusinessProcessorRules } constructor TPedidosProveedorBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); begin @@ -1873,6 +1930,7 @@ end; initialization RegisterBusinessProcessorRules(RID_darReferenciaPedidoDelta, TdarReferenciaPedidoBusinessProcessorRules); RegisterBusinessProcessorRules(RID_DetallesPedidosProveedorDelta, TDetallesPedidosProveedorBusinessProcessorRules); + RegisterBusinessProcessorRules(RID_ListaAnosPedidosDelta, TListaAnosPedidosBusinessProcessorRules); RegisterBusinessProcessorRules(RID_PedidosProveedorDelta, TPedidosProveedorBusinessProcessorRules); RegisterBusinessProcessorRules(RID_Refresh_PedidosProveedorDelta, TRefresh_PedidosProveedorBusinessProcessorRules); RegisterBusinessProcessorRules(RID_InformeCabeceraPedidoDelta, TInformeCabeceraPedidoBusinessProcessorRules); diff --git a/Modulos/Pedidos a proveedor/Servidor/srvPedidosProveedor_Impl.dfm b/Modulos/Pedidos a proveedor/Servidor/srvPedidosProveedor_Impl.dfm index a90e4a1..9fa674e 100644 --- a/Modulos/Pedidos a proveedor/Servidor/srvPedidosProveedor_Impl.dfm +++ b/Modulos/Pedidos a proveedor/Servidor/srvPedidosProveedor_Impl.dfm @@ -7,7 +7,7 @@ object srvPedidosProveedor: TsrvPedidosProveedor ServiceSchema = schPedidosProveedor ServiceAdapter = DABINAdapter Left = 445 - Top = 306 + Top = 267 Height = 459 Width = 300 object schPedidosProveedor: TDASchema @@ -169,6 +169,39 @@ object srvPedidosProveedor: TsrvPedidosProveedor BusinessRulesClient.ScriptLanguage = rslPascalScript BusinessRulesServer.ScriptLanguage = rslPascalScript end + item + Params = <> + Statements = < + item + Connection = 'IBX' + SQL = + 'select ANO from'#10'(select distinct(substr(FECHAPEDIDO, 1,4)) as AN' + + 'O'#10'from pedidos'#10'order by 1 desc)'#10#10'UNION ALL'#10#10'select distinct '#39'Tod' + + 'os'#39' as ANO'#10'from empresas' + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'ANO' + TableField = 'ANO' + end> + end> + Name = 'ListaAnosPedidos' + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + BusinessRulesClient.ScriptLanguage = rslPascalScript + BusinessRulesServer.ScriptLanguage = rslPascalScript + end item Params = <> Statements = < diff --git a/Modulos/Pedidos a proveedor/Servidor/srvPedidosProveedor_Impl.pas b/Modulos/Pedidos a proveedor/Servidor/srvPedidosProveedor_Impl.pas index 67a8382..40efd07 100644 --- a/Modulos/Pedidos a proveedor/Servidor/srvPedidosProveedor_Impl.pas +++ b/Modulos/Pedidos a proveedor/Servidor/srvPedidosProveedor_Impl.pas @@ -34,9 +34,9 @@ type IBDataSet2: TIBDataSet; DataSource1: TDataSource; DataSource2: TDataSource; - schPedidosProveedor: TDASchema; DABINAdapter: TDABINAdapter; frxReport1: TfrxReport; + schPedidosProveedor: TDASchema; private protected function GetNextAutoinc: Integer; diff --git a/Modulos/Presupuestos/Cliente/Presupuestos.dcp b/Modulos/Presupuestos/Cliente/Presupuestos.dcp index f0f0d45..8e90b2e 100644 Binary files a/Modulos/Presupuestos/Cliente/Presupuestos.dcp and b/Modulos/Presupuestos/Cliente/Presupuestos.dcp differ diff --git a/Modulos/Presupuestos/Cliente/Presupuestos_Intf.dcp b/Modulos/Presupuestos/Cliente/Presupuestos_Intf.dcp index 5f1e078..9322dae 100644 Binary files a/Modulos/Presupuestos/Cliente/Presupuestos_Intf.dcp and b/Modulos/Presupuestos/Cliente/Presupuestos_Intf.dcp differ diff --git a/Modulos/Presupuestos/Cliente/uDataModulePresupuestos.dfm b/Modulos/Presupuestos/Cliente/uDataModulePresupuestos.dfm index e77399b..1142ebf 100644 --- a/Modulos/Presupuestos/Cliente/uDataModulePresupuestos.dfm +++ b/Modulos/Presupuestos/Cliente/uDataModulePresupuestos.dfm @@ -702,4 +702,113 @@ object dmPresupuestos: TdmPresupuestos Left = 296 Top = 40 end + object tbl_ListaAnosPresupuestos: TDACDSDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + Params = <> + MasterMappingMode = mmDataRequest + StreamingOptions = [soDisableEventsWhileStreaming] + SchemaCall.MethodName = 'GetDatasetSchema' + SchemaCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'aDatasetName' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosPresupuestos' + end> + DataRequestCall.MethodName = 'GetDatasetDataEx' + DataRequestCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'DatasetName' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosPresupuestos' + end + item + Name = 'Params' + ParamType = fIn + DataType = rtUserDefined + UserClassName = 'TDADatasetParamArray' + end + item + Name = 'UserFilter' + ParamType = fIn + DataType = rtString + Value = '' + end + item + Name = 'IncludeSchema' + ParamType = fIn + DataType = rtBoolean + Value = False + end + item + Name = 'MaxRecords' + ParamType = fIn + DataType = rtInteger + Value = -1 + end> + DataUpdateCall.MethodName = 'UpdateData' + DataUpdateCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'Delta' + ParamType = fIn + DataType = rtBinary + end> + ScriptCall.MethodName = 'GetDatasetScripts' + ScriptCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtString + Value = '' + end + item + Name = 'DatasetNames' + ParamType = fIn + DataType = rtString + Value = 'ListaAnosPresupuestos' + end> + ReadOnly = False + RemoteService = RORemoteService + Adapter = DABinAdapter + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'ListaAnosPresupuestos' + IndexDefs = <> + Left = 72 + Top = 192 + end + object ds_ListaAnosPresupuestos: TDADataSource + DataTable = tbl_ListaAnosPresupuestos + Left = 72 + Top = 136 + end end diff --git a/Modulos/Presupuestos/Cliente/uDataModulePresupuestos.pas b/Modulos/Presupuestos/Cliente/uDataModulePresupuestos.pas index 27b80c5..8caeb2d 100644 --- a/Modulos/Presupuestos/Cliente/uDataModulePresupuestos.pas +++ b/Modulos/Presupuestos/Cliente/uDataModulePresupuestos.pas @@ -53,6 +53,8 @@ type ds_DetallesPresupuestos: TDADataSource; tbl_Presupuestos: TDACDSDataTable; ds_Presupuestos: TDADataSource; + tbl_ListaAnosPresupuestos: TDACDSDataTable; + ds_ListaAnosPresupuestos: TDADataSource; procedure DAClientDataModuleCreate(Sender: TObject); public function PuedoEliminarPresupuesto (CodigoPresupuesto : Integer) : Boolean; @@ -67,6 +69,9 @@ type procedure Refrescar(lReport: TfrxReport; Const Codigo: Integer; const TamLetra: Integer); procedure Print(Const Codigo: Integer); function GetItemsSeleccionados(ASource : IBizPresupuestos): IBizPresupuestos; + + function DarListaAnosPresupuestos: TStringList; + procedure FiltrarAno(APresupuestos: IBizPresupuestos; AWhereDataTable: String; const Ano: String); end; var @@ -77,7 +82,7 @@ implementation {$R *.DFM} uses - Forms, Controls, uDataTableUtils, uBizContacto, Dialogs, Variants, + Forms, Controls, cxControls, uDataTableUtils, uBizContacto, Dialogs, Variants, uDataModuleContactos, uDataModuleBase, schPresupuestosClient_Intf, uDAInterfaces, uEditorPreview, uEditorPreviewPresupuesto, uROTypes, uDBSelectionList; @@ -320,6 +325,55 @@ begin lReport.ShowPreparedReport; end; +procedure TdmPresupuestos.FiltrarAno(APresupuestos: IBizPresupuestos; AWhereDataTable: String; const Ano: String); +var + FechaIni: String; + FechaFin: String; + +begin + APresupuestos.DataTable.Where.Clear; + APresupuestos.DataTable.Where.AddText(AWhereDataTable); + + if (Ano <> 'Todos') then + begin + // Filtrar los presupuestos actuales por años + FechaIni := '01.01.' + Ano; + FechaFin := '31.12.' + Ano; + with APresupuestos.DataTable.Where do + begin + if NotEmpty then + AddOperator(opAND); + AddCondition(fld_PresupuestosFECHAPRESUPUESTO, cMajorOrEqual, FechaIni); + AddOperator(opAND); + AddCondition(fld_PresupuestosFECHAPRESUPUESTO, cLessOrEqual, FechaFin); + end; + end; +end; + +function TdmPresupuestos.DarListaAnosPresupuestos: TStringList; +var + AListaAnos: TStringList; +begin + AListaAnos := TStringList.Create; + ShowHourglassCursor; + try + with tbl_ListaAnosPresupuestos do + begin + Open; + First; + while not eof do + begin + AListaAnos.Add(Format('%s=%s', [Fields[0].AsString, Fields[0].AsString])); + Next; + end; + Close; + end; + Result := AListaAnos; + finally + HideHourglassCursor; + end; +end; + initialization dmPresupuestos := TdmPresupuestos.Create(nil); diff --git a/Modulos/Presupuestos/Cliente/uEditorPresupuestos.dfm b/Modulos/Presupuestos/Cliente/uEditorPresupuestos.dfm index ba8df09..298c59b 100644 --- a/Modulos/Presupuestos/Cliente/uEditorPresupuestos.dfm +++ b/Modulos/Presupuestos/Cliente/uEditorPresupuestos.dfm @@ -1,6 +1,6 @@ inherited fEditorPresupuestos: TfEditorPresupuestos Left = 221 - Top = 235 + Top = 205 Width = 781 Caption = 'Lista de presupuestos' PixelsPerInch = 96 @@ -41,7 +41,15 @@ inherited fEditorPresupuestos: TfEditorPresupuestos end end inherited tbxFiltro: TTBXToolbar - Left = 471 + inherited lblAno: TTBXLabelItem + Visible = True + end + inherited cbxListaAnos: TTBXComboBoxItem + Visible = True + end + inherited sepAno: TTBXSeparatorItem + Visible = True + end end end inherited StatusBar: TStatusBar diff --git a/Modulos/Presupuestos/Cliente/uEditorPresupuestos.pas b/Modulos/Presupuestos/Cliente/uEditorPresupuestos.pas index d533776..9d5119b 100644 --- a/Modulos/Presupuestos/Cliente/uEditorPresupuestos.pas +++ b/Modulos/Presupuestos/Cliente/uEditorPresupuestos.pas @@ -20,7 +20,7 @@ type property Presupuestos: IBizPresupuestos read GetPresupuestos write SetPresupuestos; end; - + TfEditorPresupuestos = class(TfEditorGrid, IEditorPresupuestos) frViewBarraSeleccion: TfrViewBarraSeleccion; actAceptado: TAction; @@ -42,8 +42,12 @@ type procedure actAceptadoExecute(Sender: TObject); procedure actRechazadoExecute(Sender: TObject); procedure actPendienteExecute(Sender: TObject); + procedure OnListaAnosChange(Sender: TObject; const Text: string); + procedure FormShow(Sender: TObject); + private FPresupuestos: IBizPresupuestos; + protected function GetPresupuestos: IBizPresupuestos; function GetSelectionBarVisible: Boolean; @@ -171,9 +175,17 @@ end; procedure TfEditorPresupuestos.SetPresupuestos(const Value: IBizPresupuestos); begin FPresupuestos := Value; - dsDataTable.DataTable := FPresupuestos.DataTable; - if Assigned(ViewGrid) then - (ViewGrid as IViewPresupuestos).Presupuestos := Presupuestos; + + if Assigned(FPresupuestos) then + begin + //Se guarda el where de la sentencia origen, por si el editor tiene filtros que + //afecten a este where y en un futuro se desea volver al where origen (filtro de año)) + WhereDataTable := FPresupuestos.DataTable.Where.Clause; + + dsDataTable.DataTable := FPresupuestos.DataTable; + if Assigned(ViewGrid) then + (ViewGrid as IViewPresupuestos).Presupuestos := Presupuestos; + end; end; procedure TfEditorPresupuestos.SetSelectionBarVisible(const Value: Boolean); @@ -249,6 +261,21 @@ begin end; end; +procedure TfEditorPresupuestos.OnListaAnosChange(Sender: TObject; const Text: string); +begin + dmPresupuestos.FiltrarAno(Presupuestos, WhereDataTable, Text); + if Presupuestos.DataTable.Active then + actRefrescar.Execute; +end; + +procedure TfEditorPresupuestos.FormShow(Sender: TObject); +begin + ListaAnos := dmPresupuestos.DarListaAnosPresupuestos; + cbxListaAnos.OnChange := OnListaAnosChange; //OJO SIEMPRE ANTES DEL INHERITED + + inherited; +end; + initialization RegisterEditor(IBizPresupuestos, ShowEditorPresupuestos, etItems); RegisterEditor(IBizPresupuestos, ShowSelectEditorPresupuestos, etSelectItems); diff --git a/Modulos/Presupuestos/Reglas/schPresupuestosClient_Intf.pas b/Modulos/Presupuestos/Reglas/schPresupuestosClient_Intf.pas index 01db959..83b3224 100644 --- a/Modulos/Presupuestos/Reglas/schPresupuestosClient_Intf.pas +++ b/Modulos/Presupuestos/Reglas/schPresupuestosClient_Intf.pas @@ -9,19 +9,27 @@ 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_DetallesPresupuestos = '{A6A79145-2CF4-404F-AF3C-216C6C1C6220}'; - RID_Presupuestos = '{5B155DB3-9C72-4E74-AF1E-2F5F54B8C085}'; - RID_Presupuestos_RefreshDataset = '{A4DBCB7A-51D7-4CC6-AE4C-4F3E92E621C3}'; - RID_InformeCabeceraPresupuesto = '{264277A9-3681-40C0-90A1-E3164B449B02}'; - RID_InformeDetallesPresupuesto = '{31CD6A31-A8D3-4D6E-9AA5-FD7D0B85DDBA}'; + RID_ListaAnosPresupuestos = '{95031149-82C7-4C73-BC10-9B1285B42FD8}'; + RID_DetallesPresupuestos = '{4155E7A3-B36F-440C-9232-FCDA6E0E57D3}'; + RID_Presupuestos = '{3C692B06-401D-4BB5-9E59-1029ECE88CCA}'; + RID_Presupuestos_RefreshDataset = '{4DDAA5E9-1786-49E9-82E4-92A8E5A30D2E}'; + RID_InformeCabeceraPresupuesto = '{3826E313-F328-47E3-AFF6-4C02E162BD3C}'; + RID_InformeDetallesPresupuesto = '{363E9ABE-D657-4094-A45A-1F44E3CC35DE}'; { Data table names } + nme_ListaAnosPresupuestos = 'ListaAnosPresupuestos'; nme_DetallesPresupuestos = 'DetallesPresupuestos'; nme_Presupuestos = 'Presupuestos'; nme_Presupuestos_RefreshDataset = 'Presupuestos_RefreshDataset'; nme_InformeCabeceraPresupuesto = 'InformeCabeceraPresupuesto'; nme_InformeDetallesPresupuesto = 'InformeDetallesPresupuesto'; + { ListaAnosPresupuestos fields } + fld_ListaAnosPresupuestosANO = 'ANO'; + + { ListaAnosPresupuestos field indexes } + idx_ListaAnosPresupuestosANO = 0; + { DetallesPresupuestos fields } fld_DetallesPresupuestosCODIGOPRESUPUESTO = 'CODIGOPRESUPUESTO'; fld_DetallesPresupuestosNUMCONCEPTO = 'NUMCONCEPTO'; @@ -203,9 +211,38 @@ const idx_InformeDetallesPresupuestoPOSICION = 7; type + { IListaAnosPresupuestos } + IListaAnosPresupuestos = interface(IDAStronglyTypedDataTable) + ['{6D5B13E0-C373-43E8-B599-1AD86BD6ABF2}'] + { Property getters and setters } + function GetANOValue: String; + procedure SetANOValue(const aValue: String); + + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + end; + + { TListaAnosPresupuestosDataTableRules } + TListaAnosPresupuestosDataTableRules = class(TDADataTableRules, IListaAnosPresupuestos) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + + { Properties } + property ANO: String read GetANOValue write SetANOValue; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + { IDetallesPresupuestos } IDetallesPresupuestos = interface(IDAStronglyTypedDataTable) - ['{44CD0F43-9391-4901-9C68-B711CBCB7FDC}'] + ['{18414808-5E3F-4017-8DCF-885665361C3C}'] { Property getters and setters } function GetCODIGOPRESUPUESTOValue: Integer; procedure SetCODIGOPRESUPUESTOValue(const aValue: Integer); @@ -294,7 +331,7 @@ type { IPresupuestos } IPresupuestos = interface(IDAStronglyTypedDataTable) - ['{27C72B9E-C122-4FA0-A412-B2681821A051}'] + ['{3B57E67A-BCF1-4A9C-8DE3-680F3FC7E851}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -461,7 +498,7 @@ type { IPresupuestos_RefreshDataset } IPresupuestos_RefreshDataset = interface(IDAStronglyTypedDataTable) - ['{36CACFE6-C6B9-497D-A821-2ABF5E3298F0}'] + ['{5097F042-BB92-4714-98E3-38D672728B8B}'] { Property getters and setters } function GetCODIGOValue: Integer; procedure SetCODIGOValue(const aValue: Integer); @@ -514,7 +551,7 @@ type { IInformeCabeceraPresupuesto } IInformeCabeceraPresupuesto = interface(IDAStronglyTypedDataTable) - ['{B0CC1F1A-3AC1-4696-A03F-15F309307109}'] + ['{68F7F7E4-616C-464B-A795-E4ACAFC2D708}'] { Property getters and setters } function GetCODIGOEMPRESAValue: Integer; procedure SetCODIGOEMPRESAValue(const aValue: Integer); @@ -729,7 +766,7 @@ type { IInformeDetallesPresupuesto } IInformeDetallesPresupuesto = interface(IDAStronglyTypedDataTable) - ['{331BAA43-0C6C-45D7-A7C2-098D7686A53F}'] + ['{25CACDCE-E4DB-42FC-B0B8-78493C06240D}'] { Property getters and setters } function GetCODIGOPRESUPUESTOValue: Integer; procedure SetCODIGOPRESUPUESTOValue(const aValue: Integer); @@ -802,6 +839,28 @@ implementation uses Variants; +{ TListaAnosPresupuestosDataTableRules } +constructor TListaAnosPresupuestosDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TListaAnosPresupuestosDataTableRules.Destroy; +begin + inherited; +end; + +function TListaAnosPresupuestosDataTableRules.GetANOValue: String; +begin + result := DataTable.Fields[idx_ListaAnosPresupuestosANO].AsString; +end; + +procedure TListaAnosPresupuestosDataTableRules.SetANOValue(const aValue: String); +begin + DataTable.Fields[idx_ListaAnosPresupuestosANO].AsString := aValue; +end; + + { TDetallesPresupuestosDataTableRules } constructor TDetallesPresupuestosDataTableRules.Create(aDataTable: TDADataTable); begin @@ -1669,6 +1728,7 @@ end; initialization + RegisterDataTableRules(RID_ListaAnosPresupuestos, TListaAnosPresupuestosDataTableRules); RegisterDataTableRules(RID_DetallesPresupuestos, TDetallesPresupuestosDataTableRules); RegisterDataTableRules(RID_Presupuestos, TPresupuestosDataTableRules); RegisterDataTableRules(RID_Presupuestos_RefreshDataset, TPresupuestos_RefreshDatasetDataTableRules); diff --git a/Modulos/Presupuestos/Reglas/schPresupuestosServer_Intf.pas b/Modulos/Presupuestos/Reglas/schPresupuestosServer_Intf.pas index ee412ec..67892f0 100644 --- a/Modulos/Presupuestos/Reglas/schPresupuestosServer_Intf.pas +++ b/Modulos/Presupuestos/Reglas/schPresupuestosServer_Intf.pas @@ -9,16 +9,46 @@ 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_DetallesPresupuestosDelta = '{27189DEC-DB55-4CFF-90D4-3CCC8C3789B7}'; - RID_PresupuestosDelta = '{AD80280F-15D4-422B-9E7C-B413BD6D9270}'; - RID_Presupuestos_RefreshDatasetDelta = '{F4E70462-4089-44C8-AFAA-B6FDEFE43DB9}'; - RID_InformeCabeceraPresupuestoDelta = '{41A03000-031E-4727-B794-E79D553EC52B}'; - RID_InformeDetallesPresupuestoDelta = '{741759BF-9981-4B00-A217-C5C769B36552}'; + RID_ListaAnosPresupuestosDelta = '{CBA70605-3C3B-48A1-A28C-B1E97902006E}'; + RID_DetallesPresupuestosDelta = '{A06F07C8-8609-4E0C-A202-CDFD98C02B75}'; + RID_PresupuestosDelta = '{475CF11F-7C34-4390-B427-291574D72D01}'; + RID_Presupuestos_RefreshDatasetDelta = '{7B057008-D651-4A1C-B4B7-08C7C4A566F9}'; + RID_InformeCabeceraPresupuestoDelta = '{749B0EED-D424-4553-BE62-F24B9EE4B0DE}'; + RID_InformeDetallesPresupuestoDelta = '{322F58BC-E445-4DF9-9BFB-86086B38356B}'; type + { IListaAnosPresupuestosDelta } + IListaAnosPresupuestosDelta = interface(IListaAnosPresupuestos) + ['{CBA70605-3C3B-48A1-A28C-B1E97902006E}'] + { Property getters and setters } + function GetOldANOValue : String; + + { Properties } + property OldANO : String read GetOldANOValue; + end; + + { TListaAnosPresupuestosBusinessProcessorRules } + TListaAnosPresupuestosBusinessProcessorRules = class(TDABusinessProcessorRules, IListaAnosPresupuestos, IListaAnosPresupuestosDelta) + private + protected + { Property getters and setters } + function GetANOValue: String; virtual; + function GetOldANOValue: String; virtual; + procedure SetANOValue(const aValue: String); virtual; + + { Properties } + property ANO : String read GetANOValue write SetANOValue; + property OldANO : String read GetOldANOValue; + + public + constructor Create(aBusinessProcessor: TDABusinessProcessor); override; + destructor Destroy; override; + + end; + { IDetallesPresupuestosDelta } IDetallesPresupuestosDelta = interface(IDetallesPresupuestos) - ['{27189DEC-DB55-4CFF-90D4-3CCC8C3789B7}'] + ['{A06F07C8-8609-4E0C-A202-CDFD98C02B75}'] { Property getters and setters } function GetOldCODIGOPRESUPUESTOValue : Integer; function GetOldNUMCONCEPTOValue : Integer; @@ -117,7 +147,7 @@ type { IPresupuestosDelta } IPresupuestosDelta = interface(IPresupuestos) - ['{AD80280F-15D4-422B-9E7C-B413BD6D9270}'] + ['{475CF11F-7C34-4390-B427-291574D72D01}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -307,7 +337,7 @@ type { IPresupuestos_RefreshDatasetDelta } IPresupuestos_RefreshDatasetDelta = interface(IPresupuestos_RefreshDataset) - ['{F4E70462-4089-44C8-AFAA-B6FDEFE43DB9}'] + ['{7B057008-D651-4A1C-B4B7-08C7C4A566F9}'] { Property getters and setters } function GetOldCODIGOValue : Integer; function GetOldNOMBREValue : String; @@ -364,7 +394,7 @@ type { IInformeCabeceraPresupuestoDelta } IInformeCabeceraPresupuestoDelta = interface(IInformeCabeceraPresupuesto) - ['{41A03000-031E-4727-B794-E79D553EC52B}'] + ['{749B0EED-D424-4553-BE62-F24B9EE4B0DE}'] { Property getters and setters } function GetOldCODIGOEMPRESAValue : Integer; function GetOldCODIGOValue : Integer; @@ -610,7 +640,7 @@ type { IInformeDetallesPresupuestoDelta } IInformeDetallesPresupuestoDelta = interface(IInformeDetallesPresupuesto) - ['{741759BF-9981-4B00-A217-C5C769B36552}'] + ['{322F58BC-E445-4DF9-9BFB-86086B38356B}'] { Property getters and setters } function GetOldCODIGOPRESUPUESTOValue : Integer; function GetOldNUMCONCEPTOValue : Integer; @@ -691,6 +721,33 @@ implementation uses Variants, uROBinaryHelpers; +{ TListaAnosPresupuestosBusinessProcessorRules } +constructor TListaAnosPresupuestosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TListaAnosPresupuestosBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TListaAnosPresupuestosBusinessProcessorRules.GetANOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosPresupuestosANO]; +end; + +function TListaAnosPresupuestosBusinessProcessorRules.GetOldANOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_ListaAnosPresupuestosANO]; +end; + +procedure TListaAnosPresupuestosBusinessProcessorRules.SetANOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_ListaAnosPresupuestosANO] := aValue; +end; + + { TDetallesPresupuestosBusinessProcessorRules } constructor TDetallesPresupuestosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); begin @@ -1964,6 +2021,7 @@ end; initialization + RegisterBusinessProcessorRules(RID_ListaAnosPresupuestosDelta, TListaAnosPresupuestosBusinessProcessorRules); RegisterBusinessProcessorRules(RID_DetallesPresupuestosDelta, TDetallesPresupuestosBusinessProcessorRules); RegisterBusinessProcessorRules(RID_PresupuestosDelta, TPresupuestosBusinessProcessorRules); RegisterBusinessProcessorRules(RID_Presupuestos_RefreshDatasetDelta, TPresupuestos_RefreshDatasetBusinessProcessorRules); diff --git a/Modulos/Presupuestos/Servidor/srvPresupuestos_Impl.dfm b/Modulos/Presupuestos/Servidor/srvPresupuestos_Impl.dfm index 8e70acb..3228159 100644 --- a/Modulos/Presupuestos/Servidor/srvPresupuestos_Impl.dfm +++ b/Modulos/Presupuestos/Servidor/srvPresupuestos_Impl.dfm @@ -6,8 +6,8 @@ object srvPresupuestos: TsrvPresupuestos ConnectionName = 'IBX' ServiceSchema = schPresupuestos ServiceAdapter = DABINAdapter - Left = 729 - Top = 363 + Left = 728 + Top = 316 Height = 359 Width = 328 object schPresupuestos: TDASchema @@ -15,6 +15,39 @@ object srvPresupuestos: TsrvPresupuestos DataDictionary = dmServer.DataDictionary Diagrams = dmServer.DADiagrams Datasets = < + item + Params = <> + Statements = < + item + Connection = 'IBX' + SQL = + 'select ANO from'#10'(select distinct(substr(FECHAPRESUPUESTO, 1,4)) ' + + 'as ANO'#10'from presupuestos'#10'order by 1 desc)'#10#10'UNION ALL'#10#10'select dis' + + 'tinct '#39'Todos'#39' as ANO'#10'from empresas' + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'ANO' + TableField = 'ANO' + end> + end> + Name = 'ListaAnosPresupuestos' + Fields = < + item + Name = 'ANO' + DataType = datString + Size = 254 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + BusinessRulesClient.ScriptLanguage = rslPascalScript + BusinessRulesServer.ScriptLanguage = rslPascalScript + end item Params = < item diff --git a/Output/Cliente/AlbaranesCliente.bpl b/Output/Cliente/AlbaranesCliente.bpl index 6aa0d85..fb062ab 100644 Binary files a/Output/Cliente/AlbaranesCliente.bpl and b/Output/Cliente/AlbaranesCliente.bpl differ diff --git a/Output/Cliente/Almacenes.bpl b/Output/Cliente/Almacenes.bpl index 166e69c..209e4dd 100644 Binary files a/Output/Cliente/Almacenes.bpl and b/Output/Cliente/Almacenes.bpl differ diff --git a/Output/Cliente/Articulos.bpl b/Output/Cliente/Articulos.bpl index 5a41971..b65218b 100644 Binary files a/Output/Cliente/Articulos.bpl and b/Output/Cliente/Articulos.bpl differ diff --git a/Output/Cliente/ArticulosMontaje.bpl b/Output/Cliente/ArticulosMontaje.bpl index 4efa238..535b0b0 100644 Binary files a/Output/Cliente/ArticulosMontaje.bpl and b/Output/Cliente/ArticulosMontaje.bpl differ diff --git a/Output/Cliente/Asientos.bpl b/Output/Cliente/Asientos.bpl index 93a28b6..0ed3489 100644 Binary files a/Output/Cliente/Asientos.bpl and b/Output/Cliente/Asientos.bpl differ diff --git a/Output/Cliente/BaseD7.bpl b/Output/Cliente/BaseD7.bpl index 4176cbf..ce90ca2 100644 Binary files a/Output/Cliente/BaseD7.bpl and b/Output/Cliente/BaseD7.bpl differ diff --git a/Output/Cliente/Calendarios.bpl b/Output/Cliente/Calendarios.bpl index ae22f39..131436c 100644 Binary files a/Output/Cliente/Calendarios.bpl and b/Output/Cliente/Calendarios.bpl differ diff --git a/Output/Cliente/Configuracion.bpl b/Output/Cliente/Configuracion.bpl index e193c45..05446f2 100644 Binary files a/Output/Cliente/Configuracion.bpl and b/Output/Cliente/Configuracion.bpl differ diff --git a/Output/Cliente/Contactos.bpl b/Output/Cliente/Contactos.bpl index 583d412..c333136 100644 Binary files a/Output/Cliente/Contactos.bpl and b/Output/Cliente/Contactos.bpl differ diff --git a/Output/Cliente/Cuentas.bpl b/Output/Cliente/Cuentas.bpl index b2953ae..bcb5da3 100644 Binary files a/Output/Cliente/Cuentas.bpl and b/Output/Cliente/Cuentas.bpl differ diff --git a/Output/Cliente/DocumentosAsociados.bpl b/Output/Cliente/DocumentosAsociados.bpl index 12a0b76..2350b3a 100644 Binary files a/Output/Cliente/DocumentosAsociados.bpl and b/Output/Cliente/DocumentosAsociados.bpl differ diff --git a/Output/Cliente/FactuGES.exe b/Output/Cliente/FactuGES.exe index 6cde871..454bdc5 100644 Binary files a/Output/Cliente/FactuGES.exe and b/Output/Cliente/FactuGES.exe differ diff --git a/Output/Cliente/FacturasCliente.bpl b/Output/Cliente/FacturasCliente.bpl index f7bd80d..480b9a9 100644 Binary files a/Output/Cliente/FacturasCliente.bpl and b/Output/Cliente/FacturasCliente.bpl differ diff --git a/Output/Cliente/FacturasProveedor.bpl b/Output/Cliente/FacturasProveedor.bpl index f6e2a6d..34a42ff 100644 Binary files a/Output/Cliente/FacturasProveedor.bpl and b/Output/Cliente/FacturasProveedor.bpl differ diff --git a/Output/Cliente/Intervalos.bpl b/Output/Cliente/Intervalos.bpl index 34efc2b..83b9d9f 100644 Binary files a/Output/Cliente/Intervalos.bpl and b/Output/Cliente/Intervalos.bpl differ diff --git a/Output/Cliente/Montajes_Impl.bpl b/Output/Cliente/Montajes_Impl.bpl index c3bac19..e21e25a 100644 Binary files a/Output/Cliente/Montajes_Impl.bpl and b/Output/Cliente/Montajes_Impl.bpl differ diff --git a/Output/Cliente/Montajes_Intf.bpl b/Output/Cliente/Montajes_Intf.bpl index c944f58..78a81a5 100644 Binary files a/Output/Cliente/Montajes_Intf.bpl and b/Output/Cliente/Montajes_Intf.bpl differ diff --git a/Output/Cliente/Pagos.bpl b/Output/Cliente/Pagos.bpl index 13f9b3e..bb31fcc 100644 Binary files a/Output/Cliente/Pagos.bpl and b/Output/Cliente/Pagos.bpl differ diff --git a/Output/Cliente/PedidosMontaje.bpl b/Output/Cliente/PedidosMontaje.bpl index 64a1236..4b60d7d 100644 Binary files a/Output/Cliente/PedidosMontaje.bpl and b/Output/Cliente/PedidosMontaje.bpl differ diff --git a/Output/Cliente/PedidosProveedor.bpl b/Output/Cliente/PedidosProveedor.bpl index 56fe881..40f89fb 100644 Binary files a/Output/Cliente/PedidosProveedor.bpl and b/Output/Cliente/PedidosProveedor.bpl differ diff --git a/Output/Cliente/Presupuestos.bpl b/Output/Cliente/Presupuestos.bpl index bd0e4b4..94e7480 100644 Binary files a/Output/Cliente/Presupuestos.bpl and b/Output/Cliente/Presupuestos.bpl differ diff --git a/Output/Cliente/Presupuestos_Intf.bpl b/Output/Cliente/Presupuestos_Intf.bpl index 2664a51..5f73824 100644 Binary files a/Output/Cliente/Presupuestos_Intf.bpl and b/Output/Cliente/Presupuestos_Intf.bpl differ diff --git a/Output/Cliente/Usuarios.bpl b/Output/Cliente/Usuarios.bpl index 95f8ad3..4e43be0 100644 Binary files a/Output/Cliente/Usuarios.bpl and b/Output/Cliente/Usuarios.bpl differ diff --git a/Output/Servidor/FactuGES_Server.exe b/Output/Servidor/FactuGES_Server.exe index 82ec7b4..2dcadfe 100644 Binary files a/Output/Servidor/FactuGES_Server.exe and b/Output/Servidor/FactuGES_Server.exe differ diff --git a/Output/Servidor/config.ini b/Output/Servidor/config.ini index 897c89f..7ed22a7 100644 --- a/Output/Servidor/config.ini +++ b/Output/Servidor/config.ini @@ -1,3 +1,3 @@ [CONFIG] -APPPATH=D:\Proyectos\FactuGES (Arribas)\Codigo\Output\Servidor\FactuGES_Server.exe +APPPATH=C:\Codigo\Output\Servidor\FactuGES_Server.exe LIBPATH=GDS32.DLL diff --git a/Servidor/FactuGES_Server.dof b/Servidor/FactuGES_Server.dof index 847bbc3..975e82c 100644 --- a/Servidor/FactuGES_Server.dof +++ b/Servidor/FactuGES_Server.dof @@ -203,320 +203,3 @@ Item2=..\..\Output\Cliente [HistoryLists\hlDCPOutput] Count=1 Item0=.\ -[Exception Log] -EurekaLog Version=519 -Activate=0 -Activate Handle=1 -Save Log File=1 -Foreground Tab=0 -Freeze Activate=0 -Freeze Timeout=0 -Freeze Message=The application seems to be frozen. -SMTP From=eurekalog@email.com -SMTP Host= -SMTP Port=25 -SMTP UserID= -SMTP Password= -Append to Log=0 -Show TerminateBtn=1 -TerminateBtn Operation=1 -Errors Number=32 -Errors Terminate=3 -Email Address= -Email Object= -Email Send Options=0 -Output Path= -Encrypt Password= -AutoCloseDialogSecs=0 -WebSendMode=0 -SupportULR= -HTMLLayout Count=15 -HTMLLine0="%3Chtml%3E" -HTMLLine1=" %3Chead%3E" -HTMLLine2=" %3C/head%3E" -HTMLLine3=" %3Cbody TopMargin=10 LeftMargin=10%3E" -HTMLLine4=" %3Ctable width="100%%" border="0"%3E" -HTMLLine5=" %3Ctr%3E" -HTMLLine6=" %3Ctd nowrap%3E" -HTMLLine7=" %3Cfont face="Lucida Console, Courier" size="2"%3E" -HTMLLine8=" %3C%%HTML_TAG%%%3E" -HTMLLine9=" %3C/font%3E" -HTMLLine10=" %3C/td%3E" -HTMLLine11=" %3C/tr%3E" -HTMLLine12=" %3C/table%3E" -HTMLLine13=" %3C/body%3E" -HTMLLine14="%3C/html%3E" -AutoCrashOperation=1 -AutoCrashNumber=10 -AutoCrashMinutes=1 -WebURL= -WebUserID= -WebPassword= -WebPort=0 -AttachedFiles= -Count=0 -EMail Message Line Count=0 -loNoDuplicateErrors=0 -loAppendReproduceText=0 -loDeleteLogAtVersionChange=0 -loAddComputerNameInLogFileName=0 -loSaveModulesSection=1 -loSaveCPUSection=1 -soAppStartDate=1 -soAppName=1 -soAppVersionNumber=1 -soAppParameters=1 -soAppCompilationDate=1 -soExcDate=1 -soExcAddress=1 -soExcModule=1 -soExcType=1 -soExcMessage=1 -soActCtlsFormClass=1 -soActCtlsFormText=1 -soActCtlsControlClass=1 -soActCtlsControlText=1 -soCmpName=1 -soCmpUser=1 -soCmpTotalMemory=1 -soCmpFreeMemory=1 -soCmpTotalDisk=1 -soCmpFreeDisk=1 -soCmpSysUpTime=1 -soCmpProcessor=1 -soCmpDisplayMode=1 -soOSType=1 -soOSBuildN=1 -soOSUpdate=1 -soOSLanguage=1 -soNetIP=1 -soNetSubmask=1 -soNetGateway=1 -soNetDNS1=1 -soNetDNS2=1 -soNetDHCP=1 -sndShowSendDialog=1 -sndShowSuccessFailureMsg=0 -sndSendEntireLog=0 -sndSendXMLLogCopy=0 -sndSendScreenshot=0 -sndUseOnlyActiveWindow=0 -sndSendLastHTMLPage=1 -sndSendInSeparatedThread=0 -sndAddDateInFileName=0 -sndCompressAllFiles=0 -edoShowExceptionDialog=1 -edoSendEmailChecked=1 -edoAttachScreenshotChecked=1 -edoShowCopyToClipOption=1 -edoShowDetailsButton=1 -edoShowInDetailedMode=0 -edoShowInTopMostMode=0 -edoUseEurekaLogLookAndFeel=1 -csoShowDLLs=1 -csoShowBPLs=1 -csoShowBorlandThreads=1 -csoShowWindowsThreads=1 -csoShowProcedureOffset=0 -boActivateCrashDetection=0 -boPauseBorlandThreads=0 -boDoNotPauseMainThread=0 -boPauseWindowsThreads=0 -boUseMainModuleOptions=1 -boCopyLogInCaseOfError=1 -boSaveCompressedCopyInCaseOfError=0 -Count mtInformationMsgCaption=1 -mtInformationMsgCaption0="Information." -Count mtQuestionMsgCaption=1 -mtQuestionMsgCaption0="Question." -Count mtDialog_Caption=1 -mtDialog_Caption0="Error." -Count mtDialog_ErrorMsgCaption=2 -mtDialog_ErrorMsgCaption0="An error has occurred during program execution." -mtDialog_ErrorMsgCaption1="Please read the following information for further details." -Count mtDialog_GeneralCaption=1 -mtDialog_GeneralCaption0="General" -Count mtDialog_GeneralHeader=1 -mtDialog_GeneralHeader0="General Information" -Count mtDialog_CallStackCaption=1 -mtDialog_CallStackCaption0="Call Stack" -Count mtDialog_CallStackHeader=1 -mtDialog_CallStackHeader0="Call Stack Information" -Count mtDialog_ModulesCaption=1 -mtDialog_ModulesCaption0="Modules" -Count mtDialog_ModulesHeader=1 -mtDialog_ModulesHeader0="Modules Information" -Count mtDialog_CPUCaption=1 -mtDialog_CPUCaption0="CPU" -Count mtDialog_CPUHeader=1 -mtDialog_CPUHeader0="CPU Information" -Count mtDialog_CustomDataCaption=1 -mtDialog_CustomDataCaption0="Other" -Count mtDialog_CustomDataHeader=1 -mtDialog_CustomDataHeader0="Other Information" -Count mtDialog_OKButtonCaption=1 -mtDialog_OKButtonCaption0="%26OK" -Count mtDialog_TerminateButtonCaption=1 -mtDialog_TerminateButtonCaption0="%26Terminate" -Count mtDialog_RestartButtonCaption=1 -mtDialog_RestartButtonCaption0="%26Restart" -Count mtDialog_DetailsButtonCaption=1 -mtDialog_DetailsButtonCaption0="%26Details" -Count mtDialog_SendMessage=1 -mtDialog_SendMessage0="%26Send this error via Internet" -Count mtDialog_ScreenshotMessage=1 -mtDialog_ScreenshotMessage0="%26Attach a Screenshot image" -Count mtDialog_CopyMessage=1 -mtDialog_CopyMessage0="%26Copy to Clipboard" -Count mtDialog_SupportMessage=1 -mtDialog_SupportMessage0="Go to the Support Page" -Count mtLog_AppHeader=1 -mtLog_AppHeader0="Application" -Count mtLog_AppStartDate=1 -mtLog_AppStartDate0="Start Date" -Count mtLog_AppName=1 -mtLog_AppName0="Name/Description" -Count mtLog_AppVersionNumber=1 -mtLog_AppVersionNumber0="Version Number" -Count mtLog_AppParameters=1 -mtLog_AppParameters0="Parameters" -Count mtLog_AppCompilationDate=1 -mtLog_AppCompilationDate0="Compilation Date" -Count mtLog_ExcHeader=1 -mtLog_ExcHeader0="Exception" -Count mtLog_ExcDate=1 -mtLog_ExcDate0="Date" -Count mtLog_ExcAddress=1 -mtLog_ExcAddress0="Address" -Count mtLog_ExcModule=1 -mtLog_ExcModule0="Module" -Count mtLog_ExcType=1 -mtLog_ExcType0="Type" -Count mtLog_ExcMessage=1 -mtLog_ExcMessage0="Message" -Count mtLog_ActCtrlsHeader=1 -mtLog_ActCtrlsHeader0="Active Controls" -Count mtLog_ActCtrlsFormClass=1 -mtLog_ActCtrlsFormClass0="Form Class" -Count mtLog_ActCtrlsFormText=1 -mtLog_ActCtrlsFormText0="Form Text" -Count mtLog_ActCtrlsControlClass=1 -mtLog_ActCtrlsControlClass0="Control Class" -Count mtLog_ActCtrlsControlText=1 -mtLog_ActCtrlsControlText0="Control Text" -Count mtLog_CmpHeader=1 -mtLog_CmpHeader0="Computer" -Count mtLog_CmpName=1 -mtLog_CmpName0="Name" -Count mtLog_CmpUser=1 -mtLog_CmpUser0="User" -Count mtLog_CmpTotalMemory=1 -mtLog_CmpTotalMemory0="Total Memory" -Count mtLog_CmpFreeMemory=1 -mtLog_CmpFreeMemory0="Free Memory" -Count mtLog_CmpTotalDisk=1 -mtLog_CmpTotalDisk0="Total Disk" -Count mtLog_CmpFreeDisk=1 -mtLog_CmpFreeDisk0="Free Disk" -Count mtLog_CmpSystemUpTime=1 -mtLog_CmpSystemUpTime0="System Up Time" -Count mtLog_CmpProcessor=1 -mtLog_CmpProcessor0="Processor" -Count mtLog_CmpDisplayMode=1 -mtLog_CmpDisplayMode0="Display Mode" -Count mtLog_OSHeader=1 -mtLog_OSHeader0="Operating System" -Count mtLog_OSType=1 -mtLog_OSType0="Type" -Count mtLog_OSBuildN=1 -mtLog_OSBuildN0="Build #" -Count mtLog_OSUpdate=1 -mtLog_OSUpdate0="Update" -Count mtLog_OSLanguage=1 -mtLog_OSLanguage0="Language" -Count mtLog_NetHeader=1 -mtLog_NetHeader0="Network" -Count mtLog_NetIP=1 -mtLog_NetIP0="IP Address" -Count mtLog_NetSubmask=1 -mtLog_NetSubmask0="Submask" -Count mtLog_NetGateway=1 -mtLog_NetGateway0="Gateway" -Count mtLog_NetDNS1=1 -mtLog_NetDNS10="DNS 1" -Count mtLog_NetDNS2=1 -mtLog_NetDNS20="DNS 2" -Count mtLog_NetDHCP=1 -mtLog_NetDHCP0="DHCP" -Count mtLog_CustInfoHeader=1 -mtLog_CustInfoHeader0="Custom Information" -Count mtCallStack_Address=1 -mtCallStack_Address0="Address" -Count mtCallStack_Name=1 -mtCallStack_Name0="Module" -Count mtCallStack_Unit=1 -mtCallStack_Unit0="Unit" -Count mtCallStack_Class=1 -mtCallStack_Class0="Class" -Count mtCallStack_Procedure=1 -mtCallStack_Procedure0="Procedure/Method" -Count mtCallStack_Line=1 -mtCallStack_Line0="Line" -Count mtCallStack_MainThread=1 -mtCallStack_MainThread0="Main" -Count mtCallStack_ExceptionThread=1 -mtCallStack_ExceptionThread0="Exception Thread" -Count mtCallStack_RunningThread=1 -mtCallStack_RunningThread0="Running Thread" -Count mtCallStack_CallingThread=1 -mtCallStack_CallingThread0="Calling Thread" -Count mtCallStack_ThreadID=1 -mtCallStack_ThreadID0="ID" -Count mtCallStack_ThreadPriority=1 -mtCallStack_ThreadPriority0="Priority" -Count mtCallStack_ThreadClass=1 -mtCallStack_ThreadClass0="Class" -Count mtSendDialog_Caption=1 -mtSendDialog_Caption0="Send." -Count mtSendDialog_Message=1 -mtSendDialog_Message0="Message" -Count mtSendDialog_Resolving=1 -mtSendDialog_Resolving0="Resolving DNS..." -Count mtSendDialog_Connecting=1 -mtSendDialog_Connecting0="Connecting with server..." -Count mtSendDialog_Connected=1 -mtSendDialog_Connected0="Connected with server." -Count mtSendDialog_Sending=1 -mtSendDialog_Sending0="Sending message..." -Count mtReproduceDialog_Caption=1 -mtReproduceDialog_Caption0="Request" -Count mtReproduceDialog_Request=1 -mtReproduceDialog_Request0="Please describe the steps to reproduce the error:" -Count mtReproduceDialog_OKButtonCaption=1 -mtReproduceDialog_OKButtonCaption0="%26OK" -Count mtModules_Handle=1 -mtModules_Handle0="Handle" -Count mtModules_Name=1 -mtModules_Name0="Name" -Count mtModules_Description=1 -mtModules_Description0="Description" -Count mtModules_Version=1 -mtModules_Version0="Version" -Count mtModules_Size=1 -mtModules_Size0="Size" -Count mtModules_LastModified=1 -mtModules_LastModified0="Modified" -Count mtModules_Path=1 -mtModules_Path0="Path" -Count mtCPU_Registers=1 -mtCPU_Registers0="Registers" -Count mtCPU_Stack=1 -mtCPU_Stack0="Stack" -Count mtCPU_MemoryDump=1 -mtCPU_MemoryDump0="Memory Dump" -Count mtSend_SuccessMsg=1 -mtSend_SuccessMsg0="The message was sent successfully." -Count mtSend_FailureMsg=1 -mtSend_FailureMsg0="Sorry, sending the message didn't work." - - diff --git a/Servidor/FactuGES_Server.drc b/Servidor/FactuGES_Server.drc index ea7b254..4c1ff2f 100644 --- a/Servidor/FactuGES_Server.drc +++ b/Servidor/FactuGES_Server.drc @@ -8,540 +8,519 @@ resources were bound to the produced executable. */ -#define TeeConst_TeeMsg_ValuesGanttStart 64352 -#define TeeConst_TeeMsg_ValuesGanttEnd 64353 -#define TeeConst_TeeMsg_ValuesGanttNextTask 64354 -#define TeeConst_TeeMsg_ValuesBubbleRadius 64355 -#define TeeConst_TeeMsg_ValuesArrowEndX 64356 -#define TeeConst_TeeMsg_ValuesArrowEndY 64357 -#define TeeConst_TeeMsg_FunctionHigh 64368 -#define TeeConst_TeeMsg_FunctionLow 64369 -#define TeeConst_TeeMsg_FunctionAverage 64370 -#define TeeConst_TeeMsg_GalleryShape 64371 -#define TeeConst_TeeMsg_GalleryBubble 64372 -#define TeeConst_TeeMsg_DefaultFontName 64373 -#define TeeConst_TeeMsg_CheckPointerSize 64374 -#define TeeConst_TeeMsg_FunctionPeriod 64375 -#define TeeConst_TeeMsg_PieOther 64376 -#define TeeConst_TeeMsg_ShapeGallery1 64377 -#define TeeConst_TeeMsg_ShapeGallery2 64378 -#define TeeConst_TeeMsg_ValuesX 64379 -#define TeeConst_TeeMsg_ValuesY 64380 -#define TeeConst_TeeMsg_ValuesPie 64381 -#define TeeConst_TeeMsg_ValuesBar 64382 -#define TeeConst_TeeMsg_ValuesAngle 64383 -#define TeeConst_TeeMsg_GanttSample1 64384 -#define TeeConst_TeeMsg_GanttSample2 64385 -#define TeeConst_TeeMsg_GanttSample3 64386 -#define TeeConst_TeeMsg_GanttSample4 64387 -#define TeeConst_TeeMsg_GanttSample5 64388 -#define TeeConst_TeeMsg_GanttSample6 64389 -#define TeeConst_TeeMsg_GanttSample7 64390 -#define TeeConst_TeeMsg_GanttSample8 64391 -#define TeeConst_TeeMsg_GanttSample9 64392 -#define TeeConst_TeeMsg_GanttSample10 64393 -#define TeeConst_TeeMsg_DefaultFontSize 64394 -#define TeeConst_TeeMsg_DefaultGalleryFontSize 64395 -#define TeeConst_TeeMsg_FunctionAdd 64396 -#define TeeConst_TeeMsg_FunctionSubtract 64397 -#define TeeConst_TeeMsg_FunctionMultiply 64398 -#define TeeConst_TeeMsg_FunctionDivide 64399 -#define TeeConst_TeeMsg_GalleryPie 64400 -#define TeeConst_TeeMsg_GalleryFastLine 64401 -#define TeeConst_TeeMsg_Rotation 64402 -#define TeeConst_TeeMsg_PieSample1 64403 -#define TeeConst_TeeMsg_PieSample2 64404 -#define TeeConst_TeeMsg_PieSample3 64405 -#define TeeConst_TeeMsg_PieSample4 64406 -#define TeeConst_TeeMsg_PieSample5 64407 -#define TeeConst_TeeMsg_PieSample6 64408 -#define TeeConst_TeeMsg_PieSample7 64409 -#define TeeConst_TeeMsg_PieSample8 64410 -#define TeeConst_TeeMsg_GalleryChartName 64411 -#define TeeConst_TeeMsg_GalleryStandard 64412 -#define TeeConst_TeeMsg_GalleryFunctions 64413 -#define TeeConst_TeeMsg_GalleryArrow 64414 -#define TeeConst_TeeMsg_GalleryGantt 64415 -#define TeeConst_TeeMsg_AxisLogBase 64416 -#define TeeConst_TeeMsg_MaxPointsPerPage 64417 -#define TeeConst_TeeMsg_3dPercent 64418 -#define TeeConst_TeeMsg_CircularSeries 64419 -#define TeeConst_TeeMsg_BarWidthPercent 64420 -#define TeeConst_TeeMsg_BarOffsetPercent 64421 -#define TeeConst_TeeMsg_DefaultPercentOf 64422 -#define TeeConst_TeeMsg_DefPercentFormat 64423 -#define TeeConst_TeeMsg_DefValueFormat 64424 -#define TeeConst_TeeMsg_AxisTitle 64425 -#define TeeConst_TeeMsg_AxisLabels 64426 -#define TeeConst_TeeMsg_GalleryLine 64427 -#define TeeConst_TeeMsg_GalleryPoint 64428 -#define TeeConst_TeeMsg_GalleryArea 64429 -#define TeeConst_TeeMsg_GalleryBar 64430 -#define TeeConst_TeeMsg_GalleryHorizBar 64431 -#define OleConst_SInvalidVerb 64432 -#define OleConst_SPropDlgCaption 64433 -#define OleConst_SInvalidStreamFormat 64434 -#define TeeConst_TeeMsg_LegendTopPos 64435 -#define TeeConst_TeeMsg_LegendFirstValue 64436 -#define TeeConst_TeeMsg_LegendColorWidth 64437 -#define TeeConst_TeeMsg_SeriesSetDataSource 64438 -#define TeeConst_TeeMsg_SeriesInvDataSource 64439 -#define TeeConst_TeeMsg_FillSample 64440 -#define TeeConst_TeeMsg_Angle 64441 -#define TeeConst_TeeMsg_AxisLogDateTime 64442 -#define TeeConst_TeeMsg_AxisLogNotPositive 64443 -#define TeeConst_TeeMsg_AxisLabelSep 64444 -#define TeeConst_TeeMsg_AxisIncrementNeg 64445 -#define TeeConst_TeeMsg_AxisMinMax 64446 -#define TeeConst_TeeMsg_AxisMaxMin 64447 -#define MidConst_SNoConnectToBroker 64448 -#define MidConst_SNoParentConnection 64449 -#define MidConst_SConstraintFailed 64450 -#define MidConst_SField 64451 -#define MidConst_SRecConstFail 64452 -#define MidConst_SFieldConstFail 64453 -#define MidConst_SDefExprFail 64454 -#define MidConst_SNoEditsAllowed 64455 -#define MidConst_SNoDeletesAllowed 64456 -#define MidConst_SNoInsertsAllowed 64457 -#define MidConst_SConnectionMissing 64458 -#define MidConst_SNoCircularConnection 64459 -#define OleConst_SLinkProperties 64460 -#define OleConst_SInvalidLinkSource 64461 -#define OleConst_SCannotBreakLink 64462 -#define OleConst_SEmptyContainer 64463 -#define VDBConsts_SLastRecord 64464 -#define VDBConsts_SInsertRecord 64465 -#define VDBConsts_SDeleteRecord 64466 -#define VDBConsts_SEditRecord 64467 -#define VDBConsts_SPostEdit 64468 -#define VDBConsts_SCancelEdit 64469 -#define VDBConsts_SRefreshRecord 64470 -#define VDBConsts_SDataSourceFixed 64471 -#define VDBConsts_SPropDefByLookup 64472 -#define VDBConsts_SRemoteLogin 64473 -#define MidConst_SNoDataProvider 64474 -#define MidConst_SInvalidDataPacket 64475 -#define MidConst_SRefreshError 64476 -#define MidConst_SNoCircularReference 64477 -#define MidConst_SErrorLoadingMidas 64478 -#define MidConst_SCannotCreateDataSet 64479 -#define cxEditConsts_scxRegExprTooBigReferenceNumber 64480 -#define cxEditConsts_scxRegExprCantCreateEmptyEnum 64481 -#define cxEditConsts_scxRegExprSubrangeOrder 64482 -#define cxEditConsts_scxRegExprHexNumberExpected0 64483 -#define cxEditConsts_scxRegExprHexNumberExpected 64484 -#define cxEditConsts_scxRegExprMissing 64485 -#define cxEditConsts_scxRegExprUnnecessary 64486 -#define cxEditConsts_scxRegExprIncorrectSpace 64487 -#define cxEditConsts_scxRegExprNotCompiled 64488 -#define cxEditConsts_scxRegExprIncorrectParameterQuantifier 64489 -#define cxEditConsts_scxRegExprCantUseParameterQuantifier 64490 -#define cxEditConsts_scxMaskEditRegExprError 64491 -#define cxEditConsts_scxMaskEditInvalidEditValue 64492 -#define VDBConsts_SFirstRecord 64493 -#define VDBConsts_SPriorRecord 64494 -#define VDBConsts_SNextRecord 64495 -#define cxEditConsts_cxSDateEOM 64496 -#define cxEditConsts_cxSDateNow 64497 -#define cxEditConsts_scxSEditRepositoryButtonItem 64498 -#define cxEditConsts_scxSEditRepositoryMaskItem 64499 -#define cxEditConsts_scxSEditRepositoryTextItem 64500 -#define cxEditConsts_scxRegExprLine 64501 -#define cxEditConsts_scxRegExprChar 64502 -#define cxEditConsts_scxRegExprNotAssignedSourceStream 64503 -#define cxEditConsts_scxRegExprEmptySourceStream 64504 -#define cxEditConsts_scxRegExprCantUsePlusQuantifier 64505 -#define cxEditConsts_scxRegExprCantUseStarQuantifier 64506 -#define cxEditConsts_scxRegExprCantCreateEmptyAlt 64507 -#define cxEditConsts_scxRegExprCantCreateEmptyBlock 64508 -#define cxEditConsts_scxRegExprIllegalSymbol 64509 -#define cxEditConsts_scxRegExprIllegalQuantifier 64510 -#define cxEditConsts_scxRegExprIllegalIntegerValue 64511 -#define cxEditConsts_cxSDateTomorrow 64512 -#define cxEditConsts_cxSDateSunday 64513 -#define cxEditConsts_cxSDateMonday 64514 -#define cxEditConsts_cxSDateTuesday 64515 -#define cxEditConsts_cxSDateWednesday 64516 -#define cxEditConsts_cxSDateThursday 64517 -#define cxEditConsts_cxSDateFriday 64518 -#define cxEditConsts_cxSDateSaturday 64519 -#define cxEditConsts_cxSDateFirst 64520 -#define cxEditConsts_cxSDateSecond 64521 -#define cxEditConsts_cxSDateThird 64522 -#define cxEditConsts_cxSDateFourth 64523 -#define cxEditConsts_cxSDateFifth 64524 -#define cxEditConsts_cxSDateSixth 64525 -#define cxEditConsts_cxSDateSeventh 64526 -#define cxEditConsts_cxSDateBOM 64527 -#define pnglang_EPNGCannotAssignChunkText 64528 -#define pnglang_EPNGUnexpectedEndText 64529 -#define pnglang_EPNGNoImageDataText 64530 -#define pnglang_EPNGCannotChangeSizeText 64531 -#define pnglang_EPNGCannotAddChunkText 64532 -#define pnglang_EPNGCannotAddInvalidImageText 64533 -#define pnglang_EPNGOutMemoryText 64534 -#define pnglang_EPNGHeaderNotPresentText 64535 -#define cxDataConsts_cxSDataReadError 64536 -#define cxDataConsts_cxSDataWriteError 64537 -#define cxEditConsts_cxSEditInvalidRepositoryItem 64538 -#define cxEditConsts_cxSEditNumericValueConvertError 64539 -#define cxEditConsts_cxSEditValidateErrorText 64540 -#define cxEditConsts_cxSEditValueOutOfBounds 64541 -#define cxEditConsts_cxSDateToday 64542 -#define cxEditConsts_cxSDateYesterday 64543 -#define IBXConst_SFieldSizeMismatch 64544 -#define IBXConst_SEventAlreadyRegistered 64545 -#define IBXConst_SStringTooLarge 64546 -#define IBXConst_SNoTimers 64547 -#define pnglang_EPngInvalidCRCText 64548 -#define pnglang_EPNGInvalidIHDRText 64549 -#define pnglang_EPNGMissingMultipleIDATText 64550 -#define pnglang_EPNGZLIBErrorText 64551 -#define pnglang_EPNGInvalidPaletteText 64552 -#define pnglang_EPNGInvalidFileHeaderText 64553 -#define pnglang_EPNGIHDRNotFirstText 64554 -#define pnglang_EPNGSizeExceedsText 64555 -#define pnglang_EPNGUnknownPalEntryText 64556 -#define pnglang_EPNGUnknownCriticalChunkText 64557 -#define pnglang_EPNGUnknownCompressionText 64558 -#define pnglang_EPNGUnknownInterlaceText 64559 -#define IBXConst_SEOFInString 64560 -#define IBXConst_SParamNameExpected 64561 -#define IBXConst_SSuccess 64562 -#define IBXConst_SDelphiException 64563 -#define IBXConst_SNoOptionsSet 64564 -#define IBXConst_SNoDestinationDirectory 64565 -#define IBXConst_SNosourceDirectory 64566 -#define IBXConst_SNoUninstallFile 64567 -#define IBXConst_SOptionNeedsClient 64568 -#define IBXConst_SOptionNeedsServer 64569 -#define IBXConst_SInvalidOption 64570 -#define IBXConst_SInvalidOnErrorResult 64571 -#define IBXConst_SInvalidOnStatusResult 64572 -#define IBXConst_SDPBConstantUnknownEx 64573 -#define IBXConst_STPBConstantUnknownEx 64574 -#define IBXConst_SUnknownPlan 64575 -#define IBXConst_SInvalidRegistration 64576 -#define IBXConst_SInvalidBatchMove 64577 -#define IBXConst_SSQLDialectInvalid 64578 -#define IBXConst_SSPBConstantNotSupported 64579 -#define IBXConst_SSPBConstantUnknown 64580 -#define IBXConst_SServiceActive 64581 -#define IBXConst_SServiceInActive 64582 -#define IBXConst_SServerNameMissing 64583 -#define IBXConst_SQueryParamsError 64584 -#define IBXConst_SStartParamsError 64585 -#define IBXConst_SOutputParsingError 64586 -#define IBXConst_SUseSpecificProcedures 64587 -#define IBXConst_SSQLMonitorAlreadyPresent 64588 -#define IBXConst_SCantPrintValue 64589 -#define IBXConst_SEOFReached 64590 -#define IBXConst_SEOFInComment 64591 -#define IBXConst_SIsAExecuteProcedure 64592 -#define IBXConst_SUpdateFailed 64593 -#define IBXConst_SNotCachedUpdates 64594 -#define IBXConst_SNotLiveRequest 64595 -#define IBXConst_SNoProvider 64596 -#define IBXConst_SNoRecordsAffected 64597 -#define IBXConst_SNoTableName 64598 -#define IBXConst_SCannotCreatePrimaryIndex 64599 -#define IBXConst_SCannotDropSystemIndex 64600 -#define IBXConst_STableNameMismatch 64601 -#define IBXConst_SIndexFieldMissing 64602 -#define IBXConst_SInvalidCancellation 64603 -#define IBXConst_SInvalidEvent 64604 -#define IBXConst_SMaximumEvents 64605 -#define IBXConst_SNoEventsRegistered 64606 -#define IBXConst_SInvalidQueueing 64607 -#define IBXConst_SBufferNotSet 64608 -#define IBXConst_SCircularReference 64609 -#define IBXConst_SSQLParseError 64610 -#define IBXConst_SUserAbort 64611 -#define IBXConst_SDataSetUniDirectional 64612 -#define IBXConst_SCannotCreateSharedResource 64613 -#define IBXConst_SWindowsAPIError 64614 -#define IBXConst_SColumnListsDontMatch 64615 -#define IBXConst_SColumnTypesDontMatch 64616 -#define IBXConst_SCantEndSharedTransaction 64617 -#define IBXConst_SFieldUnsupportedType 64618 -#define IBXConst_SCircularDataLink 64619 -#define IBXConst_SEmptySQLStatement 64620 -#define IBXConst_SIsASelectStatement 64621 -#define IBXConst_SRequiredParamNotSet 64622 -#define IBXConst_SNoStoredProcName 64623 -#define IBXConst_SInvalidParamColumnIndex 64624 -#define IBXConst_SInvalidDataConversion 64625 -#define IBXConst_SColumnIsNotNullable 64626 -#define IBXConst_SBlobCannotBeRead 64627 -#define IBXConst_SBlobCannotBeWritten 64628 -#define IBXConst_SEmptyQuery 64629 -#define IBXConst_SCannotOpenNonSQLSelect 64630 -#define IBXConst_SNoFieldAccess 64631 -#define IBXConst_SFieldReadOnly 64632 -#define IBXConst_SFieldNotFound 64633 -#define IBXConst_SNotEditing 64634 -#define IBXConst_SCannotInsert 64635 -#define IBXConst_SCannotPost 64636 -#define IBXConst_SCannotUpdate 64637 -#define IBXConst_SCannotDelete 64638 -#define IBXConst_SCannotRefresh 64639 -#define IBXConst_SNoDatabasesInTransaction 64640 -#define IBXConst_SUpdateWrongDB 64641 -#define IBXConst_SUpdateWrongTR 64642 -#define IBXConst_SDatabaseNotAssigned 64643 -#define IBXConst_STransactionNotAssigned 64644 -#define IBXConst_SXSQLDAIndexOutOfRange 64645 -#define IBXConst_SXSQLDANameDoesNotExist 64646 -#define IBXConst_SEOF 64647 -#define IBXConst_SBOF 64648 -#define IBXConst_SInvalidStatementHandle 64649 -#define IBXConst_SSQLOpen 64650 -#define IBXConst_SSQLClosed 64651 -#define IBXConst_SDatasetOpen 64652 -#define IBXConst_SDatasetClosed 64653 -#define IBXConst_SUnknownSQLDataType 64654 -#define IBXConst_SInvalidColumnIndex 64655 -#define IBXConst_SNotPermitted 64656 -#define IBXConst_SFileAccessError 64657 -#define IBXConst_SConnectionTimeout 64658 -#define IBXConst_SCannotSetDatabase 64659 -#define IBXConst_SCannotSetTransaction 64660 -#define IBXConst_SOperationCancelled 64661 -#define IBXConst_SDPBConstantNotSupported 64662 -#define IBXConst_SDPBConstantUnknown 64663 -#define IBXConst_STPBConstantNotSupported 64664 -#define IBXConst_STPBConstantUnknown 64665 -#define IBXConst_SDatabaseClosed 64666 -#define IBXConst_SDatabaseOpen 64667 -#define IBXConst_SDatabaseNameMissing 64668 -#define IBXConst_SNotInTransaction 64669 -#define IBXConst_SInTransaction 64670 -#define IBXConst_STimeoutNegative 64671 -#define uDARes_err_CannotFindStatement 64672 -#define uDARes_err_CannotFindDefaultItem 64673 -#define uDARes_err_PoolIsNotEmpty 64674 -#define uDARes_err_MaxPoolSizeReached 64675 -#define uDARes_err_LAMEDataset 64676 -#define uDARes_err_DARDMInvalidSchema 64677 -#define uDARes_err_DARDMUnassignedAdapter 64678 -#define uDARes_err_DARDMConnectionIsNotAssigned 64679 -#define uDARes_err_DARDMCannotFindProxessorForDelta 64680 -#define uDARes_err_NeedShareMem 64681 -#define uDARes_err_ExecuteSQLCommandNotAllowed 64682 -#define IBXConst_SUnknownError 64683 -#define IBXConst_SInterBaseMissing 64684 -#define IBXConst_SInterBaseInstallMissing 64685 -#define IBXConst_SIB60feature 64686 -#define IBXConst_SNotSupported 64687 -#define uDARes_err_ChangeLogAlreadyStarted 64688 -#define uDARes_err_NotAttachedToDataTable 64689 -#define uDARes_err_DriverProcAlreadyRegistered 64690 -#define uDARes_err_DriverManagerAlreadyCreated 64691 -#define uDARes_err_DriverManagerNotAssigned 64692 -#define uDARes_err_FieldTypeNotSupported 64693 -#define uDARes_err_InvalidDataset 64694 -#define uDARes_err_CannotFindItem 64695 -#define uDARes_err_DriverAlreadyLoaded 64696 -#define uDARes_err_InvalidDLL 64697 -#define uDARes_err_UnknownDriver 64698 -#define uDARes_err_UnknownParameter 64699 -#define uDARes_err_FieldIsNotBound 64700 -#define uDARes_err_CannotFindField 64701 -#define uDARes_err_LoadPackageFailed 64702 -#define uDARes_err_InvalidDriverReference 64703 -#define DBConsts_SParameterNotFound 64704 -#define DBConsts_SInvalidVersion 64705 -#define DBConsts_SBadFieldType 64706 -#define DBConsts_SAggActive 64707 -#define DBConsts_SProviderSQLNotSupported 64708 -#define DBConsts_SProviderExecuteNotSupported 64709 -#define DBConsts_SExprNoAggOnCalcs 64710 -#define DBConsts_SDataSetUnidirectional 64711 -#define DBConsts_SUnassignedVar 64712 -#define DBConsts_SRecordNotFound 64713 -#define DBConsts_SFieldNameTooLarge 64714 -#define DBConsts_SBcdOverflow 64715 -#define DBConsts_SInvalidBcdValue 64716 -#define DBConsts_SInvalidFormatType 64717 -#define DBConsts_SCouldNotParseTimeStamp 64718 -#define DBConsts_SInvalidSqlTimeStamp 64719 -#define DBConsts_SExprExpected 64720 -#define DBConsts_SExprBadField 64721 -#define DBConsts_SExprBadNullTest 64722 -#define DBConsts_SExprRangeError 64723 -#define DBConsts_SExprIncorrect 64724 -#define DBConsts_SExprNothing 64725 -#define DBConsts_SExprTypeMis 64726 -#define DBConsts_SExprBadScope 64727 -#define DBConsts_SExprNoArith 64728 -#define DBConsts_SExprNotAgg 64729 -#define DBConsts_SExprBadConst 64730 -#define DBConsts_SExprNoAggFilter 64731 -#define DBConsts_SExprEmptyInList 64732 -#define DBConsts_SInvalidKeywordUse 64733 -#define DBConsts_STextFalse 64734 -#define DBConsts_STextTrue 64735 -#define DBConsts_SLookupInfoError 64736 -#define DBConsts_SDataSourceChange 64737 -#define DBConsts_SNoNestedMasterSource 64738 -#define DBConsts_SDataSetOpen 64739 -#define DBConsts_SNotEditing 64740 -#define DBConsts_SDataSetClosed 64741 -#define DBConsts_SDataSetEmpty 64742 -#define DBConsts_SDataSetReadOnly 64743 -#define DBConsts_SNestedDataSetClass 64744 -#define DBConsts_SExprTermination 64745 -#define DBConsts_SExprNameError 64746 -#define DBConsts_SExprStringError 64747 -#define DBConsts_SExprInvalidChar 64748 -#define DBConsts_SExprNoLParen 64749 -#define DBConsts_SExprNoRParen 64750 -#define DBConsts_SExprNoRParenOrComma 64751 -#define DBConsts_SInvalidFloatValue 64752 -#define DBConsts_SFieldTypeMismatch 64753 -#define DBConsts_SFieldSizeMismatch 64754 -#define DBConsts_SInvalidVarByteArray 64755 -#define DBConsts_SFieldOutOfRange 64756 -#define DBConsts_SFieldRequired 64757 -#define DBConsts_SDataSetMissing 64758 -#define DBConsts_SInvalidCalcType 64759 -#define DBConsts_SFieldReadOnly 64760 -#define DBConsts_SFieldIndexError 64761 -#define DBConsts_SNoFieldIndexes 64762 -#define DBConsts_SNotIndexField 64763 -#define DBConsts_SIndexFieldMissing 64764 -#define DBConsts_SNoIndexForFields 64765 -#define DBConsts_SIndexNotFound 64766 -#define DBConsts_SCircularDataLink 64767 -#define JclResources_RsIntelCacheDescrB3 64768 -#define JclResources_RsIntelCacheDescrB4 64769 -#define JclResources_RsIntelCacheDescrF0 64770 -#define JclResources_RsIntelCacheDescrF1 64771 -#define DBConsts_SInvalidFieldSize 64772 -#define DBConsts_SInvalidFieldKind 64773 -#define DBConsts_SUnknownFieldType 64774 -#define DBConsts_SFieldNameMissing 64775 -#define DBConsts_SDuplicateFieldName 64776 -#define DBConsts_SFieldNotFound 64777 -#define DBConsts_SFieldAccessError 64778 -#define DBConsts_SFieldValueError 64779 -#define DBConsts_SFieldRangeError 64780 -#define DBConsts_SBcdFieldRangeError 64781 -#define DBConsts_SInvalidIntegerValue 64782 -#define DBConsts_SInvalidBoolValue 64783 -#define JclResources_RsIntelCacheDescr71 64784 -#define JclResources_RsIntelCacheDescr72 64785 -#define JclResources_RsIntelCacheDescr78 64786 -#define JclResources_RsIntelCacheDescr79 64787 -#define JclResources_RsIntelCacheDescr7A 64788 -#define JclResources_RsIntelCacheDescr7B 64789 -#define JclResources_RsIntelCacheDescr7C 64790 -#define JclResources_RsIntelCacheDescr7D 64791 -#define JclResources_RsIntelCacheDescr7F 64792 -#define JclResources_RsIntelCacheDescr82 64793 -#define JclResources_RsIntelCacheDescr83 64794 -#define JclResources_RsIntelCacheDescr84 64795 -#define JclResources_RsIntelCacheDescr85 64796 -#define JclResources_RsIntelCacheDescr86 64797 -#define JclResources_RsIntelCacheDescr87 64798 -#define JclResources_RsIntelCacheDescrB0 64799 -#define JclResources_RsIntelCacheDescr46 64800 -#define JclResources_RsIntelCacheDescr47 64801 -#define JclResources_RsIntelCacheDescr49 64802 -#define JclResources_RsIntelCacheDescr50 64803 -#define JclResources_RsIntelCacheDescr51 64804 -#define JclResources_RsIntelCacheDescr52 64805 -#define JclResources_RsIntelCacheDescr56 64806 -#define JclResources_RsIntelCacheDescr57 64807 -#define JclResources_RsIntelCacheDescr5B 64808 -#define JclResources_RsIntelCacheDescr5C 64809 -#define JclResources_RsIntelCacheDescr5D 64810 -#define JclResources_RsIntelCacheDescr60 64811 -#define JclResources_RsIntelCacheDescr66 64812 -#define JclResources_RsIntelCacheDescr67 64813 -#define JclResources_RsIntelCacheDescr68 64814 -#define JclResources_RsIntelCacheDescr70 64815 -#define JclResources_RsIntelCacheDescr08 64816 -#define JclResources_RsIntelCacheDescr0A 64817 -#define JclResources_RsIntelCacheDescr0B 64818 -#define JclResources_RsIntelCacheDescr0C 64819 -#define JclResources_RsIntelCacheDescr22 64820 -#define JclResources_RsIntelCacheDescr23 64821 -#define JclResources_RsIntelCacheDescr25 64822 -#define JclResources_RsIntelCacheDescr29 64823 -#define JclResources_RsIntelCacheDescr2C 64824 -#define JclResources_RsIntelCacheDescr30 64825 -#define JclResources_RsIntelCacheDescr40 64826 -#define JclResources_RsIntelCacheDescr41 64827 -#define JclResources_RsIntelCacheDescr42 64828 -#define JclResources_RsIntelCacheDescr43 64829 -#define JclResources_RsIntelCacheDescr44 64830 -#define JclResources_RsIntelCacheDescr45 64831 -#define JclResources_RsRTTIMethodKind 64832 -#define JclResources_RsRTTIParamCount 64833 -#define JclResources_RsRTTIReturnType 64834 -#define JclResources_RsRTTIMaxLen 64835 -#define JclResources_RsRTTIElSize 64836 -#define JclResources_RsRTTIElType 64837 -#define JclResources_RsRTTIElNeedCleanup 64838 -#define JclResources_RsRTTIVarType 64839 -#define JclResources_RsDeclarationFormat 64840 -#define JclResources_RsIntelCacheDescr00 64841 -#define JclResources_RsIntelCacheDescr01 64842 -#define JclResources_RsIntelCacheDescr02 64843 -#define JclResources_RsIntelCacheDescr03 64844 -#define JclResources_RsIntelCacheDescr04 64845 -#define JclResources_RsIntelCacheDescr05 64846 -#define JclResources_RsIntelCacheDescr06 64847 -#define JclResources_RsRTTIDefault 64848 -#define JclResources_RsRTTIName 64849 -#define JclResources_RsRTTIType 64850 -#define JclResources_RsRTTIFlags 64851 -#define JclResources_RsRTTIGUID 64852 -#define JclResources_RsRTTITypeKind 64853 -#define JclResources_RsRTTIOrdinalType 64854 -#define JclResources_RsRTTIMinValue 64855 -#define JclResources_RsRTTIMaxValue 64856 -#define JclResources_RsRTTINameList 64857 -#define JclResources_RsRTTIClassName 64858 -#define JclResources_RsRTTIParent 64859 -#define JclResources_RsRTTIPropCount 64860 -#define JclResources_RsRTTIUnitName 64861 -#define JclResources_RsRTTIBasedOn 64862 -#define JclResources_RsRTTIFloatType 64863 -#define JclResources_RsRTTIVar 64864 -#define JclResources_RsRTTIConst 64865 -#define JclResources_RsRTTIArrayOf 64866 -#define JclResources_RsRTTIOut 64867 -#define JclResources_RsRTTIOrdinal 64868 -#define JclResources_RsRTTITrue 64869 -#define JclResources_RsRTTIFalse 64870 -#define JclResources_RsRTTITypeError 64871 -#define JclResources_RsRTTITypeInfoAt 64872 -#define JclResources_RsRTTIPropRead 64873 -#define JclResources_RsRTTIPropWrite 64874 -#define JclResources_RsRTTIPropStored 64875 -#define JclResources_RsRTTIField 64876 -#define JclResources_RsRTTIStaticMethod 64877 -#define JclResources_RsRTTIVirtualMethod 64878 -#define JclResources_RsRTTIIndex 64879 -#define JclResources_RsHKCRLong 64880 -#define JclResources_RsHKCULong 64881 -#define JclResources_RsHKLMLong 64882 -#define JclResources_RsHKUSLong 64883 -#define JclResources_RsHKPDLong 64884 -#define JclResources_RsHKCCLong 64885 -#define JclResources_RsHKDDLong 64886 -#define JclResources_RsHKCRShort 64887 -#define JclResources_RsHKCUShort 64888 -#define JclResources_RsHKLMShort 64889 -#define JclResources_RsHKUSShort 64890 -#define JclResources_RsHKPDShort 64891 -#define JclResources_RsHKCCShort 64892 -#define JclResources_RsHKDDShort 64893 -#define JclResources_RsRTTIValueOutOfRange 64894 -#define JclResources_RsRTTIUnknownIdentifier 64895 +#define TeeConst_TeeMsg_ValuesArrowEndY 64368 +#define TeeConst_TeeMsg_DefaultFontName 64384 +#define TeeConst_TeeMsg_CheckPointerSize 64385 +#define TeeConst_TeeMsg_FunctionPeriod 64386 +#define TeeConst_TeeMsg_PieOther 64387 +#define TeeConst_TeeMsg_ShapeGallery1 64388 +#define TeeConst_TeeMsg_ShapeGallery2 64389 +#define TeeConst_TeeMsg_ValuesX 64390 +#define TeeConst_TeeMsg_ValuesY 64391 +#define TeeConst_TeeMsg_ValuesPie 64392 +#define TeeConst_TeeMsg_ValuesBar 64393 +#define TeeConst_TeeMsg_ValuesAngle 64394 +#define TeeConst_TeeMsg_ValuesGanttStart 64395 +#define TeeConst_TeeMsg_ValuesGanttEnd 64396 +#define TeeConst_TeeMsg_ValuesGanttNextTask 64397 +#define TeeConst_TeeMsg_ValuesBubbleRadius 64398 +#define TeeConst_TeeMsg_ValuesArrowEndX 64399 +#define TeeConst_TeeMsg_GanttSample6 64400 +#define TeeConst_TeeMsg_GanttSample7 64401 +#define TeeConst_TeeMsg_GanttSample8 64402 +#define TeeConst_TeeMsg_GanttSample9 64403 +#define TeeConst_TeeMsg_GanttSample10 64404 +#define TeeConst_TeeMsg_DefaultFontSize 64405 +#define TeeConst_TeeMsg_DefaultGalleryFontSize 64406 +#define TeeConst_TeeMsg_FunctionAdd 64407 +#define TeeConst_TeeMsg_FunctionSubtract 64408 +#define TeeConst_TeeMsg_FunctionMultiply 64409 +#define TeeConst_TeeMsg_FunctionDivide 64410 +#define TeeConst_TeeMsg_FunctionHigh 64411 +#define TeeConst_TeeMsg_FunctionLow 64412 +#define TeeConst_TeeMsg_FunctionAverage 64413 +#define TeeConst_TeeMsg_GalleryShape 64414 +#define TeeConst_TeeMsg_GalleryBubble 64415 +#define TeeConst_TeeMsg_PieSample3 64416 +#define TeeConst_TeeMsg_PieSample4 64417 +#define TeeConst_TeeMsg_PieSample5 64418 +#define TeeConst_TeeMsg_PieSample6 64419 +#define TeeConst_TeeMsg_PieSample7 64420 +#define TeeConst_TeeMsg_PieSample8 64421 +#define TeeConst_TeeMsg_GalleryChartName 64422 +#define TeeConst_TeeMsg_GalleryStandard 64423 +#define TeeConst_TeeMsg_GalleryFunctions 64424 +#define TeeConst_TeeMsg_GalleryArrow 64425 +#define TeeConst_TeeMsg_GalleryGantt 64426 +#define TeeConst_TeeMsg_GanttSample1 64427 +#define TeeConst_TeeMsg_GanttSample2 64428 +#define TeeConst_TeeMsg_GanttSample3 64429 +#define TeeConst_TeeMsg_GanttSample4 64430 +#define TeeConst_TeeMsg_GanttSample5 64431 +#define TeeConst_TeeMsg_BarOffsetPercent 64432 +#define TeeConst_TeeMsg_DefaultPercentOf 64433 +#define TeeConst_TeeMsg_DefPercentFormat 64434 +#define TeeConst_TeeMsg_DefValueFormat 64435 +#define TeeConst_TeeMsg_AxisTitle 64436 +#define TeeConst_TeeMsg_AxisLabels 64437 +#define TeeConst_TeeMsg_GalleryLine 64438 +#define TeeConst_TeeMsg_GalleryPoint 64439 +#define TeeConst_TeeMsg_GalleryArea 64440 +#define TeeConst_TeeMsg_GalleryBar 64441 +#define TeeConst_TeeMsg_GalleryHorizBar 64442 +#define TeeConst_TeeMsg_GalleryPie 64443 +#define TeeConst_TeeMsg_GalleryFastLine 64444 +#define TeeConst_TeeMsg_Rotation 64445 +#define TeeConst_TeeMsg_PieSample1 64446 +#define TeeConst_TeeMsg_PieSample2 64447 +#define TeeConst_TeeMsg_LegendColorWidth 64448 +#define TeeConst_TeeMsg_SeriesSetDataSource 64449 +#define TeeConst_TeeMsg_SeriesInvDataSource 64450 +#define TeeConst_TeeMsg_FillSample 64451 +#define TeeConst_TeeMsg_Angle 64452 +#define TeeConst_TeeMsg_AxisLogDateTime 64453 +#define TeeConst_TeeMsg_AxisLogNotPositive 64454 +#define TeeConst_TeeMsg_AxisLabelSep 64455 +#define TeeConst_TeeMsg_AxisIncrementNeg 64456 +#define TeeConst_TeeMsg_AxisMinMax 64457 +#define TeeConst_TeeMsg_AxisMaxMin 64458 +#define TeeConst_TeeMsg_AxisLogBase 64459 +#define TeeConst_TeeMsg_MaxPointsPerPage 64460 +#define TeeConst_TeeMsg_3dPercent 64461 +#define TeeConst_TeeMsg_CircularSeries 64462 +#define TeeConst_TeeMsg_BarWidthPercent 64463 +#define MidConst_SFieldConstFail 64464 +#define MidConst_SDefExprFail 64465 +#define MidConst_SNoEditsAllowed 64466 +#define MidConst_SNoDeletesAllowed 64467 +#define MidConst_SNoInsertsAllowed 64468 +#define MidConst_SConnectionMissing 64469 +#define MidConst_SNoCircularConnection 64470 +#define OleConst_SLinkProperties 64471 +#define OleConst_SInvalidLinkSource 64472 +#define OleConst_SCannotBreakLink 64473 +#define OleConst_SEmptyContainer 64474 +#define OleConst_SInvalidVerb 64475 +#define OleConst_SPropDlgCaption 64476 +#define OleConst_SInvalidStreamFormat 64477 +#define TeeConst_TeeMsg_LegendTopPos 64478 +#define TeeConst_TeeMsg_LegendFirstValue 64479 +#define VDBConsts_SCancelEdit 64480 +#define VDBConsts_SRefreshRecord 64481 +#define VDBConsts_SDataSourceFixed 64482 +#define VDBConsts_SPropDefByLookup 64483 +#define VDBConsts_SRemoteLogin 64484 +#define MidConst_SNoDataProvider 64485 +#define MidConst_SInvalidDataPacket 64486 +#define MidConst_SRefreshError 64487 +#define MidConst_SNoCircularReference 64488 +#define MidConst_SErrorLoadingMidas 64489 +#define MidConst_SCannotCreateDataSet 64490 +#define MidConst_SNoConnectToBroker 64491 +#define MidConst_SNoParentConnection 64492 +#define MidConst_SConstraintFailed 64493 +#define MidConst_SField 64494 +#define MidConst_SRecConstFail 64495 +#define cxEditConsts_scxRegExprMissing 64496 +#define cxEditConsts_scxRegExprUnnecessary 64497 +#define cxEditConsts_scxRegExprIncorrectSpace 64498 +#define cxEditConsts_scxRegExprNotCompiled 64499 +#define cxEditConsts_scxRegExprIncorrectParameterQuantifier 64500 +#define cxEditConsts_scxRegExprCantUseParameterQuantifier 64501 +#define cxEditConsts_scxMaskEditRegExprError 64502 +#define cxEditConsts_scxMaskEditInvalidEditValue 64503 +#define VDBConsts_SFirstRecord 64504 +#define VDBConsts_SPriorRecord 64505 +#define VDBConsts_SNextRecord 64506 +#define VDBConsts_SLastRecord 64507 +#define VDBConsts_SInsertRecord 64508 +#define VDBConsts_SDeleteRecord 64509 +#define VDBConsts_SEditRecord 64510 +#define VDBConsts_SPostEdit 64511 +#define cxEditConsts_scxRegExprLine 64512 +#define cxEditConsts_scxRegExprChar 64513 +#define cxEditConsts_scxRegExprNotAssignedSourceStream 64514 +#define cxEditConsts_scxRegExprEmptySourceStream 64515 +#define cxEditConsts_scxRegExprCantUsePlusQuantifier 64516 +#define cxEditConsts_scxRegExprCantUseStarQuantifier 64517 +#define cxEditConsts_scxRegExprCantCreateEmptyAlt 64518 +#define cxEditConsts_scxRegExprCantCreateEmptyBlock 64519 +#define cxEditConsts_scxRegExprIllegalSymbol 64520 +#define cxEditConsts_scxRegExprIllegalQuantifier 64521 +#define cxEditConsts_scxRegExprIllegalIntegerValue 64522 +#define cxEditConsts_scxRegExprTooBigReferenceNumber 64523 +#define cxEditConsts_scxRegExprCantCreateEmptyEnum 64524 +#define cxEditConsts_scxRegExprSubrangeOrder 64525 +#define cxEditConsts_scxRegExprHexNumberExpected0 64526 +#define cxEditConsts_scxRegExprHexNumberExpected 64527 +#define cxEditConsts_cxSDateThursday 64528 +#define cxEditConsts_cxSDateFriday 64529 +#define cxEditConsts_cxSDateSaturday 64530 +#define cxEditConsts_cxSDateFirst 64531 +#define cxEditConsts_cxSDateSecond 64532 +#define cxEditConsts_cxSDateThird 64533 +#define cxEditConsts_cxSDateFourth 64534 +#define cxEditConsts_cxSDateFifth 64535 +#define cxEditConsts_cxSDateSixth 64536 +#define cxEditConsts_cxSDateSeventh 64537 +#define cxEditConsts_cxSDateBOM 64538 +#define cxEditConsts_cxSDateEOM 64539 +#define cxEditConsts_cxSDateNow 64540 +#define cxEditConsts_scxSEditRepositoryButtonItem 64541 +#define cxEditConsts_scxSEditRepositoryMaskItem 64542 +#define cxEditConsts_scxSEditRepositoryTextItem 64543 +#define pnglang_EPNGCannotAddInvalidImageText 64544 +#define pnglang_EPNGOutMemoryText 64545 +#define pnglang_EPNGHeaderNotPresentText 64546 +#define cxDataConsts_cxSDataReadError 64547 +#define cxDataConsts_cxSDataWriteError 64548 +#define cxEditConsts_cxSEditInvalidRepositoryItem 64549 +#define cxEditConsts_cxSEditNumericValueConvertError 64550 +#define cxEditConsts_cxSEditValidateErrorText 64551 +#define cxEditConsts_cxSEditValueOutOfBounds 64552 +#define cxEditConsts_cxSDateToday 64553 +#define cxEditConsts_cxSDateYesterday 64554 +#define cxEditConsts_cxSDateTomorrow 64555 +#define cxEditConsts_cxSDateSunday 64556 +#define cxEditConsts_cxSDateMonday 64557 +#define cxEditConsts_cxSDateTuesday 64558 +#define cxEditConsts_cxSDateWednesday 64559 +#define pnglang_EPNGInvalidIHDRText 64560 +#define pnglang_EPNGMissingMultipleIDATText 64561 +#define pnglang_EPNGZLIBErrorText 64562 +#define pnglang_EPNGInvalidPaletteText 64563 +#define pnglang_EPNGInvalidFileHeaderText 64564 +#define pnglang_EPNGIHDRNotFirstText 64565 +#define pnglang_EPNGSizeExceedsText 64566 +#define pnglang_EPNGUnknownPalEntryText 64567 +#define pnglang_EPNGUnknownCriticalChunkText 64568 +#define pnglang_EPNGUnknownCompressionText 64569 +#define pnglang_EPNGUnknownInterlaceText 64570 +#define pnglang_EPNGCannotAssignChunkText 64571 +#define pnglang_EPNGUnexpectedEndText 64572 +#define pnglang_EPNGNoImageDataText 64573 +#define pnglang_EPNGCannotChangeSizeText 64574 +#define pnglang_EPNGCannotAddChunkText 64575 +#define IBXConst_SNoDestinationDirectory 64576 +#define IBXConst_SNosourceDirectory 64577 +#define IBXConst_SNoUninstallFile 64578 +#define IBXConst_SOptionNeedsClient 64579 +#define IBXConst_SOptionNeedsServer 64580 +#define IBXConst_SInvalidOption 64581 +#define IBXConst_SInvalidOnErrorResult 64582 +#define IBXConst_SInvalidOnStatusResult 64583 +#define IBXConst_SDPBConstantUnknownEx 64584 +#define IBXConst_STPBConstantUnknownEx 64585 +#define IBXConst_SUnknownPlan 64586 +#define IBXConst_SFieldSizeMismatch 64587 +#define IBXConst_SEventAlreadyRegistered 64588 +#define IBXConst_SStringTooLarge 64589 +#define IBXConst_SNoTimers 64590 +#define pnglang_EPngInvalidCRCText 64591 +#define IBXConst_SServiceActive 64592 +#define IBXConst_SServiceInActive 64593 +#define IBXConst_SServerNameMissing 64594 +#define IBXConst_SQueryParamsError 64595 +#define IBXConst_SStartParamsError 64596 +#define IBXConst_SOutputParsingError 64597 +#define IBXConst_SUseSpecificProcedures 64598 +#define IBXConst_SSQLMonitorAlreadyPresent 64599 +#define IBXConst_SCantPrintValue 64600 +#define IBXConst_SEOFReached 64601 +#define IBXConst_SEOFInComment 64602 +#define IBXConst_SEOFInString 64603 +#define IBXConst_SParamNameExpected 64604 +#define IBXConst_SSuccess 64605 +#define IBXConst_SDelphiException 64606 +#define IBXConst_SNoOptionsSet 64607 +#define IBXConst_SNoRecordsAffected 64608 +#define IBXConst_SNoTableName 64609 +#define IBXConst_SCannotCreatePrimaryIndex 64610 +#define IBXConst_SCannotDropSystemIndex 64611 +#define IBXConst_STableNameMismatch 64612 +#define IBXConst_SIndexFieldMissing 64613 +#define IBXConst_SInvalidCancellation 64614 +#define IBXConst_SInvalidEvent 64615 +#define IBXConst_SMaximumEvents 64616 +#define IBXConst_SNoEventsRegistered 64617 +#define IBXConst_SInvalidQueueing 64618 +#define IBXConst_SInvalidRegistration 64619 +#define IBXConst_SInvalidBatchMove 64620 +#define IBXConst_SSQLDialectInvalid 64621 +#define IBXConst_SSPBConstantNotSupported 64622 +#define IBXConst_SSPBConstantUnknown 64623 +#define IBXConst_SCannotCreateSharedResource 64624 +#define IBXConst_SWindowsAPIError 64625 +#define IBXConst_SColumnListsDontMatch 64626 +#define IBXConst_SColumnTypesDontMatch 64627 +#define IBXConst_SCantEndSharedTransaction 64628 +#define IBXConst_SFieldUnsupportedType 64629 +#define IBXConst_SCircularDataLink 64630 +#define IBXConst_SEmptySQLStatement 64631 +#define IBXConst_SIsASelectStatement 64632 +#define IBXConst_SRequiredParamNotSet 64633 +#define IBXConst_SNoStoredProcName 64634 +#define IBXConst_SIsAExecuteProcedure 64635 +#define IBXConst_SUpdateFailed 64636 +#define IBXConst_SNotCachedUpdates 64637 +#define IBXConst_SNotLiveRequest 64638 +#define IBXConst_SNoProvider 64639 +#define IBXConst_SEmptyQuery 64640 +#define IBXConst_SCannotOpenNonSQLSelect 64641 +#define IBXConst_SNoFieldAccess 64642 +#define IBXConst_SFieldReadOnly 64643 +#define IBXConst_SFieldNotFound 64644 +#define IBXConst_SNotEditing 64645 +#define IBXConst_SCannotInsert 64646 +#define IBXConst_SCannotPost 64647 +#define IBXConst_SCannotUpdate 64648 +#define IBXConst_SCannotDelete 64649 +#define IBXConst_SCannotRefresh 64650 +#define IBXConst_SBufferNotSet 64651 +#define IBXConst_SCircularReference 64652 +#define IBXConst_SSQLParseError 64653 +#define IBXConst_SUserAbort 64654 +#define IBXConst_SDataSetUniDirectional 64655 +#define IBXConst_SXSQLDAIndexOutOfRange 64656 +#define IBXConst_SXSQLDANameDoesNotExist 64657 +#define IBXConst_SEOF 64658 +#define IBXConst_SBOF 64659 +#define IBXConst_SInvalidStatementHandle 64660 +#define IBXConst_SSQLOpen 64661 +#define IBXConst_SSQLClosed 64662 +#define IBXConst_SDatasetOpen 64663 +#define IBXConst_SDatasetClosed 64664 +#define IBXConst_SUnknownSQLDataType 64665 +#define IBXConst_SInvalidColumnIndex 64666 +#define IBXConst_SInvalidParamColumnIndex 64667 +#define IBXConst_SInvalidDataConversion 64668 +#define IBXConst_SColumnIsNotNullable 64669 +#define IBXConst_SBlobCannotBeRead 64670 +#define IBXConst_SBlobCannotBeWritten 64671 +#define IBXConst_SOperationCancelled 64672 +#define IBXConst_SDPBConstantNotSupported 64673 +#define IBXConst_SDPBConstantUnknown 64674 +#define IBXConst_STPBConstantNotSupported 64675 +#define IBXConst_STPBConstantUnknown 64676 +#define IBXConst_SDatabaseClosed 64677 +#define IBXConst_SDatabaseOpen 64678 +#define IBXConst_SDatabaseNameMissing 64679 +#define IBXConst_SNotInTransaction 64680 +#define IBXConst_SInTransaction 64681 +#define IBXConst_STimeoutNegative 64682 +#define IBXConst_SNoDatabasesInTransaction 64683 +#define IBXConst_SUpdateWrongDB 64684 +#define IBXConst_SUpdateWrongTR 64685 +#define IBXConst_SDatabaseNotAssigned 64686 +#define IBXConst_STransactionNotAssigned 64687 +#define uDARes_err_DARDMInvalidSchema 64688 +#define uDARes_err_DARDMUnassignedAdapter 64689 +#define uDARes_err_DARDMConnectionIsNotAssigned 64690 +#define uDARes_err_DARDMCannotFindProxessorForDelta 64691 +#define uDARes_err_NeedShareMem 64692 +#define uDARes_err_ExecuteSQLCommandNotAllowed 64693 +#define IBXConst_SUnknownError 64694 +#define IBXConst_SInterBaseMissing 64695 +#define IBXConst_SInterBaseInstallMissing 64696 +#define IBXConst_SIB60feature 64697 +#define IBXConst_SNotSupported 64698 +#define IBXConst_SNotPermitted 64699 +#define IBXConst_SFileAccessError 64700 +#define IBXConst_SConnectionTimeout 64701 +#define IBXConst_SCannotSetDatabase 64702 +#define IBXConst_SCannotSetTransaction 64703 +#define uDARes_err_FieldTypeNotSupported 64704 +#define uDARes_err_InvalidDataset 64705 +#define uDARes_err_CannotFindItem 64706 +#define uDARes_err_DriverAlreadyLoaded 64707 +#define uDARes_err_InvalidDLL 64708 +#define uDARes_err_UnknownDriver 64709 +#define uDARes_err_UnknownParameter 64710 +#define uDARes_err_FieldIsNotBound 64711 +#define uDARes_err_CannotFindField 64712 +#define uDARes_err_LoadPackageFailed 64713 +#define uDARes_err_InvalidDriverReference 64714 +#define uDARes_err_CannotFindStatement 64715 +#define uDARes_err_CannotFindDefaultItem 64716 +#define uDARes_err_PoolIsNotEmpty 64717 +#define uDARes_err_MaxPoolSizeReached 64718 +#define uDARes_err_LAMEDataset 64719 +#define DBConsts_SProviderExecuteNotSupported 64720 +#define DBConsts_SExprNoAggOnCalcs 64721 +#define DBConsts_SDataSetUnidirectional 64722 +#define DBConsts_SUnassignedVar 64723 +#define DBConsts_SRecordNotFound 64724 +#define DBConsts_SFieldNameTooLarge 64725 +#define DBConsts_SBcdOverflow 64726 +#define DBConsts_SInvalidBcdValue 64727 +#define DBConsts_SInvalidFormatType 64728 +#define DBConsts_SCouldNotParseTimeStamp 64729 +#define DBConsts_SInvalidSqlTimeStamp 64730 +#define uDARes_err_ChangeLogAlreadyStarted 64731 +#define uDARes_err_NotAttachedToDataTable 64732 +#define uDARes_err_DriverProcAlreadyRegistered 64733 +#define uDARes_err_DriverManagerAlreadyCreated 64734 +#define uDARes_err_DriverManagerNotAssigned 64735 +#define DBConsts_SExprNothing 64736 +#define DBConsts_SExprTypeMis 64737 +#define DBConsts_SExprBadScope 64738 +#define DBConsts_SExprNoArith 64739 +#define DBConsts_SExprNotAgg 64740 +#define DBConsts_SExprBadConst 64741 +#define DBConsts_SExprNoAggFilter 64742 +#define DBConsts_SExprEmptyInList 64743 +#define DBConsts_SInvalidKeywordUse 64744 +#define DBConsts_STextFalse 64745 +#define DBConsts_STextTrue 64746 +#define DBConsts_SParameterNotFound 64747 +#define DBConsts_SInvalidVersion 64748 +#define DBConsts_SBadFieldType 64749 +#define DBConsts_SAggActive 64750 +#define DBConsts_SProviderSQLNotSupported 64751 +#define DBConsts_SDataSetClosed 64752 +#define DBConsts_SDataSetEmpty 64753 +#define DBConsts_SDataSetReadOnly 64754 +#define DBConsts_SNestedDataSetClass 64755 +#define DBConsts_SExprTermination 64756 +#define DBConsts_SExprNameError 64757 +#define DBConsts_SExprStringError 64758 +#define DBConsts_SExprInvalidChar 64759 +#define DBConsts_SExprNoLParen 64760 +#define DBConsts_SExprNoRParen 64761 +#define DBConsts_SExprNoRParenOrComma 64762 +#define DBConsts_SExprExpected 64763 +#define DBConsts_SExprBadField 64764 +#define DBConsts_SExprBadNullTest 64765 +#define DBConsts_SExprRangeError 64766 +#define DBConsts_SExprIncorrect 64767 +#define DBConsts_SFieldRequired 64768 +#define DBConsts_SDataSetMissing 64769 +#define DBConsts_SInvalidCalcType 64770 +#define DBConsts_SFieldReadOnly 64771 +#define DBConsts_SFieldIndexError 64772 +#define DBConsts_SNoFieldIndexes 64773 +#define DBConsts_SNotIndexField 64774 +#define DBConsts_SIndexFieldMissing 64775 +#define DBConsts_SNoIndexForFields 64776 +#define DBConsts_SIndexNotFound 64777 +#define DBConsts_SCircularDataLink 64778 +#define DBConsts_SLookupInfoError 64779 +#define DBConsts_SDataSourceChange 64780 +#define DBConsts_SNoNestedMasterSource 64781 +#define DBConsts_SDataSetOpen 64782 +#define DBConsts_SNotEditing 64783 +#define DBConsts_SInvalidFieldKind 64784 +#define DBConsts_SUnknownFieldType 64785 +#define DBConsts_SFieldNameMissing 64786 +#define DBConsts_SDuplicateFieldName 64787 +#define DBConsts_SFieldNotFound 64788 +#define DBConsts_SFieldAccessError 64789 +#define DBConsts_SFieldValueError 64790 +#define DBConsts_SFieldRangeError 64791 +#define DBConsts_SBcdFieldRangeError 64792 +#define DBConsts_SInvalidIntegerValue 64793 +#define DBConsts_SInvalidBoolValue 64794 +#define DBConsts_SInvalidFloatValue 64795 +#define DBConsts_SFieldTypeMismatch 64796 +#define DBConsts_SFieldSizeMismatch 64797 +#define DBConsts_SInvalidVarByteArray 64798 +#define DBConsts_SFieldOutOfRange 64799 +#define JclResources_RsIntelCacheDescr7A 64800 +#define JclResources_RsIntelCacheDescr7B 64801 +#define JclResources_RsIntelCacheDescr7C 64802 +#define JclResources_RsIntelCacheDescr7D 64803 +#define JclResources_RsIntelCacheDescr7F 64804 +#define JclResources_RsIntelCacheDescr82 64805 +#define JclResources_RsIntelCacheDescr83 64806 +#define JclResources_RsIntelCacheDescr84 64807 +#define JclResources_RsIntelCacheDescr85 64808 +#define JclResources_RsIntelCacheDescr86 64809 +#define JclResources_RsIntelCacheDescr87 64810 +#define JclResources_RsIntelCacheDescrB0 64811 +#define JclResources_RsIntelCacheDescrB3 64812 +#define JclResources_RsIntelCacheDescrF0 64813 +#define JclResources_RsIntelCacheDescrF1 64814 +#define DBConsts_SInvalidFieldSize 64815 +#define JclResources_RsIntelCacheDescr45 64816 +#define JclResources_RsIntelCacheDescr50 64817 +#define JclResources_RsIntelCacheDescr51 64818 +#define JclResources_RsIntelCacheDescr52 64819 +#define JclResources_RsIntelCacheDescr5B 64820 +#define JclResources_RsIntelCacheDescr5C 64821 +#define JclResources_RsIntelCacheDescr5D 64822 +#define JclResources_RsIntelCacheDescr60 64823 +#define JclResources_RsIntelCacheDescr66 64824 +#define JclResources_RsIntelCacheDescr67 64825 +#define JclResources_RsIntelCacheDescr68 64826 +#define JclResources_RsIntelCacheDescr70 64827 +#define JclResources_RsIntelCacheDescr71 64828 +#define JclResources_RsIntelCacheDescr72 64829 +#define JclResources_RsIntelCacheDescr78 64830 +#define JclResources_RsIntelCacheDescr79 64831 +#define JclResources_RsIntelCacheDescr04 64832 +#define JclResources_RsIntelCacheDescr06 64833 +#define JclResources_RsIntelCacheDescr08 64834 +#define JclResources_RsIntelCacheDescr0A 64835 +#define JclResources_RsIntelCacheDescr0C 64836 +#define JclResources_RsIntelCacheDescr22 64837 +#define JclResources_RsIntelCacheDescr23 64838 +#define JclResources_RsIntelCacheDescr25 64839 +#define JclResources_RsIntelCacheDescr29 64840 +#define JclResources_RsIntelCacheDescr2C 64841 +#define JclResources_RsIntelCacheDescr30 64842 +#define JclResources_RsIntelCacheDescr40 64843 +#define JclResources_RsIntelCacheDescr41 64844 +#define JclResources_RsIntelCacheDescr42 64845 +#define JclResources_RsIntelCacheDescr43 64846 +#define JclResources_RsIntelCacheDescr44 64847 +#define JclResources_RsRTTIBasedOn 64848 +#define JclResources_RsRTTIFloatType 64849 +#define JclResources_RsRTTIMethodKind 64850 +#define JclResources_RsRTTIParamCount 64851 +#define JclResources_RsRTTIReturnType 64852 +#define JclResources_RsRTTIMaxLen 64853 +#define JclResources_RsRTTIElSize 64854 +#define JclResources_RsRTTIElType 64855 +#define JclResources_RsRTTIElNeedCleanup 64856 +#define JclResources_RsRTTIVarType 64857 +#define JclResources_RsDeclarationFormat 64858 +#define JclResources_RsBlankSearchString 64859 +#define JclResources_RsIntelCacheDescr00 64860 +#define JclResources_RsIntelCacheDescr01 64861 +#define JclResources_RsIntelCacheDescr02 64862 +#define JclResources_RsIntelCacheDescr03 64863 +#define JclResources_RsRTTIVirtualMethod 64864 +#define JclResources_RsRTTIIndex 64865 +#define JclResources_RsRTTIDefault 64866 +#define JclResources_RsRTTIName 64867 +#define JclResources_RsRTTIType 64868 +#define JclResources_RsRTTIFlags 64869 +#define JclResources_RsRTTIGUID 64870 +#define JclResources_RsRTTITypeKind 64871 +#define JclResources_RsRTTIOrdinalType 64872 +#define JclResources_RsRTTIMinValue 64873 +#define JclResources_RsRTTIMaxValue 64874 +#define JclResources_RsRTTINameList 64875 +#define JclResources_RsRTTIClassName 64876 +#define JclResources_RsRTTIParent 64877 +#define JclResources_RsRTTIPropCount 64878 +#define JclResources_RsRTTIUnitName 64879 +#define JclResources_RsRTTIValueOutOfRange 64880 +#define JclResources_RsRTTIUnknownIdentifier 64881 +#define JclResources_RsRTTIVar 64882 +#define JclResources_RsRTTIConst 64883 +#define JclResources_RsRTTIArrayOf 64884 +#define JclResources_RsRTTIOut 64885 +#define JclResources_RsRTTIOrdinal 64886 +#define JclResources_RsRTTITrue 64887 +#define JclResources_RsRTTIFalse 64888 +#define JclResources_RsRTTITypeError 64889 +#define JclResources_RsRTTITypeInfoAt 64890 +#define JclResources_RsRTTIPropRead 64891 +#define JclResources_RsRTTIPropWrite 64892 +#define JclResources_RsRTTIPropStored 64893 +#define JclResources_RsRTTIField 64894 +#define JclResources_RsRTTIStaticMethod 64895 #define JvResources_RsClBtnHighlight 64896 #define JvResources_RsCl3DDkShadow 64897 #define JvResources_RsCl3DLight 64898 @@ -1184,17 +1163,7 @@ #define SysConst_SEndOfFile 65535 STRINGTABLE BEGIN - TeeConst_TeeMsg_ValuesGanttStart, "Start" - TeeConst_TeeMsg_ValuesGanttEnd, "End" - TeeConst_TeeMsg_ValuesGanttNextTask, "NextTask" - TeeConst_TeeMsg_ValuesBubbleRadius, "Radius" - TeeConst_TeeMsg_ValuesArrowEndX, "EndX" TeeConst_TeeMsg_ValuesArrowEndY, "EndY" - TeeConst_TeeMsg_FunctionHigh, "High" - TeeConst_TeeMsg_FunctionLow, "Low" - TeeConst_TeeMsg_FunctionAverage, "Average" - TeeConst_TeeMsg_GalleryShape, "Shape" - TeeConst_TeeMsg_GalleryBubble, "Bubble" TeeConst_TeeMsg_DefaultFontName, "Arial" TeeConst_TeeMsg_CheckPointerSize, "Pointer size must be greater than zero" TeeConst_TeeMsg_FunctionPeriod, "Function Period should be >= 0" @@ -1206,11 +1175,11 @@ BEGIN TeeConst_TeeMsg_ValuesPie, "Pie" TeeConst_TeeMsg_ValuesBar, "Bar" TeeConst_TeeMsg_ValuesAngle, "Angle" - TeeConst_TeeMsg_GanttSample1, "Design" - TeeConst_TeeMsg_GanttSample2, "Prototyping" - TeeConst_TeeMsg_GanttSample3, "Development" - TeeConst_TeeMsg_GanttSample4, "Sales" - TeeConst_TeeMsg_GanttSample5, "Marketing" + TeeConst_TeeMsg_ValuesGanttStart, "Start" + TeeConst_TeeMsg_ValuesGanttEnd, "End" + TeeConst_TeeMsg_ValuesGanttNextTask, "NextTask" + TeeConst_TeeMsg_ValuesBubbleRadius, "Radius" + TeeConst_TeeMsg_ValuesArrowEndX, "EndX" TeeConst_TeeMsg_GanttSample6, "Testing" TeeConst_TeeMsg_GanttSample7, "Manufac." TeeConst_TeeMsg_GanttSample8, "Debugging" @@ -1222,11 +1191,11 @@ BEGIN TeeConst_TeeMsg_FunctionSubtract, "Subtract" TeeConst_TeeMsg_FunctionMultiply, "Multiply" TeeConst_TeeMsg_FunctionDivide, "Divide" - TeeConst_TeeMsg_GalleryPie, "Pie" - TeeConst_TeeMsg_GalleryFastLine, "Fast Line" - TeeConst_TeeMsg_Rotation, "Rotation" - TeeConst_TeeMsg_PieSample1, "Cars" - TeeConst_TeeMsg_PieSample2, "Phones" + TeeConst_TeeMsg_FunctionHigh, "High" + TeeConst_TeeMsg_FunctionLow, "Low" + TeeConst_TeeMsg_FunctionAverage, "Average" + TeeConst_TeeMsg_GalleryShape, "Shape" + TeeConst_TeeMsg_GalleryBubble, "Bubble" TeeConst_TeeMsg_PieSample3, "Tables" TeeConst_TeeMsg_PieSample4, "Monitors" TeeConst_TeeMsg_PieSample5, "Lamps" @@ -1238,11 +1207,11 @@ BEGIN TeeConst_TeeMsg_GalleryFunctions, "Functions" TeeConst_TeeMsg_GalleryArrow, "Arrow" TeeConst_TeeMsg_GalleryGantt, "Gantt" - TeeConst_TeeMsg_AxisLogBase, "Axis Logarithmic Base should be >= 2" - TeeConst_TeeMsg_MaxPointsPerPage, "MaxPointsPerPage must be >= 0" - TeeConst_TeeMsg_3dPercent, "3D effect percent must be between %d and %d" - TeeConst_TeeMsg_CircularSeries, "Circular Series dependences are not allowed" - TeeConst_TeeMsg_BarWidthPercent, "Bar Width Percent must be between 1 and 100" + TeeConst_TeeMsg_GanttSample1, "Design" + TeeConst_TeeMsg_GanttSample2, "Prototyping" + TeeConst_TeeMsg_GanttSample3, "Development" + TeeConst_TeeMsg_GanttSample4, "Sales" + TeeConst_TeeMsg_GanttSample5, "Marketing" TeeConst_TeeMsg_BarOffsetPercent, "Bar Offset Percent must be between -100% and 100%" TeeConst_TeeMsg_DefaultPercentOf, "%s of %s" TeeConst_TeeMsg_DefPercentFormat, "##0.## %" @@ -1254,11 +1223,11 @@ BEGIN TeeConst_TeeMsg_GalleryArea, "Area" TeeConst_TeeMsg_GalleryBar, "Bar" TeeConst_TeeMsg_GalleryHorizBar, "Horiz. Bar" - OleConst_SInvalidVerb, "Invalid object verb" - OleConst_SPropDlgCaption, "%s Properties" - OleConst_SInvalidStreamFormat, "Invalid stream format" - TeeConst_TeeMsg_LegendTopPos, "Top Legend Position must be between 0 and 100 %" - TeeConst_TeeMsg_LegendFirstValue, "First Legend Value must be > 0" + TeeConst_TeeMsg_GalleryPie, "Pie" + TeeConst_TeeMsg_GalleryFastLine, "Fast Line" + TeeConst_TeeMsg_Rotation, "Rotation" + TeeConst_TeeMsg_PieSample1, "Cars" + TeeConst_TeeMsg_PieSample2, "Phones" TeeConst_TeeMsg_LegendColorWidth, "Legend Color Width must be between 0 and 100 %" TeeConst_TeeMsg_SeriesSetDataSource, "No ParentChart to validate DataSource" TeeConst_TeeMsg_SeriesInvDataSource, "No valid DataSource: %s" @@ -1270,11 +1239,11 @@ BEGIN TeeConst_TeeMsg_AxisIncrementNeg, "Axis increment must be >= 0" TeeConst_TeeMsg_AxisMinMax, "Axis Minimum Value must be <= Maximum" TeeConst_TeeMsg_AxisMaxMin, "Axis Maximum Value must be >= Minimum" - MidConst_SNoConnectToBroker, "Connection not allowed to TConnectionBroker" - MidConst_SNoParentConnection, "ParentConnection is not assigned" - MidConst_SConstraintFailed, "Record or field constraint failed." - MidConst_SField, "Field" - MidConst_SRecConstFail, "Preparation of record constraint failed with error \"%s\"" + TeeConst_TeeMsg_AxisLogBase, "Axis Logarithmic Base should be >= 2" + TeeConst_TeeMsg_MaxPointsPerPage, "MaxPointsPerPage must be >= 0" + TeeConst_TeeMsg_3dPercent, "3D effect percent must be between %d and %d" + TeeConst_TeeMsg_CircularSeries, "Circular Series dependences are not allowed" + TeeConst_TeeMsg_BarWidthPercent, "Bar Width Percent must be between 1 and 100" MidConst_SFieldConstFail, "Preparation of field constraint failed with error \"%s\"" MidConst_SDefExprFail, "Preparation of default expression failed with error \"%s\"" MidConst_SNoEditsAllowed, "Modifications are not allowed" @@ -1286,11 +1255,11 @@ BEGIN OleConst_SInvalidLinkSource, "Cannot link to an invalid source." OleConst_SCannotBreakLink, "Break link operation is not supported." OleConst_SEmptyContainer, "Operation not allowed on an empty OLE container" - VDBConsts_SLastRecord, "Last record" - VDBConsts_SInsertRecord, "Insert record" - VDBConsts_SDeleteRecord, "Delete record" - VDBConsts_SEditRecord, "Edit record" - VDBConsts_SPostEdit, "Post edit" + OleConst_SInvalidVerb, "Invalid object verb" + OleConst_SPropDlgCaption, "%s Properties" + OleConst_SInvalidStreamFormat, "Invalid stream format" + TeeConst_TeeMsg_LegendTopPos, "Top Legend Position must be between 0 and 100 %" + TeeConst_TeeMsg_LegendFirstValue, "First Legend Value must be > 0" VDBConsts_SCancelEdit, "Cancel edit" VDBConsts_SRefreshRecord, "Refresh data" VDBConsts_SDataSourceFixed, "Operation not allowed in a DBCtrlGrid" @@ -1302,11 +1271,11 @@ BEGIN MidConst_SNoCircularReference, "Circular provider references not allowed" MidConst_SErrorLoadingMidas, "Error loading MIDAS.DLL" MidConst_SCannotCreateDataSet, "No fields defined. Cannot create dataset" - cxEditConsts_scxRegExprTooBigReferenceNumber, "Too big reference number" - cxEditConsts_scxRegExprCantCreateEmptyEnum, "Can't create empty enumeration" - cxEditConsts_scxRegExprSubrangeOrder, "The starting character of the subrange must be less than the finishing one" - cxEditConsts_scxRegExprHexNumberExpected0, "Hexadecimal number expected" - cxEditConsts_scxRegExprHexNumberExpected, "Hexadecimal number expected but '%s' found" + MidConst_SNoConnectToBroker, "Connection not allowed to TConnectionBroker" + MidConst_SNoParentConnection, "ParentConnection is not assigned" + MidConst_SConstraintFailed, "Record or field constraint failed." + MidConst_SField, "Field" + MidConst_SRecConstFail, "Preparation of record constraint failed with error \"%s\"" cxEditConsts_scxRegExprMissing, "Missing '%s'" cxEditConsts_scxRegExprUnnecessary, "Unnecessary '%s'" cxEditConsts_scxRegExprIncorrectSpace, "The space character is not allowed after '\\'" @@ -1318,11 +1287,11 @@ BEGIN VDBConsts_SFirstRecord, "First record" VDBConsts_SPriorRecord, "Prior record" VDBConsts_SNextRecord, "Next record" - cxEditConsts_cxSDateEOM, "eom" - cxEditConsts_cxSDateNow, "now" - cxEditConsts_scxSEditRepositoryButtonItem, "ButtonEdit|Represents an edit control with embedded buttons" - cxEditConsts_scxSEditRepositoryMaskItem, "MaskEdit|Represents a generic masked edit control." - cxEditConsts_scxSEditRepositoryTextItem, "TextEdit|Represents a single line text editor" + VDBConsts_SLastRecord, "Last record" + VDBConsts_SInsertRecord, "Insert record" + VDBConsts_SDeleteRecord, "Delete record" + VDBConsts_SEditRecord, "Edit record" + VDBConsts_SPostEdit, "Post edit" cxEditConsts_scxRegExprLine, "Line" cxEditConsts_scxRegExprChar, "Char" cxEditConsts_scxRegExprNotAssignedSourceStream, "The source stream is not assigned" @@ -1334,11 +1303,11 @@ BEGIN cxEditConsts_scxRegExprIllegalSymbol, "Illegal '%s'" cxEditConsts_scxRegExprIllegalQuantifier, "Illegal quantifier '%s'" cxEditConsts_scxRegExprIllegalIntegerValue, "Illegal integer value" - cxEditConsts_cxSDateTomorrow, "tomorrow" - cxEditConsts_cxSDateSunday, "Sunday" - cxEditConsts_cxSDateMonday, "Monday" - cxEditConsts_cxSDateTuesday, "Tuesday" - cxEditConsts_cxSDateWednesday, "Wednesday" + cxEditConsts_scxRegExprTooBigReferenceNumber, "Too big reference number" + cxEditConsts_scxRegExprCantCreateEmptyEnum, "Can't create empty enumeration" + cxEditConsts_scxRegExprSubrangeOrder, "The starting character of the subrange must be less than the finishing one" + cxEditConsts_scxRegExprHexNumberExpected0, "Hexadecimal number expected" + cxEditConsts_scxRegExprHexNumberExpected, "Hexadecimal number expected but '%s' found" cxEditConsts_cxSDateThursday, "Thursday" cxEditConsts_cxSDateFriday, "Friday" cxEditConsts_cxSDateSaturday, "Saturday" @@ -1350,11 +1319,11 @@ BEGIN cxEditConsts_cxSDateSixth, "sixth" cxEditConsts_cxSDateSeventh, "seventh" cxEditConsts_cxSDateBOM, "bom" - pnglang_EPNGCannotAssignChunkText, "The chunks must be compatible to be assigned." - pnglang_EPNGUnexpectedEndText, "This \"Portable Network Graphics\" image is invalid because the decoder found an unexpected end of the file." - pnglang_EPNGNoImageDataText, "This \"Portable Network Graphics\" image contains no data." - pnglang_EPNGCannotChangeSizeText, "The \"Portable Network Graphics\" image can not be resize by changing width and height properties. Try assigning the image from a bitmap." - pnglang_EPNGCannotAddChunkText, "The program tried to add a existent critical chunk to the current image which is not allowed." + cxEditConsts_cxSDateEOM, "eom" + cxEditConsts_cxSDateNow, "now" + cxEditConsts_scxSEditRepositoryButtonItem, "ButtonEdit|Represents an edit control with embedded buttons" + cxEditConsts_scxSEditRepositoryMaskItem, "MaskEdit|Represents a generic masked edit control." + cxEditConsts_scxSEditRepositoryTextItem, "TextEdit|Represents a single line text editor" pnglang_EPNGCannotAddInvalidImageText, "It's not allowed to add a new chunk because the current image is invalid." pnglang_EPNGOutMemoryText, "Some operation could not be performed because the system is out of resources. Close some windows and try again." pnglang_EPNGHeaderNotPresentText, "This operation is not valid because the current image contains no valid header." @@ -1366,11 +1335,11 @@ BEGIN cxEditConsts_cxSEditValueOutOfBounds, "Value out of bounds" cxEditConsts_cxSDateToday, "today" cxEditConsts_cxSDateYesterday, "yesterday" - IBXConst_SFieldSizeMismatch, "Size Mismatch - Field %s size is too small for data" - IBXConst_SEventAlreadyRegistered, "Events already registered" - IBXConst_SStringTooLarge, "Trying to store a string of length %d into a field that can only contain %d" - IBXConst_SNoTimers, "Not enough timers available" - pnglang_EPngInvalidCRCText, "This \"Portable Network Graphics\" image is not valid because it contains invalid pieces of data (crc error)" + cxEditConsts_cxSDateTomorrow, "tomorrow" + cxEditConsts_cxSDateSunday, "Sunday" + cxEditConsts_cxSDateMonday, "Monday" + cxEditConsts_cxSDateTuesday, "Tuesday" + cxEditConsts_cxSDateWednesday, "Wednesday" pnglang_EPNGInvalidIHDRText, "The \"Portable Network Graphics\" image could not be loaded because one of its main piece of data (ihdr) might be corrupted" pnglang_EPNGMissingMultipleIDATText, "This \"Portable Network Graphics\" image is invalid because it has missing image parts." pnglang_EPNGZLIBErrorText, "Could not decompress the image because it contains invalid compressed data.\r\n Description: " @@ -1382,11 +1351,11 @@ BEGIN pnglang_EPNGUnknownCriticalChunkText, "This \"Portable Network Graphics\" image contains an unknown critical part which could not be decoded." pnglang_EPNGUnknownCompressionText, "This \"Portable Network Graphics\" image is encoded with an unknown compression scheme which could not be decoded." pnglang_EPNGUnknownInterlaceText, "This \"Portable Network Graphics\" image uses an unknown interlace scheme which could not be decoded." - IBXConst_SEOFInString, "EOF in string detected" - IBXConst_SParamNameExpected, "Parameter name expected" - IBXConst_SSuccess, "Successful execution" - IBXConst_SDelphiException, "DelphiException %s" - IBXConst_SNoOptionsSet, "No Install Options selected" + pnglang_EPNGCannotAssignChunkText, "The chunks must be compatible to be assigned." + pnglang_EPNGUnexpectedEndText, "This \"Portable Network Graphics\" image is invalid because the decoder found an unexpected end of the file." + pnglang_EPNGNoImageDataText, "This \"Portable Network Graphics\" image contains no data." + pnglang_EPNGCannotChangeSizeText, "The \"Portable Network Graphics\" image can not be resize by changing width and height properties. Try assigning the image from a bitmap." + pnglang_EPNGCannotAddChunkText, "The program tried to add a existent critical chunk to the current image which is not allowed." IBXConst_SNoDestinationDirectory, "DestinationDirectory is not set" IBXConst_SNosourceDirectory, "SourceDirectory is not set" IBXConst_SNoUninstallFile, "Uninstall File Name is not set" @@ -1398,11 +1367,11 @@ BEGIN IBXConst_SDPBConstantUnknownEx, "DPB Constant (%s) is unknown" IBXConst_STPBConstantUnknownEx, "TPB Constant (%s) is unknown" IBXConst_SUnknownPlan, "Unknown Error - Can't retrieve plan" - IBXConst_SInvalidRegistration, "Invalid Registration" - IBXConst_SInvalidBatchMove, "Invalid Batch Move" - IBXConst_SSQLDialectInvalid, "SQL Dialect Invalid" - IBXConst_SSPBConstantNotSupported, "SPB Constant Not supported" - IBXConst_SSPBConstantUnknown, "SPB Constant Unknown" + IBXConst_SFieldSizeMismatch, "Size Mismatch - Field %s size is too small for data" + IBXConst_SEventAlreadyRegistered, "Events already registered" + IBXConst_SStringTooLarge, "Trying to store a string of length %d into a field that can only contain %d" + IBXConst_SNoTimers, "Not enough timers available" + pnglang_EPngInvalidCRCText, "This \"Portable Network Graphics\" image is not valid because it contains invalid pieces of data (crc error)" IBXConst_SServiceActive, "Cannot perform operation -- service is not attached" IBXConst_SServiceInActive, "Cannot perform operation -- service is attached" IBXConst_SServerNameMissing, "Server Name Missing" @@ -1414,11 +1383,11 @@ BEGIN IBXConst_SCantPrintValue, "Cannot print value" IBXConst_SEOFReached, "SEOFReached" IBXConst_SEOFInComment, "EOF in comment detected" - IBXConst_SIsAExecuteProcedure, "use ExecProc for Procedure; use TQuery for Select procedures" - IBXConst_SUpdateFailed, "Update Failed" - IBXConst_SNotCachedUpdates, "CachedUpdates not enabled" - IBXConst_SNotLiveRequest, "Request is not live - cannot modify" - IBXConst_SNoProvider, "No Provider" + IBXConst_SEOFInString, "EOF in string detected" + IBXConst_SParamNameExpected, "Parameter name expected" + IBXConst_SSuccess, "Successful execution" + IBXConst_SDelphiException, "DelphiException %s" + IBXConst_SNoOptionsSet, "No Install Options selected" IBXConst_SNoRecordsAffected, "No Records Affected" IBXConst_SNoTableName, "No Table Name assigned" IBXConst_SCannotCreatePrimaryIndex, "Cannot Create Primary Index; are created automatically" @@ -1430,11 +1399,11 @@ BEGIN IBXConst_SMaximumEvents, "Exceded Maximum Event limits" IBXConst_SNoEventsRegistered, "No Events Registered" IBXConst_SInvalidQueueing, "Invalid Queueing" - IBXConst_SBufferNotSet, "Buffer not set" - IBXConst_SCircularReference, "Circular references not permitted" - IBXConst_SSQLParseError, "SQL Parse Error:\r\n\r\n%s" - IBXConst_SUserAbort, "User abort" - IBXConst_SDataSetUniDirectional, "Data set is uni-directional" + IBXConst_SInvalidRegistration, "Invalid Registration" + IBXConst_SInvalidBatchMove, "Invalid Batch Move" + IBXConst_SSQLDialectInvalid, "SQL Dialect Invalid" + IBXConst_SSPBConstantNotSupported, "SPB Constant Not supported" + IBXConst_SSPBConstantUnknown, "SPB Constant Unknown" IBXConst_SCannotCreateSharedResource, "Cannot create shared resource. (Windows error %d)" IBXConst_SWindowsAPIError, "Windows API error. (Windows error %d [$%.8x])" IBXConst_SColumnListsDontMatch, "Column lists do not match" @@ -1446,11 +1415,11 @@ BEGIN IBXConst_SIsASelectStatement, "use Open for a Select Statement" IBXConst_SRequiredParamNotSet, "Required Param value not set" IBXConst_SNoStoredProcName, "No Stored Procedure Name assigned" - IBXConst_SInvalidParamColumnIndex, "Invalid parameter index (index exceeds permitted range)" - IBXConst_SInvalidDataConversion, "Invalid data conversion" - IBXConst_SColumnIsNotNullable, "Column cannot be set to null (%s)" - IBXConst_SBlobCannotBeRead, "Blob stream cannot be read" - IBXConst_SBlobCannotBeWritten, "Blob stream cannot be written" + IBXConst_SIsAExecuteProcedure, "use ExecProc for Procedure; use TQuery for Select procedures" + IBXConst_SUpdateFailed, "Update Failed" + IBXConst_SNotCachedUpdates, "CachedUpdates not enabled" + IBXConst_SNotLiveRequest, "Request is not live - cannot modify" + IBXConst_SNoProvider, "No Provider" IBXConst_SEmptyQuery, "Empty query" IBXConst_SCannotOpenNonSQLSelect, "Cannot \"open\" a non-select statement. Use ExecQuery" IBXConst_SNoFieldAccess, "No access to field \"%s\"" @@ -1462,11 +1431,11 @@ BEGIN IBXConst_SCannotUpdate, "Cannot update. (No update query)" IBXConst_SCannotDelete, "Cannot delete from dataset. (No delete query)" IBXConst_SCannotRefresh, "Cannot refresh row. (No refresh query)" - IBXConst_SNoDatabasesInTransaction, "No databases are listed in transaction component" - IBXConst_SUpdateWrongDB, "Updating wrong database" - IBXConst_SUpdateWrongTR, "Updating wrong transaction. Unique transaction expected in set" - IBXConst_SDatabaseNotAssigned, "Database not assigned" - IBXConst_STransactionNotAssigned, "Transaction not assigned" + IBXConst_SBufferNotSet, "Buffer not set" + IBXConst_SCircularReference, "Circular references not permitted" + IBXConst_SSQLParseError, "SQL Parse Error:\r\n\r\n%s" + IBXConst_SUserAbort, "User abort" + IBXConst_SDataSetUniDirectional, "Data set is uni-directional" IBXConst_SXSQLDAIndexOutOfRange, "XSQLDA index out of range" IBXConst_SXSQLDANameDoesNotExist, "XSQLDA name does not exist (%s)" IBXConst_SEOF, "End of file" @@ -1478,11 +1447,11 @@ BEGIN IBXConst_SDatasetClosed, "Dataset closed" IBXConst_SUnknownSQLDataType, "Unknown SQL Data type (%d)" IBXConst_SInvalidColumnIndex, "Invalid column index (index exceeds permitted range)" - IBXConst_SNotPermitted, "Not permitted" - IBXConst_SFileAccessError, "Temporary file access error" - IBXConst_SConnectionTimeout, "Database connection timed out" - IBXConst_SCannotSetDatabase, "Cannot set database" - IBXConst_SCannotSetTransaction, "Cannot set transaction" + IBXConst_SInvalidParamColumnIndex, "Invalid parameter index (index exceeds permitted range)" + IBXConst_SInvalidDataConversion, "Invalid data conversion" + IBXConst_SColumnIsNotNullable, "Column cannot be set to null (%s)" + IBXConst_SBlobCannotBeRead, "Blob stream cannot be read" + IBXConst_SBlobCannotBeWritten, "Blob stream cannot be written" IBXConst_SOperationCancelled, "Operation cancelled at user's request" IBXConst_SDPBConstantNotSupported, "DPB Constant (isc_dpb_%s) is unsupported" IBXConst_SDPBConstantUnknown, "DPB Constant (%d) is unknown" @@ -1494,11 +1463,11 @@ BEGIN IBXConst_SNotInTransaction, "Transaction is not active" IBXConst_SInTransaction, "Transaction is active" IBXConst_STimeoutNegative, "Timeout values cannot be negative" - uDARes_err_CannotFindStatement, "Cannot find statement %s for connection %s" - uDARes_err_CannotFindDefaultItem, "Cannot find default %s" - uDARes_err_PoolIsNotEmpty, "Cannot perform this operation when connections are pooled" - uDARes_err_MaxPoolSizeReached, "Maximum pool size reached. Cannot create a new connection" - uDARes_err_LAMEDataset, "%s does not implement IProviderSupport or implements it incorrectly" + IBXConst_SNoDatabasesInTransaction, "No databases are listed in transaction component" + IBXConst_SUpdateWrongDB, "Updating wrong database" + IBXConst_SUpdateWrongTR, "Updating wrong transaction. Unique transaction expected in set" + IBXConst_SDatabaseNotAssigned, "Database not assigned" + IBXConst_STransactionNotAssigned, "Transaction not assigned" uDARes_err_DARDMInvalidSchema, "Schema must be assigned and must point to a ConnectionManager" uDARes_err_DARDMUnassignedAdapter, "DataAdapter is not assigned" uDARes_err_DARDMConnectionIsNotAssigned, "Connection is not assigned" @@ -1510,11 +1479,11 @@ BEGIN IBXConst_SInterBaseInstallMissing, "InterBase Install DLL ibinstall.dll not found in the path. Please install InterBase 6 to use this functionality" IBXConst_SIB60feature, "%s is an InterBase 6 function. Please upgrade to InterBase 6 to use this functonality" IBXConst_SNotSupported, "Unsupported feature" - uDARes_err_ChangeLogAlreadyStarted, "StartChange has already been called; cannot log more than one change at a time." - uDARes_err_NotAttachedToDataTable, "Delta is not attached to a DataTable" - uDARes_err_DriverProcAlreadyRegistered, "DriverProc 0x%0.8x is already registered" - uDARes_err_DriverManagerAlreadyCreated, "An instance of a TDADriverManager was already initialized. Only one driver manager per module is allowed" - uDARes_err_DriverManagerNotAssigned, "Driver Manager is not assigned" + IBXConst_SNotPermitted, "Not permitted" + IBXConst_SFileAccessError, "Temporary file access error" + IBXConst_SConnectionTimeout, "Database connection timed out" + IBXConst_SCannotSetDatabase, "Cannot set database" + IBXConst_SCannotSetTransaction, "Cannot set transaction" uDARes_err_FieldTypeNotSupported, "FieldType %s (%d) is not supported" uDARes_err_InvalidDataset, "Invalid or NIL dataset" uDARes_err_CannotFindItem, "Cannot find %s \"%s\" in collection of type %s" @@ -1526,11 +1495,11 @@ BEGIN uDARes_err_CannotFindField, "Cannot find field %s" uDARes_err_LoadPackageFailed, "LoadPackage failed for file %s" uDARes_err_InvalidDriverReference, "The driver in %s could not be loaded" - DBConsts_SParameterNotFound, "Parameter '%s' not found" - DBConsts_SInvalidVersion, "Unable to load bind parameters" - DBConsts_SBadFieldType, "Field '%s' is of an unsupported type" - DBConsts_SAggActive, "Property may not be modified while aggregate is active" - DBConsts_SProviderSQLNotSupported, "SQL not supported: %s" + uDARes_err_CannotFindStatement, "Cannot find statement %s for connection %s" + uDARes_err_CannotFindDefaultItem, "Cannot find default %s" + uDARes_err_PoolIsNotEmpty, "Cannot perform this operation when connections are pooled" + uDARes_err_MaxPoolSizeReached, "Maximum pool size reached. Cannot create a new connection" + uDARes_err_LAMEDataset, "%s does not implement IProviderSupport or implements it incorrectly" DBConsts_SProviderExecuteNotSupported, "Execute not supported: %s" DBConsts_SExprNoAggOnCalcs, "Field '%s' is not the correct type of calculated field to be used in an aggregate, use an internalcalc" DBConsts_SDataSetUnidirectional, "Operation not allowed on a unidirectional dataset" @@ -1542,11 +1511,11 @@ BEGIN DBConsts_SInvalidFormatType, "Invalid format type for BCD" DBConsts_SCouldNotParseTimeStamp, "Could not parse SQL TimeStamp string" DBConsts_SInvalidSqlTimeStamp, "Invalid SQL date/time values" - DBConsts_SExprExpected, "Expression expected but %s found" - DBConsts_SExprBadField, "Field '%s' cannot be used in a filter expression" - DBConsts_SExprBadNullTest, "NULL only allowed with '=' and '<>'" - DBConsts_SExprRangeError, "Constant out of range" - DBConsts_SExprIncorrect, "Incorrectly formed filter expression" + uDARes_err_ChangeLogAlreadyStarted, "StartChange has already been called; cannot log more than one change at a time." + uDARes_err_NotAttachedToDataTable, "Delta is not attached to a DataTable" + uDARes_err_DriverProcAlreadyRegistered, "DriverProc 0x%0.8x is already registered" + uDARes_err_DriverManagerAlreadyCreated, "An instance of a TDADriverManager was already initialized. Only one driver manager per module is allowed" + uDARes_err_DriverManagerNotAssigned, "Driver Manager is not assigned" DBConsts_SExprNothing, "nothing" DBConsts_SExprTypeMis, "Type mismatch in expression" DBConsts_SExprBadScope, "Operation cannot mix aggregate value with record-varying value" @@ -1558,11 +1527,11 @@ BEGIN DBConsts_SInvalidKeywordUse, "Invalid use of keyword" DBConsts_STextFalse, "False" DBConsts_STextTrue, "True" - DBConsts_SLookupInfoError, "Lookup information for field '%s' is incomplete" - DBConsts_SDataSourceChange, "DataSource cannot be changed" - DBConsts_SNoNestedMasterSource, "Nested datasets cannot have a MasterSource" - DBConsts_SDataSetOpen, "Cannot perform this operation on an open dataset" - DBConsts_SNotEditing, "Dataset not in edit or insert mode" + DBConsts_SParameterNotFound, "Parameter '%s' not found" + DBConsts_SInvalidVersion, "Unable to load bind parameters" + DBConsts_SBadFieldType, "Field '%s' is of an unsupported type" + DBConsts_SAggActive, "Property may not be modified while aggregate is active" + DBConsts_SProviderSQLNotSupported, "SQL not supported: %s" DBConsts_SDataSetClosed, "Cannot perform this operation on a closed dataset" DBConsts_SDataSetEmpty, "Cannot perform this operation on an empty dataset" DBConsts_SDataSetReadOnly, "Cannot modify a read-only dataset" @@ -1574,11 +1543,11 @@ BEGIN DBConsts_SExprNoLParen, "'(' expected but %s found" DBConsts_SExprNoRParen, "')' expected but %s found" DBConsts_SExprNoRParenOrComma, "')' or ',' expected but %s found" - DBConsts_SInvalidFloatValue, "'%s' is not a valid floating point value for field '%s'" - DBConsts_SFieldTypeMismatch, "Type mismatch for field '%s', expecting: %s actual: %s" - DBConsts_SFieldSizeMismatch, "Size mismatch for field '%s', expecting: %d actual: %d" - DBConsts_SInvalidVarByteArray, "Invalid variant type or size for field '%s'" - DBConsts_SFieldOutOfRange, "Value of field '%s' is out of range" + DBConsts_SExprExpected, "Expression expected but %s found" + DBConsts_SExprBadField, "Field '%s' cannot be used in a filter expression" + DBConsts_SExprBadNullTest, "NULL only allowed with '=' and '<>'" + DBConsts_SExprRangeError, "Constant out of range" + DBConsts_SExprIncorrect, "Incorrectly formed filter expression" DBConsts_SFieldRequired, "Field '%s' must have a value" DBConsts_SDataSetMissing, "Field '%s' has no dataset" DBConsts_SInvalidCalcType, "Field '%s' cannot be a calculated or lookup field" @@ -1590,11 +1559,11 @@ BEGIN DBConsts_SNoIndexForFields, "No index for fields '%s'" DBConsts_SIndexNotFound, "Index '%s' not found" DBConsts_SCircularDataLink, "Circular datalinks are not allowed" - JclResources_RsIntelCacheDescrB3, "Data TLB: 4 KByte pages, 4-way set associative, 128 entries" - JclResources_RsIntelCacheDescrB4, "Data TLB1: 4 KByte pages, 4-way set associative, 256 entries" - JclResources_RsIntelCacheDescrF0, "64-Byte Prefetching" - JclResources_RsIntelCacheDescrF1, "128-Byte Prefetching" - DBConsts_SInvalidFieldSize, "Invalid field size" + DBConsts_SLookupInfoError, "Lookup information for field '%s' is incomplete" + DBConsts_SDataSourceChange, "DataSource cannot be changed" + DBConsts_SNoNestedMasterSource, "Nested datasets cannot have a MasterSource" + DBConsts_SDataSetOpen, "Cannot perform this operation on an open dataset" + DBConsts_SNotEditing, "Dataset not in edit or insert mode" DBConsts_SInvalidFieldKind, "Invalid FieldKind" DBConsts_SUnknownFieldType, "Field '%s' is of an unknown type" DBConsts_SFieldNameMissing, "Field name missing" @@ -1606,54 +1575,61 @@ BEGIN DBConsts_SBcdFieldRangeError, "%s is not a valid value for field '%s'. The allowed range is %s to %s" DBConsts_SInvalidIntegerValue, "'%s' is not a valid integer value for field '%s'" DBConsts_SInvalidBoolValue, "'%s' is not a valid boolean value for field '%s'" - JclResources_RsIntelCacheDescr71, "Trace cache: 16 K-Ops, 8-way set associative" - JclResources_RsIntelCacheDescr72, "Trace cache: 32 K-Ops, 8-way set associative" - JclResources_RsIntelCacheDescr78, "2nd-level cache: 1 MBytes, 4-way set associative, 64 bytes line size" - JclResources_RsIntelCacheDescr79, "2nd-level cache: 128 KBytes, 8-way set associative, 64 bytes line size, 2 lines per sector" - JclResources_RsIntelCacheDescr7A, "2nd-level cache: 256 KBytes, 8-way set associative, 64 bytes line size, 2 lines per sector" - JclResources_RsIntelCacheDescr7B, "2nd-level cache: 512 KBytes, 8-way set associative, 64 bytes line size, 2 lines per sector" - JclResources_RsIntelCacheDescr7C, "2nd-level cache: 1 MBytes, 8-way set associative, 64 bytes line size, 2 lines per sector" - JclResources_RsIntelCacheDescr7D, "2nd-level cache: 2 MBytes, 8-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr7F, "2nd-level cache: 512 KBytes, 2-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr82, "2nd-level cache: 256 KBytes, 8-way associative, 32 byte line size" - JclResources_RsIntelCacheDescr83, "2nd-level cache: 512 KBytes, 8-way associative, 32 byte line size" - JclResources_RsIntelCacheDescr84, "2nd-level cache: 1 MBytes, 8-way associative, 32 byte line size" - JclResources_RsIntelCacheDescr85, "2nd-level cache: 2 MBytes, 8-way associative, 32 byte line size" - JclResources_RsIntelCacheDescr86, "2nd-level cache: 512 KByte, 4-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr87, "2nd-level cache: 1 MByte, 8-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescrB0, "Instruction TLB: 4 KByte pages, 4-way set associative, 128 entries" - JclResources_RsIntelCacheDescr46, "3rd-level cache: 4 MBytes, 4-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr47, "3rd-level cache: 8 MBytes, 4-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr49, "2nd-level cache: 4 MBytes, 16-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr50, "Instruction TLB: 4 KByte and 2 MByte or 4 MByte pages, 64 Entries" - JclResources_RsIntelCacheDescr51, "Instruction TLB: 4 KByte and 2 MByte or 4 MByte pages, 128 Entries" - JclResources_RsIntelCacheDescr52, "Instruction TLB: 4 KByte and 2 MByte or 4 MByte pages, 256 Entries" - JclResources_RsIntelCacheDescr56, "Data TLB0: 4 MByte pages, 4-way set associative, 16 entries" - JclResources_RsIntelCacheDescr57, "Data TLB0: 4 KByte pages, 4-way associative, 16 entries" - JclResources_RsIntelCacheDescr5B, "Data TLB: 4 KByte and 4 MByte pages, 64 Entries" - JclResources_RsIntelCacheDescr5C, "Data TLB: 4 KByte and 4 MByte pages, 128 Entries" - JclResources_RsIntelCacheDescr5D, "Data TLB: 4 KByte and 4 MByte pages, 256 Entries" - JclResources_RsIntelCacheDescr60, "1st-level data cache: 16 KByte, 8-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr66, "1st-level data cache: 8 KBytes, 4-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr67, "1st-level data cache: 16 KBytes, 4-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr68, "1st-level data cache: 32 KBytes, 4-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr70, "Trace cache: 12 K-Ops, 8-way set associative" - JclResources_RsIntelCacheDescr08, "1st level instruction cache: 16 KBytes, 4-way set associative, 32 byte line size" - JclResources_RsIntelCacheDescr0A, "1st level data cache: 8 KBytes, 2-way set associative, 32 byte line size" - JclResources_RsIntelCacheDescr0B, "Instruction TLB: 4 MByte pages, 4-way set associative, 4 entries" - JclResources_RsIntelCacheDescr0C, "1st level data cache: 16 KBytes, 4-way set associative, 32 byte line size" - JclResources_RsIntelCacheDescr22, "3rd level cache: 512 KBytes, 4-way set associative, 64 byte line size, 2 lines per sector" - JclResources_RsIntelCacheDescr23, "3rd level cache: 1 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector" - JclResources_RsIntelCacheDescr25, "3rd level cache: 2 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector" - JclResources_RsIntelCacheDescr29, "3rd level cache: 4 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector" - JclResources_RsIntelCacheDescr2C, "1st level data cache: 32 KBytes, 8-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr30, "1st level instruction cache: 32 KBytes, 8-way set associative, 64 byte line size" - JclResources_RsIntelCacheDescr40, "No 2nd-level cache or, if processor contains a valid 2nd-level cache, no 3rd-level cache" - JclResources_RsIntelCacheDescr41, "2nd-level cache: 128 KBytes, 4-way set associative, 32 byte line size" - JclResources_RsIntelCacheDescr42, "2nd-level cache: 256 KBytes, 4-way set associative, 32 byte line size" - JclResources_RsIntelCacheDescr43, "2nd-level cache: 512 KBytes, 4-way set associative, 32 byte line size" - JclResources_RsIntelCacheDescr44, "2nd-level cache: 1 MBytes, 4-way set associative, 32 byte line size" - JclResources_RsIntelCacheDescr45, "2nd-level cache: 2 MBytes, 4-way set associative, 32 byte line size" + DBConsts_SInvalidFloatValue, "'%s' is not a valid floating point value for field '%s'" + DBConsts_SFieldTypeMismatch, "Type mismatch for field '%s', expecting: %s actual: %s" + DBConsts_SFieldSizeMismatch, "Size mismatch for field '%s', expecting: %d actual: %d" + DBConsts_SInvalidVarByteArray, "Invalid variant type or size for field '%s'" + DBConsts_SFieldOutOfRange, "Value of field '%s' is out of range" + JclResources_RsIntelCacheDescr7A, "2° Level cache, 256 KBytes, 8-way set associative, dual-sectored line, 64 Bytes sector size" + JclResources_RsIntelCacheDescr7B, "2° Level cache, 512 KBytes, 8-way set associative, dual-sectored line, 64 Bytes sector size" + JclResources_RsIntelCacheDescr7C, "2° Level cache, 1 MBytes, 8-way set associative, dual-sectored line, 64 Bytes sector size" + JclResources_RsIntelCacheDescr7D, "2° Level cache, 2 MByte, 8-way set associative, 64byte line size" + JclResources_RsIntelCacheDescr7F, "2° Level cache, 512 KByte, 2-way set associative, 64-byte line size" + JclResources_RsIntelCacheDescr82, "2° Level cache, 256 KBytes, 8-way associative, 32 Bytes line size" + JclResources_RsIntelCacheDescr83, "2° Level cache, 512 KBytes, 8-way associative, 32 Bytes line size" + JclResources_RsIntelCacheDescr84, "2° Level cache, 1 MBytes, 8-way associative, 32 Bytes line size" + JclResources_RsIntelCacheDescr85, "2° Level cache, 2 MBytes, 8-way associative, 32 Bytes line size" + JclResources_RsIntelCacheDescr86, "2° Level cache, 512 KByte, 4-way set associative, 64 byte line size" + JclResources_RsIntelCacheDescr87, "2° Level cache, 1 MByte, 8-way set associative, 64 byte line size" + JclResources_RsIntelCacheDescrB0, "Instruction TLB, 4 KByte Pages, 4-way set associative, 128 entries" + JclResources_RsIntelCacheDescrB3, "Data TLB, 4 KByte Pages, 4-way set associative, 128 entries" + JclResources_RsIntelCacheDescrF0, "64-Byte Prefetching" + JclResources_RsIntelCacheDescrF1, "128-Byte Prefetching" + DBConsts_SInvalidFieldSize, "Invalid field size" + JclResources_RsIntelCacheDescr45, "Unified cache, 32 byte cache line, 4-way set associative, 2Mb" + JclResources_RsIntelCacheDescr50, "Instruction TLB, 4 KBytes and 2 MBytes or 4 MBytes pages, 64 Entries" + JclResources_RsIntelCacheDescr51, "Instruction TLB, 4 KBytes and 2 MBytes or 4 MBytes pages, 128 Entries" + JclResources_RsIntelCacheDescr52, "Instruction TLB, 4 KBytes and 2 MBytes or 4 MBytes pages, 256 Entries" + JclResources_RsIntelCacheDescr5B, "Data TLB, 4 KBytes and 4 MBytes pages, 64 Entries" + JclResources_RsIntelCacheDescr5C, "Data TLB, 4 KBytes and 4 MBytes pages, 128 Entries" + JclResources_RsIntelCacheDescr5D, "Data TLB, 4 KBytes and 4 MBytes pages, 256 Entries" + JclResources_RsIntelCacheDescr60, "1° Level data cache: 16 KByte, 8-way set associative, 64 byte line size" + JclResources_RsIntelCacheDescr66, "1° Level Data cache, 8 KBytes, 4-way set associative, 64 Bytes line size" + JclResources_RsIntelCacheDescr67, "1° Level Data cache, 16 KBytes, 4-way set associative, 64 Bytes line size" + JclResources_RsIntelCacheDescr68, "1° Level Data cache, 32 KBytes, 4-way set associative, 64 Bytes line size" + JclResources_RsIntelCacheDescr70, "Trace cache, 12 KµOps, 8-way set associative" + JclResources_RsIntelCacheDescr71, "Trace cache, 16 KµOps, 8-way set associative" + JclResources_RsIntelCacheDescr72, "Trace cache, 32 KµOps, 8-way set associative" + JclResources_RsIntelCacheDescr78, "2° Level cache, 1 MBytes, 4-way set associative, 64 Bytes line size" + JclResources_RsIntelCacheDescr79, "2° Level cache, 128 KBytes, 8-way set associative, dual-sectored line, 64 Bytes sector size" + JclResources_RsIntelCacheDescr04, "Data TLB, 4Mb pages, 4-way set associative, 8 entries" + JclResources_RsIntelCacheDescr06, "8KB instruction cache, 4-way set associative, 32 byte line size" + JclResources_RsIntelCacheDescr08, "16KB instruction cache, 4-way set associative, 32 byte line size" + JclResources_RsIntelCacheDescr0A, "8KB data cache 2-way set associative, 32 byte line size" + JclResources_RsIntelCacheDescr0C, "16KB data cache, 4-way set associative, 32 byte line size" + JclResources_RsIntelCacheDescr22, "3° Level cache, 512 KBytes, 4-way set associative, 2 lines per sector, 128 byte sector size" + JclResources_RsIntelCacheDescr23, "3° Level cache, 1 MBytes, 8-way set associative, 2 lines per sector, 128 byte sector size" + JclResources_RsIntelCacheDescr25, "3° Level cache, 2 MBytes, 8-way set associative, 2 lines per sector, 128 byte line size" + JclResources_RsIntelCacheDescr29, "3° Level cache, 4M Bytes, 8-way set associative, 2 lines per sector, 128 byte line size" + JclResources_RsIntelCacheDescr2C, "1° Level data cache: 32K Bytes, 8-way set associative, 64 byte line size" + JclResources_RsIntelCacheDescr30, "1° Level instruction cache: 32K Bytes, 8-way set associative, 64 byte line size" + JclResources_RsIntelCacheDescr40, "No L2 cache" + JclResources_RsIntelCacheDescr41, "Unified cache, 32 byte cache line, 4-way set associative, 128Kb" + JclResources_RsIntelCacheDescr42, "Unified cache, 32 byte cache line, 4-way set associative, 256Kb" + JclResources_RsIntelCacheDescr43, "Unified cache, 32 byte cache line, 4-way set associative, 512Kb" + JclResources_RsIntelCacheDescr44, "Unified cache, 32 byte cache line, 4-way set associative, 1Mb" + JclResources_RsRTTIBasedOn, "Based on: " + JclResources_RsRTTIFloatType, "Float type: " JclResources_RsRTTIMethodKind, "Method kind: " JclResources_RsRTTIParamCount, "Parameter count: " JclResources_RsRTTIReturnType, "Return type: " @@ -1663,13 +1639,13 @@ BEGIN JclResources_RsRTTIElNeedCleanup, "Elements need clean up: " JclResources_RsRTTIVarType, "Variant type: " JclResources_RsDeclarationFormat, "// Declaration for '%s' not supported." + JclResources_RsBlankSearchString, "Search string cannot be blank" JclResources_RsIntelCacheDescr00, "Null descriptor" - JclResources_RsIntelCacheDescr01, "Instruction TLB: 4 KByte pages, 4-way set associative, 32 entries" - JclResources_RsIntelCacheDescr02, "Instruction TLB: 4 MByte pages, 4-way set associative, 2 entries" - JclResources_RsIntelCacheDescr03, "Data TLB: 4 KByte pages, 4-way set associative, 64 entries" - JclResources_RsIntelCacheDescr04, "Data TLB: 4 MByte pages, 4-way set associative, 8 entries" - JclResources_RsIntelCacheDescr05, "Data TLB1: 4 MByte pages, 4-way set associative, 32 entries" - JclResources_RsIntelCacheDescr06, "1st level instruction cache: 8 KBytes, 4-way set associative, 32 byte line size" + JclResources_RsIntelCacheDescr01, "Instruction TLB, 4Kb pages, 4-way set associative, 32 entries" + JclResources_RsIntelCacheDescr02, "Instruction TLB, 4Mb pages, fully associative, 2 entries" + JclResources_RsIntelCacheDescr03, "Data TLB, 4Kb pages, 4-way set associative, 64 entries" + JclResources_RsRTTIVirtualMethod, "virtual method" + JclResources_RsRTTIIndex, "index" JclResources_RsRTTIDefault, "default" JclResources_RsRTTIName, "Name: " JclResources_RsRTTIType, "Type: " @@ -1684,8 +1660,8 @@ BEGIN JclResources_RsRTTIParent, "Parent: " JclResources_RsRTTIPropCount, "Property count: " JclResources_RsRTTIUnitName, "Unit name: " - JclResources_RsRTTIBasedOn, "Based on: " - JclResources_RsRTTIFloatType, "Float type: " + JclResources_RsRTTIValueOutOfRange, "Value out of range (%s)." + JclResources_RsRTTIUnknownIdentifier, "Unknown identifier '%s'." JclResources_RsRTTIVar, "var " JclResources_RsRTTIConst, "const " JclResources_RsRTTIArrayOf, "array of " @@ -1700,24 +1676,6 @@ BEGIN JclResources_RsRTTIPropStored, "stored" JclResources_RsRTTIField, "field" JclResources_RsRTTIStaticMethod, "static method" - JclResources_RsRTTIVirtualMethod, "virtual method" - JclResources_RsRTTIIndex, "index" - JclResources_RsHKCRLong, "HKEY_CLASSES_ROOT" - JclResources_RsHKCULong, "HKEY_CURRENT_USER" - JclResources_RsHKLMLong, "HKEY_LOCAL_MACHINE" - JclResources_RsHKUSLong, "HKEY_USERS" - JclResources_RsHKPDLong, "HKEY_PERFORMANCE_DATA" - JclResources_RsHKCCLong, "HKEY_CURRENT_CONFIG" - JclResources_RsHKDDLong, "HKEY_DYN_DATA" - JclResources_RsHKCRShort, "HKCR" - JclResources_RsHKCUShort, "HKCU" - JclResources_RsHKLMShort, "HKLM" - JclResources_RsHKUSShort, "HKUS" - JclResources_RsHKPDShort, "HKPD" - JclResources_RsHKCCShort, "HKCC" - JclResources_RsHKDDShort, "HKDD" - JclResources_RsRTTIValueOutOfRange, "Value out of range (%s)." - JclResources_RsRTTIUnknownIdentifier, "Unknown identifier '%s'." JvResources_RsClBtnHighlight, "Button highlight" JvResources_RsCl3DDkShadow, "Dark shadow 3D elements" JvResources_RsCl3DLight, "Highlight 3D elements" @@ -1729,10 +1687,10 @@ BEGIN JvResources_RsMenuBar, "Menu Bar" JvResources_RsMenuHighlight, "Menu Highlight" JclResources_RsFileUtilsNoVersionInfo, "File contains no version information" - JclResources_RsUnableToOpenKeyRead, "Unable to open key \"%s\\%s\" for read" - JclResources_RsUnableToOpenKeyWrite, "Unable to open key \"%s\\%s\" for write" - JclResources_RsUnableToAccessValue, "Unable to open key \"%s\\%s\" and access value \"%s\"" - JclResources_RsWrongDataType, "\"%s\\%s\\%s\" is of wrong kind or size" + JclResources_RsUnableToOpenKeyRead, "Unable to open key \"%s\" for read" + JclResources_RsUnableToOpenKeyWrite, "Unable to open key \"%s\" for write" + JclResources_RsUnableToAccessValue, "Unable to open key \"%s\" and access value \"%s\"" + JclResources_RsWrongDataType, "\"%s\\%s\" is of wrong kind or size" JclResources_RsInconsistentPath, "\"%s\" does not match RootKey" JvResources_RsClMenu, "Menu background" JvResources_RsClWindow, "Window background" diff --git a/Servidor/srvComisiones_Impl.dfm b/Servidor/srvComisiones_Impl.dfm index f91a5eb..5553eaf 100644 --- a/Servidor/srvComisiones_Impl.dfm +++ b/Servidor/srvComisiones_Impl.dfm @@ -5,8 +5,8 @@ object srvComisiones: TsrvComisiones AcquireConnection = True ServiceSchema = schComisiones ServiceAdapter = DABINAdapter - Left = 678 - Top = 193 + Left = 677 + Top = 169 Height = 300 Width = 300 object schComisiones: TDASchema diff --git a/Servidor/srvConfiguracion_Impl.dfm b/Servidor/srvConfiguracion_Impl.dfm index a094236..35743ee 100644 --- a/Servidor/srvConfiguracion_Impl.dfm +++ b/Servidor/srvConfiguracion_Impl.dfm @@ -6,8 +6,8 @@ object srvConfiguracion: TsrvConfiguracion ConnectionName = 'IBX' ServiceSchema = schConfiguracion ServiceAdapter = DABINAdapter - Left = 707 - Top = 109 + Left = 706 + Top = 96 Height = 161 Width = 300 object schConfiguracion: TDASchema diff --git a/Servidor/uDataModuleServer.dfm b/Servidor/uDataModuleServer.dfm index 40ec0ec..1c5ac1b 100644 --- a/Servidor/uDataModuleServer.dfm +++ b/Servidor/uDataModuleServer.dfm @@ -53,8 +53,8 @@ object dmServer: TdmServer item Name = 'IBX' ConnectionString = - 'IBX?Server=david;Database=D:\Proyectos\FactuGES (Arribas)\Codigo' + - '\BD\BASEDATOS.FDB;UserID=sysdba;Password=masterkey;dialect=3;' + 'IBX?Server=xp_vm;Database=C:\Codigo\BD\BASEDATOS.FDB;UserID=sysd' + + 'ba;Password=masterkey;dialect=3;' Default = True Tag = 0 end> diff --git a/Usuarios/Usuarios.dcp b/Usuarios/Usuarios.dcp index f0cfe54..a11b509 100644 Binary files a/Usuarios/Usuarios.dcp and b/Usuarios/Usuarios.dcp differ