diff --git a/Build/BuildRoberto.fbl5 b/Build/BuildRoberto.fbl5 index 2d1ac100..cb01c6a5 100644 Binary files a/Build/BuildRoberto.fbl5 and b/Build/BuildRoberto.fbl5 differ diff --git a/Build/BuildRoberto.fbp5 b/Build/BuildRoberto.fbp5 index 0bbcc6eb..c35d20a1 100644 --- a/Build/BuildRoberto.fbp5 +++ b/Build/BuildRoberto.fbp5 @@ -493,7 +493,7 @@ source_path 0 %source_path%\Servidor\FactuGES_Server.dpr True - 4 + 6 rcBorland @@ -508,15 +508,15 @@ source_path True @@ -1190,7 +1190,7 @@ Comments= False 0 - False + True 0 1000 False @@ -4636,7 +4636,7 @@ Comments= False 0 - False + True 0 1000 False @@ -5295,7 +5295,7 @@ Comments= False 0 - False + True 0 1000 False @@ -5970,7 +5970,7 @@ Comments= False 0 - False + True 0 1000 False @@ -10416,7 +10416,7 @@ Comments= False 0 - True + False 0 1000 False @@ -10757,6 +10757,412 @@ Comments= + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + %search_path% + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + %search_path% + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + %search_path% + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + @@ -15234,6 +15640,266 @@ Comments= + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + + + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + + + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + @@ -15297,7 +15963,7 @@ Comments= False 0 - True + False 0 1000 False @@ -15899,6 +16565,670 @@ Comments= + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + %search_path% + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + + 0 + + + + True + True + False + True + False + + 0 + False + 0 + 1000 + False + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + %search_path% + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + %search_path% + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + %search_path% + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + + + + False + %modules_dcp_path% + True + + True + + False + True + False + False + True + 4194304 + False + False + False + True + %library_path% + 0 + True + 0 + 1048576 + 16384 + + True + True + %output_path% + False + + False + fa8 + True + False + %search_path% + True + True + False + False + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + False + True + + + + + + 0 + + True + False + False + True + True + 0 + 1252 + 11 + Release + False + + + True + True + + False + + False + False + False + True + False + False + False + False + False + False + False + False + 3081 + + 0 + 0 + 0 + False + 0 + + + True + 0 + + + rcBorland + 1000 + + False + False + False + False + [] + False + False + + + + False + False + False + True + True + True + False + False + %package_path% + @@ -16007,7 +17337,7 @@ Comments= 0 %source_path%\Cliente\FactuGES.dpr True - 4 + 6 rcBorland @@ -16022,13 +17352,13 @@ Comments= False diff --git a/Database/VISTAS.SQL b/Database/VISTAS.SQL index 75beccc0..ed1d636b 100644 --- a/Database/VISTAS.SQL +++ b/Database/VISTAS.SQL @@ -1,5 +1,8 @@ DROP VIEW V_REMESAS_PROVEEDOR; + +DROP VIEW V_VENTAS_ARTICULOS; + /* VISTAS RELATIVAS A PEDIDOS Y ALBARANES */ @@ -501,6 +504,8 @@ CREATE VIEW V_RECIBOS_PROVEEDOR( REFERENCIA_PROVEEDOR, SITUACION, ID_FACTURA, + ID_REMESA, + REFERENCIA_REMESA, FECHA_EMISION, FECHA_VENCIMIENTO, DESCRIPCION, @@ -526,6 +531,7 @@ AS SELECT RECIBOS_PROVEEDOR.ID, RECIBOS_PROVEEDOR.REFERENCIA, RECIBOS_PROVEEDOR.REFERENCIA_PROVEEDOR, V_REC_PRO_SITUACION.SITUACION, RECIBOS_PROVEEDOR.ID_FACTURA, + RECIBOS_PROVEEDOR.ID_REMESA, REMESAS_PROVEEDOR.REFERENCIA as REFERENCIA_REMESA, RECIBOS_PROVEEDOR.FECHA_EMISION, RECIBOS_PROVEEDOR.FECHA_VENCIMIENTO, RECIBOS_PROVEEDOR.DESCRIPCION, RECIBOS_PROVEEDOR.OBSERVACIONES, RECIBOS_PROVEEDOR.IMPORTE, RECIBOS_PROVEEDOR.OTROS_GASTOS, RECIBOS_PROVEEDOR.IMPORTE + RECIBOS_PROVEEDOR.OTROS_GASTOS, @@ -550,7 +556,10 @@ ON (FORMAS_PAGO.ID = FACTURAS_PROVEEDOR.ID_FORMA_PAGO) LEFT JOIN CONTACTOS ON (CONTACTOS.ID = FACTURAS_PROVEEDOR.ID_PROVEEDOR) LEFT JOIN CONTACTOS_DATOS_BANCO -ON (CONTACTOS_DATOS_BANCO.ID_CONTACTO = CONTACTOS.ID); +ON (CONTACTOS_DATOS_BANCO.ID_CONTACTO = CONTACTOS.ID) +LEFT JOIN REMESAS_PROVEEDOR +ON (REMESAS_PROVEEDOR.ID = RECIBOS_PROVEEDOR.ID_REMESA); + CREATE VIEW V_RECIBOS_CLIENTE( @@ -2048,8 +2057,6 @@ AND (ARTICULOS.INVENTARIABLE = 1); /* INFORMES *************************************************************/ /* **********************************************************************/ /* Al igual que en Varela tendremos esta vista para hacer todos los informes que queramos de ventas, ya que estará desglosado por artículo */ -DROP VIEW V_VENTAS_ARTICULOS; - CREATE VIEW V_VENTAS_ARTICULOS( ID_FACTURA, ID_EMPRESA, diff --git a/Output/Debug/Servidor/Informes/InfRemesaProveedor.fr3 b/Output/Debug/Servidor/Informes/InfRemesaProveedor.fr3 new file mode 100644 index 00000000..929403c4 --- /dev/null +++ b/Output/Debug/Servidor/Informes/InfRemesaProveedor.fr3 @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Cliente/uPantallaPrincipal.pas b/Source/Cliente/uPantallaPrincipal.pas index 49f54b3b..429b36c8 100644 --- a/Source/Cliente/uPantallaPrincipal.pas +++ b/Source/Cliente/uPantallaPrincipal.pas @@ -459,7 +459,9 @@ begin HostManager.LoadModule('BancaElectronica_plugin.bpl'); HostManager.LoadModule('Comisiones_plugin.bpl'); HostManager.LoadModule('TiendaWeb_plugin.bpl'); - HostManager.LoadModule('HistoricoMovimientos_plugin.bpl'); + + HostManager.LoadModule('HistoricoMovimientos_plugin.bpl'); + HostManager.LoadModule('RemesasProveedor_plugin.bpl'); { HostManager.LoadModule('PedidosMontaje_plugin.bpl'); HostManager.LoadModule('CobrosMontaje_plugin.bpl'); diff --git a/Source/Modulos/Articulos/Views/uEditorArticulos.dfm b/Source/Modulos/Articulos/Views/uEditorArticulos.dfm index 7339c2d8..a84a36c7 100644 --- a/Source/Modulos/Articulos/Views/uEditorArticulos.dfm +++ b/Source/Modulos/Articulos/Views/uEditorArticulos.dfm @@ -2,8 +2,6 @@ inherited fEditorArticulos: TfEditorArticulos Left = 489 Top = 325 Caption = 'Lista de art'#237'culos' - ExplicitWidth = 320 - ExplicitHeight = 240 PixelsPerInch = 96 TextHeight = 13 inherited JvNavPanelHeader: TJvNavPanelHeader diff --git a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm index a054273b..38a0f705 100644 --- a/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm +++ b/Source/Modulos/Articulos/Views/uEditorElegirArticulos.dfm @@ -2,7 +2,6 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos Caption = 'Seleccionar art'#237'culos' ClientWidth = 656 ExplicitWidth = 664 - ExplicitHeight = 478 PixelsPerInch = 96 TextHeight = 13 object JvgWizardHeader1: TJvgWizardHeader [0] diff --git a/Source/Modulos/Recibos de cliente/Views/uRecibosClienteViewRegister.pas b/Source/Modulos/Recibos de cliente/Views/uRecibosClienteViewRegister.pas index 8186156e..24213806 100644 --- a/Source/Modulos/Recibos de cliente/Views/uRecibosClienteViewRegister.pas +++ b/Source/Modulos/Recibos de cliente/Views/uRecibosClienteViewRegister.pas @@ -49,7 +49,7 @@ begin EditorRegistry.UnRegisterClass(TfEditorRecibosCliente); EditorRegistry.UnRegisterClass(TfEditorReciboCliente); EditorRegistry.UnRegisterClass(TfEditorElegirRecibosCliente); -EditorRegistry.UnRegisterClass(TfEditorReciboClientePreview); + EditorRegistry.UnRegisterClass(TfEditorReciboClientePreview); end; end. diff --git a/Source/Modulos/Recibos de proveedor/Controller/RecibosProveedor_controller.dpk b/Source/Modulos/Recibos de proveedor/Controller/RecibosProveedor_controller.dpk index cdfaa973..f812f6e4 100644 --- a/Source/Modulos/Recibos de proveedor/Controller/RecibosProveedor_controller.dpk +++ b/Source/Modulos/Recibos de proveedor/Controller/RecibosProveedor_controller.dpk @@ -69,6 +69,7 @@ contains uPagosProveedorController in 'uPagosProveedorController.pas', uIEditorRecibosProveedorPreview in 'View\uIEditorRecibosProveedorPreview.pas', uRecibosProveedorReportController in 'uRecibosProveedorReportController.pas', - uIEditorFechaPagoProveedor in 'View\uIEditorFechaPagoProveedor.pas'; + uIEditorFechaPagoProveedor in 'View\uIEditorFechaPagoProveedor.pas', + uIEditorElegirRecibosProveedor in 'View\uIEditorElegirRecibosProveedor.pas'; end. diff --git a/Source/Modulos/Recibos de proveedor/Controller/View/uIEditorElegirRecibosProveedor.pas b/Source/Modulos/Recibos de proveedor/Controller/View/uIEditorElegirRecibosProveedor.pas index 141870e5..49e7cade 100644 --- a/Source/Modulos/Recibos de proveedor/Controller/View/uIEditorElegirRecibosProveedor.pas +++ b/Source/Modulos/Recibos de proveedor/Controller/View/uIEditorElegirRecibosProveedor.pas @@ -3,13 +3,13 @@ unit uIEditorElegirRecibosProveedor; interface uses - uIEditorRecibosCliente, uBizRecibosCliente, uGUIBase; + uIEditorRecibosProveedor, uBizRecibosProveedor, uGUIBase; type - IEditorElegirRecibosCliente = interface(IEditorRecibosCliente) - ['{ACCA545C-3D0C-4FD1-9472-A41AD3C2AF9E}'] - function GetRecibosClienteSeleccionados: IBizRecibosCliente; - property RecibosClienteSeleccionados: IBizRecibosCliente read GetRecibosClienteSeleccionados; + IEditorElegirRecibosProveedor = interface(IEditorRecibosProveedor) + ['{7F0AA54E-6F1D-4298-9DB4-0D797069A90C}'] + function GetRecibosProveedorSeleccionados: IBizRecibosProveedor; + property RecibosProveedorSeleccionados: IBizRecibosProveedor read GetRecibosProveedorSeleccionados; procedure SetMultiSelect (AValue : Boolean); function GetMultiSelect : Boolean; diff --git a/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas b/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas index d9febf9b..5133e648 100644 --- a/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas +++ b/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas @@ -50,6 +50,7 @@ type function Nuevo : IBizRecibosProveedor; procedure RecuperarCliente(AReciboProveedor : IBizRecibosProveedor); function Buscar(const ID: Integer): IBizRecibosProveedor; + function BuscarTodosRemesa(const ID_REMESA: Integer): IBizRecibosProveedor; function BuscarTodosFactura(const ID_FACTURA: Integer): IBizRecibosProveedor; function BuscarTodos: IBizRecibosProveedor; function BuscarTodosPendientesDevueltos: IBizRecibosProveedor; @@ -58,7 +59,12 @@ type function Localizar(ARecibosProveedor: IBizRecibosProveedor; ADescripcion:String): Boolean; function DarListaRecibosProveedor: TStringList; function ExtraerSeleccionados(ARecibosProveedor: IBizRecibosProveedor) : IBizRecibosProveedor; + + procedure AsignarRemesa(ARecibos : IBizRecibosProveedor; ID_REMESA: Integer); + procedure QuitarRemesa(ARecibos : IBizRecibosProveedor); procedure SetSituacionCobrados(ARecibos : IBizRecibosProveedor; WithDeltas: Boolean=False); + function ElegirRecibos(ARecibos : IBizRecibosProveedor; AMensaje: String; AMultiSelect: Boolean): IBizRecibosProveedor; + procedure Preview(ARecibosProveedor : IBizRecibosProveedor); procedure Print(ARecibosProveedor : IBizRecibosProveedor); end; @@ -99,6 +105,7 @@ type function Duplicar(ARecibosProveedor: IBizRecibosProveedor): IBizRecibosProveedor; function Nuevo : IBizRecibosProveedor; function Buscar(const ID: Integer): IBizRecibosProveedor; + function BuscarTodosRemesa(const ID_REMESA: Integer): IBizRecibosProveedor; function BuscarTodosFactura(const ID_FACTURA: Integer): IBizRecibosProveedor; function BuscarTodos: IBizRecibosProveedor; function BuscarTodosPendientesDevueltos: IBizRecibosProveedor; @@ -107,7 +114,12 @@ type function Localizar(ARecibosProveedor: IBizRecibosProveedor; ADescripcion:String): Boolean; function DarListaRecibosProveedor: TStringList; function ExtraerSeleccionados(ARecibosProveedor: IBizRecibosProveedor) : IBizRecibosProveedor; + + procedure AsignarRemesa(ARecibos : IBizRecibosProveedor; ID_REMESA: Integer); + procedure QuitarRemesa(ARecibos : IBizRecibosProveedor); procedure SetSituacionCobrados(ARecibos : IBizRecibosProveedor; WithDeltas: Boolean=False); + function ElegirRecibos(ARecibos : IBizRecibosProveedor; AMensaje: String; AMultiSelect: Boolean): IBizRecibosProveedor; + procedure Preview(ARecibosProveedor : IBizRecibosProveedor); procedure Print(ARecibosProveedor : IBizRecibosProveedor); end; @@ -120,7 +132,7 @@ uses uDateUtils, uROTypes, DateUtils, Controls, Windows, Variants, uRecibosProveedorReportController, uBizContactos, schRecibosProveedorClient_Intf, uIEditorRecibosProveedor, uIEditorReciboProveedor, - uDataModuleRecibosProveedor, uIEditorFechaPagoProveedor; + uDataModuleRecibosProveedor, uIEditorFechaPagoProveedor, uIEditorElegirRecibosProveedor; { TRecibosProveedorController } @@ -203,6 +215,30 @@ begin // end; end; +procedure TRecibosProveedorController.AsignarRemesa(ARecibos: IBizRecibosProveedor; ID_REMESA: Integer); +begin + if Assigned(ARecibos) then + begin + With ARecibos.DataTable do + begin + First; + While not EOF do + begin + if (ARecibos.ID_REMESA <> ID_REMESA) then + begin + ARecibos.Edit; + //Añadimos el cobro automatico por la remesa y volvemos a asignar ID + //para que asigne un ID nuevo para el pago, porque aqui si hay maestro-detalle + AnadirPago(ARecibos, DateToStr(Date)); //->Ojo el orden es importante + ARecibos.ID_REMESA := ID_REMESA; + AsignarID(ARecibos, ARecibos.ID); + end; + Next; + end; + end; + end; +end; + function TRecibosProveedorController.BuscarTodos: IBizRecibosProveedor; begin Result := FDataModule.GetItems; @@ -259,6 +295,24 @@ begin end; end; +function TRecibosProveedorController.BuscarTodosRemesa(const ID_REMESA: Integer): IBizRecibosProveedor; +begin + ShowHourglassCursor; + try + Result := BuscarTodos; + with Result.DataTable.Where do + begin + if NotEmpty then + AddOperator(opAND); + OpenBraket; + AddText(fld_RecibosProveedorID_REMESA + ' = ' + IntToStr(ID_REMESA)); + CloseBraket; + end; + finally + HideHourglassCursor; + end; +end; + function TRecibosProveedorController._Vacio: IBizRecibosProveedor; begin Result := Buscar(ID_NULO); @@ -444,6 +498,29 @@ begin end; end; +function TRecibosProveedorController.ElegirRecibos(ARecibos: IBizRecibosProveedor; AMensaje: String; + AMultiSelect: Boolean): IBizRecibosProveedor; +var + AEditor : IEditorElegirRecibosProveedor; +begin + Result := NIL; + CreateEditor('EditorElegirRecibosProveedor', IEditorElegirRecibosProveedor, AEditor); + try + with AEditor do + begin + Controller := Self; + RecibosProveedor := ARecibos; + MultiSelect := AMultiSelect; + Mensaje := AMensaje; + if IsPositiveResult(ShowModal) then + Result := RecibosProveedorSeleccionados; + Release; + end; + finally + AEditor := NIL; + end; +end; + function TRecibosProveedorController.Eliminar(ARecibosProveedor: IBizRecibosProveedor): Boolean; begin Result := False; @@ -669,4 +746,21 @@ begin end; end; +procedure TRecibosProveedorController.QuitarRemesa(ARecibos: IBizRecibosProveedor); +begin + if Assigned(ARecibos) then + begin + if ARecibos.Pagos.DataTable.RecordCount = 0 then + Exit; + + //Eliminamos el cobro generado por la remesa y quitamos el ID_REMESA del recibo + ARecibos.Pagos.DataTable.Last; + ARecibos.Pagos.Delete; + + ARecibos.DataTable.Edit; + ARecibos.ID_REMESA := 0; + ARecibos.DataTable.Post; + end; +end; + end. diff --git a/Source/Modulos/Recibos de proveedor/Data/RecibosProveedor_data.drc b/Source/Modulos/Recibos de proveedor/Data/RecibosProveedor_data.drc index 686f8580..7642ac97 100644 --- a/Source/Modulos/Recibos de proveedor/Data/RecibosProveedor_data.drc +++ b/Source/Modulos/Recibos de proveedor/Data/RecibosProveedor_data.drc @@ -8,3 +8,7 @@ resources were bound to the produced executable. */ +STRINGTABLE +BEGIN +END + diff --git a/Source/Modulos/Recibos de proveedor/Data/uDataModuleRecibosProveedor.dfm b/Source/Modulos/Recibos de proveedor/Data/uDataModuleRecibosProveedor.dfm index 39957f85..e12e8a02 100644 --- a/Source/Modulos/Recibos de proveedor/Data/uDataModuleRecibosProveedor.dfm +++ b/Source/Modulos/Recibos de proveedor/Data/uDataModuleRecibosProveedor.dfm @@ -410,6 +410,29 @@ object DataModuleRecibosProveedor: TDataModuleRecibosProveedor Lookup = False LookupCache = False end + item + Name = 'ID_REMESA' + DataType = datInteger + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'REFERENCIA_REMESA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end item Name = 'FECHA_EMISION' DataType = datDateTime diff --git a/Source/Modulos/Recibos de proveedor/Model/schRecibosProveedorClient_Intf.pas b/Source/Modulos/Recibos de proveedor/Model/schRecibosProveedorClient_Intf.pas index db589269..5a5f4530 100644 --- a/Source/Modulos/Recibos de proveedor/Model/schRecibosProveedorClient_Intf.pas +++ b/Source/Modulos/Recibos de proveedor/Model/schRecibosProveedorClient_Intf.pas @@ -9,9 +9,9 @@ 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_RecibosProveedor = '{2AAC024E-AC2F-4513-9259-F199B69B6C27}'; - RID_RecibosProveedor_Refresh = '{10C38C0E-151B-401A-B871-ECE4187F375B}'; - RID_PagosProveedor = '{44A1CD96-B800-4F0E-9B70-201D420A465A}'; + RID_RecibosProveedor = '{807B18A0-18B1-4AA2-AD28-EB2C6F7355D4}'; + RID_RecibosProveedor_Refresh = '{1F7D595D-7CE8-4F30-A7AD-8DF53957939D}'; + RID_PagosProveedor = '{97FF686E-BBE3-490B-A127-DA9B5AF05917}'; { Data table names } nme_RecibosProveedor = 'RecibosProveedor'; @@ -24,6 +24,8 @@ const fld_RecibosProveedorREFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR'; fld_RecibosProveedorSITUACION = 'SITUACION'; fld_RecibosProveedorID_FACTURA = 'ID_FACTURA'; + fld_RecibosProveedorID_REMESA = 'ID_REMESA'; + fld_RecibosProveedorREFERENCIA_REMESA = 'REFERENCIA_REMESA'; fld_RecibosProveedorFECHA_EMISION = 'FECHA_EMISION'; fld_RecibosProveedorFECHA_VENCIMIENTO = 'FECHA_VENCIMIENTO'; fld_RecibosProveedorDESCRIPCION = 'DESCRIPCION'; @@ -52,27 +54,29 @@ const idx_RecibosProveedorREFERENCIA_PROVEEDOR = 2; idx_RecibosProveedorSITUACION = 3; idx_RecibosProveedorID_FACTURA = 4; - idx_RecibosProveedorFECHA_EMISION = 5; - idx_RecibosProveedorFECHA_VENCIMIENTO = 6; - idx_RecibosProveedorDESCRIPCION = 7; - idx_RecibosProveedorOBSERVACIONES = 8; - idx_RecibosProveedorIMPORTE = 9; - idx_RecibosProveedorOTROS_GASTOS = 10; - idx_RecibosProveedorIMPORTE_TOTAL = 11; - idx_RecibosProveedorFECHA_FACTURA = 12; - idx_RecibosProveedorFORMA_PAGO_FACTURA = 13; - idx_RecibosProveedorIMPORTE_FACTURA = 14; - idx_RecibosProveedorID_PROVEEDOR = 15; - idx_RecibosProveedorNOMBRE_PROVEEDOR = 16; - idx_RecibosProveedorNIF_CIF_PROVEEDOR = 17; - idx_RecibosProveedorENTIDAD_PROVEEDOR = 18; - idx_RecibosProveedorSUCURSAL_PROVEEDOR = 19; - idx_RecibosProveedorDC_PROVEEDOR = 20; - idx_RecibosProveedorCUENTA_PROVEEDOR = 21; - idx_RecibosProveedorID_EMPRESA = 22; - idx_RecibosProveedorFECHA_ALTA = 23; - idx_RecibosProveedorFECHA_MODIFICACION = 24; - idx_RecibosProveedorUSUARIO = 25; + idx_RecibosProveedorID_REMESA = 5; + idx_RecibosProveedorREFERENCIA_REMESA = 6; + idx_RecibosProveedorFECHA_EMISION = 7; + idx_RecibosProveedorFECHA_VENCIMIENTO = 8; + idx_RecibosProveedorDESCRIPCION = 9; + idx_RecibosProveedorOBSERVACIONES = 10; + idx_RecibosProveedorIMPORTE = 11; + idx_RecibosProveedorOTROS_GASTOS = 12; + idx_RecibosProveedorIMPORTE_TOTAL = 13; + idx_RecibosProveedorFECHA_FACTURA = 14; + idx_RecibosProveedorFORMA_PAGO_FACTURA = 15; + idx_RecibosProveedorIMPORTE_FACTURA = 16; + idx_RecibosProveedorID_PROVEEDOR = 17; + idx_RecibosProveedorNOMBRE_PROVEEDOR = 18; + idx_RecibosProveedorNIF_CIF_PROVEEDOR = 19; + idx_RecibosProveedorENTIDAD_PROVEEDOR = 20; + idx_RecibosProveedorSUCURSAL_PROVEEDOR = 21; + idx_RecibosProveedorDC_PROVEEDOR = 22; + idx_RecibosProveedorCUENTA_PROVEEDOR = 23; + idx_RecibosProveedorID_EMPRESA = 24; + idx_RecibosProveedorFECHA_ALTA = 25; + idx_RecibosProveedorFECHA_MODIFICACION = 26; + idx_RecibosProveedorUSUARIO = 27; { RecibosProveedor_Refresh fields } fld_RecibosProveedor_RefreshID = 'ID'; @@ -80,6 +84,8 @@ const fld_RecibosProveedor_RefreshREFERENCIA_PROVEEDOR = 'REFERENCIA_PROVEEDOR'; fld_RecibosProveedor_RefreshSITUACION = 'SITUACION'; fld_RecibosProveedor_RefreshID_FACTURA = 'ID_FACTURA'; + fld_RecibosProveedor_RefreshID_REMESA = 'ID_REMESA'; + fld_RecibosProveedor_RefreshREFERENCIA_REMESA = 'REFERENCIA_REMESA'; fld_RecibosProveedor_RefreshFECHA_EMISION = 'FECHA_EMISION'; fld_RecibosProveedor_RefreshFECHA_VENCIMIENTO = 'FECHA_VENCIMIENTO'; fld_RecibosProveedor_RefreshDESCRIPCION = 'DESCRIPCION'; @@ -108,27 +114,29 @@ const idx_RecibosProveedor_RefreshREFERENCIA_PROVEEDOR = 2; idx_RecibosProveedor_RefreshSITUACION = 3; idx_RecibosProveedor_RefreshID_FACTURA = 4; - idx_RecibosProveedor_RefreshFECHA_EMISION = 5; - idx_RecibosProveedor_RefreshFECHA_VENCIMIENTO = 6; - idx_RecibosProveedor_RefreshDESCRIPCION = 7; - idx_RecibosProveedor_RefreshOBSERVACIONES = 8; - idx_RecibosProveedor_RefreshIMPORTE = 9; - idx_RecibosProveedor_RefreshOTROS_GASTOS = 10; - idx_RecibosProveedor_RefreshIMPORTE_TOTAL = 11; - idx_RecibosProveedor_RefreshFECHA_FACTURA = 12; - idx_RecibosProveedor_RefreshFORMA_PAGO_FACTURA = 13; - idx_RecibosProveedor_RefreshIMPORTE_FACTURA = 14; - idx_RecibosProveedor_RefreshID_PROVEEDOR = 15; - idx_RecibosProveedor_RefreshNOMBRE_PROVEEDOR = 16; - idx_RecibosProveedor_RefreshNIF_CIF_PROVEEDOR = 17; - idx_RecibosProveedor_RefreshENTIDAD_PROVEEDOR = 18; - idx_RecibosProveedor_RefreshSUCURSAL_PROVEEDOR = 19; - idx_RecibosProveedor_RefreshDC_PROVEEDOR = 20; - idx_RecibosProveedor_RefreshCUENTA_PROVEEDOR = 21; - idx_RecibosProveedor_RefreshID_EMPRESA = 22; - idx_RecibosProveedor_RefreshFECHA_ALTA = 23; - idx_RecibosProveedor_RefreshFECHA_MODIFICACION = 24; - idx_RecibosProveedor_RefreshUSUARIO = 25; + idx_RecibosProveedor_RefreshID_REMESA = 5; + idx_RecibosProveedor_RefreshREFERENCIA_REMESA = 6; + idx_RecibosProveedor_RefreshFECHA_EMISION = 7; + idx_RecibosProveedor_RefreshFECHA_VENCIMIENTO = 8; + idx_RecibosProveedor_RefreshDESCRIPCION = 9; + idx_RecibosProveedor_RefreshOBSERVACIONES = 10; + idx_RecibosProveedor_RefreshIMPORTE = 11; + idx_RecibosProveedor_RefreshOTROS_GASTOS = 12; + idx_RecibosProveedor_RefreshIMPORTE_TOTAL = 13; + idx_RecibosProveedor_RefreshFECHA_FACTURA = 14; + idx_RecibosProveedor_RefreshFORMA_PAGO_FACTURA = 15; + idx_RecibosProveedor_RefreshIMPORTE_FACTURA = 16; + idx_RecibosProveedor_RefreshID_PROVEEDOR = 17; + idx_RecibosProveedor_RefreshNOMBRE_PROVEEDOR = 18; + idx_RecibosProveedor_RefreshNIF_CIF_PROVEEDOR = 19; + idx_RecibosProveedor_RefreshENTIDAD_PROVEEDOR = 20; + idx_RecibosProveedor_RefreshSUCURSAL_PROVEEDOR = 21; + idx_RecibosProveedor_RefreshDC_PROVEEDOR = 22; + idx_RecibosProveedor_RefreshCUENTA_PROVEEDOR = 23; + idx_RecibosProveedor_RefreshID_EMPRESA = 24; + idx_RecibosProveedor_RefreshFECHA_ALTA = 25; + idx_RecibosProveedor_RefreshFECHA_MODIFICACION = 26; + idx_RecibosProveedor_RefreshUSUARIO = 27; { PagosProveedor fields } fld_PagosProveedorID = 'ID'; @@ -161,7 +169,7 @@ const type { IRecibosProveedor } IRecibosProveedor = interface(IDAStronglyTypedDataTable) - ['{D680E4E8-463A-4030-B467-473A335896DA}'] + ['{99BA6D6E-1ADC-4073-88CF-3F2D36511AA8}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -173,6 +181,10 @@ type procedure SetSITUACIONValue(const aValue: String); function GetID_FACTURAValue: Integer; procedure SetID_FACTURAValue(const aValue: Integer); + function GetID_REMESAValue: Integer; + procedure SetID_REMESAValue(const aValue: Integer); + function GetREFERENCIA_REMESAValue: String; + procedure SetREFERENCIA_REMESAValue(const aValue: String); function GetFECHA_EMISIONValue: DateTime; procedure SetFECHA_EMISIONValue(const aValue: DateTime); function GetFECHA_VENCIMIENTOValue: DateTime; @@ -223,6 +235,8 @@ type property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue; property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue; property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue; + property ID_REMESA: Integer read GetID_REMESAValue write SetID_REMESAValue; + property REFERENCIA_REMESA: String read GetREFERENCIA_REMESAValue write SetREFERENCIA_REMESAValue; property FECHA_EMISION: DateTime read GetFECHA_EMISIONValue write SetFECHA_EMISIONValue; property FECHA_VENCIMIENTO: DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue; property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; @@ -261,6 +275,10 @@ type procedure SetSITUACIONValue(const aValue: String); virtual; function GetID_FACTURAValue: Integer; virtual; procedure SetID_FACTURAValue(const aValue: Integer); virtual; + function GetID_REMESAValue: Integer; virtual; + procedure SetID_REMESAValue(const aValue: Integer); virtual; + function GetREFERENCIA_REMESAValue: String; virtual; + procedure SetREFERENCIA_REMESAValue(const aValue: String); virtual; function GetFECHA_EMISIONValue: DateTime; virtual; procedure SetFECHA_EMISIONValue(const aValue: DateTime); virtual; function GetFECHA_VENCIMIENTOValue: DateTime; virtual; @@ -310,6 +328,8 @@ type property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue; property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue; property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue; + property ID_REMESA: Integer read GetID_REMESAValue write SetID_REMESAValue; + property REFERENCIA_REMESA: String read GetREFERENCIA_REMESAValue write SetREFERENCIA_REMESAValue; property FECHA_EMISION: DateTime read GetFECHA_EMISIONValue write SetFECHA_EMISIONValue; property FECHA_VENCIMIENTO: DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue; property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; @@ -340,7 +360,7 @@ type { IRecibosProveedor_Refresh } IRecibosProveedor_Refresh = interface(IDAStronglyTypedDataTable) - ['{0150150A-ED6F-4288-A985-D7032B970E45}'] + ['{EDBDE565-F79D-4A6A-8D70-60F31438BCAD}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -352,6 +372,10 @@ type procedure SetSITUACIONValue(const aValue: String); function GetID_FACTURAValue: Integer; procedure SetID_FACTURAValue(const aValue: Integer); + function GetID_REMESAValue: Integer; + procedure SetID_REMESAValue(const aValue: Integer); + function GetREFERENCIA_REMESAValue: String; + procedure SetREFERENCIA_REMESAValue(const aValue: String); function GetFECHA_EMISIONValue: DateTime; procedure SetFECHA_EMISIONValue(const aValue: DateTime); function GetFECHA_VENCIMIENTOValue: DateTime; @@ -402,6 +426,8 @@ type property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue; property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue; property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue; + property ID_REMESA: Integer read GetID_REMESAValue write SetID_REMESAValue; + property REFERENCIA_REMESA: String read GetREFERENCIA_REMESAValue write SetREFERENCIA_REMESAValue; property FECHA_EMISION: DateTime read GetFECHA_EMISIONValue write SetFECHA_EMISIONValue; property FECHA_VENCIMIENTO: DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue; property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; @@ -440,6 +466,10 @@ type procedure SetSITUACIONValue(const aValue: String); virtual; function GetID_FACTURAValue: Integer; virtual; procedure SetID_FACTURAValue(const aValue: Integer); virtual; + function GetID_REMESAValue: Integer; virtual; + procedure SetID_REMESAValue(const aValue: Integer); virtual; + function GetREFERENCIA_REMESAValue: String; virtual; + procedure SetREFERENCIA_REMESAValue(const aValue: String); virtual; function GetFECHA_EMISIONValue: DateTime; virtual; procedure SetFECHA_EMISIONValue(const aValue: DateTime); virtual; function GetFECHA_VENCIMIENTOValue: DateTime; virtual; @@ -489,6 +519,8 @@ type property REFERENCIA_PROVEEDOR: String read GetREFERENCIA_PROVEEDORValue write SetREFERENCIA_PROVEEDORValue; property SITUACION: String read GetSITUACIONValue write SetSITUACIONValue; property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue; + property ID_REMESA: Integer read GetID_REMESAValue write SetID_REMESAValue; + property REFERENCIA_REMESA: String read GetREFERENCIA_REMESAValue write SetREFERENCIA_REMESAValue; property FECHA_EMISION: DateTime read GetFECHA_EMISIONValue write SetFECHA_EMISIONValue; property FECHA_VENCIMIENTO: DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue; property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; @@ -519,7 +551,7 @@ type { IPagosProveedor } IPagosProveedor = interface(IDAStronglyTypedDataTable) - ['{836B8864-48D5-43BD-A70E-36E829553871}'] + ['{C80BF63F-80D2-4314-813F-8B4B676327C0}'] { Property getters and setters } function GetIDValue: Integer; procedure SetIDValue(const aValue: Integer); @@ -677,6 +709,26 @@ begin DataTable.Fields[idx_RecibosProveedorID_FACTURA].AsInteger := aValue; end; +function TRecibosProveedorDataTableRules.GetID_REMESAValue: Integer; +begin + result := DataTable.Fields[idx_RecibosProveedorID_REMESA].AsInteger; +end; + +procedure TRecibosProveedorDataTableRules.SetID_REMESAValue(const aValue: Integer); +begin + DataTable.Fields[idx_RecibosProveedorID_REMESA].AsInteger := aValue; +end; + +function TRecibosProveedorDataTableRules.GetREFERENCIA_REMESAValue: String; +begin + result := DataTable.Fields[idx_RecibosProveedorREFERENCIA_REMESA].AsString; +end; + +procedure TRecibosProveedorDataTableRules.SetREFERENCIA_REMESAValue(const aValue: String); +begin + DataTable.Fields[idx_RecibosProveedorREFERENCIA_REMESA].AsString := aValue; +end; + function TRecibosProveedorDataTableRules.GetFECHA_EMISIONValue: DateTime; begin result := DataTable.Fields[idx_RecibosProveedorFECHA_EMISION].AsDateTime; @@ -949,6 +1001,26 @@ begin DataTable.Fields[idx_RecibosProveedor_RefreshID_FACTURA].AsInteger := aValue; end; +function TRecibosProveedor_RefreshDataTableRules.GetID_REMESAValue: Integer; +begin + result := DataTable.Fields[idx_RecibosProveedor_RefreshID_REMESA].AsInteger; +end; + +procedure TRecibosProveedor_RefreshDataTableRules.SetID_REMESAValue(const aValue: Integer); +begin + DataTable.Fields[idx_RecibosProveedor_RefreshID_REMESA].AsInteger := aValue; +end; + +function TRecibosProveedor_RefreshDataTableRules.GetREFERENCIA_REMESAValue: String; +begin + result := DataTable.Fields[idx_RecibosProveedor_RefreshREFERENCIA_REMESA].AsString; +end; + +procedure TRecibosProveedor_RefreshDataTableRules.SetREFERENCIA_REMESAValue(const aValue: String); +begin + DataTable.Fields[idx_RecibosProveedor_RefreshREFERENCIA_REMESA].AsString := aValue; +end; + function TRecibosProveedor_RefreshDataTableRules.GetFECHA_EMISIONValue: DateTime; begin result := DataTable.Fields[idx_RecibosProveedor_RefreshFECHA_EMISION].AsDateTime; diff --git a/Source/Modulos/Recibos de proveedor/Model/schRecibosProveedorServer_Intf.pas b/Source/Modulos/Recibos de proveedor/Model/schRecibosProveedorServer_Intf.pas index 086e6bd3..d679d2bf 100644 --- a/Source/Modulos/Recibos de proveedor/Model/schRecibosProveedorServer_Intf.pas +++ b/Source/Modulos/Recibos de proveedor/Model/schRecibosProveedorServer_Intf.pas @@ -9,20 +9,22 @@ 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_RecibosProveedorDelta = '{BCC0F8EA-2780-4D83-973A-E894BB0EF2AF}'; - RID_RecibosProveedor_RefreshDelta = '{19184AE3-ED2E-48EF-8CA9-422567CE161B}'; - RID_PagosProveedorDelta = '{7D84B7A6-CE5E-427D-BF11-E7A74B003876}'; + RID_RecibosProveedorDelta = '{D18482E7-4712-405B-949D-50EF9971E826}'; + RID_RecibosProveedor_RefreshDelta = '{E5A7D96D-DD67-458C-89D6-A82C366301D4}'; + RID_PagosProveedorDelta = '{A03A2B25-848C-486D-AA8E-476068191539}'; type { IRecibosProveedorDelta } IRecibosProveedorDelta = interface(IRecibosProveedor) - ['{BCC0F8EA-2780-4D83-973A-E894BB0EF2AF}'] + ['{D18482E7-4712-405B-949D-50EF9971E826}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldREFERENCIAValue : String; function GetOldREFERENCIA_PROVEEDORValue : String; function GetOldSITUACIONValue : String; function GetOldID_FACTURAValue : Integer; + function GetOldID_REMESAValue : Integer; + function GetOldREFERENCIA_REMESAValue : String; function GetOldFECHA_EMISIONValue : DateTime; function GetOldFECHA_VENCIMIENTOValue : DateTime; function GetOldDESCRIPCIONValue : String; @@ -51,6 +53,8 @@ type property OldREFERENCIA_PROVEEDOR : String read GetOldREFERENCIA_PROVEEDORValue; property OldSITUACION : String read GetOldSITUACIONValue; property OldID_FACTURA : Integer read GetOldID_FACTURAValue; + property OldID_REMESA : Integer read GetOldID_REMESAValue; + property OldREFERENCIA_REMESA : String read GetOldREFERENCIA_REMESAValue; property OldFECHA_EMISION : DateTime read GetOldFECHA_EMISIONValue; property OldFECHA_VENCIMIENTO : DateTime read GetOldFECHA_VENCIMIENTOValue; property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; @@ -94,6 +98,12 @@ type function GetID_FACTURAValue: Integer; virtual; function GetOldID_FACTURAValue: Integer; virtual; procedure SetID_FACTURAValue(const aValue: Integer); virtual; + function GetID_REMESAValue: Integer; virtual; + function GetOldID_REMESAValue: Integer; virtual; + procedure SetID_REMESAValue(const aValue: Integer); virtual; + function GetREFERENCIA_REMESAValue: String; virtual; + function GetOldREFERENCIA_REMESAValue: String; virtual; + procedure SetREFERENCIA_REMESAValue(const aValue: String); virtual; function GetFECHA_EMISIONValue: DateTime; virtual; function GetOldFECHA_EMISIONValue: DateTime; virtual; procedure SetFECHA_EMISIONValue(const aValue: DateTime); virtual; @@ -169,6 +179,10 @@ type property OldSITUACION : String read GetOldSITUACIONValue; property ID_FACTURA : Integer read GetID_FACTURAValue write SetID_FACTURAValue; property OldID_FACTURA : Integer read GetOldID_FACTURAValue; + property ID_REMESA : Integer read GetID_REMESAValue write SetID_REMESAValue; + property OldID_REMESA : Integer read GetOldID_REMESAValue; + property REFERENCIA_REMESA : String read GetREFERENCIA_REMESAValue write SetREFERENCIA_REMESAValue; + property OldREFERENCIA_REMESA : String read GetOldREFERENCIA_REMESAValue; property FECHA_EMISION : DateTime read GetFECHA_EMISIONValue write SetFECHA_EMISIONValue; property OldFECHA_EMISION : DateTime read GetOldFECHA_EMISIONValue; property FECHA_VENCIMIENTO : DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue; @@ -220,13 +234,15 @@ type { IRecibosProveedor_RefreshDelta } IRecibosProveedor_RefreshDelta = interface(IRecibosProveedor_Refresh) - ['{19184AE3-ED2E-48EF-8CA9-422567CE161B}'] + ['{E5A7D96D-DD67-458C-89D6-A82C366301D4}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldREFERENCIAValue : String; function GetOldREFERENCIA_PROVEEDORValue : String; function GetOldSITUACIONValue : String; function GetOldID_FACTURAValue : Integer; + function GetOldID_REMESAValue : Integer; + function GetOldREFERENCIA_REMESAValue : String; function GetOldFECHA_EMISIONValue : DateTime; function GetOldFECHA_VENCIMIENTOValue : DateTime; function GetOldDESCRIPCIONValue : String; @@ -255,6 +271,8 @@ type property OldREFERENCIA_PROVEEDOR : String read GetOldREFERENCIA_PROVEEDORValue; property OldSITUACION : String read GetOldSITUACIONValue; property OldID_FACTURA : Integer read GetOldID_FACTURAValue; + property OldID_REMESA : Integer read GetOldID_REMESAValue; + property OldREFERENCIA_REMESA : String read GetOldREFERENCIA_REMESAValue; property OldFECHA_EMISION : DateTime read GetOldFECHA_EMISIONValue; property OldFECHA_VENCIMIENTO : DateTime read GetOldFECHA_VENCIMIENTOValue; property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; @@ -298,6 +316,12 @@ type function GetID_FACTURAValue: Integer; virtual; function GetOldID_FACTURAValue: Integer; virtual; procedure SetID_FACTURAValue(const aValue: Integer); virtual; + function GetID_REMESAValue: Integer; virtual; + function GetOldID_REMESAValue: Integer; virtual; + procedure SetID_REMESAValue(const aValue: Integer); virtual; + function GetREFERENCIA_REMESAValue: String; virtual; + function GetOldREFERENCIA_REMESAValue: String; virtual; + procedure SetREFERENCIA_REMESAValue(const aValue: String); virtual; function GetFECHA_EMISIONValue: DateTime; virtual; function GetOldFECHA_EMISIONValue: DateTime; virtual; procedure SetFECHA_EMISIONValue(const aValue: DateTime); virtual; @@ -373,6 +397,10 @@ type property OldSITUACION : String read GetOldSITUACIONValue; property ID_FACTURA : Integer read GetID_FACTURAValue write SetID_FACTURAValue; property OldID_FACTURA : Integer read GetOldID_FACTURAValue; + property ID_REMESA : Integer read GetID_REMESAValue write SetID_REMESAValue; + property OldID_REMESA : Integer read GetOldID_REMESAValue; + property REFERENCIA_REMESA : String read GetREFERENCIA_REMESAValue write SetREFERENCIA_REMESAValue; + property OldREFERENCIA_REMESA : String read GetOldREFERENCIA_REMESAValue; property FECHA_EMISION : DateTime read GetFECHA_EMISIONValue write SetFECHA_EMISIONValue; property OldFECHA_EMISION : DateTime read GetOldFECHA_EMISIONValue; property FECHA_VENCIMIENTO : DateTime read GetFECHA_VENCIMIENTOValue write SetFECHA_VENCIMIENTOValue; @@ -424,7 +452,7 @@ type { IPagosProveedorDelta } IPagosProveedorDelta = interface(IPagosProveedor) - ['{7D84B7A6-CE5E-427D-BF11-E7A74B003876}'] + ['{A03A2B25-848C-486D-AA8E-476068191539}'] { Property getters and setters } function GetOldIDValue : Integer; function GetOldID_RECIBOValue : Integer; @@ -619,6 +647,36 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosProveedorID_FACTURA] := aValue; end; +function TRecibosProveedorBusinessProcessorRules.GetID_REMESAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosProveedorID_REMESA]; +end; + +function TRecibosProveedorBusinessProcessorRules.GetOldID_REMESAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RecibosProveedorID_REMESA]; +end; + +procedure TRecibosProveedorBusinessProcessorRules.SetID_REMESAValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosProveedorID_REMESA] := aValue; +end; + +function TRecibosProveedorBusinessProcessorRules.GetREFERENCIA_REMESAValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosProveedorREFERENCIA_REMESA]; +end; + +function TRecibosProveedorBusinessProcessorRules.GetOldREFERENCIA_REMESAValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RecibosProveedorREFERENCIA_REMESA]; +end; + +procedure TRecibosProveedorBusinessProcessorRules.SetREFERENCIA_REMESAValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosProveedorREFERENCIA_REMESA] := aValue; +end; + function TRecibosProveedorBusinessProcessorRules.GetFECHA_EMISIONValue: DateTime; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosProveedorFECHA_EMISION]; @@ -1021,6 +1079,36 @@ begin BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosProveedor_RefreshID_FACTURA] := aValue; end; +function TRecibosProveedor_RefreshBusinessProcessorRules.GetID_REMESAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosProveedor_RefreshID_REMESA]; +end; + +function TRecibosProveedor_RefreshBusinessProcessorRules.GetOldID_REMESAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RecibosProveedor_RefreshID_REMESA]; +end; + +procedure TRecibosProveedor_RefreshBusinessProcessorRules.SetID_REMESAValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosProveedor_RefreshID_REMESA] := aValue; +end; + +function TRecibosProveedor_RefreshBusinessProcessorRules.GetREFERENCIA_REMESAValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosProveedor_RefreshREFERENCIA_REMESA]; +end; + +function TRecibosProveedor_RefreshBusinessProcessorRules.GetOldREFERENCIA_REMESAValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RecibosProveedor_RefreshREFERENCIA_REMESA]; +end; + +procedure TRecibosProveedor_RefreshBusinessProcessorRules.SetREFERENCIA_REMESAValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosProveedor_RefreshREFERENCIA_REMESA] := aValue; +end; + function TRecibosProveedor_RefreshBusinessProcessorRules.GetFECHA_EMISIONValue: DateTime; begin result := BusinessProcessor.CurrentChange.NewValueByName[fld_RecibosProveedor_RefreshFECHA_EMISION]; diff --git a/Source/Modulos/Recibos de proveedor/Model/uBizRecibosProveedor.pas b/Source/Modulos/Recibos de proveedor/Model/uBizRecibosProveedor.pas index 2518230c..b36e93a4 100644 --- a/Source/Modulos/Recibos de proveedor/Model/uBizRecibosProveedor.pas +++ b/Source/Modulos/Recibos de proveedor/Model/uBizRecibosProveedor.pas @@ -77,6 +77,8 @@ type function GetPagos : IBizPagosProveedor; procedure OnNewRecord(Sender: TDADataTable); override; + procedure SetID_REMESAValue(const aValue: Integer); override; + public property Pagos : IBizPagosProveedor read GetPagos write SetPagos; property SeleccionableInterface : ISeleccionable read FSeleccionableInterface @@ -106,6 +108,14 @@ begin Result := FPagos; end; +procedure TBizRecibosProveedor.SetID_REMESAValue(const aValue: Integer); +begin + if (aValue = 0) then + SetFieldNull(DataTable, fld_RecibosProveedorID_REMESA) + else + inherited; +end; + procedure TBizRecibosProveedor.SetPagos(AValue: IBizPagosProveedor); begin FPagos := AValue; diff --git a/Source/Modulos/Recibos de proveedor/Servidor/srvRecibosProveedor_Impl.dfm b/Source/Modulos/Recibos de proveedor/Servidor/srvRecibosProveedor_Impl.dfm index b906d3db..217e93c3 100644 --- a/Source/Modulos/Recibos de proveedor/Servidor/srvRecibosProveedor_Impl.dfm +++ b/Source/Modulos/Recibos de proveedor/Servidor/srvRecibosProveedor_Impl.dfm @@ -23,15 +23,15 @@ object srvRecibosProveedor: TsrvRecibosProveedor TargetTable = 'V_RECIBOS_PROVEEDOR' SQL = 'SELECT ID,'#10' REFERENCIA,'#10' REFERENCIA_PROVEEDOR,'#10' ' + - ' SITUACION,'#10' ID_FACTURA,'#10' FECHA_EMISION,'#10' FEC' + - 'HA_VENCIMIENTO,'#10' DESCRIPCION,'#10' OBSERVACIONES,'#10' ' + - ' IMPORTE,'#10' OTROS_GASTOS,'#10' IMPORTE_TOTAL,'#10' FECH' + - 'A_FACTURA,'#10' FORMA_PAGO_FACTURA,'#10' IMPORTE_FACTURA,'#10' ' + - ' ID_PROVEEDOR,'#10' NOMBRE_PROVEEDOR,'#10' NIF_CIF_PROVE' + - 'EDOR,'#10' ENTIDAD_PROVEEDOR,'#10' SUCURSAL_PROVEEDOR,'#10' ' + - ' DC_PROVEEDOR,'#10' CUENTA_PROVEEDOR,'#10' ID_EMPRESA,'#10' ' + - ' FECHA_ALTA,'#10' FECHA_MODIFICACION,'#10' USUARIO'#10#10'FROM V' + - '_RECIBOS_PROVEEDOR' + ' SITUACION,'#10' ID_FACTURA,'#10' ID_REMESA,'#10' REFEREN' + + 'CIA_REMESA,'#10' FECHA_EMISION,'#10' FECHA_VENCIMIENTO,'#10' ' + + ' DESCRIPCION,'#10' OBSERVACIONES,'#10' IMPORTE,'#10' OTR' + + 'OS_GASTOS,'#10' IMPORTE_TOTAL,'#10' FECHA_FACTURA,'#10' FO' + + 'RMA_PAGO_FACTURA,'#10' IMPORTE_FACTURA,'#10' ID_PROVEEDOR,'#10' ' + + ' NOMBRE_PROVEEDOR,'#10' NIF_CIF_PROVEEDOR,'#10' ENTIDAD' + + '_PROVEEDOR,'#10' SUCURSAL_PROVEEDOR,'#10' DC_PROVEEDOR,'#10' ' + + ' CUENTA_PROVEEDOR,'#10' ID_EMPRESA,'#10' FECHA_ALTA,'#10' ' + + ' FECHA_MODIFICACION,'#10' USUARIO'#10#10'FROM V_RECIBOS_PROVEEDOR' StatementType = stSQL ColumnMappings = < item @@ -137,6 +137,14 @@ object srvRecibosProveedor: TsrvRecibosProveedor item DatasetField = 'REFERENCIA_PROVEEDOR' TableField = 'REFERENCIA_PROVEEDOR' + end + item + DatasetField = 'ID_REMESA' + TableField = 'ID_REMESA' + end + item + DatasetField = 'REFERENCIA_REMESA' + TableField = 'REFERENCIA_REMESA' end> end> Name = 'RecibosProveedor' @@ -195,6 +203,29 @@ object srvRecibosProveedor: TsrvRecibosProveedor Lookup = False LookupCache = False end + item + Name = 'ID_REMESA' + DataType = datInteger + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'REFERENCIA_REMESA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end item Name = 'FECHA_EMISION' DataType = datDateTime @@ -433,15 +464,16 @@ object srvRecibosProveedor: TsrvRecibosProveedor TargetTable = 'V_RECIBOS_PROVEEDOR' SQL = 'SELECT ID,'#10' REFERENCIA,'#10' REFERENCIA_PROVEEDOR,'#10' ' + - ' SITUACION,'#10' ID_FACTURA,'#10' FECHA_EMISION,'#10' FEC' + - 'HA_VENCIMIENTO,'#10' DESCRIPCION,'#10' OBSERVACIONES,'#10' ' + - ' IMPORTE,'#10' OTROS_GASTOS,'#10' IMPORTE_TOTAL,'#10' FECH' + - 'A_FACTURA,'#10' FORMA_PAGO_FACTURA,'#10' IMPORTE_FACTURA,'#10' ' + - ' ID_PROVEEDOR,'#10' NOMBRE_PROVEEDOR,'#10' NIF_CIF_PROVE' + - 'EDOR,'#10' ENTIDAD_PROVEEDOR,'#10' SUCURSAL_PROVEEDOR,'#10' ' + - ' DC_PROVEEDOR,'#10' CUENTA_PROVEEDOR,'#10' ID_EMPRESA,'#10' ' + - ' FECHA_ALTA,'#10' FECHA_MODIFICACION,'#10' USUARIO'#10#10'FROM V' + - '_RECIBOS_PROVEEDOR'#10'WHERE'#10' ID = :ID' + ' SITUACION,'#10' ID_FACTURA,'#10' ID_REMESA,'#10' REFEREN' + + 'CIA_REMESA,'#10' FECHA_EMISION,'#10' FECHA_VENCIMIENTO,'#10' ' + + ' DESCRIPCION,'#10' OBSERVACIONES,'#10' IMPORTE,'#10' OTR' + + 'OS_GASTOS,'#10' IMPORTE_TOTAL,'#10' FECHA_FACTURA,'#10' FO' + + 'RMA_PAGO_FACTURA,'#10' IMPORTE_FACTURA,'#10' ID_PROVEEDOR,'#10' ' + + ' NOMBRE_PROVEEDOR,'#10' NIF_CIF_PROVEEDOR,'#10' ENTIDAD' + + '_PROVEEDOR,'#10' SUCURSAL_PROVEEDOR,'#10' DC_PROVEEDOR,'#10' ' + + ' CUENTA_PROVEEDOR,'#10' ID_EMPRESA,'#10' FECHA_ALTA,'#10' ' + + ' FECHA_MODIFICACION,'#10' USUARIO'#10#10'FROM V_RECIBOS_PROVEEDOR'#10'W' + + 'HERE'#10' ID = :ID' StatementType = stSQL ColumnMappings = < item @@ -547,6 +579,14 @@ object srvRecibosProveedor: TsrvRecibosProveedor item DatasetField = 'REFERENCIA_PROVEEDOR' TableField = 'REFERENCIA_PROVEEDOR' + end + item + DatasetField = 'ID_REMESA' + TableField = 'ID_REMESA' + end + item + DatasetField = 'REFERENCIA_REMESA' + TableField = 'REFERENCIA_REMESA' end> end> Name = 'RecibosProveedor_Refresh' @@ -605,6 +645,29 @@ object srvRecibosProveedor: TsrvRecibosProveedor Lookup = False LookupCache = False end + item + Name = 'ID_REMESA' + DataType = datInteger + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'REFERENCIA_REMESA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end item Name = 'FECHA_EMISION' DataType = datDateTime @@ -1189,6 +1252,13 @@ object srvRecibosProveedor: TsrvRecibosProveedor Value = '' ParamType = daptInput end + item + Name = 'ID_REMESA' + DataType = datInteger + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end item Name = 'IMPORTE' DataType = datFloat @@ -1226,9 +1296,9 @@ object srvRecibosProveedor: TsrvRecibosProveedor 'UPDATE RECIBOS_PROVEEDOR'#10' SET '#10' REFERENCIA_PROVEEDOR = :REFE' + 'RENCIA_PROVEEDOR,'#10' FECHA_EMISION = :FECHA_EMISION,'#10' FECHA_' + 'VENCIMIENTO = :FECHA_VENCIMIENTO,'#10' DESCRIPCION = :DESCRIPCION' + - ','#10' OBSERVACIONES = :OBSERVACIONES,'#10' IMPORTE = :IMPORTE,'#10' ' + - ' OTROS_GASTOS = :OTROS_GASTOS,'#10' USUARIO = :USUARIO'#10' WHERE'#10' ' + - ' (ID = :OLD_ID)' + ','#10' OBSERVACIONES = :OBSERVACIONES,'#10' ID_REMESA = :ID_REMESA' + + ','#10' IMPORTE = :IMPORTE,'#10' OTROS_GASTOS = :OTROS_GASTOS,'#10' ' + + 'USUARIO = :USUARIO'#10' WHERE'#10' (ID = :OLD_ID)' StatementType = stSQL ColumnMappings = <> end> diff --git a/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.dpk b/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.dpk index 757912f8..77e5e3f1 100644 --- a/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.dpk +++ b/Source/Modulos/Recibos de proveedor/Views/RecibosProveedor_view.dpk @@ -84,16 +84,18 @@ requires teedb, RecibosProveedor_controller, RecibosProveedor_data, - RecibosProveedor_model; + RecibosProveedor_model, + JSDialog100; contains - uRecibosProveedorViewRegister in 'uRecibosProveedorViewRegister.pas', uEditorRecibosProveedor in 'uEditorRecibosProveedor.pas' {fEditorRecibosProveedor: TfEditorRecibosCliente}, uViewRecibosProveedor in 'uViewRecibosProveedor.pas' {frViewRecibosProveedor: TFrame}, uViewReciboProveedor in 'uViewReciboProveedor.pas' {frViewReciboProveedor: TFrame}, uEditorReciboProveedor in 'uEditorReciboProveedor.pas' {fEditorReciboProveedor: TfEditorReciboCliente}, uViewPagosProveedor in 'uViewPagosProveedor.pas' {frViewPagosProveedor: TFrame}, uEditorFechaPagoProveedor in 'uEditorFechaPagoProveedor.pas' {fEditorFechaPagoProveedor}, - uEditorReciboProveedorReport in 'uEditorReciboProveedorReport.pas' {fEditorReciboProveedorPreview: TfEditorReciboClienteReport}; + uEditorReciboProveedorReport in 'uEditorReciboProveedorReport.pas' {fEditorReciboProveedorPreview: TfEditorReciboClienteReport}, + uEditorElegirRecibosProveedor in 'uEditorElegirRecibosProveedor.pas' {fEditorElegirRecibosProveedor: TfEditorElegirRecibosProveedor}, + uRecibosProveedorViewRegister in 'uRecibosProveedorViewRegister.pas'; end. diff --git a/Source/Modulos/Recibos de proveedor/Views/uEditorElegirRecibosProveedor.dfm b/Source/Modulos/Recibos de proveedor/Views/uEditorElegirRecibosProveedor.dfm new file mode 100644 index 00000000..0090a65e --- /dev/null +++ b/Source/Modulos/Recibos de proveedor/Views/uEditorElegirRecibosProveedor.dfm @@ -0,0 +1,408 @@ +inherited fEditorElegirRecibosProveedor: TfEditorElegirRecibosProveedor + Caption = 'Seleccionar recibos de cliente' + ClientWidth = 654 + ExplicitWidth = 662 + ExplicitHeight = 240 + PixelsPerInch = 96 + TextHeight = 13 + object JvgWizardHeader1: TJvgWizardHeader [0] + Left = 0 + Top = 0 + Width = 654 + Height = 60 + CaptionFont.Charset = DEFAULT_CHARSET + CaptionFont.Color = clWindowText + CaptionFont.Height = -11 + CaptionFont.Name = 'Tahoma' + CaptionFont.Style = [fsBold] + CommentFont.Charset = DEFAULT_CHARSET + CommentFont.Color = clWindowText + CommentFont.Height = -11 + CommentFont.Name = 'Tahoma' + CommentFont.Style = [] + SymbolFont.Charset = DEFAULT_CHARSET + SymbolFont.Color = clHighlightText + SymbolFont.Height = -35 + SymbolFont.Name = 'Wingdings' + SymbolFont.Style = [fsBold] + Captions.Strings = ( + 'Seleccione recibos de cliente') + Comments.Strings = ( + ' ') + Gradient.FromColor = clHighlight + Gradient.ToColor = clWindow + Gradient.Active = False + Gradient.Orientation = fgdVertical + BufferedDraw = False + ExplicitLeft = -8 + ExplicitTop = -21 + ExplicitWidth = 656 + end + inherited JvNavPanelHeader: TJvNavPanelHeader + Top = 144 + Width = 654 + Visible = False + ExplicitTop = 144 + ExplicitWidth = 654 + inherited Image1: TImage + Left = 627 + ExplicitLeft = 629 + end + end + inherited TBXDock: TTBXDock + Top = 171 + Width = 654 + Height = 49 + ExplicitTop = 171 + ExplicitWidth = 654 + ExplicitHeight = 49 + inherited tbxMain: TTBXToolbar + ExplicitWidth = 117 + inherited TBXItem5: TTBXItem + Visible = False + end + inherited TBXItem6: TTBXItem + Visible = False + end + inherited TBXItem36: TTBXItem + Action = actAnchoAuto2 + end + end + inherited tbxFiltro: TTBXToolbar + Left = 117 + Top = 23 + DockPos = 104 + DockRow = 1 + Visible = False + ExplicitLeft = 117 + ExplicitTop = 23 + inherited TBXItem34: TTBXItem + Action = actQuitarFiltro2 + end + end + inherited tbxMenu: TTBXToolbar + ExplicitWidth = 654 + end + end + inherited StatusBar: TJvStatusBar + Top = 609 + Width = 654 + ExplicitTop = 506 + ExplicitWidth = 654 + end + inline frViewBarraSeleccion1: TfrViewBarraSeleccion [4] + Left = 0 + Top = 628 + Width = 654 + Height = 36 + Align = alBottom + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + TabOrder = 4 + ReadOnly = False + ExplicitTop = 628 + ExplicitWidth = 654 + ExplicitHeight = 36 + inherited JvFooter1: TJvFooter + Width = 654 + Height = 36 + ExplicitWidth = 654 + ExplicitHeight = 36 + inherited bSeleccionar: TJvFooterBtn + Left = 442 + Top = 3 + ExplicitLeft = 444 + ExplicitTop = 3 + end + inherited bCancelar: TJvFooterBtn + Left = 546 + Top = 4 + ExplicitLeft = 546 + ExplicitTop = 4 + end + end + inherited BarraSeleccionActionList: TActionList + inherited actSeleccionar: TAction + OnExecute = frViewBarraSeleccion1actSeleccionarExecute + OnUpdate = frViewBarraSeleccion1actSeleccionarUpdate + end + inherited actCancelar: TAction + OnExecute = frViewBarraSeleccion1actCancelarExecute + end + end + end + inherited frViewRecibosProveedor1: TfrViewRecibosProveedor [5] + Top = 220 + Width = 654 + Height = 389 + ExplicitTop = 220 + ExplicitWidth = 654 + ExplicitHeight = 389 + inherited cxGrid: TcxGrid + Width = 654 + Height = 261 + RootLevelOptions.DetailTabsPosition = dtpNone + ExplicitWidth = 654 + ExplicitHeight = 389 + inherited cxGridView: TcxGridDBTableView + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = ',0.00 '#8364';-,0.00 '#8364 + Kind = skSum + Position = spFooter + Column = frViewRecibosProveedor1.cxGridViewIMPORTE_TOTAL + end> + DataController.Summary.FooterSummaryItems = < + item + Format = ',0.00 '#8364';-,0.00 '#8364 + Kind = skSum + end + item + Format = '0 recibos' + Kind = skCount + Column = frViewRecibosProveedor1.cxGridViewFECHA_EMISION + end> + end + end + inherited frViewFiltroBase1: TfrViewFiltroBase + Width = 654 + ExplicitWidth = 654 + inherited TBXDock1: TTBXDock + Width = 654 + ExplicitWidth = 654 + inherited TBXDockablePanel1: TTBXDockablePanel + ExplicitWidth = 654 + inherited dxLayoutControl1: TdxLayoutControl + Width = 650 + inherited txtFiltroTodo: TcxTextEdit + ExplicitWidth = 273 + Width = 273 + end + inherited edtFechaIniFiltro: TcxDateEdit + ExplicitWidth = 121 + Width = 121 + end + inherited edtFechaFinFiltro: TcxDateEdit + ExplicitWidth = 337 + Width = 337 + end + end + inherited TBXAlignmentPanel1: TTBXAlignmentPanel + Width = 650 + ExplicitWidth = 650 + end + end + end + end + inherited pnlAgrupaciones: TTBXDockablePanel + Top = 363 + ExplicitTop = 260 + end + inherited dxComponentPrinter: TdxComponentPrinter + inherited dxComponentPrinterLink: TdxGridReportLink + BuiltInReportLink = True + end + end + inherited cxViewGridPopupMenu: TcxGridPopupMenu + PopupMenus = < + item + GridView = frViewRecibosProveedor1.cxGridView + HitTypes = [gvhtCell] + Index = 0 + end> + end + inherited dxPrintStyleManager1: TdxPrintStyleManager + inherited dxPrintStyleManager1Style1: TdxPSPrintStyle + BuiltInStyle = True + end + end + end + object pnlFiltrar: TTBXDockablePanel [6] + Left = 0 + Top = 60 + Align = alTop + Caption = 'Filtrar' + CaptionRotation = dpcrAlwaysVert + DockedHeight = 84 + DockMode = dmCannotFloat + DockPos = 88 + DockRow = 2 + FloatingWidth = 128 + FloatingHeight = 84 + ShowCaptionWhenDocked = False + SupportedDocks = [dkStandardDock, dkMultiDock] + TabOrder = 5 + ExplicitWidth = 128 + object Label1: TLabel + Left = 296 + Top = 50 + Width = 17 + Height = 13 + Caption = 'y el' + end + object txtFiltroTodo: TcxTextEdit + Left = 168 + Top = 16 + Properties.OnChange = txtFiltroTodoPropertiesChange + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 0 + Width = 273 + end + object edtFechaFiltro1: TcxDateEdit + Left = 168 + Top = 46 + Enabled = False + Properties.OnEditValueChanged = edtFechaFiltro1PropertiesEditValueChanged + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 1 + Width = 121 + end + object edtFechaFiltro2: TcxDateEdit + Left = 320 + Top = 46 + Enabled = False + Properties.OnEditValueChanged = edtFechaFiltro1PropertiesEditValueChanged + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 2 + Width = 121 + end + object rbTodo: TcxRadioButton + Left = 16 + Top = 18 + Width = 145 + Height = 17 + Caption = 'Recibos que contengan:' + Checked = True + TabOrder = 3 + TabStop = True + OnClick = rbTodoClick + LookAndFeel.Kind = lfStandard + LookAndFeel.NativeStyle = True + end + object rbFechas: TcxRadioButton + Left = 16 + Top = 48 + Width = 145 + Height = 17 + Caption = 'Recibos con fechas entre:' + TabOrder = 4 + OnClick = rbTodoClick + LookAndFeel.Kind = lfStandard + LookAndFeel.NativeStyle = True + end + object Button1: TBitBtn + Left = 470 + Top = 43 + Width = 163 + Height = 25 + Action = actQuitarFiltro2 + Caption = 'Quitar filtro y ver todo' + TabOrder = 5 + Glyph.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000000000000000000000000000000000000FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00A505 + E1007204CA00FE00FF00FF00FF00FF00FF00E800F5003E09C100FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00AB17 + F900161DC600C400E700FF00FF00FF00FF00520DC9000F30D600D71BCF00942A + 8A004D493C004D493C00942A8A00D71BCF00FF00FF00FF00FF00D71BCF008B2C + 92002843B900141B980070208D004615BA000F30D600C20BF80069605800F8D5 + AD00F8C89000F8C89000E7AB63004D493C00FF00FF00FF00FF0069605800F8D5 + AD00C8ACA6001036E4002125A6000F30D600B20EF600FF00FF0069605800FFD8 + C000F8D5AD00F8C89000F8C890004D493C004D493C004D493C0069605800FFD8 + C000EFCDAD005F65C6000A38ED002637A300927C6C00FF00FF0069605800F0F0 + F000FFD8C000F8D5AD00F8C8900069605800696058006960580069605800FFF8 + FF008372B1000F30D6002750F7000F30D60025256F00FF00FF00942A8A006960 + 58006960580069605800942A8A00D71BCF00FF00FF00FF00FF00D71BCF004F24 + 9E000F30D600434D8A00605D6C004D69E3000F30D6006D05CC00FF00FF006648 + 54004D493C00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF000F30 + D6008F1FF300FF00FF00FF00FF00C811FD003154EB000024D300FF00FF00FF00 + FF00664854004D493C00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF004D493C004D493C00FF00FF00FF00FF00FF00 + FF00FF00FF0066485400696058004D493C00FF00FF00FF00FF00FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF00696058004D493C00FF00FF00FF00FF00FF00 + FF00FF00FF00FF00FF0066485400D419D000FF00FF00FF00FF00FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF00A8658D0069605800FF00FF00FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00 + FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00FF00} + end + end + inherited EditorActionList: TActionList [9] + Left = 112 + Top = 192 + inherited actPrevisualizar: TAction + Visible = False + end + inherited actImprimir: TAction + Visible = False + end + end + inherited JvAppRegistryStorage: TJvAppRegistryStorage [10] + end + inherited dsDataTable: TDADataSource [11] + Left = 8 + Top = 192 + end + inherited JvFormStorage: TJvFormStorage [13] + end + inherited GridPopupMenu: TPopupMenu + Left = 80 + Top = 192 + end + object EditorSeleccionActionList: TActionList + Images = SmallImages + Left = 152 + Top = 192 + object actBuscar2: TAction + Category = 'Buscar' + Caption = 'Buscar' + ImageIndex = 10 + ShortCut = 114 + end + object actQuitarFiltro2: TAction + Category = 'Buscar' + Caption = 'Quitar filtro y ver todo' + ImageIndex = 19 + OnExecute = actQuitarFiltro2Execute + end + object actAnchoAuto2: TAction + Category = 'Ver' + Caption = 'Ancho autom'#225'tico' + ImageIndex = 21 + OnExecute = actAnchoAuto2Execute + end + end +end diff --git a/Source/Modulos/Recibos de proveedor/Views/uEditorElegirRecibosProveedor.pas b/Source/Modulos/Recibos de proveedor/Views/uEditorElegirRecibosProveedor.pas new file mode 100644 index 00000000..7e187ad7 --- /dev/null +++ b/Source/Modulos/Recibos de proveedor/Views/uEditorElegirRecibosProveedor.pas @@ -0,0 +1,211 @@ +{ +=============================================================================== + Copyright (©) 2007. Rodax Software. +=============================================================================== + Los contenidos de este fichero son propiedad de Rodax Software titular del + copyright. Este fichero sólo podrá ser copiado, distribuido y utilizado, + en su totalidad o en parte, con el permiso escrito de Rodax Software, o de + acuerdo con los términos y condiciones establecidas en el acuerdo/contrato + bajo el que se suministra. + ----------------------------------------------------------------------------- + Web: www.rodax-software.com +=============================================================================== + Fecha primera versión: + Versión actual: 1.0.0 + Fecha versión actual: +=============================================================================== + Modificaciones: + + Fecha Comentarios + --------------------------------------------------------------------------- +=============================================================================== +} + +unit uEditorElegirRecibosProveedor; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, DB, uDADataTable, Menus, JvAppStorage, JvAppRegistryStorage, + JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns, + ActnList, uCustomView, uViewBase, uViewGridBase, uViewGrid, + JvExComCtrls, JvStatusBar, + ComCtrls, TB2ExtItems, TBXExtItems, TBX, + TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls, JvExControls, JvComponent, + JvNavigationPane, uViewBarraSeleccion, JvgWizardHeader, StdCtrls, + + uViewRecibosProveedor, uEditorRecibosProveedor, uBizRecibosProveedor, uIEditorElegirRecibosProveedor, + Buttons, cxRadioGroup, cxMaskEdit, cxDropDownEdit, cxCalendar, cxControls, + cxContainer, cxEdit, cxTextEdit, TBXDkPanels, JSDialog; + + +type + TfEditorElegirRecibosProveedor = class(TfEditorRecibosProveedor, IEditorElegirRecibosProveedor) + frViewBarraSeleccion1: TfrViewBarraSeleccion; + JvgWizardHeader1: TJvgWizardHeader; + EditorSeleccionActionList: TActionList; + actBuscar2: TAction; + actQuitarFiltro2: TAction; + actAnchoAuto2: TAction; + pnlFiltrar: TTBXDockablePanel; + Label1: TLabel; + txtFiltroTodo: TcxTextEdit; + edtFechaFiltro1: TcxDateEdit; + edtFechaFiltro2: TcxDateEdit; + rbTodo: TcxRadioButton; + rbFechas: TcxRadioButton; + Button1: TBitBtn; + procedure frViewBarraSeleccion1actSeleccionarUpdate(Sender: TObject); + procedure frViewBarraSeleccion1actCancelarExecute(Sender: TObject); + procedure frViewBarraSeleccion1actSeleccionarExecute(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure actAnchoAuto2Execute(Sender: TObject); + procedure actQuitarFiltro2Execute(Sender: TObject); + procedure txtFiltroTodoPropertiesChange(Sender: TObject); + procedure edtFechaFiltro1PropertiesEditValueChanged(Sender: TObject); + procedure rbTodoClick(Sender: TObject); + protected + procedure SetMultiSelect (AValue : Boolean); + function GetMultiSelect : Boolean; + function GetRecibosProveedorSeleccionados: IBizRecibosProveedor; + procedure SetViewGrid(const Value: IViewGridBase); override; + procedure SetMensaje (const AValue: String); + function GetMensaje: String; + public + property Mensaje : String read GetMensaje write SetMensaje; + property RecibosProveedorSeleccionados: IBizRecibosProveedor read GetRecibosProveedorSeleccionados; + property MultiSelect : Boolean read GetMultiSelect write SetMultiSelect; + end; + +implementation + +uses + uEditorGridBase, cxGridCustomTableView, uIntegerListUtils, uDBSelectionListUtils, + uGridUtils, uDialogUtils, uEditorBase, uRecibosProveedorController; + +{$R *.dfm} + +{ TfEditorElegirRecibosProveedor } + +procedure TfEditorElegirRecibosProveedor.actAnchoAuto2Execute(Sender: TObject); +begin + inherited; + actAnchoAuto.Execute; +end; + +procedure TfEditorElegirRecibosProveedor.actQuitarFiltro2Execute(Sender: TObject); +begin +// inherited; + + if Assigned(ViewGrid) then + begin + txtFiltroTodo.Clear; + edtFechaFiltro1.Clear; + edtFechaFiltro2.Clear; + (ViewGrid as IViewRecibosProveedor).FiltrarPorFechas(null, null); + inherited; + end; + +// actQuitarFiltro.Execute; +end; + +procedure TfEditorElegirRecibosProveedor.edtFechaFiltro1PropertiesEditValueChanged(Sender: TObject); +begin + if not VarIsNull(edtFechaFiltro1.EditValue) and not VarIsNull(edtFechaFiltro2.EditValue) then + begin + if (edtFechaFiltro1.EditValue > edtFechaFiltro2.EditValue) then + begin + ShowWarningMessage('La fecha de inicio debe ser anterior a la fecha final'); + edtFechaFiltro1.SetFocus; + end + else + (ViewGrid as IViewRecibosProveedor).FiltrarPorFechas(edtFechaFiltro1.EditValue, edtFechaFiltro2.EditValue); + end; +end; + +procedure TfEditorElegirRecibosProveedor.FormShow(Sender: TObject); +begin + inherited; + EditorActionList.State := asSuspended; + frViewRecibosProveedor1.cxViewGridPopupMenu.PopupMenus.Items[0].HitTypes := []; +end; + +procedure TfEditorElegirRecibosProveedor.frViewBarraSeleccion1actCancelarExecute( + Sender: TObject); +begin + inherited; + Close; +end; + +procedure TfEditorElegirRecibosProveedor.frViewBarraSeleccion1actSeleccionarExecute( + Sender: TObject); +begin + inherited; + ModalResult := mrOk; +end; + +procedure TfEditorElegirRecibosProveedor.frViewBarraSeleccion1actSeleccionarUpdate( + Sender: TObject); +begin + inherited; + (Sender as TAction).Enabled := (ViewGrid._FocusedView.Controller.SelectedRowCount > 0) +end; + +function TfEditorElegirRecibosProveedor.GetRecibosProveedorSeleccionados: IBizRecibosProveedor; +begin + SeleccionarFilasDesdeGrid(ViewGrid._FocusedView, (RecibosProveedor as ISeleccionable).SelectedRecords); + // En SelectedRecords tengo los ID de las filas seleccionadas del grid + Result := (Controller as IRecibosProveedorController).ExtraerSeleccionados(RecibosProveedor) as IBizRecibosProveedor; +end; + +procedure TfEditorElegirRecibosProveedor.rbTodoClick(Sender: TObject); +begin + actQuitarFiltro.Execute; + + if rbTodo.Checked then + begin + edtFechaFiltro1.Enabled := False; + edtFechaFiltro2.Enabled := False; + txtFiltroTodo.Enabled := True; + end + else begin + edtFechaFiltro1.Enabled := True; + edtFechaFiltro2.Enabled := True; + txtFiltroTodo.Enabled := False; + end; +end; + +function TfEditorElegirRecibosProveedor.GetMensaje: String; +begin + Result := JvgWizardHeader1.Comments.Text; +end; + +function TfEditorElegirRecibosProveedor.GetMultiSelect: Boolean; +begin + Result := ViewGrid.MultiSelect; +end; + +procedure TfEditorElegirRecibosProveedor.SetMensaje(const AValue: String); +begin + JvgWizardHeader1.Comments.Text := AValue; +end; + +procedure TfEditorElegirRecibosProveedor.SetMultiSelect(AValue: Boolean); +begin + ViewGrid.MultiSelect := AValue; +end; + +procedure TfEditorElegirRecibosProveedor.SetViewGrid(const Value: IViewGridBase); +begin + inherited; + ViewGrid.OnDblClick := frViewBarraSeleccion1.actSeleccionar.OnExecute; +end; + +procedure TfEditorElegirRecibosProveedor.txtFiltroTodoPropertiesChange(Sender: TObject); +begin + if Assigned(ViewGrid) then + ViewGrid.Filter := txtFiltroTodo.Text; +end; + +end. diff --git a/Source/Modulos/Recibos de proveedor/Views/uRecibosProveedorViewRegister.pas b/Source/Modulos/Recibos de proveedor/Views/uRecibosProveedorViewRegister.pas index a5cdaed4..439f82d0 100644 --- a/Source/Modulos/Recibos de proveedor/Views/uRecibosProveedorViewRegister.pas +++ b/Source/Modulos/Recibos de proveedor/Views/uRecibosProveedorViewRegister.pas @@ -31,7 +31,7 @@ procedure UnregisterViews; implementation uses - uEditorRegistryUtils, uEditorRecibosProveedor, uEditorReciboProveedor, + uEditorRegistryUtils, uEditorRecibosProveedor, uEditorReciboProveedor, uEditorElegirRecibosProveedor, uEditorReciboProveedorReport, uEditorFechaPagoProveedor; procedure RegisterViews; @@ -39,6 +39,7 @@ begin EditorRegistry.RegisterClass(TfEditorFechaPagoProveedor, 'EditorFechaPagoProveedor'); EditorRegistry.RegisterClass(TfEditorRecibosProveedor, 'EditorRecibosProveedor'); EditorRegistry.RegisterClass(TfEditorReciboProveedor, 'EditorReciboProveedor'); + EditorRegistry.RegisterClass(TfEditorElegirRecibosProveedor, 'EditorElegirRecibosProveedor'); EditorRegistry.RegisterClass(TfEditorReciboProveedorPreview, 'EditorRecibosProveedorPreview'); end; @@ -48,6 +49,7 @@ begin EditorRegistry.UnRegisterClass(TfEditorRecibosProveedor); EditorRegistry.UnRegisterClass(TfEditorReciboProveedor); EditorRegistry.UnRegisterClass(TfEditorReciboProveedorPreview); + EditorRegistry.UnRegisterClass(TfEditorElegirRecibosProveedor); end; end. diff --git a/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteController.pas b/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteController.pas index 72cc0817..9cc68380 100644 --- a/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteController.pas +++ b/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteController.pas @@ -425,7 +425,8 @@ begin //Es necesario ya que no se refrescan bien los deltas y despues del applyupdates siguen //existiendo deltas, de esta forma los limpiamos -// ARemesaCliente.Recibos.DataTable.Refresh; + if ARemesaCliente.Recibos.DataTable.HasDelta then + ARemesaCliente.Recibos.DataTable.Refresh; ARemesaCliente.DataTable.ApplyUpdates; diff --git a/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.dfm b/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.dfm index c1959473..99b43cdf 100644 --- a/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.dfm +++ b/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.dfm @@ -8,6 +8,7 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente ClientWidth = 676 Scaled = False OnClose = CustomEditorClose + ExplicitLeft = -19 ExplicitWidth = 684 ExplicitHeight = 572 PixelsPerInch = 96 @@ -194,10 +195,6 @@ inherited fEditorRemesaCliente: TfEditorRemesaCliente ExplicitHeight = 208 inherited cxGridView: TcxGridDBTableView DataController.Summary.FooterSummaryItems = < - item - Kind = skSum - Column = frViewRecibosRemesaCliente1.cxGridViewUSUARIO - end item Format = ',0.00 '#8364';-,0.00 '#8364 Kind = skSum diff --git a/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.pas b/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.pas index 58dd66bc..23399ce2 100644 --- a/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.pas +++ b/Source/Modulos/Remesas de cliente/Views/uEditorRemesaCliente.pas @@ -247,10 +247,10 @@ Var begin inherited; - if VarIsNull(ASender.FooterSummaryValues[1]) then + if VarIsNull(ASender.FooterSummaryValues[0]) then AImporteTotal := 0 else - AImporteTotal := ASender.FooterSummaryValues[1]; + AImporteTotal := ASender.FooterSummaryValues[0]; if Assigned(RemesaCliente) then begin diff --git a/Source/Modulos/Remesas de proveedor/Controller/RemesasProveedor_controller.bdsproj b/Source/Modulos/Remesas de proveedor/Controller/RemesasProveedor_controller.bdsproj new file mode 100644 index 00000000..af9f7da3 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Controller/RemesasProveedor_controller.bdsproj @@ -0,0 +1,492 @@ + + + + + + + + + + + + RemesasProveedor_controller.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 0 + 0 + False + 1 + True + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\Lib + ..\..\..\Lib;..\..\Lib + + + + False + + + + + + False + + + True + False + + + + $00000000 + + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Modulos/Remesas de proveedor/Controller/RemesasProveedor_controller.dpk b/Source/Modulos/Remesas de proveedor/Controller/RemesasProveedor_controller.dpk new file mode 100644 index 00000000..8fac816c --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Controller/RemesasProveedor_controller.dpk @@ -0,0 +1,62 @@ +package RemesasProveedor_controller; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION OFF} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES ON} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$IMPLICITBUILD OFF} + +requires + rtl, + vcl, + dbrtl, + cxLibraryD10, + dxThemeD10, + dsnap, + vcldb, + adortl, + GUISDK_D10, + ccpack10, + designide, + xmlrtl, + vclactnband, + vclx, + cfpack_d10, + JvAppFrmD10R, + vcljpg, + JclVcl, + Jcl, + JvSystemD10R, + JvCoreD10R, + Contactos_model, + Contactos_controller, + RemesasProveedor_model, + RecibosProveedor_controller, + RemesasProveedor_data; + +contains + uIEditorRemesasProveedor in 'View\uIEditorRemesasProveedor.pas', + uIEditorRemesaProveedor in 'View\uIEditorRemesaProveedor.pas', + uRemesasProveedorController in 'uRemesasProveedorController.pas', + uRemesasProveedorReportController in 'uRemesasProveedorReportController.pas', + uIEditorRemesasProveedorPreview in 'View\uIEditorRemesasProveedorPreview.pas'; + +end. diff --git a/Source/Modulos/Remesas de proveedor/Controller/RemesasProveedor_controller.rc b/Source/Modulos/Remesas de proveedor/Controller/RemesasProveedor_controller.rc new file mode 100644 index 00000000..e69de29b diff --git a/Source/Modulos/Remesas de proveedor/Controller/RemesasProveedor_controller.res b/Source/Modulos/Remesas de proveedor/Controller/RemesasProveedor_controller.res new file mode 100644 index 00000000..36f26e23 Binary files /dev/null and b/Source/Modulos/Remesas de proveedor/Controller/RemesasProveedor_controller.res differ diff --git a/Source/Modulos/Remesas de proveedor/Controller/View/uIEditorRemesaProveedor.pas b/Source/Modulos/Remesas de proveedor/Controller/View/uIEditorRemesaProveedor.pas new file mode 100644 index 00000000..51a46390 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Controller/View/uIEditorRemesaProveedor.pas @@ -0,0 +1,22 @@ +unit uIEditorRemesaProveedor; + +interface + +uses + uEditorDBItem, uBizRemesasProveedor, uRemesasProveedorController; + +type + IEditorRemesaProveedor = interface(IEditorDBItem) + ['{EAAC2686-ED1C-4308-86EA-78E5EBFB0D59}'] + function GetController : IRemesasProveedorController; + procedure SetController (const Value : IRemesasProveedorController); + property Controller : IRemesasProveedorController read GetController write SetController; + + function GetRemesaProveedor: IBizRemesaProveedor; + procedure SetRemesaProveedor(const Value: IBizRemesaProveedor); + property RemesaProveedor: IBizRemesaProveedor read GetRemesaProveedor write SetRemesaProveedor; + end; + +implementation + +end. diff --git a/Source/Modulos/Remesas de proveedor/Controller/View/uIEditorRemesasProveedor.pas b/Source/Modulos/Remesas de proveedor/Controller/View/uIEditorRemesasProveedor.pas new file mode 100644 index 00000000..2037d65f --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Controller/View/uIEditorRemesasProveedor.pas @@ -0,0 +1,23 @@ +unit uIEditorRemesasProveedor; + +interface + +uses + uEditorGridBase, uBizRemesasProveedor, uRemesasProveedorController; + +type + IEditorRemesasProveedor = interface(IEditorGridBase) + ['{4D261032-199B-4B0F-93BF-AF397A76FAE3}'] + function GetRemesasProveedor: IBizRemesaProveedor; + procedure SetRemesasProveedor(const Value: IBizRemesaProveedor); + property RemesasProveedor: IBizRemesaProveedor read GetRemesasProveedor write SetRemesasProveedor; + + function GetController : IRemesasProveedorController; + procedure SetController (const Value : IRemesasProveedorController); + property Controller : IRemesasProveedorController read GetController write SetController; + end; + + +implementation + +end. diff --git a/Source/Modulos/Remesas de proveedor/Controller/View/uIEditorRemesasProveedorPreview.pas b/Source/Modulos/Remesas de proveedor/Controller/View/uIEditorRemesasProveedorPreview.pas new file mode 100644 index 00000000..9d901e88 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Controller/View/uIEditorRemesasProveedorPreview.pas @@ -0,0 +1,16 @@ +unit uIEditorRemesasProveedorPreview; + +interface + +uses + uEditorPreview; + +type + IEditorRemesasProveedorPreview = interface(IEditorPreview) + ['{5A8DD1FA-B7C8-480E-AA4B-1412316A0E83}'] + end; + + +implementation + +end. diff --git a/Source/Modulos/Remesas de proveedor/Controller/uRemesasProveedorController.pas b/Source/Modulos/Remesas de proveedor/Controller/uRemesasProveedorController.pas new file mode 100644 index 00000000..1bbee6b5 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Controller/uRemesasProveedorController.pas @@ -0,0 +1,475 @@ +unit uRemesasProveedorController; + +interface + + +uses + Classes, SysUtils, uDADataTable, uControllerBase, uEditorDBItem, + uIDataModuleRemesasProveedor, uBizRemesasProveedor, uProveedoresController, + uBizContactos, uRecibosProveedorController; + +type + IRemesasProveedorController = interface(IObservador) + ['{C14143FE-0806-4E64-93E2-A2C0170BBD41}'] + function Buscar(const ID: Integer): IBizRemesaProveedor; + function BuscarTodos: IBizRemesaProveedor; overload; + procedure Ver(ARemesaProveedor : IBizRemesaProveedor); + procedure VerTodos(ARemesasProveedor: IBizRemesaProveedor); + function Nuevo : IBizRemesaProveedor; + procedure Anadir(ARemesaProveedor : IBizRemesaProveedor); + function Eliminar(const ID : Integer): Boolean; overload; + function Eliminar(ARemesaProveedor : IBizRemesaProveedor): Boolean; overload; + function Guardar(ARemesaProveedor : IBizRemesaProveedor): Boolean; + procedure DescartarCambios(ARemesaProveedor : IBizRemesaProveedor); + function Existe(const ID: Integer) : Boolean; + procedure Preview(ARemesaProveedor : IBizRemesaProveedor); + procedure Print(ARemesaProveedor : IBizRemesaProveedor); + + function ElegirRecibosProveedor(ARemesaProveedor : IBizRemesaProveedor): Boolean; + procedure EliminarReciboProveedor(ARemesaProveedor : IBizRemesaProveedor); + function GetRecibosProveedorController: IRecibosProveedorController; + property RecibosProveedorController: IRecibosProveedorController read GetRecibosProveedorController; + + procedure RecuperarRecibos(ARemesaProveedor: IBizRemesaProveedor); + function ExtraerSeleccionados(ARemesasProveedor: IBizRemesaProveedor) : IBizRemesaProveedor; + end; + + TRemesasProveedorController = class(TObservador, IRemesasProveedorController) + protected + FDataModule : IDataModuleRemesasProveedor; + FRecibosProveedorController: IRecibosProveedorController; + function GetRecibosProveedorController: IRecibosProveedorController; + + procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override; + procedure AsignarID(ARemesaProveedor: IBizRemesaProveedor; const IDNuevo: Integer); virtual; + function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean; + function _Vacio : IBizRemesaProveedor; + + procedure FiltrarEmpresa(ARemesaProveedor: IBizRemesaProveedor); + function ValidarRemesaProveedor(ARemesaProveedor: IBizRemesaProveedor): Boolean; virtual; + + procedure RecuperarRecibos(ARemesaProveedor: IBizRemesaProveedor); + procedure RecuperarObjetos(ARemesaProveedor: IBizRemesaProveedor); virtual; + procedure AsignarDataModule; virtual; + + public + property RecibosProveedorController: IRecibosProveedorController read GetRecibosProveedorController; + + constructor Create; virtual; + destructor Destroy; override; + + function Eliminar(const ID : Integer): Boolean; overload; + function Eliminar(ARemesaProveedor : IBizRemesaProveedor): Boolean; overload; + function Guardar(ARemesaProveedor : IBizRemesaProveedor): Boolean; + procedure DescartarCambios(ARemesaProveedor : IBizRemesaProveedor); virtual; + function Existe(const ID: Integer) : Boolean; virtual; + procedure Anadir(ARemesaProveedor : IBizRemesaProveedor); virtual; + function Buscar(const ID: Integer): IBizRemesaProveedor; virtual; + function BuscarTodos: IBizRemesaProveedor; overload; + function Nuevo : IBizRemesaProveedor; virtual; + procedure Ver(ARemesaProveedor : IBizRemesaProveedor); virtual; + procedure VerTodos(ARemesasProveedor: IBizRemesaProveedor); virtual; + procedure Preview(ARemesaProveedor : IBizRemesaProveedor); virtual; + procedure Print(ARemesaProveedor : IBizRemesaProveedor); virtual; + + function ExtraerSeleccionados(ARemesasProveedor: IBizRemesaProveedor) : IBizRemesaProveedor; virtual; + function ElegirRecibosProveedor(ARemesaProveedor : IBizRemesaProveedor): Boolean; + procedure EliminarReciboProveedor(ARemesaProveedor : IBizRemesaProveedor); + end; + +implementation + +uses + cxControls, DB, uEditorRegistryUtils, schRemesasProveedorClient_Intf, + schRecibosProveedorClient_Intf, uIEditorRemesasProveedor, uIEditorRemesaProveedor, + Dialogs, uDataModuleRemesasProveedor, uDataModuleUsuarios, uDAInterfaces, + uDataTableUtils, uDateUtils, uROTypes, DateUtils, Controls, Windows, + uBizRecibosProveedor, Variants, uRemesasProveedorReportController; + +{ TRemesasProveedorController } + +procedure TRemesasProveedorController.Anadir(ARemesaProveedor: IBizRemesaProveedor); +begin + ARemesaProveedor.Insert; +end; + +procedure TRemesasProveedorController.EliminarReciboProveedor(ARemesaProveedor: IBizRemesaProveedor); +var + ARecibosRemesa : IBizRecibosProveedor; +begin + inherited; + ARecibosRemesa := ARemesaProveedor.Recibos; + RecibosProveedorController.QuitarRemesa(ARecibosRemesa); + //Quitamos el recibo de la remesa sin que el servidor se entere para que no elimine el recibo + DesconectarTabla(ARecibosRemesa.DataTable); + ARecibosRemesa.DataTable.Delete; + ConectarTabla(ARecibosRemesa.DataTable); + ARecibosRemesa := Nil; +end; + +procedure TRemesasProveedorController.AsignarDataModule; +begin + FDataModule := TDataModuleRemesasProveedor.Create(Nil); + FRecibosProveedorController := TRecibosProveedorController.Create; +end; + +procedure TRemesasProveedorController.AsignarID(ARemesaProveedor: IBizRemesaProveedor; const IDNuevo: Integer); +begin + if not Assigned(ARemesaProveedor) then + raise Exception.Create ('RemesaProveedor no asignado'); + + ARemesaProveedor.Edit; + ARemesaProveedor.ID := IDNuevo; + ARemesaProveedor.Post; +end; + +function TRemesasProveedorController.Buscar(const ID: Integer): IBizRemesaProveedor; +begin + Result := (FDataModule as IDataModuleRemesasProveedor).GetItem(ID); + FiltrarEmpresa(Result); +end; + +function TRemesasProveedorController.BuscarTodos: IBizRemesaProveedor; +begin + Result := FDataModule.GetItems; + FiltrarEmpresa(Result); +end; + +constructor TRemesasProveedorController.Create; +begin + AsignarDataModule; +end; + +function TRemesasProveedorController.CreateEditor(const AName: String; + const IID: TGUID; out Intf): Boolean; +begin + Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf); +end; + +procedure TRemesasProveedorController.DescartarCambios(ARemesaProveedor: IBizRemesaProveedor); +begin + if not Assigned(ARemesaProveedor) then + raise Exception.Create ('RemesaProveedor no asignado'); + + ShowHourglassCursor; + try + if (ARemesaProveedor.State in dsEditModes) then + ARemesaProveedor.Cancel; + + ARemesaProveedor.DataTable.CancelUpdates; + finally + HideHourglassCursor; + end; +end; + +destructor TRemesasProveedorController.Destroy; +begin + FDataModule := Nil; + FRecibosProveedorController := Nil; + inherited; +end; + +function TRemesasProveedorController.ValidarRemesaProveedor(ARemesaProveedor: IBizRemesaProveedor): Boolean; +begin + Result := False; + + if not Assigned(ARemesaProveedor) then + raise Exception.Create ('Remesa no asignada'); + + if (ARemesaProveedor.DataTable.State in dsEditModes) then + ARemesaProveedor.DataTable.Post; + + if ARemesaProveedor.DataTable.FieldByName(fld_RemesasProveedorFECHA_REMESA).IsNull then + raise Exception.Create('Debe indicar la fecha de esta remesa.'); + + if ARemesaProveedor.ID_DATOS_BANCO < 1 then + raise Exception.Create('Debe la cuenta bancaria sobre la que realizará la remesa.'); + + // Asegurarse de valores en campos "automáticos" + ARemesaProveedor.Edit; + try + ARemesaProveedor.USUARIO := dmUsuarios.LoginInfo.Usuario; + + Result := True; + finally + ARemesaProveedor.Post; + end; +end; + +procedure TRemesasProveedorController.Ver(ARemesaProveedor: IBizRemesaProveedor); +var + AEditor : IEditorRemesaProveedor; +begin + AEditor := NIL; + ShowHourglassCursor; + try + RecuperarObjetos(ARemesaProveedor); + + CreateEditor('EditorRemesaProveedor', IEditorRemesaProveedor, AEditor); + with (AEditor as IEditorRemesaProveedor) do + begin + Controller := Self; //OJO ORDEN MUY IMPORTANTE + RemesaProveedor := ARemesaProveedor; + end; + finally + HideHourglassCursor; + end; + + if Assigned(AEditor) then + try + AEditor.ShowModal; + AEditor.Release; + finally + AEditor := NIL; + end; +end; + +procedure TRemesasProveedorController.VerTodos(ARemesasProveedor: IBizRemesaProveedor); +var + AEditor : IEditorRemesasProveedor; +begin + AEditor := NIL; + ShowHourglassCursor; + try + CreateEditor('EditorRemesasProveedor', IEditorRemesasProveedor, AEditor); + with (AEditor as IEditorRemesasProveedor) do + begin + Controller := Self; //OJO ORDEN MUY IMPORTANTE + RemesasProveedor := ARemesasProveedor; + end; + finally + HideHourglassCursor; + end; + + if Assigned(AEditor) then + AEditor.ShowEmbedded; +end; + +function TRemesasProveedorController._Vacio: IBizRemesaProveedor; +begin + Result := Buscar(ID_NULO); +end; + +function TRemesasProveedorController.Eliminar(const ID: Integer): Boolean; +var + ARemesaProveedor : IBizRemesaProveedor; +begin + ARemesaProveedor := Buscar(ID); + + if not Assigned(ARemesaProveedor) then + raise Exception.Create(Format('No se ha encontrado la remesa con ID = %d', [ID])); + + Result := Eliminar(ARemesaProveedor); + ARemesaProveedor := NIL; +end; + +function TRemesasProveedorController.ElegirRecibosProveedor(ARemesaProveedor: IBizRemesaProveedor): Boolean; +var + ARecibosRemesa : IBizRecibosProveedor; + ARecibosSeleccionados : IBizRecibosProveedor; +begin + Result := False; + + ARecibosSeleccionados := (FRecibosProveedorController.ElegirRecibos(FRecibosProveedorController.BuscarTodosPendientesDevueltos, 'Elija uno o más recibos para incluirlos en esta remesa', True) as IBizRecibosProveedor); + if Assigned(ARecibosSeleccionados) then + begin + ShowHourglassCursor; + try + ARecibosRemesa := ARemesaProveedor.Recibos; + //Copia los recibos seleccionados a los recibos de la remesa sin que el servidor se entere de + //las inserciones + DuplicarRegistros(ARecibosSeleccionados.DataTable,ARecibosRemesa.DataTable, mdrTodos, False, False, True); + FRecibosProveedorController.SetSituacionCobrados(ARecibosRemesa); + Result := True; + finally + HideHourglassCursor; + end; + end; + + ARecibosRemesa := Nil; + ARecibosSeleccionados := Nil; +end; + +function TRemesasProveedorController.Eliminar(ARemesaProveedor: IBizRemesaProveedor): Boolean; +begin + Result := False; + + if not Assigned(ARemesaProveedor) then + raise Exception.Create ('RemesaProveedor no asignada'); + + ShowHourglassCursor; + try + if (ARemesaProveedor.State in dsEditModes) then + ARemesaProveedor.Cancel; + + //Si la llamada a eliminar es por el editor RemesasProveedor, debo recuperar los recibos + //de la remesa a eliminar, en caso de venir por el editor RemesaProveedor ya los tengo + if not Assigned(ARemesaProveedor.Recibos) then + RecuperarRecibos(ARemesaProveedor); + //Eliminaremos la remesa de los recibos asociados + With ARemesaProveedor.Recibos.DataTable do + begin + First; + While not Eof do + begin + RecibosProveedorController.QuitarRemesa(ARemesaProveedor.Recibos); + Next; + end; + end; + + //Como no están declarados como maestro-detalles debemos hacer el applyupdates nosotros + ARemesaProveedor.Recibos.DataTable.ApplyUpdates; + + //Si todo ha ido bien podremos eliminar la remesa + ARemesaProveedor.Delete; + ARemesaProveedor.DataTable.ApplyUpdates; + + HideHourglassCursor; + Result := True; + except + //Hay algun recibo de la remesa que tiene movimientos (Cobros/Devoluciones) posteriores al cobro inicial de la remesa + on E: Exception do + begin + ARemesaProveedor.Recibos.DataTable.CancelUpdates; + ARemesaProveedor.DataTable.CancelUpdates; + HideHourglassCursor; + MessageBox(0, 'Exiten movimientos (Cobros/Devoluciones) en los recibos posteriores al cobro inicial de la remesa', 'Atención', MB_ICONWARNING or MB_OK); + end; + end; +end; + +procedure TRemesasProveedorController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); +begin + inherited; +// +end; + +procedure TRemesasProveedorController.RecuperarObjetos(ARemesaProveedor: IBizRemesaProveedor); +begin + RecuperarRecibos(ARemesaProveedor); +end; + +procedure TRemesasProveedorController.RecuperarRecibos(ARemesaProveedor: IBizRemesaProveedor); +begin + ARemesaProveedor.Recibos := RecibosProveedorController.BuscarTodosRemesa(ARemesaProveedor.ID); +end; + +function TRemesasProveedorController.Existe(const ID: Integer): Boolean; +var + ARemesaProveedor : IBizRemesaProveedor; +begin + try + ARemesaProveedor := Buscar(ID); + Result := Assigned(ARemesaProveedor) and (ARemesaProveedor.ID = ID); + finally + ARemesaProveedor := NIL; + end; +end; + +function TRemesasProveedorController.ExtraerSeleccionados(ARemesasProveedor: IBizRemesaProveedor): IBizRemesaProveedor; +var + ASeleccionados : IBizRemesaProveedor; +begin + ASeleccionados := (Self.Buscar(ID_NULO) as IBizRemesaProveedor); + CopyDataTable(ARemesasProveedor.DataTable, ASeleccionados.DataTable, True); + Result := ASeleccionados; +end; + +procedure TRemesasProveedorController.FiltrarEmpresa(ARemesaProveedor: IBizRemesaProveedor); +begin + if ARemesaProveedor.DataTable.Active then + ARemesaProveedor.DataTable.Active := False; + + // Filtrar los contactos actuales por empresa + with ARemesaProveedor.DataTable.Where do + begin + if NotEmpty then + AddOperator(opAND); + // Para evitar ambigüedades en la SQL del servidor + AddText(fld_RemesasProveedorID_EMPRESA + ' = ' + IntToStr(dmUsuarios.IDEmpresaActual)); +// AddCondition('##' + fld_RemesasProveedorID_EMPRESA, cEqual, dmUsuarios.IDEmpresaActual); + end; +end; + +function TRemesasProveedorController.GetRecibosProveedorController: IRecibosProveedorController; +begin + Result := FRecibosProveedorController; +end; + +function TRemesasProveedorController.Guardar(ARemesaProveedor: IBizRemesaProveedor): Boolean; +var + NuevoID: Integer; + bEsNuevo: Boolean; +begin + Result := False; + + if ValidarRemesaProveedor(ARemesaProveedor) then + begin + ShowHourglassCursor; + try + bEsNuevo := ARemesaProveedor.EsNuevo; + if (bEsNuevo) then + NuevoID := FDataModule.GetNextID(ARemesaProveedor.DataTable.LogicalName) + else + NuevoID := ARemesaProveedor.ID; + + AsignarID(ARemesaProveedor, NuevoID); + //Si es nuevo debemos hacer el applyupdates por la integridad referencial de BD + if bEsNuevo then + ARemesaProveedor.DataTable.ApplyUpdates; + + //Si todo ha ido bien, asignamos la remesa a los recibos asociados + //Como no están declarados como maestro-detalles debemos hacer el applyupdates nosotros + RecibosProveedorController.AsignarRemesa(ARemesaProveedor.Recibos, NuevoID); + ARemesaProveedor.Recibos.DataTable.ApplyUpdates; //En este applyupdates tambien se realizarán todos los cambios acumulados sobre los recibos asociados (EliminarReciboProveedor/ ElegirRecibosProveedor) + + //Es necesario ya que no se refrescan bien los deltas y despues del applyupdates siguen + //existiendo deltas, de esta forma los limpiamos + if ARemesaProveedor.Recibos.DataTable.HasDelta then + ARemesaProveedor.Recibos.DataTable.Refresh; + + ARemesaProveedor.DataTable.ApplyUpdates; + + Result := True; + finally + HideHourglassCursor; + end; + end; +end; + +function TRemesasProveedorController.Nuevo: IBizRemesaProveedor; +var + ARemesaProveedor : IBizRemesaProveedor; +begin + ARemesaProveedor := FDataModule.NewItem; + FiltrarEmpresa(ARemesaProveedor); + ARemesaProveedor.DataTable.Active := True; + ARemesaProveedor.Insert; + Result := ARemesaProveedor; +end; + +procedure TRemesasProveedorController.Preview(ARemesaProveedor: IBizRemesaProveedor); +var + AReportController : IRemesasProveedorReportController; +begin + AReportController := TRemesasProveedorReportController.Create; + try + AReportController.Preview(ARemesaProveedor.ID); + finally + AReportController := NIL; + end; +end; + +procedure TRemesasProveedorController.Print(ARemesaProveedor: IBizRemesaProveedor); +var + AReportController : IRemesasProveedorReportController; +begin + AReportController := TRemesasProveedorReportController.Create; + try + AReportController.Print(ARemesaProveedor.ID); + finally + AReportController := NIL; + end; +end; + +end. diff --git a/Source/Modulos/Remesas de proveedor/Controller/uRemesasProveedorReportController.pas b/Source/Modulos/Remesas de proveedor/Controller/uRemesasProveedorReportController.pas new file mode 100644 index 00000000..3614d0ff --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Controller/uRemesasProveedorReportController.pas @@ -0,0 +1,103 @@ +unit uRemesasProveedorReportController; + +interface + +uses + Classes, SysUtils, uDADataTable, uControllerBase, uIDataModuleRemesasProveedorReport, + uBizRemesasProveedor; + +type + IRemesasProveedorReportController = interface + ['{A89AAA05-19AD-4455-BAF6-8A5373D15FE7}'] + procedure Preview(const ID : integer); + procedure Print(const ID : integer); + end; + + TRemesasProveedorReportController = class(TInterfacedObject, IRemesasProveedorReportController) + private + FDataModule : IDataModuleRemesasProveedorReport; + function CreateEditor(const AName: String; const IID: TGUID; out Intf): Boolean; + public + constructor Create; + destructor Destroy; override; + + procedure Preview(const ID : integer); + procedure Print(const ID : integer); + end; + + +implementation + +uses + uROTypes, uEditorRegistryUtils, uIEditorRemesasProveedorPreview, + uEditorPreview, uDataModuleRemesasProveedor, uEditorBase, cxControls; + +{ TRemesasProveedorReportController } + +constructor TRemesasProveedorReportController.Create; +begin + FDataModule := TDataModuleRemesasProveedor.Create(Nil); +end; + +function TRemesasProveedorReportController.CreateEditor(const AName: String; + const IID: TGUID; out Intf): Boolean; +begin + Result := Supports(EditorRegistry.CreateEditor(AName), IID, Intf); +end; + + +destructor TRemesasProveedorReportController.Destroy; +begin + FDataModule := NIL; + inherited; +end; + +procedure TRemesasProveedorReportController.Preview(const ID : integer); +var + AStream: Binary; + AEditor : IEditorRemesasProveedorPreview; +begin + AEditor := NIL; + + ShowHourglassCursor; + try + AStream := FDataModule.GetReport(ID); + try + CreateEditor('EditorRemesasProveedorPreview', IEditorRemesasProveedorPreview, AEditor); + AEditor.LoadFromStream(AStream); + finally + AStream.Free; + end; + finally + HideHourglassCursor; + end; + + if Assigned(AEditor) then + AEditor.Preview; +end; + +procedure TRemesasProveedorReportController.Print(const ID : integer); +var + AStream: Binary; + AEditor : IEditorRemesasProveedorPreview; +begin + AEditor := NIL; + + ShowHourglassCursor; + try + AStream := FDataModule.GetReport(ID); + try + CreateEditor('EditorRemesasProveedorPreview', IEditorRemesasProveedorPreview, AEditor); + AEditor.LoadFromStream(AStream); + finally + AStream.Free; + end; + finally + HideHourglassCursor; + end; + + if Assigned(AEditor) then + AEditor.Print +end; + +end. diff --git a/Source/Modulos/Remesas de proveedor/Data/RemesasProveedor_data.bdsproj b/Source/Modulos/Remesas de proveedor/Data/RemesasProveedor_data.bdsproj new file mode 100644 index 00000000..f595294e --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Data/RemesasProveedor_data.bdsproj @@ -0,0 +1,492 @@ + + + + + + + + + + + + RemesasProveedor_data.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 0 + 0 + False + 1 + True + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\Lib + ..\..\..\Lib;..\..\Lib + + + + False + + + + + + False + + + True + False + + + + $00000000 + + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Modulos/Remesas de proveedor/Data/RemesasProveedor_data.dpk b/Source/Modulos/Remesas de proveedor/Data/RemesasProveedor_data.dpk new file mode 100644 index 00000000..61b6d2f9 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Data/RemesasProveedor_data.dpk @@ -0,0 +1,41 @@ +package RemesasProveedor_data; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION OFF} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES ON} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$IMPLICITBUILD OFF} + +requires + rtl, + dbrtl, + cxLibraryD10, + dxThemeD10, + vcl, + dsnap, + vcldb, + adortl, + RemesasProveedor_model; + +contains + uDataModuleRemesasProveedor in 'uDataModuleRemesasProveedor.pas' {DataModuleRemesasProveedor}; + +end. diff --git a/Source/Modulos/Remesas de proveedor/Data/RemesasProveedor_data.rc b/Source/Modulos/Remesas de proveedor/Data/RemesasProveedor_data.rc new file mode 100644 index 00000000..e69de29b diff --git a/Source/Modulos/Remesas de proveedor/Data/RemesasProveedor_data.res b/Source/Modulos/Remesas de proveedor/Data/RemesasProveedor_data.res new file mode 100644 index 00000000..36f26e23 Binary files /dev/null and b/Source/Modulos/Remesas de proveedor/Data/RemesasProveedor_data.res differ diff --git a/Source/Modulos/Remesas de proveedor/Data/uDataModuleRemesasProveedor.dfm b/Source/Modulos/Remesas de proveedor/Data/uDataModuleRemesasProveedor.dfm new file mode 100644 index 00000000..434d941c --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Data/uDataModuleRemesasProveedor.dfm @@ -0,0 +1,399 @@ +object DataModuleRemesasProveedor: TDataModuleRemesasProveedor + OldCreateOrder = True + OnCreate = DAClientDataModuleCreate + RemoteService = RORemoteService + Adapter = DABinAdapter + SchemaCall.MethodName = 'GetSchemaAsXML' + SchemaCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtString + end> + Height = 414 + Width = 518 + object RORemoteService: TRORemoteService + ServiceName = 'srvRemesasProveedor' + Message = ROBinMessage1 + Channel = ROWinInetHTTPChannel1 + Left = 48 + Top = 24 + end + object DABinAdapter: TDABINAdapter + Left = 48 + Top = 80 + end + object DADesigntimeCall1: TDADesigntimeCall + RemoteRequest.MethodName = 'Login' + RemoteRequest.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBoolean + end + item + Name = 'User' + ParamType = fIn + DataType = rtString + Value = 'Administrador' + end + item + Name = 'Password' + ParamType = fIn + DataType = rtString + Value = '1' + end + item + Name = 'LoginInfo' + ParamType = fOut + DataType = rtUserDefined + UserClassName = 'TRdxLoginInfo' + end> + RemoteService = LoginRemoteService + Left = 48 + Top = 160 + end + object LoginRemoteService: TRORemoteService + ServiceName = 'srvLogin' + Message = ROBinMessage1 + Channel = ROWinInetHTTPChannel1 + Left = 48 + Top = 216 + end + object ROWinInetHTTPChannel1: TROWinInetHTTPChannel + ServerLocators = <> + DispatchOptions = [] + ProbeServers = False + ProbeFrequency = 60000 + UserAgent = 'RemObjects SDK' + TargetURL = 'http://localhost:8099/bin' + Left = 48 + Top = 272 + end + object ROBinMessage1: TROBinMessage + Left = 48 + Top = 324 + end + object tbl_RemesasProveedor: TDACDSDataTable + RemoteUpdatesOptions = [] + Fields = < + item + Name = 'ID' + DataType = datAutoInc + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_ID' + InPrimaryKey = True + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'RemesasCliente_ID_EMPRESA' + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_ID_EMPRESA' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + ServerAutoRefresh = True + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FECHA_REMESA' + DataType = datDateTime + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'RemesasCliente_FECHA_REMESA' + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_FECHA_REMESA' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'RemesasCliente_DESCRIPCION' + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_DESCRIPCION' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'USUARIO' + DataType = datString + Size = 20 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'RemesasCliente_USUARIO' + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_USUARIO' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ID_DATOS_BANCO' + DataType = datInteger + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_ID_DATOS_BANCO' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_FECHA_ALTA' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_FECHA_MODIFICACION' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'IMPORTE_TOTAL' + DataType = datFloat + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Importe total' + Alignment = taRightJustify + ServerAutoRefresh = True + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'NOMBRE' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Banco' + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_NOMBRE' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ENTIDAD' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Cod. entidad' + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_ENTIDAD' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'SUCURSAL' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Cod. sucursal' + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_SUCURSAL' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'DC' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_DC' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'CUENTA' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Cuenta' + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_CUENTA' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'SUFIJO_N19' + DataType = datString + Size = 3 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Sufijo N19' + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_SUFIJO_N19' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'SUFIJO_N58' + DataType = datString + Size = 3 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Sufijo N58' + Alignment = taLeftJustify + DictionaryEntry = 'RemesasCliente_SUFIJO_N58' + 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 = 'RemesasProveedor' + end> + DataRequestCall.MethodName = 'GetDatasetDataEx' + DataRequestCall.Params = < + item + Name = 'Result' + ParamType = fResult + DataType = rtBinary + end + item + Name = 'DatasetName' + ParamType = fIn + DataType = rtString + Value = 'RemesasProveedor' + 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 = 'RemesasProveedor' + end> + ReadOnly = False + RemoteService = RORemoteService + Adapter = DABinAdapter + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + LogicalName = 'RemesasProveedor' + IndexDefs = <> + Left = 272 + Top = 160 + end + object ds_RemesasProveedor: TDADataSource + DataTable = tbl_RemesasProveedor + Left = 272 + Top = 96 + end +end diff --git a/Source/Modulos/Remesas de proveedor/Data/uDataModuleRemesasProveedor.pas b/Source/Modulos/Remesas de proveedor/Data/uDataModuleRemesasProveedor.pas new file mode 100644 index 00000000..c5f3a295 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Data/uDataModuleRemesasProveedor.pas @@ -0,0 +1,131 @@ +unit uDataModuleRemesasProveedor; + +interface + +uses + SysUtils, Classes, DB, uDAClientDataModule, uDADataTable, uDABINAdapter, + uDAScriptingProvider, uDACDSDataTable, uROWinInetHttpChannel, uROTypes, + uROServiceComponent, uRORemoteService, uROClient, uROBinMessage, + uDADesigntimeCall, + uIDataModuleRemesasProveedor, uIDataModuleRemesasProveedorReport, uBizRemesasProveedor; + +type + TDataModuleRemesasProveedor = class(TDAClientDataModule, IDataModuleRemesasProveedor, IDataModuleRemesasProveedorReport) + RORemoteService: TRORemoteService; + DABinAdapter: TDABINAdapter; + DADesigntimeCall1: TDADesigntimeCall; + LoginRemoteService: TRORemoteService; + ROWinInetHTTPChannel1: TROWinInetHTTPChannel; + ROBinMessage1: TROBinMessage; + tbl_RemesasProveedor: TDACDSDataTable; + ds_RemesasProveedor: TDADataSource; + procedure DAClientDataModuleCreate(Sender: TObject); + + protected + function _CloneDataTable (const ADataTable : TDACDSDataTable): TDACDSDataTable; overload; + procedure AsignarClaseNegocio(var ARemesaProveedor: TDACDSDataTable); virtual; + function darNombreGenerador(DataSetName: String): String; virtual; + public + function GetItems : IBizRemesaProveedor; overload; + function GetItem(const ID : Integer) : IBizRemesaProveedor; + function GetNextID(const DataSetName : String) : Integer; + function NewItem : IBizRemesaProveedor; + + // Report + function GetReport(const ID: Integer): Binary; + end; + +implementation + +{$R *.DFM} + +uses + FactuGES_Intf, uDataModuleConexion, uDataTableUtils, cxControls, uDAInterfaces, + schRemesasProveedorClient_Intf, Dialogs; + +{ TdmRemesasProveedor } + +procedure TDataModuleRemesasProveedor.AsignarClaseNegocio(var ARemesaProveedor: TDACDSDataTable); +begin + ARemesaProveedor.BusinessRulesID := BIZ_CLIENT_REMESAPROVEEDOR; +end; + +procedure TDataModuleRemesasProveedor.DAClientDataModuleCreate(Sender: TObject); +begin + RORemoteService.Channel := dmConexion.Channel; + RORemoteService.Message := dmConexion.Message; +end; + +function TDataModuleRemesasProveedor.DarNombreGenerador(DataSetName: String): String; +begin + if DataSetName = nme_RemesasProveedor then + Result := 'GEN_REMESAS_Proveedor_ID'; +end; + +function TDataModuleRemesasProveedor.GetNextID(const DataSetName: String): Integer; +var + aGeneratorName : String; +begin + aGeneratorName := DarNombreGenerador(DataSetName); + Result := (RORemoteService as IsrvRemesasProveedor).GetNextAutoInc(aGeneratorName) +end; + +function TDataModuleRemesasProveedor.GetReport(const ID: Integer): Binary; +begin + Result := (RORemoteService as IsrvRemesasProveedor).GenerateReport(ID); +end; + +function TDataModuleRemesasProveedor.NewItem: IBizRemesaProveedor; +begin + Result := GetItem(ID_NULO) +end; + +function TDataModuleRemesasProveedor._CloneDataTable(const ADataTable : TDACDSDataTable): TDACDSDataTable; +begin + Result := NIL; + + if not Assigned(ADataTable) then + raise Exception.Create ('No se ha asignado la tabla de origen (CloneDataTable)'); + + Result := TDACDSDataTable.Create(NIL); + CloneDataTable(ADataTable, Result); +end; + +function TDataModuleRemesasProveedor.GetItem(const ID: Integer): IBizRemesaProveedor; +begin + ShowHourglassCursor; + try + Result := Self.GetItems; + with Result.DataTable.Where do + begin + if NotEmpty then + AddOperator(opAND); + OpenBraket; + AddText(fld_RemesasProveedorID + ' = ' + IntToStr(ID)); + CloseBraket; + end; + finally + HideHourglassCursor; + end; +end; + +function TDataModuleRemesasProveedor.GetItems: IBizRemesaProveedor; +var + ARemesaProveedor : TDACDSDataTable; +begin + ShowHourglassCursor; + try + ARemesaProveedor := _CloneDataTable(tbl_RemesasProveedor); + // EL CAMPO REFERENCIA TIENE QUE SER AUTOREFRESH!!!!! + ARemesaProveedor.FieldByName(fld_RemesasProveedorREFERENCIA).ServerAutoRefresh := TRUE; + ARemesaProveedor.FieldByName(fld_RemesasProveedorIMPORTE_TOTAL).ServerAutoRefresh := TRUE; + + AsignarClaseNegocio(ARemesaProveedor); + Result := (ARemesaProveedor as IBizRemesaProveedor); + finally + HideHourglassCursor; + end; +end; + + +end. diff --git a/Source/Modulos/Remesas de proveedor/Model/Data/uIDataModuleRemesasProveedor.pas b/Source/Modulos/Remesas de proveedor/Model/Data/uIDataModuleRemesasProveedor.pas new file mode 100644 index 00000000..c21c96fc --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Model/Data/uIDataModuleRemesasProveedor.pas @@ -0,0 +1,19 @@ +unit uIDataModuleRemesasProveedor; + +interface + +uses + uBizRemesasProveedor; + +type + IDataModuleRemesasProveedor = interface + ['{6073E44A-0B61-4D26-BCDE-33150D88C91B}'] + function GetItems: IBizRemesaProveedor; + function GetItem(const ID : Integer) : IBizRemesaProveedor; + function GetNextID(const DataSetName : String) : Integer; + function NewItem : IBizRemesaProveedor; + end; + +implementation + +end. diff --git a/Source/Modulos/Remesas de proveedor/Model/Data/uIDataModuleRemesasProveedorReport.pas b/Source/Modulos/Remesas de proveedor/Model/Data/uIDataModuleRemesasProveedorReport.pas new file mode 100644 index 00000000..220c6124 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Model/Data/uIDataModuleRemesasProveedorReport.pas @@ -0,0 +1,16 @@ +unit uIDataModuleRemesasProveedorReport; + +interface + +uses + SysUtils, Classes, uROTypes; + +type + IDataModuleRemesasProveedorReport = interface + ['{7A2C1A03-51EB-4F7F-937F-660B31EE18B2}'] + function GetReport(const ID: Integer): Binary; + end; + +implementation + +end. diff --git a/Source/Modulos/Remesas de proveedor/Model/RemesasProveedor_model.bdsproj b/Source/Modulos/Remesas de proveedor/Model/RemesasProveedor_model.bdsproj new file mode 100644 index 00000000..2d877da2 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Model/RemesasProveedor_model.bdsproj @@ -0,0 +1,492 @@ + + + + + + + + + + + + RemesasProveedor_model.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 0 + 0 + False + 1 + True + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\Lib + ..\..\..\Lib;..\..\Lib + + + + False + + + + + + False + + + True + False + + + + $00000000 + + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Modulos/Remesas de proveedor/Model/RemesasProveedor_model.dpk b/Source/Modulos/Remesas de proveedor/Model/RemesasProveedor_model.dpk new file mode 100644 index 00000000..7ffb06c3 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Model/RemesasProveedor_model.dpk @@ -0,0 +1,46 @@ +package RemesasProveedor_model; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION OFF} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES ON} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$IMPLICITBUILD OFF} + +requires + rtl, + dsnap, + dbrtl, + vcldb, + vcl, + adortl, + Usuarios, + DataAbstract_D10, + RecibosProveedor_model; + + +contains + uBizRemesasProveedor in 'uBizRemesasProveedor.pas', + uIDataModuleRemesasProveedor in 'Data\uIDataModuleRemesasProveedor.pas', + uIDataModuleRemesasProveedorReport in 'Data\uIDataModuleRemesasProveedorReport.pas', + schRemesasProveedorClient_Intf in 'schRemesasProveedorClient_Intf.pas', + schRemesasProveedorServer_Intf in 'schRemesasProveedorServer_Intf.pas'; + +end. diff --git a/Source/Modulos/Remesas de proveedor/Model/RemesasProveedor_model.rc b/Source/Modulos/Remesas de proveedor/Model/RemesasProveedor_model.rc new file mode 100644 index 00000000..e69de29b diff --git a/Source/Modulos/Remesas de proveedor/Model/RemesasProveedor_model.res b/Source/Modulos/Remesas de proveedor/Model/RemesasProveedor_model.res new file mode 100644 index 00000000..36f26e23 Binary files /dev/null and b/Source/Modulos/Remesas de proveedor/Model/RemesasProveedor_model.res differ diff --git a/Source/Modulos/Remesas de proveedor/Model/schRemesasProveedorClient_Intf.pas b/Source/Modulos/Remesas de proveedor/Model/schRemesasProveedorClient_Intf.pas new file mode 100644 index 00000000..01251ed4 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Model/schRemesasProveedorClient_Intf.pas @@ -0,0 +1,778 @@ +unit schRemesasProveedorClient_Intf; + +interface + +uses + Classes, DB, SysUtils, uROClasses, uDADataTable; + +const + { Data table rules ids + Feel free to change them to something more human readable + but make sure they are unique in the context of your application } + RID_darReferencia = '{3D6FDF20-0A49-4834-AD39-B9CEC05728BC}'; + RID_RemesasProveedor = '{9F4452B5-ED06-43F7-AFE9-21A4BF5A3D2D}'; + RID_RemesasProveedor_Refresh = '{DB725E06-D3E1-4820-9256-20F5FA83DDF0}'; + + { Data table names } + nme_darReferencia = 'darReferencia'; + nme_RemesasProveedor = 'RemesasProveedor'; + nme_RemesasProveedor_Refresh = 'RemesasProveedor_Refresh'; + + { darReferencia fields } + fld_darReferenciaVALOR = 'VALOR'; + + { darReferencia field indexes } + idx_darReferenciaVALOR = 0; + + { RemesasProveedor fields } + fld_RemesasProveedorID = 'ID'; + fld_RemesasProveedorID_EMPRESA = 'ID_EMPRESA'; + fld_RemesasProveedorREFERENCIA = 'REFERENCIA'; + fld_RemesasProveedorFECHA_REMESA = 'FECHA_REMESA'; + fld_RemesasProveedorDESCRIPCION = 'DESCRIPCION'; + fld_RemesasProveedorUSUARIO = 'USUARIO'; + fld_RemesasProveedorID_DATOS_BANCO = 'ID_DATOS_BANCO'; + fld_RemesasProveedorFECHA_ALTA = 'FECHA_ALTA'; + fld_RemesasProveedorFECHA_MODIFICACION = 'FECHA_MODIFICACION'; + fld_RemesasProveedorIMPORTE_TOTAL = 'IMPORTE_TOTAL'; + fld_RemesasProveedorNOMBRE = 'NOMBRE'; + fld_RemesasProveedorENTIDAD = 'ENTIDAD'; + fld_RemesasProveedorSUCURSAL = 'SUCURSAL'; + fld_RemesasProveedorDC = 'DC'; + fld_RemesasProveedorCUENTA = 'CUENTA'; + fld_RemesasProveedorSUFIJO_N19 = 'SUFIJO_N19'; + fld_RemesasProveedorSUFIJO_N58 = 'SUFIJO_N58'; + + { RemesasProveedor field indexes } + idx_RemesasProveedorID = 0; + idx_RemesasProveedorID_EMPRESA = 1; + idx_RemesasProveedorREFERENCIA = 2; + idx_RemesasProveedorFECHA_REMESA = 3; + idx_RemesasProveedorDESCRIPCION = 4; + idx_RemesasProveedorUSUARIO = 5; + idx_RemesasProveedorID_DATOS_BANCO = 6; + idx_RemesasProveedorFECHA_ALTA = 7; + idx_RemesasProveedorFECHA_MODIFICACION = 8; + idx_RemesasProveedorIMPORTE_TOTAL = 9; + idx_RemesasProveedorNOMBRE = 10; + idx_RemesasProveedorENTIDAD = 11; + idx_RemesasProveedorSUCURSAL = 12; + idx_RemesasProveedorDC = 13; + idx_RemesasProveedorCUENTA = 14; + idx_RemesasProveedorSUFIJO_N19 = 15; + idx_RemesasProveedorSUFIJO_N58 = 16; + + { RemesasProveedor_Refresh fields } + fld_RemesasProveedor_RefreshID = 'ID'; + fld_RemesasProveedor_RefreshID_EMPRESA = 'ID_EMPRESA'; + fld_RemesasProveedor_RefreshREFERENCIA = 'REFERENCIA'; + fld_RemesasProveedor_RefreshFECHA_REMESA = 'FECHA_REMESA'; + fld_RemesasProveedor_RefreshDESCRIPCION = 'DESCRIPCION'; + fld_RemesasProveedor_RefreshUSUARIO = 'USUARIO'; + fld_RemesasProveedor_RefreshID_DATOS_BANCO = 'ID_DATOS_BANCO'; + fld_RemesasProveedor_RefreshFECHA_ALTA = 'FECHA_ALTA'; + fld_RemesasProveedor_RefreshFECHA_MODIFICACION = 'FECHA_MODIFICACION'; + fld_RemesasProveedor_RefreshIMPORTE_TOTAL = 'IMPORTE_TOTAL'; + fld_RemesasProveedor_RefreshNOMBRE = 'NOMBRE'; + fld_RemesasProveedor_RefreshENTIDAD = 'ENTIDAD'; + fld_RemesasProveedor_RefreshSUCURSAL = 'SUCURSAL'; + fld_RemesasProveedor_RefreshDC = 'DC'; + fld_RemesasProveedor_RefreshCUENTA = 'CUENTA'; + fld_RemesasProveedor_RefreshSUFIJO_N19 = 'SUFIJO_N19'; + fld_RemesasProveedor_RefreshSUFIJO_N58 = 'SUFIJO_N58'; + + { RemesasProveedor_Refresh field indexes } + idx_RemesasProveedor_RefreshID = 0; + idx_RemesasProveedor_RefreshID_EMPRESA = 1; + idx_RemesasProveedor_RefreshREFERENCIA = 2; + idx_RemesasProveedor_RefreshFECHA_REMESA = 3; + idx_RemesasProveedor_RefreshDESCRIPCION = 4; + idx_RemesasProveedor_RefreshUSUARIO = 5; + idx_RemesasProveedor_RefreshID_DATOS_BANCO = 6; + idx_RemesasProveedor_RefreshFECHA_ALTA = 7; + idx_RemesasProveedor_RefreshFECHA_MODIFICACION = 8; + idx_RemesasProveedor_RefreshIMPORTE_TOTAL = 9; + idx_RemesasProveedor_RefreshNOMBRE = 10; + idx_RemesasProveedor_RefreshENTIDAD = 11; + idx_RemesasProveedor_RefreshSUCURSAL = 12; + idx_RemesasProveedor_RefreshDC = 13; + idx_RemesasProveedor_RefreshCUENTA = 14; + idx_RemesasProveedor_RefreshSUFIJO_N19 = 15; + idx_RemesasProveedor_RefreshSUFIJO_N58 = 16; + +type + { IdarReferencia } + IdarReferencia = interface(IDAStronglyTypedDataTable) + ['{419EF698-F812-4BB2-AF2E-4BDCAF09060F}'] + { Property getters and setters } + function GetVALORValue: String; + procedure SetVALORValue(const aValue: String); + + + { Properties } + property VALOR: String read GetVALORValue write SetVALORValue; + end; + + { TdarReferenciaDataTableRules } + TdarReferenciaDataTableRules = class(TDADataTableRules, IdarReferencia) + private + protected + { Property getters and setters } + function GetVALORValue: String; virtual; + procedure SetVALORValue(const aValue: String); virtual; + + { Properties } + property VALOR: String read GetVALORValue write SetVALORValue; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + + { IRemesasProveedor } + IRemesasProveedor = interface(IDAStronglyTypedDataTable) + ['{88EC9B27-C7D8-4C82-8E83-29E8F70DBB66}'] + { Property getters and setters } + function GetIDValue: Integer; + procedure SetIDValue(const aValue: Integer); + function GetID_EMPRESAValue: Integer; + procedure SetID_EMPRESAValue(const aValue: Integer); + function GetREFERENCIAValue: String; + procedure SetREFERENCIAValue(const aValue: String); + function GetFECHA_REMESAValue: DateTime; + procedure SetFECHA_REMESAValue(const aValue: DateTime); + function GetDESCRIPCIONValue: String; + procedure SetDESCRIPCIONValue(const aValue: String); + function GetUSUARIOValue: String; + procedure SetUSUARIOValue(const aValue: String); + function GetID_DATOS_BANCOValue: Integer; + procedure SetID_DATOS_BANCOValue(const aValue: Integer); + function GetFECHA_ALTAValue: DateTime; + procedure SetFECHA_ALTAValue(const aValue: DateTime); + function GetFECHA_MODIFICACIONValue: DateTime; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); + function GetIMPORTE_TOTALValue: Float; + procedure SetIMPORTE_TOTALValue(const aValue: Float); + function GetNOMBREValue: String; + procedure SetNOMBREValue(const aValue: String); + function GetENTIDADValue: String; + procedure SetENTIDADValue(const aValue: String); + function GetSUCURSALValue: String; + procedure SetSUCURSALValue(const aValue: String); + function GetDCValue: String; + procedure SetDCValue(const aValue: String); + function GetCUENTAValue: String; + procedure SetCUENTAValue(const aValue: String); + function GetSUFIJO_N19Value: String; + procedure SetSUFIJO_N19Value(const aValue: String); + function GetSUFIJO_N58Value: String; + procedure SetSUFIJO_N58Value(const aValue: String); + + + { Properties } + property ID: Integer read GetIDValue write SetIDValue; + property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; + property FECHA_REMESA: DateTime read GetFECHA_REMESAValue write SetFECHA_REMESAValue; + property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; + property ID_DATOS_BANCO: Integer read GetID_DATOS_BANCOValue write SetID_DATOS_BANCOValue; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property IMPORTE_TOTAL: Float read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue; + property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; + property ENTIDAD: String read GetENTIDADValue write SetENTIDADValue; + property SUCURSAL: String read GetSUCURSALValue write SetSUCURSALValue; + property DC: String read GetDCValue write SetDCValue; + property CUENTA: String read GetCUENTAValue write SetCUENTAValue; + property SUFIJO_N19: String read GetSUFIJO_N19Value write SetSUFIJO_N19Value; + property SUFIJO_N58: String read GetSUFIJO_N58Value write SetSUFIJO_N58Value; + end; + + { TRemesasProveedorDataTableRules } + TRemesasProveedorDataTableRules = class(TDADataTableRules, IRemesasProveedor) + private + protected + { Property getters and setters } + function GetIDValue: Integer; virtual; + procedure SetIDValue(const aValue: Integer); virtual; + function GetID_EMPRESAValue: Integer; virtual; + procedure SetID_EMPRESAValue(const aValue: Integer); virtual; + function GetREFERENCIAValue: String; virtual; + procedure SetREFERENCIAValue(const aValue: String); virtual; + function GetFECHA_REMESAValue: DateTime; virtual; + procedure SetFECHA_REMESAValue(const aValue: DateTime); virtual; + function GetDESCRIPCIONValue: String; virtual; + procedure SetDESCRIPCIONValue(const aValue: String); virtual; + function GetUSUARIOValue: String; virtual; + procedure SetUSUARIOValue(const aValue: String); virtual; + function GetID_DATOS_BANCOValue: Integer; virtual; + procedure SetID_DATOS_BANCOValue(const aValue: Integer); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + function GetIMPORTE_TOTALValue: Float; virtual; + procedure SetIMPORTE_TOTALValue(const aValue: Float); virtual; + function GetNOMBREValue: String; virtual; + procedure SetNOMBREValue(const aValue: String); virtual; + function GetENTIDADValue: String; virtual; + procedure SetENTIDADValue(const aValue: String); virtual; + function GetSUCURSALValue: String; virtual; + procedure SetSUCURSALValue(const aValue: String); virtual; + function GetDCValue: String; virtual; + procedure SetDCValue(const aValue: String); virtual; + function GetCUENTAValue: String; virtual; + procedure SetCUENTAValue(const aValue: String); virtual; + function GetSUFIJO_N19Value: String; virtual; + procedure SetSUFIJO_N19Value(const aValue: String); virtual; + function GetSUFIJO_N58Value: String; virtual; + procedure SetSUFIJO_N58Value(const aValue: String); virtual; + + { Properties } + property ID: Integer read GetIDValue write SetIDValue; + property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; + property FECHA_REMESA: DateTime read GetFECHA_REMESAValue write SetFECHA_REMESAValue; + property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; + property ID_DATOS_BANCO: Integer read GetID_DATOS_BANCOValue write SetID_DATOS_BANCOValue; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property IMPORTE_TOTAL: Float read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue; + property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; + property ENTIDAD: String read GetENTIDADValue write SetENTIDADValue; + property SUCURSAL: String read GetSUCURSALValue write SetSUCURSALValue; + property DC: String read GetDCValue write SetDCValue; + property CUENTA: String read GetCUENTAValue write SetCUENTAValue; + property SUFIJO_N19: String read GetSUFIJO_N19Value write SetSUFIJO_N19Value; + property SUFIJO_N58: String read GetSUFIJO_N58Value write SetSUFIJO_N58Value; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + + { IRemesasProveedor_Refresh } + IRemesasProveedor_Refresh = interface(IDAStronglyTypedDataTable) + ['{53C9C363-9E14-448C-9201-52DB64D0B000}'] + { Property getters and setters } + function GetIDValue: Integer; + procedure SetIDValue(const aValue: Integer); + function GetID_EMPRESAValue: Integer; + procedure SetID_EMPRESAValue(const aValue: Integer); + function GetREFERENCIAValue: String; + procedure SetREFERENCIAValue(const aValue: String); + function GetFECHA_REMESAValue: DateTime; + procedure SetFECHA_REMESAValue(const aValue: DateTime); + function GetDESCRIPCIONValue: String; + procedure SetDESCRIPCIONValue(const aValue: String); + function GetUSUARIOValue: String; + procedure SetUSUARIOValue(const aValue: String); + function GetID_DATOS_BANCOValue: Integer; + procedure SetID_DATOS_BANCOValue(const aValue: Integer); + function GetFECHA_ALTAValue: DateTime; + procedure SetFECHA_ALTAValue(const aValue: DateTime); + function GetFECHA_MODIFICACIONValue: DateTime; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); + function GetIMPORTE_TOTALValue: Float; + procedure SetIMPORTE_TOTALValue(const aValue: Float); + function GetNOMBREValue: String; + procedure SetNOMBREValue(const aValue: String); + function GetENTIDADValue: String; + procedure SetENTIDADValue(const aValue: String); + function GetSUCURSALValue: String; + procedure SetSUCURSALValue(const aValue: String); + function GetDCValue: String; + procedure SetDCValue(const aValue: String); + function GetCUENTAValue: String; + procedure SetCUENTAValue(const aValue: String); + function GetSUFIJO_N19Value: String; + procedure SetSUFIJO_N19Value(const aValue: String); + function GetSUFIJO_N58Value: String; + procedure SetSUFIJO_N58Value(const aValue: String); + + + { Properties } + property ID: Integer read GetIDValue write SetIDValue; + property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; + property FECHA_REMESA: DateTime read GetFECHA_REMESAValue write SetFECHA_REMESAValue; + property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; + property ID_DATOS_BANCO: Integer read GetID_DATOS_BANCOValue write SetID_DATOS_BANCOValue; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property IMPORTE_TOTAL: Float read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue; + property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; + property ENTIDAD: String read GetENTIDADValue write SetENTIDADValue; + property SUCURSAL: String read GetSUCURSALValue write SetSUCURSALValue; + property DC: String read GetDCValue write SetDCValue; + property CUENTA: String read GetCUENTAValue write SetCUENTAValue; + property SUFIJO_N19: String read GetSUFIJO_N19Value write SetSUFIJO_N19Value; + property SUFIJO_N58: String read GetSUFIJO_N58Value write SetSUFIJO_N58Value; + end; + + { TRemesasProveedor_RefreshDataTableRules } + TRemesasProveedor_RefreshDataTableRules = class(TDADataTableRules, IRemesasProveedor_Refresh) + private + protected + { Property getters and setters } + function GetIDValue: Integer; virtual; + procedure SetIDValue(const aValue: Integer); virtual; + function GetID_EMPRESAValue: Integer; virtual; + procedure SetID_EMPRESAValue(const aValue: Integer); virtual; + function GetREFERENCIAValue: String; virtual; + procedure SetREFERENCIAValue(const aValue: String); virtual; + function GetFECHA_REMESAValue: DateTime; virtual; + procedure SetFECHA_REMESAValue(const aValue: DateTime); virtual; + function GetDESCRIPCIONValue: String; virtual; + procedure SetDESCRIPCIONValue(const aValue: String); virtual; + function GetUSUARIOValue: String; virtual; + procedure SetUSUARIOValue(const aValue: String); virtual; + function GetID_DATOS_BANCOValue: Integer; virtual; + procedure SetID_DATOS_BANCOValue(const aValue: Integer); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + function GetIMPORTE_TOTALValue: Float; virtual; + procedure SetIMPORTE_TOTALValue(const aValue: Float); virtual; + function GetNOMBREValue: String; virtual; + procedure SetNOMBREValue(const aValue: String); virtual; + function GetENTIDADValue: String; virtual; + procedure SetENTIDADValue(const aValue: String); virtual; + function GetSUCURSALValue: String; virtual; + procedure SetSUCURSALValue(const aValue: String); virtual; + function GetDCValue: String; virtual; + procedure SetDCValue(const aValue: String); virtual; + function GetCUENTAValue: String; virtual; + procedure SetCUENTAValue(const aValue: String); virtual; + function GetSUFIJO_N19Value: String; virtual; + procedure SetSUFIJO_N19Value(const aValue: String); virtual; + function GetSUFIJO_N58Value: String; virtual; + procedure SetSUFIJO_N58Value(const aValue: String); virtual; + + { Properties } + property ID: Integer read GetIDValue write SetIDValue; + property ID_EMPRESA: Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property REFERENCIA: String read GetREFERENCIAValue write SetREFERENCIAValue; + property FECHA_REMESA: DateTime read GetFECHA_REMESAValue write SetFECHA_REMESAValue; + property DESCRIPCION: String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property USUARIO: String read GetUSUARIOValue write SetUSUARIOValue; + property ID_DATOS_BANCO: Integer read GetID_DATOS_BANCOValue write SetID_DATOS_BANCOValue; + property FECHA_ALTA: DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property FECHA_MODIFICACION: DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property IMPORTE_TOTAL: Float read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue; + property NOMBRE: String read GetNOMBREValue write SetNOMBREValue; + property ENTIDAD: String read GetENTIDADValue write SetENTIDADValue; + property SUCURSAL: String read GetSUCURSALValue write SetSUCURSALValue; + property DC: String read GetDCValue write SetDCValue; + property CUENTA: String read GetCUENTAValue write SetCUENTAValue; + property SUFIJO_N19: String read GetSUFIJO_N19Value write SetSUFIJO_N19Value; + property SUFIJO_N58: String read GetSUFIJO_N58Value write SetSUFIJO_N58Value; + + public + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + + end; + +implementation + +uses Variants; + +{ TdarReferenciaDataTableRules } +constructor TdarReferenciaDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TdarReferenciaDataTableRules.Destroy; +begin + inherited; +end; + +function TdarReferenciaDataTableRules.GetVALORValue: String; +begin + result := DataTable.Fields[idx_darReferenciaVALOR].AsString; +end; + +procedure TdarReferenciaDataTableRules.SetVALORValue(const aValue: String); +begin + DataTable.Fields[idx_darReferenciaVALOR].AsString := aValue; +end; + + +{ TRemesasProveedorDataTableRules } +constructor TRemesasProveedorDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TRemesasProveedorDataTableRules.Destroy; +begin + inherited; +end; + +function TRemesasProveedorDataTableRules.GetIDValue: Integer; +begin + result := DataTable.Fields[idx_RemesasProveedorID].AsInteger; +end; + +procedure TRemesasProveedorDataTableRules.SetIDValue(const aValue: Integer); +begin + DataTable.Fields[idx_RemesasProveedorID].AsInteger := aValue; +end; + +function TRemesasProveedorDataTableRules.GetID_EMPRESAValue: Integer; +begin + result := DataTable.Fields[idx_RemesasProveedorID_EMPRESA].AsInteger; +end; + +procedure TRemesasProveedorDataTableRules.SetID_EMPRESAValue(const aValue: Integer); +begin + DataTable.Fields[idx_RemesasProveedorID_EMPRESA].AsInteger := aValue; +end; + +function TRemesasProveedorDataTableRules.GetREFERENCIAValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedorREFERENCIA].AsString; +end; + +procedure TRemesasProveedorDataTableRules.SetREFERENCIAValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedorREFERENCIA].AsString := aValue; +end; + +function TRemesasProveedorDataTableRules.GetFECHA_REMESAValue: DateTime; +begin + result := DataTable.Fields[idx_RemesasProveedorFECHA_REMESA].AsDateTime; +end; + +procedure TRemesasProveedorDataTableRules.SetFECHA_REMESAValue(const aValue: DateTime); +begin + DataTable.Fields[idx_RemesasProveedorFECHA_REMESA].AsDateTime := aValue; +end; + +function TRemesasProveedorDataTableRules.GetDESCRIPCIONValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedorDESCRIPCION].AsString; +end; + +procedure TRemesasProveedorDataTableRules.SetDESCRIPCIONValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedorDESCRIPCION].AsString := aValue; +end; + +function TRemesasProveedorDataTableRules.GetUSUARIOValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedorUSUARIO].AsString; +end; + +procedure TRemesasProveedorDataTableRules.SetUSUARIOValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedorUSUARIO].AsString := aValue; +end; + +function TRemesasProveedorDataTableRules.GetID_DATOS_BANCOValue: Integer; +begin + result := DataTable.Fields[idx_RemesasProveedorID_DATOS_BANCO].AsInteger; +end; + +procedure TRemesasProveedorDataTableRules.SetID_DATOS_BANCOValue(const aValue: Integer); +begin + DataTable.Fields[idx_RemesasProveedorID_DATOS_BANCO].AsInteger := aValue; +end; + +function TRemesasProveedorDataTableRules.GetFECHA_ALTAValue: DateTime; +begin + result := DataTable.Fields[idx_RemesasProveedorFECHA_ALTA].AsDateTime; +end; + +procedure TRemesasProveedorDataTableRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + DataTable.Fields[idx_RemesasProveedorFECHA_ALTA].AsDateTime := aValue; +end; + +function TRemesasProveedorDataTableRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := DataTable.Fields[idx_RemesasProveedorFECHA_MODIFICACION].AsDateTime; +end; + +procedure TRemesasProveedorDataTableRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + DataTable.Fields[idx_RemesasProveedorFECHA_MODIFICACION].AsDateTime := aValue; +end; + +function TRemesasProveedorDataTableRules.GetIMPORTE_TOTALValue: Float; +begin + result := DataTable.Fields[idx_RemesasProveedorIMPORTE_TOTAL].AsFloat; +end; + +procedure TRemesasProveedorDataTableRules.SetIMPORTE_TOTALValue(const aValue: Float); +begin + DataTable.Fields[idx_RemesasProveedorIMPORTE_TOTAL].AsFloat := aValue; +end; + +function TRemesasProveedorDataTableRules.GetNOMBREValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedorNOMBRE].AsString; +end; + +procedure TRemesasProveedorDataTableRules.SetNOMBREValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedorNOMBRE].AsString := aValue; +end; + +function TRemesasProveedorDataTableRules.GetENTIDADValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedorENTIDAD].AsString; +end; + +procedure TRemesasProveedorDataTableRules.SetENTIDADValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedorENTIDAD].AsString := aValue; +end; + +function TRemesasProveedorDataTableRules.GetSUCURSALValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedorSUCURSAL].AsString; +end; + +procedure TRemesasProveedorDataTableRules.SetSUCURSALValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedorSUCURSAL].AsString := aValue; +end; + +function TRemesasProveedorDataTableRules.GetDCValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedorDC].AsString; +end; + +procedure TRemesasProveedorDataTableRules.SetDCValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedorDC].AsString := aValue; +end; + +function TRemesasProveedorDataTableRules.GetCUENTAValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedorCUENTA].AsString; +end; + +procedure TRemesasProveedorDataTableRules.SetCUENTAValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedorCUENTA].AsString := aValue; +end; + +function TRemesasProveedorDataTableRules.GetSUFIJO_N19Value: String; +begin + result := DataTable.Fields[idx_RemesasProveedorSUFIJO_N19].AsString; +end; + +procedure TRemesasProveedorDataTableRules.SetSUFIJO_N19Value(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedorSUFIJO_N19].AsString := aValue; +end; + +function TRemesasProveedorDataTableRules.GetSUFIJO_N58Value: String; +begin + result := DataTable.Fields[idx_RemesasProveedorSUFIJO_N58].AsString; +end; + +procedure TRemesasProveedorDataTableRules.SetSUFIJO_N58Value(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedorSUFIJO_N58].AsString := aValue; +end; + + +{ TRemesasProveedor_RefreshDataTableRules } +constructor TRemesasProveedor_RefreshDataTableRules.Create(aDataTable: TDADataTable); +begin + inherited; +end; + +destructor TRemesasProveedor_RefreshDataTableRules.Destroy; +begin + inherited; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetIDValue: Integer; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshID].AsInteger; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetIDValue(const aValue: Integer); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshID].AsInteger := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetID_EMPRESAValue: Integer; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshID_EMPRESA].AsInteger; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetID_EMPRESAValue(const aValue: Integer); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshID_EMPRESA].AsInteger := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetREFERENCIAValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshREFERENCIA].AsString; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetREFERENCIAValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshREFERENCIA].AsString := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetFECHA_REMESAValue: DateTime; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshFECHA_REMESA].AsDateTime; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetFECHA_REMESAValue(const aValue: DateTime); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshFECHA_REMESA].AsDateTime := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetDESCRIPCIONValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshDESCRIPCION].AsString; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetDESCRIPCIONValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshDESCRIPCION].AsString := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetUSUARIOValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshUSUARIO].AsString; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetUSUARIOValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshUSUARIO].AsString := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetID_DATOS_BANCOValue: Integer; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshID_DATOS_BANCO].AsInteger; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetID_DATOS_BANCOValue(const aValue: Integer); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshID_DATOS_BANCO].AsInteger := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetFECHA_ALTAValue: DateTime; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshFECHA_ALTA].AsDateTime; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshFECHA_ALTA].AsDateTime := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshFECHA_MODIFICACION].AsDateTime; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshFECHA_MODIFICACION].AsDateTime := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetIMPORTE_TOTALValue: Float; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshIMPORTE_TOTAL].AsFloat; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetIMPORTE_TOTALValue(const aValue: Float); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshIMPORTE_TOTAL].AsFloat := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetNOMBREValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshNOMBRE].AsString; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetNOMBREValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshNOMBRE].AsString := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetENTIDADValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshENTIDAD].AsString; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetENTIDADValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshENTIDAD].AsString := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetSUCURSALValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshSUCURSAL].AsString; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetSUCURSALValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshSUCURSAL].AsString := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetDCValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshDC].AsString; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetDCValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshDC].AsString := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetCUENTAValue: String; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshCUENTA].AsString; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetCUENTAValue(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshCUENTA].AsString := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetSUFIJO_N19Value: String; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshSUFIJO_N19].AsString; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetSUFIJO_N19Value(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshSUFIJO_N19].AsString := aValue; +end; + +function TRemesasProveedor_RefreshDataTableRules.GetSUFIJO_N58Value: String; +begin + result := DataTable.Fields[idx_RemesasProveedor_RefreshSUFIJO_N58].AsString; +end; + +procedure TRemesasProveedor_RefreshDataTableRules.SetSUFIJO_N58Value(const aValue: String); +begin + DataTable.Fields[idx_RemesasProveedor_RefreshSUFIJO_N58].AsString := aValue; +end; + + +initialization + RegisterDataTableRules(RID_darReferencia, TdarReferenciaDataTableRules); + RegisterDataTableRules(RID_RemesasProveedor, TRemesasProveedorDataTableRules); + RegisterDataTableRules(RID_RemesasProveedor_Refresh, TRemesasProveedor_RefreshDataTableRules); + +end. diff --git a/Source/Modulos/Remesas de proveedor/Model/schRemesasProveedorServer_Intf.pas b/Source/Modulos/Remesas de proveedor/Model/schRemesasProveedorServer_Intf.pas new file mode 100644 index 00000000..78f94c43 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Model/schRemesasProveedorServer_Intf.pas @@ -0,0 +1,899 @@ +unit schRemesasProveedorServer_Intf; + +interface + +uses + Classes, DB, SysUtils, uROClasses, uDADataTable, uDABusinessProcessor, schRemesasProveedorClient_Intf; + +const + { Delta rules ids + Feel free to change them to something more human readable + but make sure they are unique in the context of your application } + RID_darReferenciaDelta = '{137F6E55-880D-4E7A-9E63-2B70A858EB7E}'; + RID_RemesasProveedorDelta = '{13DBC096-29B3-43C6-8174-3776F2A23352}'; + RID_RemesasProveedor_RefreshDelta = '{357339B7-C872-48D4-A472-875E190B5EE5}'; + +type + { IdarReferenciaDelta } + IdarReferenciaDelta = interface(IdarReferencia) + ['{137F6E55-880D-4E7A-9E63-2B70A858EB7E}'] + { Property getters and setters } + function GetOldVALORValue : String; + + { Properties } + property OldVALOR : String read GetOldVALORValue; + end; + + { TdarReferenciaBusinessProcessorRules } + TdarReferenciaBusinessProcessorRules = class(TDABusinessProcessorRules, IdarReferencia, IdarReferenciaDelta) + private + protected + { Property getters and setters } + function GetVALORValue: String; virtual; + function GetOldVALORValue: String; virtual; + procedure SetVALORValue(const aValue: String); virtual; + + { Properties } + property VALOR : String read GetVALORValue write SetVALORValue; + property OldVALOR : String read GetOldVALORValue; + + public + constructor Create(aBusinessProcessor: TDABusinessProcessor); override; + destructor Destroy; override; + + end; + + { IRemesasProveedorDelta } + IRemesasProveedorDelta = interface(IRemesasProveedor) + ['{13DBC096-29B3-43C6-8174-3776F2A23352}'] + { Property getters and setters } + function GetOldIDValue : Integer; + function GetOldID_EMPRESAValue : Integer; + function GetOldREFERENCIAValue : String; + function GetOldFECHA_REMESAValue : DateTime; + function GetOldDESCRIPCIONValue : String; + function GetOldUSUARIOValue : String; + function GetOldID_DATOS_BANCOValue : Integer; + function GetOldFECHA_ALTAValue : DateTime; + function GetOldFECHA_MODIFICACIONValue : DateTime; + function GetOldIMPORTE_TOTALValue : Float; + function GetOldNOMBREValue : String; + function GetOldENTIDADValue : String; + function GetOldSUCURSALValue : String; + function GetOldDCValue : String; + function GetOldCUENTAValue : String; + function GetOldSUFIJO_N19Value : String; + function GetOldSUFIJO_N58Value : String; + + { Properties } + property OldID : Integer read GetOldIDValue; + property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; + property OldREFERENCIA : String read GetOldREFERENCIAValue; + property OldFECHA_REMESA : DateTime read GetOldFECHA_REMESAValue; + property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; + property OldUSUARIO : String read GetOldUSUARIOValue; + property OldID_DATOS_BANCO : Integer read GetOldID_DATOS_BANCOValue; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; + property OldIMPORTE_TOTAL : Float read GetOldIMPORTE_TOTALValue; + property OldNOMBRE : String read GetOldNOMBREValue; + property OldENTIDAD : String read GetOldENTIDADValue; + property OldSUCURSAL : String read GetOldSUCURSALValue; + property OldDC : String read GetOldDCValue; + property OldCUENTA : String read GetOldCUENTAValue; + property OldSUFIJO_N19 : String read GetOldSUFIJO_N19Value; + property OldSUFIJO_N58 : String read GetOldSUFIJO_N58Value; + end; + + { TRemesasProveedorBusinessProcessorRules } + TRemesasProveedorBusinessProcessorRules = class(TDABusinessProcessorRules, IRemesasProveedor, IRemesasProveedorDelta) + private + protected + { Property getters and setters } + function GetIDValue: Integer; virtual; + function GetOldIDValue: Integer; virtual; + procedure SetIDValue(const aValue: Integer); virtual; + function GetID_EMPRESAValue: Integer; virtual; + function GetOldID_EMPRESAValue: Integer; virtual; + procedure SetID_EMPRESAValue(const aValue: Integer); virtual; + function GetREFERENCIAValue: String; virtual; + function GetOldREFERENCIAValue: String; virtual; + procedure SetREFERENCIAValue(const aValue: String); virtual; + function GetFECHA_REMESAValue: DateTime; virtual; + function GetOldFECHA_REMESAValue: DateTime; virtual; + procedure SetFECHA_REMESAValue(const aValue: DateTime); virtual; + function GetDESCRIPCIONValue: String; virtual; + function GetOldDESCRIPCIONValue: String; virtual; + procedure SetDESCRIPCIONValue(const aValue: String); virtual; + function GetUSUARIOValue: String; virtual; + function GetOldUSUARIOValue: String; virtual; + procedure SetUSUARIOValue(const aValue: String); virtual; + function GetID_DATOS_BANCOValue: Integer; virtual; + function GetOldID_DATOS_BANCOValue: Integer; virtual; + procedure SetID_DATOS_BANCOValue(const aValue: Integer); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + function GetOldFECHA_ALTAValue: DateTime; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + function GetOldFECHA_MODIFICACIONValue: DateTime; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + function GetIMPORTE_TOTALValue: Float; virtual; + function GetOldIMPORTE_TOTALValue: Float; virtual; + procedure SetIMPORTE_TOTALValue(const aValue: Float); virtual; + function GetNOMBREValue: String; virtual; + function GetOldNOMBREValue: String; virtual; + procedure SetNOMBREValue(const aValue: String); virtual; + function GetENTIDADValue: String; virtual; + function GetOldENTIDADValue: String; virtual; + procedure SetENTIDADValue(const aValue: String); virtual; + function GetSUCURSALValue: String; virtual; + function GetOldSUCURSALValue: String; virtual; + procedure SetSUCURSALValue(const aValue: String); virtual; + function GetDCValue: String; virtual; + function GetOldDCValue: String; virtual; + procedure SetDCValue(const aValue: String); virtual; + function GetCUENTAValue: String; virtual; + function GetOldCUENTAValue: String; virtual; + procedure SetCUENTAValue(const aValue: String); virtual; + function GetSUFIJO_N19Value: String; virtual; + function GetOldSUFIJO_N19Value: String; virtual; + procedure SetSUFIJO_N19Value(const aValue: String); virtual; + function GetSUFIJO_N58Value: String; virtual; + function GetOldSUFIJO_N58Value: String; virtual; + procedure SetSUFIJO_N58Value(const aValue: String); virtual; + + { Properties } + property ID : Integer read GetIDValue write SetIDValue; + property OldID : Integer read GetOldIDValue; + property ID_EMPRESA : Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; + property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue; + property OldREFERENCIA : String read GetOldREFERENCIAValue; + property FECHA_REMESA : DateTime read GetFECHA_REMESAValue write SetFECHA_REMESAValue; + property OldFECHA_REMESA : DateTime read GetOldFECHA_REMESAValue; + property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; + property USUARIO : String read GetUSUARIOValue write SetUSUARIOValue; + property OldUSUARIO : String read GetOldUSUARIOValue; + property ID_DATOS_BANCO : Integer read GetID_DATOS_BANCOValue write SetID_DATOS_BANCOValue; + property OldID_DATOS_BANCO : Integer read GetOldID_DATOS_BANCOValue; + property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property FECHA_MODIFICACION : DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; + property IMPORTE_TOTAL : Float read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue; + property OldIMPORTE_TOTAL : Float read GetOldIMPORTE_TOTALValue; + property NOMBRE : String read GetNOMBREValue write SetNOMBREValue; + property OldNOMBRE : String read GetOldNOMBREValue; + property ENTIDAD : String read GetENTIDADValue write SetENTIDADValue; + property OldENTIDAD : String read GetOldENTIDADValue; + property SUCURSAL : String read GetSUCURSALValue write SetSUCURSALValue; + property OldSUCURSAL : String read GetOldSUCURSALValue; + property DC : String read GetDCValue write SetDCValue; + property OldDC : String read GetOldDCValue; + property CUENTA : String read GetCUENTAValue write SetCUENTAValue; + property OldCUENTA : String read GetOldCUENTAValue; + property SUFIJO_N19 : String read GetSUFIJO_N19Value write SetSUFIJO_N19Value; + property OldSUFIJO_N19 : String read GetOldSUFIJO_N19Value; + property SUFIJO_N58 : String read GetSUFIJO_N58Value write SetSUFIJO_N58Value; + property OldSUFIJO_N58 : String read GetOldSUFIJO_N58Value; + + public + constructor Create(aBusinessProcessor: TDABusinessProcessor); override; + destructor Destroy; override; + + end; + + { IRemesasProveedor_RefreshDelta } + IRemesasProveedor_RefreshDelta = interface(IRemesasProveedor_Refresh) + ['{357339B7-C872-48D4-A472-875E190B5EE5}'] + { Property getters and setters } + function GetOldIDValue : Integer; + function GetOldID_EMPRESAValue : Integer; + function GetOldREFERENCIAValue : String; + function GetOldFECHA_REMESAValue : DateTime; + function GetOldDESCRIPCIONValue : String; + function GetOldUSUARIOValue : String; + function GetOldID_DATOS_BANCOValue : Integer; + function GetOldFECHA_ALTAValue : DateTime; + function GetOldFECHA_MODIFICACIONValue : DateTime; + function GetOldIMPORTE_TOTALValue : Float; + function GetOldNOMBREValue : String; + function GetOldENTIDADValue : String; + function GetOldSUCURSALValue : String; + function GetOldDCValue : String; + function GetOldCUENTAValue : String; + function GetOldSUFIJO_N19Value : String; + function GetOldSUFIJO_N58Value : String; + + { Properties } + property OldID : Integer read GetOldIDValue; + property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; + property OldREFERENCIA : String read GetOldREFERENCIAValue; + property OldFECHA_REMESA : DateTime read GetOldFECHA_REMESAValue; + property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; + property OldUSUARIO : String read GetOldUSUARIOValue; + property OldID_DATOS_BANCO : Integer read GetOldID_DATOS_BANCOValue; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; + property OldIMPORTE_TOTAL : Float read GetOldIMPORTE_TOTALValue; + property OldNOMBRE : String read GetOldNOMBREValue; + property OldENTIDAD : String read GetOldENTIDADValue; + property OldSUCURSAL : String read GetOldSUCURSALValue; + property OldDC : String read GetOldDCValue; + property OldCUENTA : String read GetOldCUENTAValue; + property OldSUFIJO_N19 : String read GetOldSUFIJO_N19Value; + property OldSUFIJO_N58 : String read GetOldSUFIJO_N58Value; + end; + + { TRemesasProveedor_RefreshBusinessProcessorRules } + TRemesasProveedor_RefreshBusinessProcessorRules = class(TDABusinessProcessorRules, IRemesasProveedor_Refresh, IRemesasProveedor_RefreshDelta) + private + protected + { Property getters and setters } + function GetIDValue: Integer; virtual; + function GetOldIDValue: Integer; virtual; + procedure SetIDValue(const aValue: Integer); virtual; + function GetID_EMPRESAValue: Integer; virtual; + function GetOldID_EMPRESAValue: Integer; virtual; + procedure SetID_EMPRESAValue(const aValue: Integer); virtual; + function GetREFERENCIAValue: String; virtual; + function GetOldREFERENCIAValue: String; virtual; + procedure SetREFERENCIAValue(const aValue: String); virtual; + function GetFECHA_REMESAValue: DateTime; virtual; + function GetOldFECHA_REMESAValue: DateTime; virtual; + procedure SetFECHA_REMESAValue(const aValue: DateTime); virtual; + function GetDESCRIPCIONValue: String; virtual; + function GetOldDESCRIPCIONValue: String; virtual; + procedure SetDESCRIPCIONValue(const aValue: String); virtual; + function GetUSUARIOValue: String; virtual; + function GetOldUSUARIOValue: String; virtual; + procedure SetUSUARIOValue(const aValue: String); virtual; + function GetID_DATOS_BANCOValue: Integer; virtual; + function GetOldID_DATOS_BANCOValue: Integer; virtual; + procedure SetID_DATOS_BANCOValue(const aValue: Integer); virtual; + function GetFECHA_ALTAValue: DateTime; virtual; + function GetOldFECHA_ALTAValue: DateTime; virtual; + procedure SetFECHA_ALTAValue(const aValue: DateTime); virtual; + function GetFECHA_MODIFICACIONValue: DateTime; virtual; + function GetOldFECHA_MODIFICACIONValue: DateTime; virtual; + procedure SetFECHA_MODIFICACIONValue(const aValue: DateTime); virtual; + function GetIMPORTE_TOTALValue: Float; virtual; + function GetOldIMPORTE_TOTALValue: Float; virtual; + procedure SetIMPORTE_TOTALValue(const aValue: Float); virtual; + function GetNOMBREValue: String; virtual; + function GetOldNOMBREValue: String; virtual; + procedure SetNOMBREValue(const aValue: String); virtual; + function GetENTIDADValue: String; virtual; + function GetOldENTIDADValue: String; virtual; + procedure SetENTIDADValue(const aValue: String); virtual; + function GetSUCURSALValue: String; virtual; + function GetOldSUCURSALValue: String; virtual; + procedure SetSUCURSALValue(const aValue: String); virtual; + function GetDCValue: String; virtual; + function GetOldDCValue: String; virtual; + procedure SetDCValue(const aValue: String); virtual; + function GetCUENTAValue: String; virtual; + function GetOldCUENTAValue: String; virtual; + procedure SetCUENTAValue(const aValue: String); virtual; + function GetSUFIJO_N19Value: String; virtual; + function GetOldSUFIJO_N19Value: String; virtual; + procedure SetSUFIJO_N19Value(const aValue: String); virtual; + function GetSUFIJO_N58Value: String; virtual; + function GetOldSUFIJO_N58Value: String; virtual; + procedure SetSUFIJO_N58Value(const aValue: String); virtual; + + { Properties } + property ID : Integer read GetIDValue write SetIDValue; + property OldID : Integer read GetOldIDValue; + property ID_EMPRESA : Integer read GetID_EMPRESAValue write SetID_EMPRESAValue; + property OldID_EMPRESA : Integer read GetOldID_EMPRESAValue; + property REFERENCIA : String read GetREFERENCIAValue write SetREFERENCIAValue; + property OldREFERENCIA : String read GetOldREFERENCIAValue; + property FECHA_REMESA : DateTime read GetFECHA_REMESAValue write SetFECHA_REMESAValue; + property OldFECHA_REMESA : DateTime read GetOldFECHA_REMESAValue; + property DESCRIPCION : String read GetDESCRIPCIONValue write SetDESCRIPCIONValue; + property OldDESCRIPCION : String read GetOldDESCRIPCIONValue; + property USUARIO : String read GetUSUARIOValue write SetUSUARIOValue; + property OldUSUARIO : String read GetOldUSUARIOValue; + property ID_DATOS_BANCO : Integer read GetID_DATOS_BANCOValue write SetID_DATOS_BANCOValue; + property OldID_DATOS_BANCO : Integer read GetOldID_DATOS_BANCOValue; + property FECHA_ALTA : DateTime read GetFECHA_ALTAValue write SetFECHA_ALTAValue; + property OldFECHA_ALTA : DateTime read GetOldFECHA_ALTAValue; + property FECHA_MODIFICACION : DateTime read GetFECHA_MODIFICACIONValue write SetFECHA_MODIFICACIONValue; + property OldFECHA_MODIFICACION : DateTime read GetOldFECHA_MODIFICACIONValue; + property IMPORTE_TOTAL : Float read GetIMPORTE_TOTALValue write SetIMPORTE_TOTALValue; + property OldIMPORTE_TOTAL : Float read GetOldIMPORTE_TOTALValue; + property NOMBRE : String read GetNOMBREValue write SetNOMBREValue; + property OldNOMBRE : String read GetOldNOMBREValue; + property ENTIDAD : String read GetENTIDADValue write SetENTIDADValue; + property OldENTIDAD : String read GetOldENTIDADValue; + property SUCURSAL : String read GetSUCURSALValue write SetSUCURSALValue; + property OldSUCURSAL : String read GetOldSUCURSALValue; + property DC : String read GetDCValue write SetDCValue; + property OldDC : String read GetOldDCValue; + property CUENTA : String read GetCUENTAValue write SetCUENTAValue; + property OldCUENTA : String read GetOldCUENTAValue; + property SUFIJO_N19 : String read GetSUFIJO_N19Value write SetSUFIJO_N19Value; + property OldSUFIJO_N19 : String read GetOldSUFIJO_N19Value; + property SUFIJO_N58 : String read GetSUFIJO_N58Value write SetSUFIJO_N58Value; + property OldSUFIJO_N58 : String read GetOldSUFIJO_N58Value; + + public + constructor Create(aBusinessProcessor: TDABusinessProcessor); override; + destructor Destroy; override; + + end; + +implementation + +uses + Variants, uROBinaryHelpers; + +{ TdarReferenciaBusinessProcessorRules } +constructor TdarReferenciaBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TdarReferenciaBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TdarReferenciaBusinessProcessorRules.GetVALORValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_darReferenciaVALOR]; +end; + +function TdarReferenciaBusinessProcessorRules.GetOldVALORValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_darReferenciaVALOR]; +end; + +procedure TdarReferenciaBusinessProcessorRules.SetVALORValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_darReferenciaVALOR] := aValue; +end; + + +{ TRemesasProveedorBusinessProcessorRules } +constructor TRemesasProveedorBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TRemesasProveedorBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TRemesasProveedorBusinessProcessorRules.GetIDValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorID]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldIDValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorID]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetIDValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorID] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetID_EMPRESAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorID_EMPRESA]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldID_EMPRESAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorID_EMPRESA]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetID_EMPRESAValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorID_EMPRESA] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetREFERENCIAValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorREFERENCIA]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldREFERENCIAValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorREFERENCIA]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetREFERENCIAValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorREFERENCIA] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetFECHA_REMESAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorFECHA_REMESA]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldFECHA_REMESAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorFECHA_REMESA]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetFECHA_REMESAValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorFECHA_REMESA] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetDESCRIPCIONValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorDESCRIPCION]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldDESCRIPCIONValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorDESCRIPCION]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorDESCRIPCION] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetUSUARIOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorUSUARIO]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldUSUARIOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorUSUARIO]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetUSUARIOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorUSUARIO] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetID_DATOS_BANCOValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorID_DATOS_BANCO]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldID_DATOS_BANCOValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorID_DATOS_BANCO]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetID_DATOS_BANCOValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorID_DATOS_BANCO] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorFECHA_ALTA]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorFECHA_ALTA]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorFECHA_ALTA] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorFECHA_MODIFICACION]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorFECHA_MODIFICACION]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorFECHA_MODIFICACION] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetIMPORTE_TOTALValue: Float; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorIMPORTE_TOTAL]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldIMPORTE_TOTALValue: Float; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorIMPORTE_TOTAL]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetIMPORTE_TOTALValue(const aValue: Float); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorIMPORTE_TOTAL] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetNOMBREValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorNOMBRE]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldNOMBREValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorNOMBRE]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetNOMBREValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorNOMBRE] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetENTIDADValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorENTIDAD]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldENTIDADValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorENTIDAD]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetENTIDADValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorENTIDAD] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetSUCURSALValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorSUCURSAL]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldSUCURSALValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorSUCURSAL]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetSUCURSALValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorSUCURSAL] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetDCValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorDC]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldDCValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorDC]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetDCValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorDC] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetCUENTAValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorCUENTA]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldCUENTAValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorCUENTA]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetCUENTAValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorCUENTA] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetSUFIJO_N19Value: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorSUFIJO_N19]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldSUFIJO_N19Value: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorSUFIJO_N19]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetSUFIJO_N19Value(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorSUFIJO_N19] := aValue; +end; + +function TRemesasProveedorBusinessProcessorRules.GetSUFIJO_N58Value: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorSUFIJO_N58]; +end; + +function TRemesasProveedorBusinessProcessorRules.GetOldSUFIJO_N58Value: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedorSUFIJO_N58]; +end; + +procedure TRemesasProveedorBusinessProcessorRules.SetSUFIJO_N58Value(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedorSUFIJO_N58] := aValue; +end; + + +{ TRemesasProveedor_RefreshBusinessProcessorRules } +constructor TRemesasProveedor_RefreshBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor); +begin + inherited; +end; + +destructor TRemesasProveedor_RefreshBusinessProcessorRules.Destroy; +begin + inherited; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetIDValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshID]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldIDValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshID]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetIDValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshID] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetID_EMPRESAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshID_EMPRESA]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldID_EMPRESAValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshID_EMPRESA]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetID_EMPRESAValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshID_EMPRESA] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetREFERENCIAValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshREFERENCIA]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldREFERENCIAValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshREFERENCIA]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetREFERENCIAValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshREFERENCIA] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetFECHA_REMESAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshFECHA_REMESA]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldFECHA_REMESAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshFECHA_REMESA]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetFECHA_REMESAValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshFECHA_REMESA] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetDESCRIPCIONValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshDESCRIPCION]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldDESCRIPCIONValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshDESCRIPCION]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetDESCRIPCIONValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshDESCRIPCION] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetUSUARIOValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshUSUARIO]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldUSUARIOValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshUSUARIO]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetUSUARIOValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshUSUARIO] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetID_DATOS_BANCOValue: Integer; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshID_DATOS_BANCO]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldID_DATOS_BANCOValue: Integer; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshID_DATOS_BANCO]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetID_DATOS_BANCOValue(const aValue: Integer); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshID_DATOS_BANCO] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshFECHA_ALTA]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldFECHA_ALTAValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshFECHA_ALTA]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetFECHA_ALTAValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshFECHA_ALTA] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshFECHA_MODIFICACION]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldFECHA_MODIFICACIONValue: DateTime; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshFECHA_MODIFICACION]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetFECHA_MODIFICACIONValue(const aValue: DateTime); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshFECHA_MODIFICACION] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetIMPORTE_TOTALValue: Float; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshIMPORTE_TOTAL]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldIMPORTE_TOTALValue: Float; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshIMPORTE_TOTAL]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetIMPORTE_TOTALValue(const aValue: Float); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshIMPORTE_TOTAL] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetNOMBREValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshNOMBRE]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldNOMBREValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshNOMBRE]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetNOMBREValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshNOMBRE] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetENTIDADValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshENTIDAD]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldENTIDADValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshENTIDAD]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetENTIDADValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshENTIDAD] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetSUCURSALValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshSUCURSAL]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldSUCURSALValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshSUCURSAL]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetSUCURSALValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshSUCURSAL] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetDCValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshDC]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldDCValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshDC]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetDCValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshDC] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetCUENTAValue: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshCUENTA]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldCUENTAValue: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshCUENTA]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetCUENTAValue(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshCUENTA] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetSUFIJO_N19Value: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshSUFIJO_N19]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldSUFIJO_N19Value: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshSUFIJO_N19]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetSUFIJO_N19Value(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshSUFIJO_N19] := aValue; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetSUFIJO_N58Value: String; +begin + result := BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshSUFIJO_N58]; +end; + +function TRemesasProveedor_RefreshBusinessProcessorRules.GetOldSUFIJO_N58Value: String; +begin + result := BusinessProcessor.CurrentChange.OldValueByName[fld_RemesasProveedor_RefreshSUFIJO_N58]; +end; + +procedure TRemesasProveedor_RefreshBusinessProcessorRules.SetSUFIJO_N58Value(const aValue: String); +begin + BusinessProcessor.CurrentChange.NewValueByName[fld_RemesasProveedor_RefreshSUFIJO_N58] := aValue; +end; + + +initialization + RegisterBusinessProcessorRules(RID_darReferenciaDelta, TdarReferenciaBusinessProcessorRules); + RegisterBusinessProcessorRules(RID_RemesasProveedorDelta, TRemesasProveedorBusinessProcessorRules); + RegisterBusinessProcessorRules(RID_RemesasProveedor_RefreshDelta, TRemesasProveedor_RefreshBusinessProcessorRules); + +end. diff --git a/Source/Modulos/Remesas de proveedor/Model/uBizRemesasProveedor.pas b/Source/Modulos/Remesas de proveedor/Model/uBizRemesasProveedor.pas new file mode 100644 index 00000000..0a40005b --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Model/uBizRemesasProveedor.pas @@ -0,0 +1,99 @@ +unit uBizRemesasProveedor; + +interface + +uses + uDAInterfaces, uDADataTable, schRemesasProveedorClient_Intf, uDBSelectionListUtils, + uBizRecibosProveedor; + +const + BIZ_CLIENT_REMESAPROVEEDOR = 'Client.RemesaProveedor'; + +type + IBizRemesaProveedor = interface(IRemesasProveedor) + ['{A150A74E-6A08-4D11-9CA7-39B65ABF78F5}'] + function GetRecibos: IBizRecibosProveedor; + procedure SetRecibos(const Value: IBizRecibosProveedor); + property Recibos: IBizRecibosProveedor read GetRecibos write SetRecibos; + function EsNuevo : Boolean; + end; + + TBizRemesaProveedor = class(TRemesasProveedorDataTableRules, IBizRemesaProveedor, ISeleccionable) + protected + FRecibos: IBizRecibosProveedor; + FSeleccionableInterface : ISeleccionable; + + function GetRecibos: IBizRecibosProveedor; + procedure SetRecibos(const Value: IBizRecibosProveedor); + procedure OnNewRecord(Sender: TDADataTable); override; + public + property SeleccionableInterface : ISeleccionable read FSeleccionableInterface + write FSeleccionableInterface implements ISeleccionable; + property Recibos: IBizRecibosProveedor read GetRecibos write SetRecibos; + + procedure IniciarValoresRemesaProveedorNuevo; virtual; + function EsNuevo : Boolean; + constructor Create(aDataTable: TDADataTable); override; + destructor Destroy; override; + end; + +implementation + +uses + uDataTableUtils, uDataModuleUsuarios, SysUtils, uROClasses, Classes; + +{ TBizRemesaProveedor } + +constructor TBizRemesaProveedor.Create(aDataTable: TDADataTable); +begin + inherited; + FRecibos := Nil; + FSeleccionableInterface := TSeleccionable.Create(aDataTable); +end; + +destructor TBizRemesaProveedor.Destroy; +begin + FRecibos := Nil; + FSeleccionableInterface := NIL; + inherited; +end; + +function TBizRemesaProveedor.EsNuevo: Boolean; +begin + Result := (ID < 0); +end; + +function TBizRemesaProveedor.GetRecibos: IBizRecibosProveedor; +begin + Result := FRecibos; +end; + +procedure TBizRemesaProveedor.IniciarValoresRemesaProveedorNuevo; +begin + ID_EMPRESA := dmUsuarios.IDEmpresaActual; + FECHA_REMESA := Date; + USUARIO := dmUsuarios.LoginInfo.Usuario; +end; + +procedure TBizRemesaProveedor.OnNewRecord(Sender: TDADataTable); +begin + inherited; + ID := GetRecNo; // -1, -2, -3... + IniciarValoresRemesaProveedorNuevo; +end; + +procedure TBizRemesaProveedor.SetRecibos(const Value: IBizRecibosProveedor); +begin + FRecibos := Value; + if Assigned(FRecibos) then + if not FRecibos.DataTable.Active then + FRecibos.DataTable.Active := True; +end; + +initialization + RegisterDataTableRules(BIZ_CLIENT_REMESAPROVEEDOR, TBizRemesaProveedor); + +finalization + +end. + diff --git a/Source/Modulos/Remesas de proveedor/Model/uBizRemesasProveedorServer.pas b/Source/Modulos/Remesas de proveedor/Model/uBizRemesasProveedorServer.pas new file mode 100644 index 00000000..9075ae02 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Model/uBizRemesasProveedorServer.pas @@ -0,0 +1,79 @@ +unit uBizRemesasProveedorServer; + +interface + +uses + schRemesasProveedorServer_Intf, uDAInterfaces, + uDADataTable, uDABusinessProcessor; + +const + BIZ_SERVER_REMESAS_Proveedor = 'Server.RemesasProveedor'; + REF_REMESAS_PROVEEDOR = 'REF_REMESAS_PROVEEDOR'; + +type + TBizRemesasProveedorServer = class(TRemesasProveedorBusinessProcessorRules) + protected + procedure BeforeProcessChange(Sender: TDABusinessProcessor; + aChangeType: TDAChangeType; aChange: TDADeltaChange; + var ProcessChange: Boolean); override; + end; + +implementation + +uses + Dialogs, SysUtils, Variants, uDataModuleServer, uDAClasses, DARemoteService_Impl, + schRemesasProveedorClient_Intf, uBusinessUtils, uReferenciasUtils, uROClasses; + +{ TBizRemesasProveedorServer } + +procedure TBizRemesasProveedorServer.BeforeProcessChange( + Sender: TDABusinessProcessor; aChangeType: TDAChangeType; + aChange: TDADeltaChange; var ProcessChange: Boolean); +var + ASchema : TDASchema; + ACurrentConn : IDAConnection; + dsData: IDADataset; + Empresa : Variant; + +begin + inherited; + case aChangeType of + ctInsert, ctUpdate: begin + //Si la referencia no ha sido asignada le asignamos una nosotros + if (VarIsNull(aChange.NewValueByName[fld_RemesasProveedorREFERENCIA])) + or (VarToStr(aChange.NewValueByName[fld_RemesasProveedorREFERENCIA]) = '') then + begin + ASchema := BusinessProcessor.Schema; + ACurrentConn := GetBusinessProcessorConnection(BusinessProcessor); + + try + //Siempre va a estar rellena + Empresa := aChange.NewValueByName[fld_RemesasProveedorID_EMPRESA]; + + dsData := ASchema.NewDataset(ACurrentConn, 'DarReferencia', ['CODIGO', 'EMPRESA'], [REF_REMESAS_PROVEEDOR, Empresa]); + except + RaiseError('No existe la tabla REFERENCIAS'); + end; + + dsData.Active := True; + + if dsData.IsEmpty then + RaiseError('NO HAY REFERENCIA ' + REF_REMESAS_PROVEEDOR + ' DECLARADA EN TABLA REFERENCIAS'); + + REFERENCIA := dsData.FieldByName('VALOR').AsString; + + try + ASchema.NewCommand(ACurrentConn, 'ModificarReferencia', ['CODIGO', 'VALOR', 'ID_EMPRESA'], [REF_REMESAS_PROVEEDOR, DarReferenciaSiguiente(REFERENCIA), Empresa]); + except + RaiseError('Error al asignar la nueva ' + REFERENCIA + ' referencia en tabla'); + end; + + end; + end; + end; +end; + +initialization + RegisterBusinessProcessorRules(BIZ_SERVER_REMESAS_Proveedor, TBizRemesasProveedorServer); + +end. diff --git a/Source/Modulos/Remesas de proveedor/Plugin/RemesasProveedor_plugin.bdsproj b/Source/Modulos/Remesas de proveedor/Plugin/RemesasProveedor_plugin.bdsproj new file mode 100644 index 00000000..0554af1a --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Plugin/RemesasProveedor_plugin.bdsproj @@ -0,0 +1,492 @@ + + + + + + + + + + + + RemesasProveedor_plugin.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 0 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 0 + 0 + False + 1 + False + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\Lib + ..\..\..\Lib;..\..\Lib + + + + False + + + + + + False + + + True + False + + + + $00000000 + + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Modulos/Remesas de proveedor/Plugin/RemesasProveedor_plugin.dpk b/Source/Modulos/Remesas de proveedor/Plugin/RemesasProveedor_plugin.dpk new file mode 100644 index 00000000..3a48f9ba --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Plugin/RemesasProveedor_plugin.dpk @@ -0,0 +1,42 @@ +package RemesasProveedor_plugin; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$IMPLICITBUILD OFF} + +requires + rtl, + vcl, + PluginSDK_D10R, + PngComponentsD10, + PNG_D10, + vclactnband, + vclx, + RemesasProveedor_model, + RemesasProveedor_controller, + RemesasProveedor_view; + +contains + uPluginRemesasProveedor in 'uPluginRemesasProveedor.pas' {PluginRemesasProveedor}; + +end. diff --git a/Source/Modulos/Remesas de proveedor/Plugin/RemesasProveedor_plugin.rc b/Source/Modulos/Remesas de proveedor/Plugin/RemesasProveedor_plugin.rc new file mode 100644 index 00000000..e69de29b diff --git a/Source/Modulos/Remesas de proveedor/Plugin/RemesasProveedor_plugin.res b/Source/Modulos/Remesas de proveedor/Plugin/RemesasProveedor_plugin.res new file mode 100644 index 00000000..36f26e23 Binary files /dev/null and b/Source/Modulos/Remesas de proveedor/Plugin/RemesasProveedor_plugin.res differ diff --git a/Source/Modulos/Remesas de proveedor/Plugin/uPluginRemesasProveedor.dfm b/Source/Modulos/Remesas de proveedor/Plugin/uPluginRemesasProveedor.dfm new file mode 100644 index 00000000..a7fcdc62 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Plugin/uPluginRemesasProveedor.dfm @@ -0,0 +1,135 @@ +object PluginRemesasProveedor: TPluginRemesasProveedor + OldCreateOrder = True + DefaultAction = actRemesasProveedor + Description = 'Compras' + ModuleMenu = MainMenu + ModuleName = 'RemesasProveedor' + SmallImages = SmallImages + LargeImages = LargeImages + Author = 'Rodax Software' + Version = '1.0.0' + Height = 252 + Width = 401 + object LargeImages: TPngImageList + Height = 24 + Width = 24 + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD252000002744944415478DA + 63FCFFFF3F032D01E3F0B060F9D6D334B3056E41A4B729491AFFFCFDCFF0F7EF + 3F869FBFFE80E93FFFFE8169301B887FFDFECB109E5E876A41E249438206FF05 + AAFFF5F72FC3AF3F7FC0F4975FBF207C10065A02932BFAB59C61DED24D9816CC + 373F8F6291F45B6F8626CF660C8BFE010D0361CFD5F60C1F791E800DBF14F082 + 4169A520D8928ABFAB705B00022036B2E11718CF33189F346660B809E4A83330 + 9C353FCBA0F9438BE117D007415B3C189EB2DF66B811FC1AAC566C3137431DC3 + 5AFC3E8019CE7C8A89E1AFD93F300D32FC6CDC5906E379408BB419183EEB7C61 + E0BDC2C3F05AE50D43F84E5F86BD51C718841771817DD0CEB211BB05E841C3BC + 1C684124D082C54C10C39719339C8D02D2B38C193E447C6410D8C2CFF0C2E525 + 43D49E00860B7F2EC0E3A3977D0B911620FBE02A508203887F30807DF056ED1D + 83F02D218627324F18E20E86329CFA79166EC164AEEDF82D40B6E42F50C36596 + 4B9038B80894D087C481DC5B79869F3F7E60180E02382D404E4520C58A1FFC18 + 6A9C6BC196FC03A7F5BF700CE247EF0D841BFE33E50F03E34C46FC16C0003C6D + 03B1CCB31F0C5325B4B1E60BDE877B505C0E03582D40CFA57FA039F3EA444D06 + 09A7200645CB1E86FBC74BC06A5EDC0726E7FBF719E6EE7BCE30A7DA09C3E229 + 4F73312D98B2780756570A7E3BC7A0F4660ED8307450DD928DD3E273AC89080B + BA27CF27584C9C2B7B88553CA5751FA65AA0E12000B680919191A0E1C75A14FF + 93124C404BC3E6EEFBB19A140B4281D42A6CC13467EF77AC96022D6024CA0290 + E196969AABB0C91D3F7E1D6BDC008101D0828BC45A803778402EC5A597681FE0 + 0A1E200087355E0B6809686E0100FA3E2AAB1481BE0E0000000049454E44AE42 + 6082} + Name = 'PngImage0' + Background = clWindow + end> + Left = 232 + Top = 16 + Bitmap = {} + end + object ModuleActionList: TActionList + Images = LargeImages + Left = 40 + Top = 72 + object actRemesasProveedor: TAction + Category = 'Compras' + Caption = 'Remesas de pago' + ImageIndex = 0 + OnExecute = actRemesasProveedorExecute + end + end + object MainMenu: TMainMenu + Images = LargeImages + Left = 40 + Top = 16 + object N1: TMenuItem + Caption = 'Compras' + object RemesasProveedor1: TMenuItem + Tag = 107 + Action = actRemesasProveedor + end + end + end + object SmallImages: TPngImageList + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD2520000011A4944415478DA + 63FCFFFF3F032580916203966D3945B60991DEA68C6003D4BD9919269F4CC6AA + E8F7DFBF0CDFFFFC61F8F6FB37C3C71F3FC0ECB9FE5B19523CE6309CDB310D61 + 0008C00C996B760EC3209B6D7270CD208062C02E9134B8429866E6534C1081AB + 0C0C7F13FF81999A6B4519BE035D02728DDCB204220CB80A118319A0B04200AC + 19843556A762370024B9DCFA328617903583BC62B83E13350C40FE074B421581 + 70EF05569C31907DD8036140F7E4F9180AA6DAEE60B04CAE6660905064F8717C + 2AC3F97DE719E6EE7BCE30A5C50BCE9EB3F73B23232E1B8EB528861E7CADB6EA + CEE58358E5939D24C32CABEFADC667C07F8A5D00A456811452D505208D5635F7 + 5783D480F211C92E98BBEF075C0FD8004A73230074DEE0E1BE54FBD500000000 + 49454E44AE426082} + Name = 'PngImage0' + Background = clWindow + end> + PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled] + Left = 308 + Top = 16 + Bitmap = {} + end + object ExtraImages: TPngImageList + Height = 28 + Width = 28 + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D494844520000001C0000001C0806000000720DDF + 940000000970485973000017120000171201679FD252000002D84944415478DA + ED946D48535118C7FF57855EB4171542B01756516845C868B63E4A1F2A7B1996 + 990B845008EA637DD2A828F34BF521D220C98484C28232B24C302329456D380D + A99C75035FB6A5B3E9ACAEBA7BD773CF4D9BEE6E6E23F6217AE0F09C73EE73CE + EF79CEFF9CCB793C1E44D2B8FFC07F0378EF697BC4A833C0DCCC6D616DE0163D + 104589BCC43CEB4B5E7DE62986E6728E9F9D0D3CD69A163448A47593A28849B7 + 5BF1731B01A6BFD7E97AC0F70DA0B0A4DC175899DE310B9CECC8C485DD17FD82 + 25DA58621589D8FB3003A3715F18ACCB60C3DAEA7806ADD759D03768F50F944D + EEABC1CC5C07B4AD5AE0230D3602A6741352845406945B56ED2E0C2CB0E0C3C1 + 2116BFA22A160DBA5E0CDAED812BF48645B745013C1D638EA4F40966CA33417B + 9BC09B00D7E6712C791C07AC0386D60F23A77E1F5E189B91786731ABB029FD33 + ECC343EA40B5A38CAE268844C05C02564529B0BB5A988CE4CBB5701E19C5F2DA + 652CD6B6D30E63830166B77946CFD7DB7938461C2100E5AA2C043CFABBC26E9A + 5C484D00ABD0B16104897509ACC2FE95FDC87B958DB609D30CF08D8EC798CB19 + 18A87661648DDEC574291A76D2C45645C3D58E35EC9B7B6ACA07265B93F613BE + FF189BFF96CA0B34CEFD0C2A6F386EEB467C4F61C0E7B2CADC80AF4B454C14B8 + C1DDE4D8DCCB340B04613C70856A6FABB81DD0E71701491A128B677102FF8C79 + 276F65FE4C45076E1565CC4AE291EB0416C527FB02E7FB7BF4DED882A48C2C68 + F457C0B79C562E09AF3C23F04A02158D569416EFF149E2D0B9165FE0F32673C0 + E31AB0BC45AAAD846DAA66D66F024ACB4EA9262103CBAE5DFD03BC7CBD12C158 + 72AC0B4F4E8E048C29B8D4E83DAC791F73C0F0934B600306E4382E28986CCDC5 + 1A4FA83A5202872B1A8507610383D5D13B010272E102B3694323750D7E426AF2 + F37718E62610165086E9F529F743D08F2540ED3C013BC30106A5DF74356A1632 + 3018FDFE26705EFDBC8FCF2F30921671E02FBE648AC22CC7AE57000000004945 + 4E44AE426082} + Name = 'PngImage1' + Background = clWindow + end> + Left = 232 + Top = 80 + Bitmap = {} + end +end diff --git a/Source/Modulos/Remesas de proveedor/Plugin/uPluginRemesasProveedor.pas b/Source/Modulos/Remesas de proveedor/Plugin/uPluginRemesasProveedor.pas new file mode 100644 index 00000000..2aaca1c3 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Plugin/uPluginRemesasProveedor.pas @@ -0,0 +1,74 @@ +unit uPluginRemesasProveedor; + +interface + +uses + uModuleController, uInterfaces, uHostManager, Menus, Classes, ActnList, + ImgList, Controls, PngImageList; + +type + IMCRemesasProveedor = interface(IInterface) + ['{31B25C1E-2E4B-4C6A-9E8D-D53D62319E4C}'] + end; + + TPluginRemesasProveedor = class(TModuleController, IMCRemesasProveedor) + actRemesasProveedor: TAction; + ExtraImages: TPngImageList; + LargeImages: TPngImageList; + MainMenu: TMainMenu; + ModuleActionList: TActionList; + SmallImages: TPngImageList; + N1: TMenuItem; + RemesasProveedor1: TMenuItem; + procedure actRemesasProveedorExecute(Sender: TObject); + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + end; + +implementation + +{$R *.dfm} + +uses + Forms, Dialogs, SysUtils, + uRemesasProveedorController, uBizRemesasProveedor, uRemesasProveedorViewRegister; + +function GetModule : TModuleController; +begin + Result := TPluginRemesasProveedor.Create(NIL); +end; + +exports + GetModule name GET_MODULE_FUNC; + +procedure TPluginRemesasProveedor.actRemesasProveedorExecute(Sender: TObject); +var + ARemesasProveedorController : IRemesasProveedorController; + ARemesasProveedor : IBizRemesaProveedor; + +begin + ARemesasProveedorController := TRemesasProveedorController.Create; + ARemesasProveedor := (ARemesasProveedorController.BuscarTodos as IBizRemesaProveedor); + ARemesasProveedorController.VerTodos(ARemesasProveedor); +end; + +constructor TPluginRemesasProveedor.Create(AOwner: TComponent); +begin + inherited; + uRemesasProveedorViewRegister.RegisterViews; +end; + +destructor TPluginRemesasProveedor.Destroy; +begin + uRemesasProveedorViewRegister.UnregisterViews; + inherited; +end; + +initialization + RegisterModuleClass(TPluginRemesasProveedor); + +finalization + UnRegisterModuleClass(TPluginRemesasProveedor); + +end. diff --git a/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.dfm b/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.dfm new file mode 100644 index 00000000..e5dfc6e6 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.dfm @@ -0,0 +1,1006 @@ +object RptRemesasProveedor: TRptRemesasProveedor + OldCreateOrder = True + OnCreate = DataModuleCreate + Height = 405 + Width = 447 + object DADataCabecera: TDADataSource + DataTable = tbl_Cabecera + Left = 264 + Top = 72 + end + object DADataDetalles: TDADataSource + DataTable = tbl_Detalles + Left = 344 + Top = 72 + end + object tbl_Cabecera: TDACDSDataTable + RemoteUpdatesOptions = [] + Fields = <> + Params = <> + MasterMappingMode = mmDataRequest + LogChanges = False + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteFetchEnabled = False + SchemaCall.Params = <> + DataRequestCall.Params = <> + DataUpdateCall.Params = <> + ScriptCall.Params = <> + ReadOnly = False + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + IndexDefs = <> + Left = 264 + Top = 128 + end + object tbl_Detalles: TDACDSDataTable + RemoteUpdatesOptions = [] + Fields = <> + Params = <> + MasterMappingMode = mmDataRequest + LogChanges = False + StreamingOptions = [soDisableEventsWhileStreaming] + RemoteFetchEnabled = False + SchemaCall.Params = <> + DataRequestCall.Params = <> + DataUpdateCall.Params = <> + ScriptCall.Params = <> + ReadOnly = False + DetailOptions = [dtCascadeOpenClose, dtCascadeApplyUpdates, dtAutoFetch, dtCascadeDelete, dtCascadeUpdate, dtDisableLogOfCascadeDeletes, dtDisableLogOfCascadeUpdates, dtIncludeInAllInOneFetch] + MasterOptions = [moCascadeOpenClose, moCascadeApplyUpdates, moCascadeDelete, moCascadeUpdate, moDisableLogOfCascadeDeletes, moDisableLogOfCascadeUpdates] + IndexDefs = <> + Left = 344 + Top = 128 + end + object DABINAdapter: TDABINAdapter + Left = 48 + Top = 80 + end + object frxRichObject1: TfrxRichObject + Left = 48 + Top = 296 + end + object frxBarCodeObject1: TfrxBarCodeObject + Left = 144 + Top = 296 + end + object frxOLEObject1: TfrxOLEObject + Left = 48 + Top = 344 + end + object frxCrossObject1: TfrxCrossObject + Left = 144 + Top = 344 + end + object frxCheckBoxObject1: TfrxCheckBoxObject + Left = 256 + Top = 296 + end + object frxGradientObject1: TfrxGradientObject + Left = 360 + Top = 296 + end + object frxChartObject1: TfrxChartObject + Left = 256 + Top = 344 + end + object schReport: TDASchema + ConnectionManager = dmServer.ConnectionManager + DataDictionary = DataDictionary + Datasets = < + item + Params = < + item + Name = 'ID' + DataType = datInteger + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end> + Statements = < + item + Connection = 'IBX' + TargetTable = 'REMESAS_PROVEEDOR' + SQL = + 'SELECT'#10' REMESAS_PROVEEDOR.ID,'#10' REMESAS_PROVEEDOR.ID_EMPRES' + + 'A,'#10' REMESAS_PROVEEDOR.REFERENCIA,'#10' REMESAS_PROVEEDOR.FECHA' + + '_REMESA,'#10' REMESAS_PROVEEDOR.IMPORTE_TOTAL,'#10' EMPRESAS.NOMBR' + + 'E as TITULAR,'#10' EMPRESAS_DATOS_BANCO.ENTIDAD,'#10' EMPRESAS_DAT' + + 'OS_BANCO.SUCURSAL,'#10' EMPRESAS_DATOS_BANCO.DC,'#10' EMPRESAS_DAT' + + 'OS_BANCO.CUENTA,'#10' REMESAS_PROVEEDOR.DESCRIPCION,'#10#10' EMPRESA' + + 'S.NIF_CIF as NIF_CIF_EMPRESA, EMPRESAS.RAZON_SOCIAL,'#10' EMPRESA' + + 'S.CALLE as CALLE_EMPRESA, EMPRESAS.POBLACION as POBLACION_EMPRES' + + 'A,'#10' EMPRESAS.PROVINCIA as PROVINCIA_EMPRESA, EMPRESAS.CODIGO_' + + 'POSTAL as CODIGO_POSTAL_EMPRESA,'#10' EMPRESAS.TELEFONO_1, EMPRES' + + 'AS.FAX, EMPRESAS.MOVIL_1, EMPRESAS.EMAIL_1,'#10' EMPRESAS.PAGINA_' + + 'WEB, EMPRESAS.REGISTRO_MERCANTIL, EMPRESAS.LOGOTIPO'#10#10#10'FROM'#10' REM' + + 'ESAS_PROVEEDOR'#10' LEFT OUTER JOIN EMPRESAS ON (EMPRESAS.ID = REME' + + 'SAS_PROVEEDOR.ID_EMPRESA)'#10' LEFT OUTER JOIN EMPRESAS_DATOS_BANCO' + + ' ON (EMPRESAS_DATOS_BANCO.ID = REMESAS_PROVEEDOR.ID_DATOS_BANCO)' + + #10'WHERE'#10' REMESAS_PROVEEDOR.ID = :ID' + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'ID' + TableField = 'ID' + end + item + DatasetField = 'ID_EMPRESA' + TableField = 'ID_EMPRESA' + end + item + DatasetField = 'REFERENCIA' + TableField = 'REFERENCIA' + end + item + DatasetField = 'FECHA_REMESA' + TableField = 'FECHA_REMESA' + end + item + DatasetField = 'IMPORTE_TOTAL' + TableField = 'IMPORTE_TOTAL' + end + item + DatasetField = 'TITULAR' + TableField = 'TITULAR' + end + item + DatasetField = 'ENTIDAD' + TableField = 'ENTIDAD' + end + item + DatasetField = 'SUCURSAL' + TableField = 'SUCURSAL' + end + item + DatasetField = 'DC' + TableField = 'DC' + end + item + DatasetField = 'CUENTA' + TableField = 'CUENTA' + end + item + DatasetField = 'DESCRIPCION' + TableField = 'DESCRIPCION' + end + item + DatasetField = 'NIF_CIF_EMPRESA' + TableField = 'NIF_CIF_EMPRESA' + end + item + DatasetField = 'RAZON_SOCIAL' + TableField = 'RAZON_SOCIAL' + end + item + DatasetField = 'CALLE_EMPRESA' + TableField = 'CALLE_EMPRESA' + end + item + DatasetField = 'POBLACION_EMPRESA' + TableField = 'POBLACION_EMPRESA' + end + item + DatasetField = 'PROVINCIA_EMPRESA' + TableField = 'PROVINCIA_EMPRESA' + end + item + DatasetField = 'CODIGO_POSTAL_EMPRESA' + TableField = 'CODIGO_POSTAL_EMPRESA' + end + item + DatasetField = 'TELEFONO_1' + TableField = 'TELEFONO_1' + end + item + DatasetField = 'FAX' + TableField = 'FAX' + end + item + DatasetField = 'MOVIL_1' + TableField = 'MOVIL_1' + end + item + DatasetField = 'EMAIL_1' + TableField = 'EMAIL_1' + end + item + DatasetField = 'PAGINA_WEB' + TableField = 'PAGINA_WEB' + end + item + DatasetField = 'REGISTRO_MERCANTIL' + TableField = 'REGISTRO_MERCANTIL' + end + item + DatasetField = 'LOGOTIPO' + TableField = 'LOGOTIPO' + end> + end> + Name = 'Informe_Cabecera' + Fields = < + item + Name = 'ID' + DataType = datInteger + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FECHA_REMESA' + DataType = datDateTime + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'IMPORTE_TOTAL' + DataType = datFloat + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'TITULAR' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ENTIDAD' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'SUCURSAL' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'DC' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'CUENTA' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'NIF_CIF_EMPRESA' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'RAZON_SOCIAL' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'CALLE_EMPRESA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'POBLACION_EMPRESA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'PROVINCIA_EMPRESA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'CODIGO_POSTAL_EMPRESA' + DataType = datString + Size = 10 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'TELEFONO_1' + DataType = datString + Size = 25 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FAX' + DataType = datString + Size = 25 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'MOVIL_1' + DataType = datString + Size = 25 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'EMAIL_1' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'PAGINA_WEB' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'REGISTRO_MERCANTIL' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'LOGOTIPO' + DataType = datBlob + 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 + Name = 'ID_REMESA' + DataType = datInteger + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end> + Statements = < + item + Connection = 'IBX' + TargetTable = 'V_RECIBOS_PROVEEDOR' + SQL = + 'SELECT'#10' V_RECIBOS_PROVEEDOR.ID,'#10' V_RECIBOS_PROVEEDOR.REFER' + + 'ENCIA,'#10' V_RECIBOS_PROVEEDOR.REFERENCIA_PROVEEDOR,'#10' V_RECIB' + + 'OS_PROVEEDOR.SITUACION,'#10' V_RECIBOS_PROVEEDOR.ID_FACTURA,'#10' ' + + 'V_RECIBOS_PROVEEDOR.ID_REMESA,'#10' V_RECIBOS_PROVEEDOR.REFERENCI' + + 'A_REMESA,'#10' V_RECIBOS_PROVEEDOR.FECHA_VENCIMIENTO,'#10' V_RECIB' + + 'OS_PROVEEDOR.DESCRIPCION,'#10' V_RECIBOS_PROVEEDOR.OBSERVACIONES,' + + #10' V_RECIBOS_PROVEEDOR.IMPORTE,'#10' V_RECIBOS_PROVEEDOR.FECHA_' + + 'FACTURA,'#10' V_RECIBOS_PROVEEDOR.FORMA_PAGO_FACTURA,'#10' V_RECIB' + + 'OS_PROVEEDOR.IMPORTE_FACTURA,'#10' V_RECIBOS_PROVEEDOR.ID_EMPRESA' + + ','#10' V_RECIBOS_PROVEEDOR.NOMBRE_PROVEEDOR,'#10' V_RECIBOS_PROVEE' + + 'DOR.NIF_CIF_PROVEEDOR,'#10' V_RECIBOS_PROVEEDOR.ENTIDAD_PROVEEDOR' + + ','#10' V_RECIBOS_PROVEEDOR.SUCURSAL_PROVEEDOR,'#10' V_RECIBOS_PROV' + + 'EEDOR.DC_PROVEEDOR,'#10' V_RECIBOS_PROVEEDOR.CUENTA_PROVEEDOR'#10#10#10'F' + + 'ROM V_RECIBOS_PROVEEDOR'#10'WHERE V_RECIBOS_PROVEEDOR.ID_REMESA = :I' + + 'D_REMESA'#10'ORDER BY FECHA_VENCIMIENTO' + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'ID' + TableField = 'ID' + end + item + DatasetField = 'REFERENCIA' + TableField = 'REFERENCIA' + end + item + DatasetField = 'SITUACION' + TableField = 'SITUACION' + end + item + DatasetField = 'ID_FACTURA' + TableField = 'ID_FACTURA' + end + item + DatasetField = 'ID_REMESA' + TableField = 'ID_REMESA' + end + item + DatasetField = 'REFERENCIA_REMESA' + TableField = 'REFERENCIA_REMESA' + end + item + DatasetField = 'FECHA_VENCIMIENTO' + TableField = 'FECHA_VENCIMIENTO' + end + item + DatasetField = 'DESCRIPCION' + TableField = 'DESCRIPCION' + end + item + DatasetField = 'OBSERVACIONES' + TableField = 'OBSERVACIONES' + end + item + DatasetField = 'IMPORTE' + TableField = 'IMPORTE' + end + item + DatasetField = 'FECHA_FACTURA' + TableField = 'FECHA_FACTURA' + end + item + DatasetField = 'FORMA_PAGO_FACTURA' + TableField = 'FORMA_PAGO_FACTURA' + end + item + DatasetField = 'IMPORTE_FACTURA' + TableField = 'IMPORTE_FACTURA' + end + item + DatasetField = 'ID_EMPRESA' + TableField = 'ID_EMPRESA' + end + item + DatasetField = 'REFERENCIA_PROVEEDOR' + TableField = 'REFERENCIA_PROVEEDOR' + end + item + DatasetField = 'NOMBRE_PROVEEDOR' + TableField = 'NOMBRE_PROVEEDOR' + end + item + DatasetField = 'NIF_CIF_PROVEEDOR' + TableField = 'NIF_CIF_PROVEEDOR' + end + item + DatasetField = 'ENTIDAD_PROVEEDOR' + TableField = 'ENTIDAD_PROVEEDOR' + end + item + DatasetField = 'SUCURSAL_PROVEEDOR' + TableField = 'SUCURSAL_PROVEEDOR' + end + item + DatasetField = 'DC_PROVEEDOR' + TableField = 'DC_PROVEEDOR' + end + item + DatasetField = 'CUENTA_PROVEEDOR' + TableField = 'CUENTA_PROVEEDOR' + end> + end> + Name = 'Informe_Detalles' + Fields = < + item + Name = 'ID' + DataType = datInteger + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'REFERENCIA_PROVEEDOR' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'SITUACION' + DataType = datString + Size = 9 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ID_FACTURA' + DataType = datInteger + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ID_REMESA' + DataType = datInteger + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'REFERENCIA_REMESA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FECHA_VENCIMIENTO' + DataType = datDateTime + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'OBSERVACIONES' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'IMPORTE' + DataType = datFloat + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FECHA_FACTURA' + DataType = datDateTime + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FORMA_PAGO_FACTURA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'IMPORTE_FACTURA' + DataType = datFloat + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'NOMBRE_PROVEEDOR' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'NIF_CIF_PROVEEDOR' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ENTIDAD_PROVEEDOR' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'SUCURSAL_PROVEEDOR' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'DC_PROVEEDOR' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'CUENTA_PROVEEDOR' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + BusinessRulesClient.ScriptLanguage = rslPascalScript + BusinessRulesServer.ScriptLanguage = rslPascalScript + end> + Commands = <> + RelationShips = <> + UpdateRules = <> + Left = 48 + Top = 16 + end + object DataDictionary: TDADataDictionary + Fields = <> + Left = 46 + Top = 158 + end + object frxReport: TfrxReport + Version = '3.23.7' + DotMatrixReport = False + EngineOptions.DoublePass = True + IniFile = '\Software\Fast Reports' + PreviewOptions.Buttons = [pbPrint, pbLoad, pbSave, pbExport, pbZoom, pbFind, pbOutline, pbPageSetup, pbTools, pbEdit, pbNavigator, pbExportQuick] + PreviewOptions.OutlineWidth = 180 + PreviewOptions.Zoom = 1.000000000000000000 + PrintOptions.Printer = 'Default' + ReportOptions.CreateDate = 37871.995398692100000000 + ReportOptions.LastChange = 39252.773046331020000000 + ReportOptions.VersionBuild = '1' + ReportOptions.VersionMajor = '12' + ReportOptions.VersionMinor = '13' + ReportOptions.VersionRelease = '1' + ScriptLanguage = 'PascalScript' + ScriptText.Strings = ( + 'procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);' + 'begin' + + ' Engine.CurY := Engine.CurY + Engine.FreeSpace - ReportSummary1' + + '.Height - 1;' + 'end;' + '' + 'procedure DatosEmpresaOnBeforePrint(Sender: TfrxComponent);' + 'var' + ' Cadena: String;' + 'begin' + ' DatosEmpresa.Lines.Clear;' + ' DatosEmpresa.Lines.Add();' + ' DatosEmpresa.Lines.Add();' + '' + ' Cadena := '#39#39';' + ' if ( <> '#39#39') then' + ' Cadena := '#39'TLF: '#39' + ;' + ' if ( <> '#39#39') then' + ' Cadena := Cadena + '#39' FAX: '#39' + ;' + ' DatosEmpresa.Lines.Add(Cadena);' + '' + ' Cadena := '#39#39';' + ' if ( <> '#39#39') then' + ' Cadena := ;' + ' if ( <> '#39#39') then' + + ' Cadena := Cadena + '#39' '#39' + ;' + ' if ( <> '#39#39') then' + + ' Cadena := Cadena + '#39' - '#39' + ;' + ' DatosEmpresa.Lines.Add(Cadena);' + 'end;' + '' + 'begin' + '' + 'end.') + ShowProgress = False + StoreInDFM = False + Left = 169 + Top = 16 + Datasets = < + item + DataSet = frxDBCabecera + DataSetName = 'frxDBCabecera' + end + item + DataSet = frxDBDetalles + DataSetName = 'frxDBDetalles' + end> + Variables = <> + Style = < + item + Name = 'Concepto normal' + Color = clNone + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Tahoma' + Font.Style = [] + end + item + Name = 'Concepto subtotal' + Color = clNone + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + end + item + Name = 'Cabecera de columna' + Color = 15790320 + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + Frame.Typ = [ftLeft, ftRight, ftTop, ftBottom] + end + item + Name = 'Concepto titulo' + Color = clNone + Font.Charset = ANSI_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [fsBold] + end> + end + object frxDBCabecera: TfrxDBDataset + UserName = 'frxDBCabecera' + CloseDataSource = False + DataSource = DADataCabecera + Left = 264 + Top = 16 + end + object frxDBDetalles: TfrxDBDataset + UserName = 'frxDBDetalles' + CloseDataSource = False + DataSource = DADataDetalles + Left = 344 + Top = 16 + end +end diff --git a/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.pas b/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.pas new file mode 100644 index 00000000..968897ab --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Reports/uRptRemesasProveedor_Server.pas @@ -0,0 +1,93 @@ +unit uRptRemesasProveedor_Server; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, frxClass, frxDBSet, uDAScriptingProvider, + uDADataTable, uDACDSDataTable, DB, uDAClasses, frxChart, frxGradient, + frxChBox, frxCross, frxOLE, frxBarcode, frxRich, uDABINAdapter, uROTypes, + uDAInterfaces; + +type + TRptRemesasProveedor = class(TDataModule) + DADataCabecera: TDADataSource; + DADataDetalles: TDADataSource; + tbl_Cabecera: TDACDSDataTable; + tbl_Detalles: TDACDSDataTable; + DABINAdapter: TDABINAdapter; + frxRichObject1: TfrxRichObject; + frxBarCodeObject1: TfrxBarCodeObject; + frxOLEObject1: TfrxOLEObject; + frxCrossObject1: TfrxCrossObject; + frxCheckBoxObject1: TfrxCheckBoxObject; + frxGradientObject1: TfrxGradientObject; + frxChartObject1: TfrxChartObject; + frxDBCabecera: TfrxDBDataset; + frxDBDetalles: TfrxDBDataset; + schReport: TDASchema; + DataDictionary: TDADataDictionary; + frxReport: TfrxReport; + procedure DataModuleCreate(Sender: TObject); + private + FConnection: IDAConnection; + public + function GenerarRemesa(const ID : Integer): Binary; + end; + +implementation + +{$R *.dfm} + +uses + uDataModuleServer; + +const + rptInforme = 'InfRemesaProveedor.fr3'; + + { Dataset names for schReport } + ds_InformeCabecera = 'Informe_Cabecera'; + ds_InformeDetalles = 'Informe_Detalles'; + + +{ TRptRemesaProveedor } + + +procedure TRptRemesasProveedor.DataModuleCreate(Sender: TObject); +begin + schReport.ConnectionManager := dmServer.ConnectionManager; + FConnection := dmServer.DarNuevaConexion; + frxReport.EngineOptions.NewSilentMode := simReThrow; +end; + +function TRptRemesasProveedor.GenerarRemesa(const ID: Integer): Binary; +var + dsMaster: IDADataset; + dsDetail: IDADataset; + AStream: TMemoryStream; +begin + AStream := TMemoryStream.Create; + Result := Binary.Create; + FConnection.BeginTransaction; + try + dsMaster := schReport.NewDataset(FConnection, ds_InformeCabecera, ['ID'], [ID]); + dsDetail := schReport.NewDataset(FConnection, ds_InformeDetalles, ['ID_REMESA'], [ID], False); + + AStream.Clear; + DABINAdapter.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1); + DABINAdapter.ReadDataset(AStream, tbl_Cabecera, TRUE, '', TRUE, TRUE); + + AStream.Clear; + DABINAdapter.WriteDataset(AStream, dsDetail, [woRows, woSchema], -1); + DABINAdapter.ReadDataset(AStream, tbl_Detalles, TRUE, '', TRUE, TRUE); + + frxReport.LoadFromFile(DarRutaInformes + rptInforme, True); + frxReport.PrepareReport; + frxReport.PreviewPages.SaveToStream(Result); + finally + AStream.Free; + FConnection.RollbackTransaction; + end; +end; + +end. diff --git a/Source/Modulos/Remesas de proveedor/Servidor/srvRemesasProveedor_Impl.dfm b/Source/Modulos/Remesas de proveedor/Servidor/srvRemesasProveedor_Impl.dfm new file mode 100644 index 00000000..e5654c7d --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Servidor/srvRemesasProveedor_Impl.dfm @@ -0,0 +1,1010 @@ +object srvRemesasProveedor: TsrvRemesasProveedor + OldCreateOrder = True + OnCreate = DARemoteServiceCreate + RequiresSession = True + SessionManager = dmServer.SessionManager + AcquireConnection = True + ConnectionName = 'IBX' + ServiceSchema = schRemesasProveedor + ServiceAdapter = DABINAdapter + OnBeforeAcquireConnection = DARemoteServiceBeforeAcquireConnection + OnBeforeGetDatasetData = DARemoteServiceBeforeGetDatasetData + Height = 249 + Width = 343 + object Diagrams: TDADiagrams + Left = 150 + Top = 74 + DiagramData = ''#13#10''#13#10 + end + object DataDictionary: TDADataDictionary + Fields = < + item + Name = 'RemesasCliente_ID' + DataType = datAutoInc + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'ID' + Alignment = taLeftJustify + end + item + Name = 'RemesasCliente_FECHA_REMESA' + DataType = datDateTime + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + end + item + Name = 'RemesasCliente_DESCRIPCION' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + ServerAutoRefresh = True + end + item + Name = 'RemesasCliente_USUARIO' + DataType = datString + Size = 20 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + end + item + Name = 'RemesasCliente_ID_EMPRESA' + DataType = datInteger + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + end + item + Name = 'RemesasCliente_ID_DATOS_BANCO' + DataType = datInteger + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'ID_DATOS_BANCO' + Alignment = taLeftJustify + end + item + Name = 'RemesasCliente_FECHA_ALTA' + DataType = datDateTime + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'FECHA_ALTA' + Alignment = taLeftJustify + end + item + Name = 'RemesasCliente_FECHA_MODIFICACION' + DataType = datDateTime + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'FECHA_MODIFICACION' + Alignment = taLeftJustify + end + item + Name = 'RemesasCliente_NOMBRE' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Banco' + Alignment = taLeftJustify + end + item + Name = 'RemesasCliente_ENTIDAD' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Cod. entidad' + Alignment = taLeftJustify + end + item + Name = 'RemesasCliente_SUCURSAL' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Cod. sucursal' + Alignment = taLeftJustify + end + item + Name = 'RemesasCliente_DC' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'DC' + Alignment = taLeftJustify + end + item + Name = 'RemesasCliente_CUENTA' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Cuenta' + Alignment = taLeftJustify + end + item + Name = 'RemesasCliente_SUFIJO_N19' + DataType = datString + Size = 3 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Sufijo N19' + Alignment = taLeftJustify + end + item + Name = 'RemesasCliente_SUFIJO_N58' + DataType = datString + Size = 3 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Sufijo N58' + Alignment = taLeftJustify + end + item + Name = 'RemesasCliente_Refresh_REFERENCIA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'REFERENCIA' + Alignment = taLeftJustify + ServerAutoRefresh = True + end> + Left = 150 + Top = 22 + end + object schRemesasProveedor: TDASchema + ConnectionManager = dmServer.ConnectionManager + DataDictionary = DataDictionary + Diagrams = Diagrams + Datasets = < + item + Params = < + item + Name = 'CODIGO' + DataType = datString + Size = 50 + BlobType = dabtUnknown + Value = 'REF_REMESAS_CLIENTE' + ParamType = daptInput + end + item + Name = 'EMPRESA' + BlobType = dabtUnknown + Value = '1' + ParamType = daptInput + end> + Statements = < + item + Connection = 'IBX' + TargetTable = 'REFERENCIAS' + SQL = + 'SELECT VALOR'#10'FROM REFERENCIAS'#10'WHERE CODIGO = :CODIGO'#10'AND ID_EMPR' + + 'ESA = :EMPRESA' + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'VALOR' + TableField = 'VALOR' + end> + end> + Name = 'darReferencia' + Fields = < + item + Name = 'VALOR' + DataType = datString + Size = 255 + 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 = < + item + Connection = 'IBX' + TargetTable = 'V_REMESAS_PROVEEDOR' + SQL = + 'SELECT'#10' ID,'#10' ID_EMPRESA,'#10' REFERENCIA,'#10' FECHA_REMESA,'#10' DESCR' + + 'IPCION,'#10' ID_DATOS_BANCO,'#10' FECHA_ALTA,'#10' FECHA_MODIFICACION,'#10' ' + + 'USUARIO,'#10' NOMBRE,'#10' ENTIDAD,'#10' SUCURSAL,'#10' DC,'#10' CUENTA,'#10' SUFI' + + 'JO_N19,'#10' SUFIJO_N58,'#10' IMPORTE_TOTAL'#10'FROM'#10' V_REMESAS_PROVEEDOR' + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'ID' + TableField = 'ID' + end + item + DatasetField = 'ID_EMPRESA' + TableField = 'ID_EMPRESA' + end + item + DatasetField = 'REFERENCIA' + TableField = 'REFERENCIA' + end + item + DatasetField = 'FECHA_REMESA' + TableField = 'FECHA_REMESA' + end + item + DatasetField = 'DESCRIPCION' + TableField = 'DESCRIPCION' + end + item + DatasetField = 'USUARIO' + TableField = 'USUARIO' + end + item + DatasetField = 'ID_DATOS_BANCO' + TableField = 'ID_DATOS_BANCO' + end + item + DatasetField = 'FECHA_ALTA' + TableField = 'FECHA_ALTA' + end + item + DatasetField = 'FECHA_MODIFICACION' + TableField = 'FECHA_MODIFICACION' + end + item + DatasetField = 'IMPORTE_TOTAL' + TableField = 'IMPORTE_TOTAL' + end + item + DatasetField = 'NOMBRE' + TableField = 'NOMBRE' + end + item + DatasetField = 'ENTIDAD' + TableField = 'ENTIDAD' + end + item + DatasetField = 'SUCURSAL' + TableField = 'SUCURSAL' + end + item + DatasetField = 'DC' + TableField = 'DC' + end + item + DatasetField = 'CUENTA' + TableField = 'CUENTA' + end + item + DatasetField = 'SUFIJO_N19' + TableField = 'SUFIJO_N19' + end + item + DatasetField = 'SUFIJO_N58' + TableField = 'SUFIJO_N58' + end> + end> + Name = 'RemesasProveedor' + Fields = < + item + Name = 'ID' + DataType = datAutoInc + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_ID' + InPrimaryKey = True + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_ID_EMPRESA' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + ServerAutoRefresh = True + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FECHA_REMESA' + DataType = datDateTime + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_FECHA_REMESA' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_DESCRIPCION' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'USUARIO' + DataType = datString + Size = 20 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_USUARIO' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ID_DATOS_BANCO' + DataType = datInteger + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_ID_DATOS_BANCO' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_FECHA_ALTA' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_FECHA_MODIFICACION' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'IMPORTE_TOTAL' + DataType = datFloat + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Importe total' + Alignment = taRightJustify + ServerAutoRefresh = True + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'NOMBRE' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_NOMBRE' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ENTIDAD' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_ENTIDAD' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'SUCURSAL' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_SUCURSAL' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'DC' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_DC' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'CUENTA' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_CUENTA' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'SUFIJO_N19' + DataType = datString + Size = 3 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_SUFIJO_N19' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'SUFIJO_N58' + DataType = datString + Size = 3 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_SUFIJO_N58' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + BusinessRulesClient.ScriptLanguage = rslPascalScript + BusinessRulesServer.ScriptLanguage = rslPascalScript + end + item + Params = < + item + Name = 'ID' + DataType = datInteger + BlobType = dabtUnknown + Value = '22' + ParamType = daptInput + end> + Statements = < + item + Connection = 'IBX' + TargetTable = 'V_REMESAS_PROVEEDOR' + SQL = + 'SELECT'#10' ID,'#10' ID_EMPRESA,'#10' REFERENCIA,'#10' FECHA_REMESA,'#10' DESCR' + + 'IPCION,'#10' ID_DATOS_BANCO,'#10' FECHA_ALTA,'#10' FECHA_MODIFICACION,'#10' ' + + 'USUARIO,'#10' NOMBRE,'#10' ENTIDAD,'#10' SUCURSAL,'#10' DC,'#10' CUENTA,'#10' SUFI' + + 'JO_N19,'#10' SUFIJO_N58,'#10' IMPORTE_TOTAL'#10'FROM'#10' V_REMESAS_PROVEEDOR' + + #10'WHERE ID = :ID' + StatementType = stSQL + ColumnMappings = < + item + DatasetField = 'ID' + TableField = 'ID' + end + item + DatasetField = 'REFERENCIA' + TableField = 'REFERENCIA' + end + item + DatasetField = 'FECHA_REMESA' + TableField = 'FECHA_REMESA' + end + item + DatasetField = 'DESCRIPCION' + TableField = 'DESCRIPCION' + end + item + DatasetField = 'USUARIO' + TableField = 'USUARIO' + end + item + DatasetField = 'ID_EMPRESA' + TableField = 'ID_EMPRESA' + SQLOrigin = 'REMESAS_CLIENTE.ID_EMPRESA' + end + item + DatasetField = 'IMPORTE_TOTAL' + TableField = 'IMPORTE_TOTAL' + end + item + DatasetField = 'ID_DATOS_BANCO' + TableField = 'ID_DATOS_BANCO' + end + item + DatasetField = 'FECHA_ALTA' + TableField = 'FECHA_ALTA' + end + item + DatasetField = 'FECHA_MODIFICACION' + TableField = 'FECHA_MODIFICACION' + end + item + DatasetField = 'NOMBRE' + TableField = 'NOMBRE' + end + item + DatasetField = 'ENTIDAD' + TableField = 'ENTIDAD' + end + item + DatasetField = 'SUCURSAL' + TableField = 'SUCURSAL' + end + item + DatasetField = 'DC' + TableField = 'DC' + end + item + DatasetField = 'CUENTA' + TableField = 'CUENTA' + end + item + DatasetField = 'SUFIJO_N19' + TableField = 'SUFIJO_N19' + end + item + DatasetField = 'SUFIJO_N58' + TableField = 'SUFIJO_N58' + end> + end> + Name = 'RemesasProveedor_Refresh' + Fields = < + item + Name = 'ID' + DataType = datAutoInc + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_ID' + InPrimaryKey = True + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_ID_EMPRESA' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DisplayWidth = 0 + Alignment = taLeftJustify + ServerAutoRefresh = True + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FECHA_REMESA' + DataType = datDateTime + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_FECHA_REMESA' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_DESCRIPCION' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'USUARIO' + DataType = datString + Size = 20 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_USUARIO' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ID_DATOS_BANCO' + DataType = datInteger + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_ID_DATOS_BANCO' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_FECHA_ALTA' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_FECHA_MODIFICACION' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'IMPORTE_TOTAL' + DataType = datFloat + BlobType = dabtUnknown + DisplayWidth = 0 + DisplayLabel = 'Importe total' + Alignment = taRightJustify + ServerAutoRefresh = True + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'NOMBRE' + DataType = datString + Size = 255 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_NOMBRE' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'ENTIDAD' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_ENTIDAD' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'SUCURSAL' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_SUCURSAL' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'DC' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_DC' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'CUENTA' + DataType = datString + Size = 15 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_CUENTA' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'SUFIJO_N19' + DataType = datString + Size = 3 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_SUFIJO_N19' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end + item + Name = 'SUFIJO_N58' + DataType = datString + Size = 3 + BlobType = dabtUnknown + DictionaryEntry = 'RemesasCliente_SUFIJO_N58' + InPrimaryKey = False + Calculated = False + Lookup = False + LookupCache = False + end> + BusinessRulesClient.ScriptLanguage = rslPascalScript + BusinessRulesServer.ScriptLanguage = rslPascalScript + end> + Commands = < + item + Params = < + item + Name = 'VALOR' + DataType = datString + Size = 255 + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'CODIGO' + DataType = datString + Size = 50 + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end> + Statements = < + item + Connection = 'IBX' + TargetTable = 'REFERENCIAS' + SQL = + 'UPDATE REFERENCIAS SET'#10' VALOR = :VALOR'#10'WHERE CODIGO = :COD' + + 'IGO AND'#10' ID_EMPRESA = :ID_EMPRESA' + StatementType = stSQL + ColumnMappings = <> + end> + Name = 'ModificarReferencia' + end + item + Params = < + item + Name = 'ID' + DataType = datInteger + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'FECHA_REMESA' + DataType = datDateTime + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'USUARIO' + DataType = datString + Size = 20 + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'ID_DATOS_BANCO' + DataType = datInteger + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end> + Statements = < + item + Connection = 'IBX' + TargetTable = 'REMESAS_PROVEEDOR' + SQL = + 'INSERT'#10' INTO REMESAS_PROVEEDOR'#10' (ID, REFERENCIA, FECHA_REMES' + + 'A, DESCRIPCION, USUARIO, ID_EMPRESA,'#10' ID_DATOS_BANCO, FECHA_' + + 'ALTA, FECHA_MODIFICACION)'#10' VALUES'#10' (:ID, :REFERENCIA, :FECHA' + + '_REMESA, :DESCRIPCION, :USUARIO,'#10' :ID_EMPRESA, :ID_DATOS_BAN' + + 'CO, :FECHA_ALTA,'#10' :FECHA_MODIFICACION)' + StatementType = stSQL + ColumnMappings = <> + end> + Name = 'Insert_RemesasProveedor' + end + item + Params = < + item + Name = 'OLD_ID' + DataType = datInteger + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end> + Statements = < + item + Connection = 'IBX' + TargetTable = 'REMESAS_PROVEEDOR' + SQL = 'DELETE '#10' FROM'#10' REMESAS_PROVEEDOR'#10' WHERE'#10' (ID = :OLD_ID)' + StatementType = stSQL + ColumnMappings = <> + end> + Name = 'Delete_RemesasProveedor' + end + item + Params = < + item + Name = 'REFERENCIA' + DataType = datString + Size = 255 + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'FECHA_REMESA' + DataType = datDateTime + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'DESCRIPCION' + DataType = datString + Size = 255 + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'USUARIO' + DataType = datString + Size = 20 + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'ID_EMPRESA' + DataType = datInteger + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'ID_DATOS_BANCO' + DataType = datInteger + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'FECHA_ALTA' + DataType = datDateTime + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'FECHA_MODIFICACION' + DataType = datDateTime + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end + item + Name = 'OLD_ID' + DataType = datInteger + BlobType = dabtUnknown + Value = '' + ParamType = daptInput + end> + Statements = < + item + Connection = 'IBX' + TargetTable = 'REMESAS_PROVEEDOR' + SQL = + 'UPDATE REMESAS_PROVEEDOR'#10' SET '#10' REFERENCIA = :REFERENCIA, '#10' ' + + ' FECHA_REMESA = :FECHA_REMESA, '#10' DESCRIPCION = :DESCRIPCION' + + ', '#10' USUARIO = :USUARIO, '#10' ID_EMPRESA = :ID_EMPRESA, '#10' I' + + 'D_DATOS_BANCO = :ID_DATOS_BANCO,'#10' FECHA_ALTA = :FECHA_ALTA, '#10 + + ' FECHA_MODIFICACION = :FECHA_MODIFICACION'#10' WHERE'#10' (ID = :' + + 'OLD_ID)' + StatementType = stSQL + ColumnMappings = <> + end> + Name = 'Update_RemesasProveedor' + end> + RelationShips = <> + UpdateRules = <> + Left = 48 + Top = 24 + end + object DABINAdapter: TDABINAdapter + Left = 48 + Top = 72 + end + object bpRemesasProveedor: TDABusinessProcessor + Schema = schRemesasProveedor + InsertCommandName = 'Insert_RemesasProveedor' + DeleteCommandName = 'Delete_RemesasProveedor' + UpdateCommandName = 'Update_RemesasProveedor' + RefreshDatasetName = 'RemesasProveedor_Refresh' + ReferencedDataset = 'RemesasProveedor' + ProcessorOptions = [poPrepareCommands] + UpdateMode = updWhereKeyOnly + Left = 248 + Top = 24 + end +end diff --git a/Source/Modulos/Remesas de proveedor/Servidor/srvRemesasProveedor_Impl.pas b/Source/Modulos/Remesas de proveedor/Servidor/srvRemesasProveedor_Impl.pas new file mode 100644 index 00000000..ee671067 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Servidor/srvRemesasProveedor_Impl.pas @@ -0,0 +1,101 @@ +unit srvRemesasProveedor_Impl; + +{----------------------------------------------------------------------------} +{ This unit was automatically generated by the RemObjects SDK after reading } +{ the RODL file associated with this project . } +{ } +{ This is where you are supposed to code the implementation of your objects. } +{----------------------------------------------------------------------------} + +interface + +uses + {vcl:} Classes, SysUtils, + {RemObjects:} uROClientIntf, uROTypes, uROServer, uROServerIntf, uROSessions, + {Ancestor Implementation:} DARemoteService_Impl, + {Used RODLs:} DataAbstract_Intf, + {Generated:} FactuGES_Intf, uDADataTable, uDABINAdapter, uDAClasses, + uDAScriptingProvider, uDABusinessProcessor, uDAInterfaces; + +type + { TsrvRemesasProveedor } + TsrvRemesasProveedor = class(TDARemoteService, IsrvRemesasProveedor) + Diagrams: TDADiagrams; + DABINAdapter: TDABINAdapter; + bpRemesasProveedor: TDABusinessProcessor; + schRemesasProveedor: TDASchema; + DataDictionary: TDADataDictionary; + procedure DARemoteServiceBeforeAcquireConnection(Sender: TDARemoteService; + var ConnectionName: string); + procedure DARemoteServiceCreate(Sender: TObject); + procedure DARemoteServiceBeforeGetDatasetData(const Dataset: IDADataset; + const IncludeSchema: Boolean; const MaxRecords: Integer); + private + protected + { IsrvRemesasProveedor methods } + function GetNextAutoInc(const GeneratorName: String): Integer; + function GenerateReport(const ID: Integer): Binary; + end; + +implementation + +{$R *.dfm} +uses + {Generated:} FactuGES_Invk, uDataModuleServer, + uDatabaseUtils, schRemesasProveedorClient_Intf, uRestriccionesUsuarioUtils, + uBizRemesasProveedorServer, uRptRemesasProveedor_Server, Dialogs; + +procedure Create_srvRemesasProveedor(out anInstance : IUnknown); +begin + anInstance := TsrvRemesasProveedor.Create(NIL); +end; + +{ srvRemesasProveedor } +procedure TsrvRemesasProveedor.DARemoteServiceBeforeAcquireConnection( + Sender: TDARemoteService; var ConnectionName: string); +begin + ConnectionName := dmServer.ConnectionName; +end; + +procedure TsrvRemesasProveedor.DARemoteServiceBeforeGetDatasetData( + const Dataset: IDADataset; const IncludeSchema: Boolean; + const MaxRecords: Integer); +begin + if DataSet.Name = nme_RemesasProveedor then + begin + { Aquí se asegura que el usuario sólo accede a los RemesasProveedor + de las empresas a las que tiene permiso para acceder + filtrando DataSet por ID_EMPRESA. } + FiltrarAccesoUsuario(Session, Connection, schRemesasProveedor, DataSet, fld_RemesasProveedorID_EMPRESA); + end; +end; + +procedure TsrvRemesasProveedor.DARemoteServiceCreate(Sender: TObject); +begin + SessionManager := dmServer.SessionManager; + bpRemesasProveedor.BusinessRulesID := BIZ_SERVER_REMESAS_PROVEEDOR; +end; + +function TsrvRemesasProveedor.GenerateReport(const ID: Integer): Binary; +var + AReportGenerator : TRptRemesasProveedor; +begin + AReportGenerator := TRptRemesasProveedor.Create(nil); + try + Result := AReportGenerator.GenerarRemesa(ID); + finally + FreeAndNIL(AReportGenerator); + end; +end; + +function TsrvRemesasProveedor.GetNextAutoInc(const GeneratorName: String): Integer; +begin + Result := uDatabaseUtils.GetNextAutoInc(GeneratorName) +end; + +initialization + TROClassFactory.Create('srvRemesasProveedor', Create_srvRemesasProveedor, TsrvRemesasProveedor_Invoker); + +finalization + +end. diff --git a/Source/Modulos/Remesas de proveedor/Views/RemesasProveedor_view.bdsproj b/Source/Modulos/Remesas de proveedor/Views/RemesasProveedor_view.bdsproj new file mode 100644 index 00000000..4207930f --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Views/RemesasProveedor_view.bdsproj @@ -0,0 +1,492 @@ + + + + + + + + + + + + RemesasProveedor_view.dpk + + + 7.0 + + + 8 + 0 + 1 + 1 + 0 + 0 + 1 + 1 + 1 + 0 + 0 + 1 + 0 + 1 + 0 + 1 + 0 + 0 + 0 + 0 + 0 + 1 + 1 + 1 + 1 + 1 + True + True + WinTypes=Windows;WinProcs=Windows;DbiTypes=BDE;DbiProcs=BDE;DbiErrs=BDE; + + False + + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + True + False + False + False + True + True + True + True + True + True + + + + 0 + 0 + False + 1 + True + False + False + 16384 + 1048576 + 4194304 + + + + + .\ + ..\..\..\..\Output\Debug\Cliente + ..\..\Lib + ..\..\..\Lib;..\..\Lib + + + + False + + + + + + False + + + True + False + + + + $00000000 + + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 3082 + 1252 + + + + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + diff --git a/Source/Modulos/Remesas de proveedor/Views/RemesasProveedor_view.dpk b/Source/Modulos/Remesas de proveedor/Views/RemesasProveedor_view.dpk new file mode 100644 index 00000000..c65b6c55 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Views/RemesasProveedor_view.dpk @@ -0,0 +1,97 @@ +package RemesasProveedor_view; + +{$R *.res} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO ON} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS ON} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION OFF} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO ON} +{$SAFEDIVIDE OFF} +{$STACKFRAMES ON} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$IMPLICITBUILD OFF} + +requires + rtl, + vcl, + dbrtl, + cxLibraryD10, + dxThemeD10, + cxEditorsD10, + cxDataD10, + vcljpg, + vcldb, + cxGridD10, + cxPageControlD10, + cxExtEditorsD10, + vclx, + cxExportD10, + dxPSCoreD10, + dxComnD10, + dxPScxCommonD10, + dxPSLnksD10, + designide, + xmlrtl, + vclactnband, + vclshlctrls, + dxPScxGridLnkD10, + dclcxLibraryD10, + JvCoreD10R, + Jcl, + JclVcl, + JvAppFrmD10R, + JvSystemD10R, + PngComponentsD10, + PNG_D10, + dsnap, + adortl, + Familias_model, + Familias_controller, + tbx_d10, + tb2k_d10, + JvPageCompsD10R, + JvStdCtrlsD10R, + dxLayoutControlD10, + GUISDK_D10, + ccpack10, + cfpack_d10, + JvGlobusD10R, + VclSmp, + bdertl, + vclie, + frx10, + fs10, + fqb100, + frxe10, + frxTee10, + fsTee10, + tee, + teeui, + teedb, + RemesasProveedor_model, + RemesasProveedor_controller, + RemesasProveedor_data; + +contains + uViewRemesasProveedor in 'uViewRemesasProveedor.pas' {frViewRemesasProveedor: TFrame}, + uEditorRemesasProveedor in 'uEditorRemesasProveedor.pas' {fEditorRemesasProveedor: TfEditorArticulos}, + uRemesasProveedorViewRegister in 'uRemesasProveedorViewRegister.pas', + uViewRemesaProveedor in 'uViewRemesaProveedor.pas' {frViewRemesaProveedor: TFrame}, + uEditorRemesaProveedor in 'uEditorRemesaProveedor.pas' {fEditorRemesaProveedor: TfEditorRemesaCliente}, + uEditorRemesaProveedorReport in 'uEditorRemesaProveedorReport.pas' {fEditorRemesaProveedorPreview: TfEditorRemesaClienteReport}, + uViewRecibosRemesaProveedor in 'uViewRecibosRemesaProveedor.pas' {frViewRecibosRemesaProveedor: TFrame}; + +end. diff --git a/Source/Modulos/Remesas de proveedor/Views/RemesasProveedor_view.rc b/Source/Modulos/Remesas de proveedor/Views/RemesasProveedor_view.rc new file mode 100644 index 00000000..e69de29b diff --git a/Source/Modulos/Remesas de proveedor/Views/RemesasProveedor_view.res b/Source/Modulos/Remesas de proveedor/Views/RemesasProveedor_view.res new file mode 100644 index 00000000..36f26e23 Binary files /dev/null and b/Source/Modulos/Remesas de proveedor/Views/RemesasProveedor_view.res differ diff --git a/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedor.dfm b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedor.dfm new file mode 100644 index 00000000..3de62889 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedor.dfm @@ -0,0 +1,1776 @@ +inherited fEditorRemesaProveedor: TfEditorRemesaProveedor + Left = 374 + Top = 273 + HorzScrollBar.Visible = False + VertScrollBar.Visible = False + Caption = 'Ficha de remesa de pago' + ClientHeight = 538 + ClientWidth = 676 + Scaled = False + OnClose = CustomEditorClose + ExplicitWidth = 684 + ExplicitHeight = 572 + PixelsPerInch = 96 + TextHeight = 13 + inherited JvNavPanelHeader: TJvNavPanelHeader + Width = 676 + Caption = 'Remesa de pago' + ExplicitWidth = 676 + inherited Image1: TImage + Left = 649 + Picture.Data = { + 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800 + 0000180806000000E0773DF80000000970485973000017120000171201679FD2 + 520000000467414D410000B18E7CFB5193000002744944415478DA63FCFFFF3F + 032D01E3F0B060F9D6D334B3056E41A4B729491AFFFCFDCFF0F7EF3F869FBFFE + 80E93FFFFE8169301B887FFDFECB109E5E876A41E249438206FF05AAFFF5F72F + C3AF3F7FC0F4975FBF207C10065A02932BFAB59C61DED24D9816CC373F8F6291 + F45B6F8626CF660C8BFE010D0361CFD5F60C1F791E800DBF14F0824169A520D8 + 928ABFAB705B00022036B2E11718CF33189F346660B809E4A833309C353FCBA0 + F9438BE117D007415B3C189EB2DF66B811FC1AAC566C3137431DC35AFC3E8019 + CE7C8A89E1AFD93F300D32FC6CDC5906E379408BB419183EEB7C61E0BDC2C3F0 + 5AE50D43F84E5F86BD51C718841771817DD0CEB211BB05E841C3BC1C684124D0 + 82C54C10C39719339C8D02D2B38C193E447C6410D8C2CFF0C2E52543D49E0086 + 0B7F2EC0E3A3977D0B911620FBE02A508203887F30807DF056ED1D83F02D2186 + 27324F18E20E86329CFA79166EC164AEEDF82D40B6E42F50C365964B9038B808 + 94D087C481DC5B79869F3F7E60180E02382D404E4520C58A1FFC186A9C6BC196 + FC03A7F5BF700CE247EF0D841BFE33E50F03E34C46FC16C0003C6D03B1CCB31F + 0C5325B4B1E60BDE877B505C0E03582D40CFA57FA039F3EA444D0609A7200645 + CB1E86FBC74BC06A5EDC0726E7FBF719E6EE7BCE30A7DA09C3E2294F73312D98 + B2780756570A7E3BC7A0F4660ED8307450DD928DD3E273AC89080BBA27CF2758 + 4C9C2B7B88553CA5751FA65AA0E12000B680919191A0E1C75A14FF93124C404B + C3E6EEFBB19A140B4281D42A6CC13467EF77AC96022D6024CA0290E196969AAB + B0C91D3F7E1D6BDC008101D0828BC45A803778402EC5A597681FE00A1E200087 + 355E0B6809686E0100FA3E2AAB1481BE0E0000000049454E44AE426082} + ExplicitLeft = 607 + end + end + inherited TBXDock: TTBXDock + Width = 676 + ExplicitWidth = 676 + inherited tbxMain: TTBXToolbar + ExplicitWidth = 482 + inherited TBXItem2: TTBXItem + Visible = False + end + inherited TBXItem5: TTBXItem + Visible = False + end + object TBXSeparatorItem6: TTBXSeparatorItem [11] + end + object TBXItem33: TTBXItem [12] + Action = actVolcarDisco + DisplayMode = nbdmImageAndText + end + end + inherited tbxMenu: TTBXToolbar + DockPos = 0 + ExplicitWidth = 676 + inherited TBXSubmenuItem4: TTBXSubmenuItem + inherited TBXItem8: TTBXItem + Visible = False + end + inherited TBXSeparatorItem5: TTBXSeparatorItem + Visible = False + end + inherited TBXItem10: TTBXItem + Visible = False + end + inherited TBXItem21: TTBXItem + Visible = False + end + inherited TBXItem22: TTBXItem + Visible = False + end + inherited TBXItem9: TTBXItem + Visible = False + end + end + inherited TBXSubmenuItem1: TTBXSubmenuItem + inherited TBXItem32: TTBXItem + Visible = False + end + inherited TBXItem31: TTBXItem + Visible = False + end + inherited TBXSeparatorItem13: TTBXSeparatorItem + Visible = False + end + end + object TBXSubmenuItem2: TTBXSubmenuItem [4] + Caption = 'A&cciones' + object TBXItem7: TTBXItem + Action = actVolcarDisco + end + end + end + end + inherited pgPaginas: TPageControl + Width = 676 + Height = 397 + MultiLine = True + ExplicitWidth = 676 + ExplicitHeight = 397 + inherited pagGeneral: TTabSheet + ExplicitLeft = 4 + ExplicitTop = 24 + ExplicitWidth = 668 + ExplicitHeight = 369 + inline frViewRecibosRemesaProveedor1: TfrViewRecibosRemesaProveedor + Left = 0 + Top = 130 + Width = 668 + Height = 239 + Align = alClient + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + TabOrder = 0 + ReadOnly = False + ExplicitTop = 130 + ExplicitWidth = 668 + ExplicitHeight = 239 + inherited cxGrid: TcxGrid + Width = 668 + Height = 214 + ExplicitWidth = 668 + ExplicitHeight = 214 + inherited cxGridView: TcxGridDBTableView + DataController.Summary.FooterSummaryItems = < + item + Format = ',0.00 '#8364';-,0.00 '#8364 + Kind = skSum + Column = frViewRecibosRemesaProveedor1.cxGridViewIMPORTE_TOTAL + end> + DataController.Summary.OnAfterSummary = frViewRecibosRemesaProveedor1cxGridViewDataControllerSummaryAfterSummary + end + end + inherited ToolBar1: TToolBar + Width = 668 + ExplicitWidth = 668 + end + end + inline frViewRemesaProveedor1: TfrViewRemesaProveedor + Left = 0 + Top = 0 + Width = 668 + Height = 130 + Align = alTop + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + TabOrder = 1 + ReadOnly = False + ExplicitWidth = 668 + ExplicitHeight = 130 + inherited dxLayoutControlRemesaProveedor: TdxLayoutControl + Width = 668 + Height = 130 + ExplicitWidth = 668 + ExplicitHeight = 130 + inherited eReferencia: TcxDBTextEdit + ExplicitWidth = 164 + Width = 164 + end + inherited eDescripcion: TcxDBTextEdit + ExplicitWidth = 108 + Width = 108 + end + inherited edtFechaRemesa: TcxDBDateEdit + Left = 419 + ExplicitLeft = 419 + ExplicitWidth = 170 + Width = 170 + end + inherited cbCuentaBancaria: TcxDBLookupComboBox + ExplicitWidth = 39 + Width = 39 + end + end + end + end + end + inherited StatusBar: TJvStatusBar + Top = 519 + Width = 676 + Panels = < + item + Width = 200 + end> + ExplicitTop = 519 + ExplicitWidth = 676 + end + inline frViewTotales1: TfrViewTotales [4] + Left = 0 + Top = 473 + Width = 676 + Height = 46 + Align = alBottom + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + TabOrder = 4 + ReadOnly = False + ExplicitTop = 473 + ExplicitWidth = 676 + ExplicitHeight = 46 + inherited dxLayoutControl1: TdxLayoutControl + Width = 676 + ExplicitWidth = 676 + inherited Bevel1: TBevel + Left = 92 + Top = 91 + Width = 73 + ExplicitLeft = 92 + ExplicitTop = 91 + ExplicitWidth = 73 + end + inherited Bevel3: TBevel + Left = 336 + Top = 10 + Height = 30 + ExplicitLeft = 336 + ExplicitTop = 10 + ExplicitHeight = 30 + end + inherited Bevel4: TBevel + Left = 448 + Top = 91 + Width = 192 + ExplicitLeft = 448 + ExplicitTop = 91 + ExplicitWidth = 192 + end + inherited ImporteDto: TcxDBCurrencyEdit + Left = 163 + Top = 111 + DataBinding.DataField = '' + Style.IsFontAssigned = True + ExplicitLeft = 163 + ExplicitTop = 111 + ExplicitWidth = 93 + Width = 93 + end + inherited ImporteIVA: TcxDBCurrencyEdit + Left = 519 + Top = 37 + DataBinding.DataField = '' + Style.IsFontAssigned = True + ExplicitLeft = 519 + ExplicitTop = 37 + ExplicitWidth = 137 + Width = 137 + end + inherited ImporteTotal: TcxDBCurrencyEdit + Left = 449 + Top = 111 + Style.IsFontAssigned = True + ExplicitLeft = 449 + ExplicitTop = 111 + ExplicitWidth = 137 + Width = 137 + end + inherited edtDescuento: TcxDBSpinEdit + Left = 92 + Top = 111 + DataBinding.DataField = '' + Style.IsFontAssigned = True + ExplicitLeft = 92 + ExplicitTop = 111 + end + inherited edtIVA: TcxDBSpinEdit + Left = 448 + Top = 37 + DataBinding.DataField = '' + Style.IsFontAssigned = True + ExplicitLeft = 448 + ExplicitTop = 37 + end + inherited ImporteBase: TcxDBCurrencyEdit + Left = 448 + Top = 10 + DataBinding.DataField = '' + Style.IsFontAssigned = True + ExplicitLeft = 448 + ExplicitTop = 10 + ExplicitWidth = 92 + Width = 92 + end + inherited edtRE: TcxDBSpinEdit + Left = 448 + Top = 64 + DataBinding.DataField = '' + Style.IsFontAssigned = True + ExplicitLeft = 448 + ExplicitTop = 64 + end + inherited ImporteRE: TcxDBCurrencyEdit + Left = 519 + Top = 64 + DataBinding.DataField = '' + Style.IsFontAssigned = True + ExplicitLeft = 519 + ExplicitTop = 64 + ExplicitWidth = 56 + Width = 56 + end + inherited eImporteNeto: TcxDBCurrencyEdit + Left = 92 + Top = 10 + DataBinding.DataField = '' + Style.IsFontAssigned = True + ExplicitLeft = 92 + ExplicitTop = 10 + ExplicitWidth = 147 + Width = 147 + end + inherited ePorte: TcxDBCurrencyEdit + Left = 92 + Top = 138 + DataBinding.DataField = '' + Style.IsFontAssigned = True + ExplicitLeft = 92 + ExplicitTop = 138 + ExplicitWidth = 147 + Width = 147 + end + inherited eIVA: TcxDBLookupComboBox + Left = 92 + Top = 37 + DataBinding.DataField = '' + ExplicitLeft = 92 + ExplicitTop = 37 + ExplicitWidth = 81 + Width = 81 + end + inherited bTiposIVA: TButton + Left = 188 + Top = 37 + ExplicitLeft = 188 + ExplicitTop = 37 + end + inherited cbRecargoEquivalencia: TcxDBCheckBox + Left = 92 + Top = 64 + DataBinding.DataField = '' + ExplicitLeft = 92 + ExplicitTop = 64 + ExplicitWidth = 219 + Width = 219 + end + inherited dxLayoutControl1Group_Root: TdxLayoutGroup + inherited dxLayoutControl1Group1: TdxLayoutGroup + ShowCaption = False + ShowBorder = False + inherited dxLayoutControl1Group2: TdxLayoutGroup + Visible = False + end + inherited dxLayoutControl1Group5: TdxLayoutGroup + inherited dxLayoutControl1Item13: TdxLayoutItem + Visible = False + end + inherited dxLayoutControl1Group3: TdxLayoutGroup + inherited dxLayoutControl1Item12: TdxLayoutItem + Visible = False + end + inherited dxLayoutControl1Group9: TdxLayoutGroup + Visible = False + end + inherited dxLayoutControl1Group8: TdxLayoutGroup + Visible = False + end + inherited dxLayoutControl1Item14: TdxLayoutItem + Visible = False + end + end + end + end + end + end + end + inherited EditorActionList: TActionList [5] + Left = 96 + Top = 168 + object actVolcarDisco: TAction + Category = 'Acciones' + Caption = 'Volcar a disco...' + ImageIndex = 22 + Visible = False + OnExecute = actVolcarDiscoExecute + OnUpdate = actVolcarDiscoUpdate + end + end + inherited SmallImages: TPngImageList [6] + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD252000001754944415478DA6364C001D6ECBE900CA4E640B9 + 2921AE0673B1A963C4A739C8598FE1DB8FDF0C33966C67505054C06A08232ECD + 3EF6BA0C250B7F315C7FF88F6179E15F86456BF76135841197CD79737F324C4E + E1008BF345BC63B833959561F13A4C4318D13507BBE833E4CEF9C160ACC1C290 + 60C30296734D5FCD70F2A333564318B1D90CD20C02D72E9C04D33C92A60CAFDF + FF6358B8E71B86218CE87E866986D90E738186A92FC397EF0C0C6B8FA21A0232 + E03FBACD5FBEFF07E30A3F36B801323ABE0C3F7FFF67F8FE938161EFC5EF7043 + C00678586B32F8B7FD61887167836BFEF59B81A12E186180A8BA0F58F3E76FFF + 194EDDFE0136A07DDA1AB001C90FEE3F98131BE4C4A092FD9BA12A8A07AC19E4 + 67582C800CE051F0C1D06C636994020F44902171214E0CCA99BF19E25DB8E09A + 91C301161330CDE040448E46649764D85C473160C6114D0CCD581312B221CEFA + 9C589D8D3521E13204047069C69B99608680002ECD380D4036E4C98B77383583 + 000005100EB8572466A60000000049454E44AE426082} + Name = 'PngImage1' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001074944415478DA + 63FCFFFF3F032580912A06303232E2543079D1766F201505C520B02C37CE331A + C400EBC5670054F3960057330631617E0690B2F357EF336CDA7786A1B5289211 + AF01C89A254505183E7FFDC1F0F5DB0F06311101A021F7184E5DBA733927D643 + 0FAB01E89ADF7EF802D6FCF5FB4F866F406CA6AFC21095DBC6B06C7215238601 + C4689EB27807C3B153E7300D2056F38B371F18B62EDA79EDFCF9F9DA700348D4 + CC70E1C2024420022548D68C128D40C906A0E67A5234631860A6A752AF202346 + B466740396C2521AD020B0A49EA622C39C95BB716AC64889C0405C0A541C2501 + 4C2830804F33D6A40C8A09A0A62DF7EEDD03F3AF1FB98D372301A39191E2DC08 + 0029AC32F01825AACD0000000049454E44AE426082} + Name = 'PngImage2' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001514944415478DA + 635CB5E3DC7F062C20CCC388918108C0083220D4DD104570F5CEF30CEDFDB319 + CEEF9C4ED0109C06D818AB3278C7941134046E40CBAA0760819A3005B80B6000 + 9F21182EF8F1F30F10FF86E05F7F1882926B883300E60264C0C1805D5F69B802 + 238601E836FF04E2CDA7BF339484C9A368EE59F59261D9C1BB0CE7A75933C20D + F0B4D56698B0E5195617601AF09021DA4998C1297307C38D35A18C60031CCDD4 + C036FF84DAFCE7EF3F307DF0FA7FB001112D57C09A57D4E8800D98BBFA346A18 + 58EA2BC235C39C0FC2671EB0A2B8E0DBCF7F0C5F7FFE05E27F60B65DE26C8801 + 7316ADC11A58AEFE69282E4009C8284506F7F4B90C781349F7CA07FF4106A0DB + FCFD171003E980BCF9840D48F5916148EFBB8E2197EC2BCB1059B290B001512E + 92609BC1B602F1EF3FFFC1F437204EAE5A4CD8007F5B71B8E66F480681407AED + 12C20674CCDE884F0903000B1A00979E81F9710000000049454E44AE426082} + Name = 'PngImage3' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000E9C00000E9C01079453DD000002574944415478DA + 63FCFFFF3F03258011D9004646468696696B17FFFECAD0DE581A7C0D596155CF + 0AF77F7FFFD975944755A3E8413760EA929DAF393938D62785D8A7C1C48BBB17 + 711BABAB5C7AF9F6FDDFC2446F354206BC75B6D4E35ABCFE90536B49F87190F8 + E4853B2779DA1BE46EDE7FE62ED00015BC06F4CFDBBA24CACF26FAD0A99B5B42 + BDCC7C6BFA563B057B986FFDFDE72FC7D20D072B26D62574E235A0A26DA999B0 + 98E0F2607713F9251B8E85692A4B5698E9AB9AAEDA7EE2DEBB571F3DDAAB226F + E33500044A3B979507B898B6BF78F3FEA3B1B612FF992BF7FF1F3975336E425D + CC52903C4103EAEBEB5998450D8FAA2A889BC94888306CD977664D675964284C + 1D0103EA99F8DDF50C8CD439E3FFFE67CB7DFFE9DB1F7E3E9EC637DF5977DC98 + B3E73C0343E33F9C0670B8AC555292175BC8F6FF9BEEDF6FEF995E7DF8F95941 + 55EDE5AB17AFBEFCFAC7C2F1ECC5FBEF0C4C4C89FF0F47DDC36A8056F2A103FF + DEDEE465FBFFB5F1D577EECB8C8CFFF72AAA6A7CFFF4F842CED54D7907184CE7 + 4631B0B227FC3F1AE38AD5008D981DDFD9BEDE48BABCA1703983DE226E09891F + D754B4756F7DBC7FBAEFF286BCED0C32BD9C0CB222B7FF1F8B93C16A805ED2EE + D74CEFAF445FDC50B48BC172858E34DFFB6582B2DAFB38BEDCFC7166456A0583 + CE0471063EA103FF8FC66A623540C063F55669B6E747AE3DE3E861E5E158A9C8 + FBF1D1FD6F628BF4147977FC7A79D3E3F2736E39060E9E84FF47A202B0C782ED + 627356C6FF935998FEB349737FB9FE95E975F2F32D8DDF98EC9647B1FCFF55F0 + EB1FD31FA08EC2FF87634F6235801C0000382740F0DFD997BD0000000049454E + 44AE426082} + Name = 'PngImage4' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A000002854944415478DA + A5935D48536118C7FFAFDB8CCD557E7F34B33167F9119617A91596495D781304 + 451021A651362821B1ABA49B6EA4460961D88542055D84DD6545415992174994 + 9625CC8F9C329D9B5F3BE9CED9D9797BCEA1C932A3A0079EC3CBE13CBFE7FF7F + 9FF330CE39FE2798FAB80BA4E61559EB2551E67B07279AE8D51FA98F2CC99546 + 031A3D6E5FF329993F631D80B52227A6D7929F9BAEA459D1D73BE8DC3330D6B8 + 1AD206641414DA5A6224E1E8ECA47779660955D532EF642F1371BD74331A14FA + 9C27A4439F5D88777DAE1B65FD230D11485786B9363D65FD35C1EB4B9817427E + 9F80C335C05BD53E23B2A934132FB23662B71406C2B14698F38AF0E9EB9473E8 + E3C8655BD686D6F858A5DA3F27B04511E37E0195B5C0A00AD6003FE5259758F0 + 3AD1843C15125218CCB6AD707FF34EAC93973217041154ECF608D8770E188BD8 + 5A01A8A1DEC5F60CF4980CB0A890E8A47AFFF477EC3F037C8EBE975F006ADC37 + 60A7351E3D061DE222C522A5270047AD82DBAB27B21AC09EDA373525E9A52BCB + 7E5F4CB4822509BE80848AB3C0C09A806380EE7CA1BDC55EB4CDE17AF2984932 + 75A60CCA088739742A84CE1E49C1010730F41BA03B27CD595C517CB1FFF92B04 + E6035AF142101DCB12DA743AB413243FA468331D0F01E51780D1154057AAF148 + D92E7BE794778E8DB92634C901116FA6451CAA27214EC06802AE5227AA839ED2 + 45A0729AC6A406182DD9329C10A7B7F57D18D63A93DF99D92076905F4FB4DF56 + A08C20ED9476027CD1209C7BD9FBDC947BC1C0E2C9596A4B003E27E2F8E9301E + AEB507B700334968A6631D019C759C5F627780822413BA194312CDFB41958C13 + 7FDB4052739000430ECEDD913F313B568F9B8B326AC8F7CCBFAEB27A073F0058 + 5538F0EAB25B380000000049454E44AE426082} + Name = 'PngImage5' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001934944415478DA + 6364C002662430FC47E6672C606064C001C0122726A06AB870818121A1632A98 + 5D169DCD10E58B90B32840358C11A4D920622A5C604145365833482308D4F5E6 + 3134154F62A8EE4805F35B2B66334CDA8B3004C50098E62F2F6E823581347F7F + FB80E1E58DBD0C8BD67D6588F6656258BAF91F7E03AE3D66C009081A800CD61F + B161C0072243F419711AF0F7F777864D275D192282F5B06A5EB1F23C43D7FCD9 + 0CE7774E67C43000A41984B79EF3C36AC08F9F7F18366CB8CC10116EC860E491 + 85EA0298E6BFBFBE33ECB8120E36C071E64DB8E6ED09CA40037E33ECD87E03EC + 02142F206BFEF7FB07C3AE9BF1282E00D90CD20CC6BFFE30EC3B719561CAECE5 + 100374837B503483E8BDF733305C000333DC04198E9EBB893040CBAF1945F3DF + 3FDF190E3C2E041B806EF34F283E73E52EC200758F2A865B3B3A506CB927739E + C1C75383C177F17D0C17745971325CBEF51062004820CF19352F808065E64506 + 172748A0C16CFDF3F71F9806B9E4F683A70803B081E56B2EFEB7B19663D875F4 + 32CEC444D080AED9331808010085EE16005695A1DA0000000049454E44AE4260 + 82} + Name = 'PngImage6' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD252000002164944415478DA95D35F4853511CC0F1EFD491DD + D9587F2C83AC8C328DFE4949908BC0AC142A147BC8077B88A01EECA5E718F958 + 410486C384B50A1F7A991023CBEC0F594F81E5D4C211E130D7D4DDCDA15B5EEF + DD5DD74B1B8EA9D90FCEC3EFC0EFC3EF9CF33B06FE46CBE3AE042B886B176B0C + 0B73C342A0A9B17AD9E2FB4F5EE0E878C6E79776C37F03AAAAD2DAD1CDDEDD3B + B96EBB9B425604CC17CB8A4AFBD31EEA6BAC0CFF08A4907F02C962598EE374BD + D58F908C2581442241603C8CCBFD89D86C9C9C9C1C0A365A282DDE446FDF37E6 + AB9277B128F02B10C6DDF385CD074B10D6593019211E9CC2EF1DA5A0C0821895 + 68BE6D5F1A6873BEA6D07A0879951945CD626B1E6C372978BD7EBC5F4710D608 + DC6A712C0EC84A9C7B6DDDECAF3B459E315B3B3B685B9835448DCD30F4BE0FC1 + 94CB9D56672670A5E1A47E590F1EBDE374C3091D88CD4120063359902B4719F9 + D88F201835E0612670E97CA5DE41578F870A6B296BD79B096BC0B8B6C4DF3252 + 4024E81960832071B3FD7926D0587B5C7F32DFE8243FC74214EDD906AB4D4C29 + 1011230487BC1419BFB32BE8E06CE7BE4CE0C299637A07B3928CCF37816F4CD4 + F2040943365234823134C8E1FC094A8A8D4C0DF6B2E5EA8774A0BEFAA80E283A + A21012A791E6E6B4618249FF08AFEC97292B2CA7B64221BFAC9C90E74DFA289F + AB3A42FFB07FD90FE5B255A510B754379D062C1CD3E5E240AC931D9537B03537 + 19FE00839434866373C4BA0000000049454E44AE426082} + Name = 'PngImage7' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD252000001724944415478DA6364A0103062135CB1E2C26E20 + E5824F63448401235603809AA381D412374F5506413E2EB0D89FBFFF187EFFF9 + 0BC62F3EFD6728A999C0B0795E15A60150CD1540CD3A7B4FDCC5B0D5D94299E1 + CAD3BF0CDD3D53F280064CC666C06EA066176C36FF05B25F7F6544B11DC50098 + D3C3C3F519D6ECBA8C61BBBDA922C38D17FF41B6C384B6020DF261846AFE0FA4 + AE809C0EB21DDD6610FFCF9F7F0CE91553194CF49518A4558D1836AE59037609 + 23C8E6AB4F2E2C2136DAE4B5AC186E9CD9C570F3C1278801B53D0BFE3715C7E3 + D4F0E5C75F86CFDF8118487FF9F18F61C3BA350C12CA260C3B366F4218408CCD + 17AE3D03D3065A520CEC42AA0C278F1CC4EF02749BBF82F0CFBF0CC7F66E64F8 + C92AC970FDE259DC06A06BAE3DEFC390ABB49EE1FEB5530CCF9F3F6778FA919D + E1F5D3FBD80DC066F3AC743D8680EEB30CAFEE9E61D8BEF72C4CA90CD080A770 + 03A62FDB45542C400D006B062724DFA4366920FD84D86844D68C9212C905001F + 16FA1194E3DBC30000000049454E44AE426082} + Name = 'PngImage8' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD2520000015F4944415478DA6364A000FC3060F8CF884D62C5 + 8A0BBB81940BB258E7FC99286A8EBF9CCEC06EE4C5C088457334905AE2E6A9CA + 20C8C70516FBF3F71F8399770E44D3F9FF0C3F0D19219AE76D6364C4A2B902A8 + 5967EF89BB2806B7F54D6738E7C4C1F073793F58B3D1537986F33BA76318B01B + A8D905D9E6DF7FFE82B1437011C3B91DD31818BA8AC07246FB7EA01A00737A78 + B83EC39A5D9731C205E40274003700A8F93F90BA02723AC876649BFF02D920FE + 9F3FFF18D22BA63298E82B3148AB1A316C5CB38661F5B92A064690CD579F5C58 + 4228CAB6EC3E893D166A7B16FC6F2A8EC7A9F1CB8FBF0C9FBFFF65F08E2CC01E + 0B20038849342017608D055C2E80D9FC19487FF9F18F2125B3147B2C6033005D + 73ED791F86E7B334B1C702BA01E89ABF02F1AC743D8680EEB30CAFEE9E61D8BE + F72C4CA9CCE679554FE1064C5FB68B98A0801900D60C6230FA26B54903E92744 + E946B219C661244123560000C9AFE6B31530CB2E0000000049454E44AE426082} + Name = 'PngImage9' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD2520000016A4944415478DA + 63FCFFFF3F03082CDD7212C22000627C2D18616C905E466403A27DCCF16A06AA + 61E89DB290E1FCCEE98C241BF0EFDF3F86E5DB4E33488B093314D5F5810D21DA + 0090E6DF7FFE31ACD97596C1C9429BE1E6BD176043CEED98C688D3804D0F0E30 + F45E6A02B37779EC62E05CC0C6B058EA38D80B3080D30090E6805D4E182E7911 + FC91E1C4E5C70C8F1E3F6298B774137603609AFFA4FC013B1B64738BB13743CD + D9AD0C8FFDDF81C5B6EC3B85DB00A6594C289A91C13DEF3740F1BF0C3B0F9DC5 + 6D0048C1EFDF7F21F49F7F50FA2FC31F181F2877E0E445EC068479988015F02C + E640B1F98EE72BB066CDDD120C676D1E311C3D7B05BB0181CE8660DB049773C3 + FD8DAC3957BB80219A379FE1D4C5EBD80DF0B1D7032B165BCD8B110330CD200B + CE5FBD85DD00776B1DB002E9F502609B13CF8781E50C840DE09A41165CB97907 + BB014EE69A1801060B44986610C06980ADB11AC3A63D2789C994D80D404EA6C4 + 0090010087546EF0ACB0C7920000000049454E44AE426082} + Name = 'PngImage10' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001024944415478DA + 63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3 + C493AF1EDC305B3E7F1A2323BA66090111A9272F9F301CD9BE99119701110999 + FF416A0E6FDB843000A4F9CFCF1F52F834C2808DA72FD8DF700348D18C6C08D8 + 004B77AF69F292F299308987CF1F4E979256DEB076DEE45D207E7052AEDBB3A7 + 770390D58000DC0B20FFCC98D0CE70E1053FC3DBBF3F191E7F66603831A310C5 + B6E533A6311C7CC080228F624046C534B82408AC690C856B9611976140970719 + 20ACA0CB30A53E13624068693F5CF2F2E3F70C37E7A5C163019BFCD7AD4D0C2B + 164C07A72146981F999998C17EFCFBEF2FD630C0260F3660C0933200BCB3BCE1 + CDA578040000000049454E44AE426082} + Name = 'PngImage11' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001C04944415478DA + 63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440 + 1BA234FDF9FB8FE1F79FBF60EC105CC4806200A3E14C86FFE7D3C13408E0627F + 3C12CF70ECEC0D86AAB659D80D4007FF806AFEFC41D80CC2672FDFC1340019C8 + 7A2C6178F2F22B98ADAE20C0D09869CCE06E29CD2068B788E1D9AE48868BD7EF + 117601C8E673D7DF309846AF6310E66767B8BE3E8441CC6929C3C36D610CD76E + 3FC46DC0CBB7DF19EA679C613870E619C3C3679F197EFCFA0B36106433C8F97F + 80F8D6FD27B8BD1053BD8F61E9B6DB0C0B9B1C181C4C2518E43D5780C54136CB + 7BAD62B8B12E90E1FEE367D85DF0F75C1A836FDE0E866D471E315C5A15CCF0F1 + CB4F06DBA42D6003EE6E0A6650F65BCB7061B90FC3F357AFB11BF0F3540AC3B1 + 8B2F18A2ABF6313C7BFD8DC1C14412E895E76003AEAEF6077B4123528661FFC4 + F3A806C4F859C1A30839CAE0ECDF10BE41E416860F7F32188E4F453320DCCB9C + 81CB621ED8A6177BA218245C9681D9B7360431A805AC03B37F306430FCF8C3C0 + F0E61B0483D8700382DC4CF0DAFC1B498EDD5785E1FD4A3417F83919319CBA78 + 8BA8FCF0DFCF908171139201A0DC3871C6529273637E46740C00F128724C706C + 80060000000049454E44AE426082} + Name = 'PngImage12' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000E9C00000E9C01079453DD000002324944415478DA + 63FCFFFF3F03258011640023232386C4922BFF0D9818FFC57EFFFE57FDEFBFFF + CC8CFF19BEF0F1B36D5C73E9EAAAD5613ABF60166318505FFF9F4939F077F98B + 97BF6BEFDCFEC6F9EDDB3F86BF7F810A9918192424D9FEF3F1B32FBFFA93236E + 5528C35FB8018D9B7E2C6DF0E38859759581F5E7BF3FD36EDEF89AF4E51B03E3 + B72F7FC0867EF8F897E1EF3F06867F40ACA1C9F96FE392D5BA5737265D831BE0 + 58F9F0BF83A5F83245796696CB973E87FEF9C70CD6FCE2D92B86E78F6EFCFCF7 + EFEF17360E5E4151590326666626067D7DDE65F57E1CD12806288BB3FF676567 + 66E0E062036B7EFEF425C39307576E8A2A19B9EE6A557DA217B2A88E9B5FBA41 + 405C87C1DC9CEF01D0004514031444391804843918409ADFBFFFCE70E7EA91FB + 9F3FF06BDED9E1F513A450357481341FBBD03D611973362B4B2C067CF8C1C060 + A020C0F0E3FB4F86CF1FDEBCBE7FFD84C3B54DC9D760812B13DACB29CAAAF84A + 58C69AC7C61A8B01CF9FFF61E014646190E365627870FD40C3A535718DC8D1AA + E2B1988F5788E7B998823597A5392FA6010C1F1EC0157FF8F081E1DF9F4F0D1C + EC6AFDA7965A7C02899924ED550746C555793523665D1D2ED440C49690D08149 + D2A9764E3ED90A037DEEFF3696BC7161EA0C4B8836402FF6A41A37AFF0690E2E + 7E3E7B5B9E65C08494084C48BF8832402BF40A0F8F30DB3E0E2E4153277B9E65 + 0DFE9C60A7E34CCA280098ACCDDF3C5A2925C913ACAFCBB51CA6997803ECF7B3 + 301C74FC834D0AC5004A000026261CF09ABF155A0000000049454E44AE426082} + Name = 'PngImage13' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A000002E64944415478DA + 8D936B4893511CC6FF67DA74BAC9BC9478C9357338CC4B0EBC1709F929A25414 + A13E48082D8CFC20267E1B925DD004B3120C75919AA99B5DADD485E56DA2791D + 739ABA2D9DB7A953379D6EEF5EDFDE14859C810F3C5F0ECFF33BFFF38783E0FF + 425902A13B668448DCB4C5B658709C40D8F0A4563120A97FB1B61F3AAC291008 + EDB1630ED7ECECA97C6F7F6FAEABB72BCDB46902B54CAD5BD4CCF7AAC68772C5 + 6F8A06C8286E05484EAEB3F10BB6A49FE2B2F2C2628318E0C440063300410050 + 910596D4B344F7BBB63169FBA7B4D6E65AA915205320E47A9EF4ECB89A7CCE85 + CDA021950141E2BD2E9049645029E683BB3301EB2AE5F657E15B4955457EAA15 + 205B5095CD8BE33D0C8BE0523C1002B50120E5C12EE03509D8A60078386EC1B7 + F2066DA3A89C8FFE1DBF9076CADFADFA4A467C829E70829C82AE43B79B97150D + B3522956F3F4C9B3030001DD87C3AE49C84CBCBC646640FCA5D29DF3A0B8A09D + 09F62469E1C3A4B4D7F2EAF1A3DA834FA064DC2D2D8E4DB9984E63F922ED2A02 + 161DE04EE1EE13D4ED7CB090CB5CD9C6E1439978A3FE655189D50E52D37263CE + 4486374725C5D2168DF6C88E2CE414ED02942400030246C6A7087149C5688DF0 + 7EC63EE0F38DB3C79974A8ECB70B7459649E0F64F17854767800C588D390830D + 02172A19226F5E58D211DFEB9AF40DD5CFCB46E5DD0568AFECC6C43FFA470747 + 2CEBF420D2048072C57ED3CB2F846005F9D19CBD4E80C96882B9F16942D1DBA7 + FBD15C2B960F77159355056AB919E0E3E24C17F9C58487E1737218966D429386 + 01F235CB8589854D87D3DCD0448613938D61669B89B1C1099552DEB9AA9B9790 + E559D204FA99C5EBF78D0A0FB5D5ABA0BF6F0D7AA66CA1757CC4B862D808E9D6 + 9826C990236927D236A4B748AF92C6F6FF82243F890861AE817CC8001D6A0A74 + 2A478D1AFD7A926CC6FC058E20743BEDFA2F1ECC70B45A0CDA2614CB5AFDFAAD + BE19B3E828E51D009FCFE710C6F546ED680F473DFF3B7E70DAFCFEA8E5BFFA03 + 503A4EA60D6AAC070000000049454E44AE426082} + Name = 'PngImage14' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A000002E44944415478DA + 8D936B48D35118C6DFB379D9D4C9BC94A8CB399B38CC4B0E9C9A45427D8C5251 + 82FA2021B430F08398F4258650145A615642A12E4A31AF6565795958A69B685E + C7BCB4B92D9D3AA74E7771BAFD37FFFDA728E40A7CE0FDF6FC9E73DE877310FC + 5FA850200CC22C90ECB06EB1EC76870347D8F88C6E7244D4F8D2B06FFA172910 + 082998BBD7154F8A079F11C5E0043002A8D64D2BA8A56AFDB2463BA8928F1537 + BF2D1B21AC0E9780ECEC06323BCE9E17CE61DE4D4C8BA5812F0D996C00380EE0 + 81ECB0A25EC0FBDFF74C4B7E7CCAEDEEAC97B8041408849C906321BD97B24FFB + B36854A43221106B01ECCE007780203F1CCC2AE576BBF09DA8A6BA24C725A048 + 5053C43DCFBD9F98C4210523046A13C0D0320099BCBBF0360920D87B0BBE56B5 + E8DA9AAAF8E8EFEB3FA2864705D65ECC4FCF30E2BE70BB54ECD28F542485D676 + 3E2C482458DDD327CF0E04087CC222597519059917566C34B8F358BC031C94A8 + 8B0F339241FBEB870FEA0FAE40CABFF5A23CEDF2B93C2A3302E9D611307D0002 + 29006EC4D529A4DD2ED6B61DF0A1B279A3F15559854B0739B9C5A92792799D29 + 5969D4650B05791200C31B804A74E046B831C061423E8B3757544FD509EFE5EF + 077CBE76F208DD07DE0C7BC6F82FD3CFC430B95C0F162F9A64715091171981BF + 0761224E5E5AD1E3DF1A3A8C2DB5CF2BA764FDA5680F0EA43B3E469D8A4B5AD5 + 1BA149130DCA35CA66283B1E67C6B2A97EA147C16AB1C2A27C0E9F1C1CD27FEF + AC6F968D8BCB097412755D8F0EF3F7F36962A7F2121D8B3218976E4287860632 + 83FDAC6269D3EB38272193E64B6761988DAC981E55A894B2BE75BD5644C00BC4 + E0E867217738228597E06654C1F090010666DDA05B3E6159336DC4F76BAC3384 + 8968007C8971BE842D62D6C159C5DE5F109564E1F17403C8C64CD0AB26419F72 + CAA2319AB3A4F3B62F7008A19BB9577F71613E52A7C3A04731B9AA339A6F0CCD + DB9A0E03EF04F0F9FC48DC626ED34D0D44AAB5BFD347E76CAD87859DFA0386D8 + 3FA68502A9830000000049454E44AE426082} + Name = 'PngImage0' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A0000032A4944415478DA + 6D937B4814411CC77FB3B7777A5E7276969AA4648A20A5592A4585FE654122BD + 0CAA3FE2841EA45946697591BD8DB27748A2BDA0A43FA2420C893252D2A244B4 + 7C24495986AFBC3BDDDBDB9DDDBDDDDB663714B366F9B2BB33DFCF777E3BB383 + E0DF66235A19342370912538D0CAB2825BF00A6DA4EF2D1133D5A8AA2AA029EF + 4126B3292B2E21BA70697A5262626A9C393422040D0FBAFCAD6F3BF187C68ED6 + 9F5F472E2992524FBCE2F400735884ED40E6BAE58539F6CCD0B9F323009111C5 + EF075191600C7BA0ABEBAB5AF7A071A4ADBEE71CE7C615849126032823B52D77 + EFBAEBF6BDEBAD164B20E941A092EBF89ED75050960C6ECC805B6060D8E984E7 + 379B9C2D8F3AB71353CD4440CC8ACCE49725D7F2626DB3AC60A028C2535092FF + 4A2FCD5E1A0F2E3C062E9E8171D1034303A3F0E24CF3A7910EF72A1230826813 + BDAFF87CEE85ACCD19269AA2C16030C0093273EDC372C8DE92FFD7EACEDDE902 + 06B3D0F1A41777DEED2D5015F5369A1335BBB6ACFA4056745C24A22903941636 + EBF044C38204BCE003FBEE62B0DAFBC1237A61B8C7A9B69DE979ECF3F836A1A4 + 65F15F4EDD2A880BB606A12B45AD93B02C2BE023D2604D79FB8F02B5F533B022 + 078C9B55BBCF7EEBC43F8424B4243DE19BA37C678CC962844A47B71E204F8212 + 09F1EBF783474E02BBB105BC1207DE711EFACA06BE8B7D520C8A8A0D6F70DCD9 + 951E343B1061598067A54EA8AEBAA4435A0826D22A3976B21406B31B80F76160 + FB3975E8E2E84785F12F460166E3E91D17361D8E5D1E45F332062C8BD07EC300 + D7CA4EC1BEA292BF16B177751D6893304D5E9979E0AD5265354FDBC694B4EC05 + 7599FB57844906093862D04CCEBB913AE4D9F01EBC3E1EBC22AF87635680F1FB + EC4FB95DC922DBD8A105A0008BF1444641DAA1A88C8800CE8F8123656AA59A1F + A740FF9A7AF22CE8B0208AC035F258A8911C20C3D5A9BF72D8CC79C197E3D7CE + CBB12D0D09106862D4A13F9F343133F70E63F18D740F7E818330E3D30FD31CA3 + D5986F5B68B55B532DE128923248269F0EF2DF05856FC58372AF52013C5412AF + EB7FA7516B34512232C2063A944E44C1C82C7B14CEEFF2B793929F92B16E2265 + EA71FE0D330BBCF031BDB9A60000000049454E44AE426082} + Name = 'PngImage15' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A0000031C4944415478DA + 6D536B481451143E779D5D5D37D95AD354523445905AB32C0A0DFD653F92252B + 8BFA130A3D40F385D1C3B09766A5652548D23B34FA1115624894A0F6502845CB + 079298A5F8CA75737677E6CECCCEA3BB532DAB75868F3B73EFF77DE7CCBDF720 + F8374C045BFC97F8AD3504F8191D0ECEC639B91E32D741407B13154501E4F5ED + AFD3EBD263E2220A37A5C49BCD1B62F481214BD1F4E49CDCDDD18F3FB4F7758F + 8FCC5C9504A98570F9C506FAE01053715A46526166565AE0CA552180C88A24CB + C04B02FCC476181818519A1BDA677A5A862E32365C473482C740A3D5ECCFCECF + A8C9CADF613418FCC80C02853C678EB4425E5502D8300D368E8669AB155EDE7C + 67FDF8A4FF002135FE35884A4E4B787DFA464EB469B9117C341AA2D78008329C + CF6D55CBB39406C11C4BC33C6F87A989597855FEFEF34C9F6D2B319841948E2A + 387639BB327D6FAA8ED2505056F066C18E363DAE05CBBE5C30E7BBE02767071A + 3BA0EFD930EEBF3F9CA748CA5D141A1ED454F5A8383D22260C511A1FA8287CAF + 8ABC037302ECC92E0263D618D879274C0F59959EF2A1A72EBB6B378ADF1CFBE5 + FC9DBC9800A33F2201D547BB3C06A228818B80E55C2A728A4E01B3AB0B689B43 + 19BCF0B51F7FE7E2D1FA94B8AF25B587A274062DD971173C2C1D560D448F5020 + 26B23A1E3D790EA62C6DE09C6761B46AE21B3F2A44A1F0E8156D25F70EA7F807 + F9212C72F0A2C20ACFEB6B3C62F788094E9496C12411B32E0C8E314699BA32FB + 49A2E575C857AF2D3B58B9FB44745238C58A183AAF890BFEFF5259A947CC082C + B893D0EF9C22DDE0BCAD884A8EFB1813375A5637A71525070B3E023084E02631 + 24136E88564D262DADE0E4DD621EB08383F97AC7B8D82BA59363EC731B205F83 + F66C6ADEC6E3E1A921BE8C8C55B1BB54FDD34418DBD642DE3955CCF13C30ED2C + E61A85127251AE7B5FE5E0659101D5B1DB23334D9B96FA721421AA22FC3BEB9F + CC4C27C6FC5BE101FC8012A2995FDC4CA15AA336D7B4C69865DC605881C2343E + 82CEA50AD96F9CC476E3497158AA03166E11EEDCFFBAD11D1481196961271548 + 995100D28B768991E7E45E52F273B236482079B7F32FB7E1BAF0E8F71C040000 + 000049454E44AE426082} + Name = 'PngImage16' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD2520000019E4944415478DA + 63FCFFFF3F4341F1F9FF0C6402469801BEFE4A0C0B16DD60583CC71CABC21F3F + FF327CFFF90748FF6128ABBCC2A0A5CEC0B072C752E20C40D6FCE3D71F86BAFA + 1B0CEB963B31A85A241336005DF38FDF7F18DA5AEE3098997032CC5D3D07BF01 + D834FFFCF597A1B7EB3E612FE0D20CC253263C625092FFC5B0F1C06AEC06E0D3 + 0CE2CF99F68C4152EC0BC3AE931B310D983EC908A119AA11A409660008CC9FF9 + 9C4180F72DC3E14B3B500D00019021840048F3F7EF3F19CEDCDE8F6AC09F3F40 + DB7EFC024B82E81FDF816C280D11FFC5F0F9D337B03C08DF7C79126180A7B73C + 86E6CF9FBF43C460867DFB09D70C32ECD1A7F308036CEC44C18A976E9A82D7F9 + 7CFF8DC19A4186BCFE7D0D618089193FD896B5BB67311CDA309341504A87E1C9 + ED930CEF3FFD60F8F0F927C3FD671F1956AD59CDF0EC96105833C8BBEFFFDF44 + 18A0A3CB0976EAB6C30B182E1CDDCBA06768C8B073FD02B8CDF79F7E64E89C34 + 87E1EE456EB06610403140599519EC827D6796312447F833F072B130B0B0B2A1 + 387FF5D6430C37CF72C0F9700318191919F49D72C9CAD200FAC9B5C145016BDA + 0000000049454E44AE426082} + Name = 'PngImage17' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD2520000015D4944415478DA + 63FCFFFF3F03082CDD7212C22000627C2D1891F98CC80644FB98E3D50C54C3D0 + 3B6521C3F99DD3194936E0DFBF7F0CCBB79D6690161366B04C57058B715C6060 + 24CA0090E6DF7FFE31ACD9759621A4D68281352A97E1F7B2C90C8B2E10E10298 + E6DFBFFF325C5DC2C1F044E912C39B4B4B19984A3AB17BC171E64DACAEE860D0 + 60D0F399C2F0F2D636868587CC18A41A1A18D218F07801DD669866100E699161 + 10D5F6050726411720DB0CD35CDE369B61DED24DD80DF8FDE72FD856107D6319 + 1786E6ED7B4F311C387911BB01611E260C6E73EF80F9110C1F180C182C18C4D5 + BC5034830C3E7AF60A7603029D0D212E00FA7DEDAA2B0C2D2D210C6B6A9EA068 + 06E15317AF6337C0C75E8F2160D92330FF4E8B0B838B4B0D985D5CE907D70CC2 + E7AFDEC26E80BBB50E5CD11FA84B60E181C0FF18AEDCBC83DD0027734D829A41 + 00A701B6C66A0C9BF69C24265362370094D348012003002CB76B52FA97B19500 + 00000049454E44AE426082} + Name = 'PngImage18' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001B04944415478DA + 63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3 + C493AF1EDC305BB1603A2323BA66090111A9272F9F301CD9BE99119701110999 + FF616A189135FFF9F9430A9F4618B0F1F405FB1B6E0021CDD70CF8FF0B09B0D7 + 481C78D50AE2FF7295B1FBC82F7AF0C585F30C8C96EE5ED3E425E533618A1F3E + 7F385D4A5A79C3DA79937781F8C149B96E6627F7F4F8B23ED3DD226BC2F04840 + 96A19CE72DC3E7E387182EDEF8389911E49F1913DA192EBCE06778FBF727C3E3 + CF0C0C276614A2B860F98C690C9BAA5A1854F7F530282A4830DC7FF08261E657 + 318689B76F33820DC8A89806D70C026B1A43E19A65C46518C0F25F3F3048CE28 + 6050BFBC9A61DB7F198693AE390C535AF220068496F6C3355F7EFC9EE1E6BC34 + 782CC0E47F5EBFC060D7E5C170E8BD208301F73B06BE7F1FFD642E316C6604F9 + F1D9D3BB01CC4CCCE070F8FBEF2F4618FC7D723D22F3EF93C4FB37DE301C1296 + D9E8FBE68198BED87F4BFEBF1FED084619087CB4178BB974FFD3D42B8F7E7801 + 6D390A12DB28C4BA51558ECB8F2803D6F1B2C67CFEF5C728EEE7FF62A006701A + 98C0C0202ECBCDB00A00547CD715F016991D0000000049454E44AE426082} + Name = 'PngImage19' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001034944415478DA + 636498F123988181610D032A0861C8E058CB400460041AF07F8201AA60C10520 + 91C1C1489201604DC40114D7313234DCF84FB4561868D080BB8E71F3BEBBFF7D + 1C9550E4FFFCFDC7F0E7CF5F86DF60FC0F4C83F8DF7EFC66084FAF6738BF733A + 7603D6DEFBC710B2FB378A61732CFF307888FF061B7AEDEE4B86EAD6C9B80D60 + 9CF993015B803EF0FDCAF0EBF75F863B8FDEE036006403EB9CDF0CA40628D800 + 0F3B05B01F393BEE911C9E6003ECCDA4188E9CBBCFF0F70F3B03A9010A36A0AE + B307ACB8A9BC04C5005C9A91031425B52107283ECDC8018AD500429A41F8D1F3 + F7D80D8005283ECDBF81F8F99B4FD80D8005283100AB01B0002516000097A51A + 7A68BA98860000000049454E44AE426082} + Name = 'PngImage20' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000001A34944415478DA9D922177E3300CC7655636C3B20596CD702C86C7E6 + B141C342EF1BE42318167AECD81916BA6CD0638582852A0BCBA46CCDDAF46E77 + EFF4E2A7D8F2FF2759B6724FD9354BF30B09810EF5B16C43866FACAC7DA67DD5 + E364655A15020ECEDD42AD47C839EE4AE9EC5CE492EBB2CF9DFC676BCA83772D + 6C133CEFE14D395F066B0C032AA4346AD5B9905D20C49BD255350196D4BEF40D + C48A47657F44073D05CEDC9AFBF0585F63B61D1379AF7BF2B702C67D8509B0F6 + 4329E52D1DE8CE2CF557B6B93144CAF13C04767702CCED62B12433587FB99141 + 4E1C03C2B70011B72EC02E479843CEAD6E60D04BEED9C1825B47A54E6273CF15 + F73CE9095226D00B891000FB66C1733E2F71CCACCC08EA36043165755141D334 + 2CE6EEAFE429F0552F3468CD5E370CE05842F04E4FE2DFF6A05979CE04633524 + 15F08707024484E0F9EA36C880ACAE7A70DE87931D7B0190BCD0B1326F11E256 + 20FF0098C454D92324167A5320163B95FF47C0518EC02219F4E9D3AB01C780F4 + 3780910A46D167763E3FF508B95A59BA105F037E76038EC28FE6C9B58DCDEC3F + E273F115E07FEC1D6B02010E884AA1F00000000049454E44AE426082} + Name = 'PngImage21' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001D24944415478DA + 635CBBFBE27F062C20D8559F1145C0600644DD850C1471469001412E7A286AD7 + EDB9846A08507365811743FB846DC41BD0D23303CC3EFF529F61E19464861B77 + 9E332C597190E1C7CFBF175FBFFFE10D34E8298601F7AD2419148F3D67F8FEF3 + 37C3F71FBF19841D16C335C380181F0B4365E7D62F4083344086C00D0069E6B4 + F26638B66E2E83C3F9AF0CDF7EFC62F08BAF02BBC0D74D9741474B96E1CAB5C7 + 60FACFE7370C0BD75FDEFA6A5FBC0FD800C33A77B06686FBFBC0B61C3B7F9F41 + 67FF2B8688F47A86F33BA73382C20064C8E65D97E186C1C2036C809FA30EC326 + 5566062B4345B8E66FDF7F312415B4420C408A85CF471354A21ACFDE3976F216 + C3DB838910035C2DD5C14E3E6ACAC7A0BEEB39C357A0E6DFBFFF32E4567533D4 + 94646044F1C92B1F19A6AEBAC5F0F5780AC4006BA0CDA0400369046190ED2050 + 54D70736003D96E6AC3DC35033E33AC3CB3D7110036051860DC00DF8788EE1FE + 726306C5C8B30CEB4EB3C0A39991810080C5D2EF358C0CAC16F10CF7B72C64E0 + 8F44C412710698FE81D86E0F8CA8830C6057DCFA200B8E25A20C30BCA3CFA0E8 + 130F8C82850CEFDF31307CB80CF491C313702C116580C8697D0C7166F77BE058 + 22CA007CB1449401F862090078951B407104A20F0000000049454E44AE426082} + Name = 'PngImage22' + Background = clWindow + end> + Left = 555 + Top = 0 + Bitmap = {} + end + inherited dsDataTable: TDADataSource [7] + Left = 64 + Top = 168 + end + inherited LargeImages: TPngImageList [8] + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD252000003CD4944415478DA8D96ED4F53571CC7BF17EC9315 + 11864234C607C6D4E9408621F88CBA88D0C64D48EA906C3E3459F40FD077666F + 7CEB62A2912C43F0A950A12A3001AD2613810908B46869E69E8B2FBA3087F499 + B6F7B63BF7E0BDB6D2A79BDCDE73EEBDE7F339E7777EE7DC3248E1303C346BC9 + A5812FDBED767AAF51D7B9C9F4A07E22595B2655F8DED202642D5E089F3F88B6 + EE415CF8BE857F9C54C2A402DFBD651D7296C8C5FBD3336EE87F7C8206DDBDA4 + 1226197C57493E96662D9A7BF9F810BD861A4BF1EFB4136D5DFDB8D2DC9550C2 + 2482EF2161C9266111E00D470B611C015A75D7E11FD6E2F51B176EF7FC8CA696 + F812261EFCC0F60D502AA451706DB902A7EB5F60D2F32195B8068EC1E5F1C1D0 + CD4B62878B4904F7F8392C3A3922C2C361D280B438736900B6D94FA9E4D5FD5A + C8A46968E9E8C555FDFC9130EFC3856C8984A72F90E0E31C274AD767A3EBF138 + 7A2D6E64AF2D82C99A4E257FDED320C4B1E87C34881BAD3D511226D1840A70E1 + B09AE7269987FB021CBCE49C9C545089AD5B0387CB03E39351E80C0F44892008 + 278207D830BE297F27FAB6DD41E182A4A9CF0698CDF8BDA31A334E2F7E7A6A42 + F36D2395303C3C56B644F69C09BA3139C5E2ECE11C5AE727DA9791274AF8B3C3 + 64A712ABE17338C9C4F70D3D4757DF2FA0829ACF8AE2C2BD410E013F0397C329 + 0A4E9CEB059B5B4005B38110825C083EF25EDFAFFF518959AF86E5E55F387FB9 + 19CCC5EB3D61AD661F14320915683616A2B24C22C2F9DE05FD0B10F4450B9C59 + 6B299C070B23197FE5A082519D0AD6DFFEC677F56F0599194AA8CA8BB1848429 + BDE40768EABEC6EE923431C6E1800C0C1B2D9852AE8E091FB959058F771643A6 + 0974F7BF04535C716A236963D1D6A95173601B9128A1286BA4924DEB58DA98F5 + C891217347096CD29531E16E12FFC1B109DC6A7F3837C9FCAF20397144854315 + 5B91A15C88CC9DD7A864F90A2F8A729538B6F7DD662748C602B9F37AFE74D422 + C2C5348D941CAF55A19A8C840B315855758B4A64996F909FEE84C7350D960D61 + C6C7D1364D7FC829BCFF4A05A97118187901FD1DE3FC85365FA28646BD132E6F + 0005070DC0E6CD5015E6C58C390F9748D2D03F3C8E9B6DD1AB38E66627488E7E + A942D59E2D9090945DA36EA392B2FCEC28F8B31B9598251FA061B335263CEE76 + 2D48BED25462DFF66228E4527CF4C55D2AA1C75B38CD16027F3F2C49059192BA + 9A0AEC2A2B2212193ED174D2673CDCED9DCB96D6F64771E109059192DAEAFDD8 + 515A08B94C0A8EAC5A9A2D6396A4F0A48248C9113292BC651F807C1260FFE735 + F4778D49E129090449E6B25516C7948DD64919A49CD2DF96FF0126B669571175 + 682F0000000049454E44AE426082} + Name = 'PngImage1' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000032A4944415478DA + BD95CD4F134118877F5B0A22D84205341E30087E24021A45893131F1E2C178F1 + 2A26FE07C6C478319E8D9E8C8926EA49E217D1B328F142A24123070B2E6DB76C + 0B5DB6A585B614CA47BB1F6D7D772CDAD22DA0094C32997476F67966DE79F72D + 97CBE5B0958DDB1601C7719B7EE1D18B8F9768E8A17EB660FA2BF537D7AF5DEC + 2F5CCBD8FF22C8C3DF5FBED04D2F73882FAC40CF64114BA6E1F3F9797AC693E4 + EA7F090AE1FB9AEAD9DCD24A1ABA9E81AA6510239920C530CABB71F7E615EE9F + 0425705A6E80753D4B27C8A0AAD24A630EFE5002E25494242E26D994A01C5C55 + 7528AC6BC866B3A8B7D782B35830198A63C829E2D9BDDEFB4EE7F3DBEB0ACCE0 + AAA617C155EA29458546D2867A1B72D90CDEF67F41DFD37E3709DACB0ACCE00C + AA680CAC685A5EA4B13B38D97E00B14412BC57C2C0E0777C7A37545E50166E80 + F302E324EC37CD7775B4223EBF0861621AA35E19636322BE7D18361798C2159D + ED785550024F2C821F9F82673202419882382A221C0897DEC146F0D59014C213 + 0B4BF0D0CE9D8244F020FC3CC127C31819E92DCE2233785AF90B53F360632E43 + 1FD7098A79742E899F047691C0352621264F63C22D3178D177F0F8E540093C95 + 568BE29EA64C512834468A9EEA6CC34C7C1E6E5F082EA3BBA71097C310F9893F + F0B582D7C78EECEFE9EA6883B5C2C2629C5EB373259F9EDDC70F6226364FE020 + C6082E8E87200B0148A25C045F2B983C77FA684BE7E16696D3A9945A10EBBC48 + FB0D8FC617081CA44B0D421483181F19C7AC3C5B023715B43637D109AC58585C + C64A4A29806B043F84394AC561DE4FE560165E418668C083E6F01281A3CED6D2 + E4D8853D0D75D8595DC52ED2C89E2C8D5D14F34834C1B2E5873B00C123232147 + E017A4B2F0B582C14C8E3B5FBDA30A95560BF6EEB6A3916486A4C16187DD5603 + A77B025E2902371FC072740E9E51DFBAF0926A7AE7415FCE6677C052C1C1565D + 81C6FA5AAA2B39D45111CBD2627F7086761E424494E0F30436849B966B4362AD + AC84BDA69A5295C3F2D21295619D95E5C5E40ABC4E3F8B79FB99F68DD8ACBD7A + 728B332B153722B1F987E170181ADD81F1DCE8AECFDE4D410B1B950A6E7BFEF4 + B7B2FD02BC08E5EFAAF547E00000000049454E44AE426082} + Name = 'PngImage2' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000022C4944415478DA + 63FCFFFF3F032D0123CC82D53BCF13655398871123B18683CC46B120D4DD10AF + 06A01A86F6FED90CE7774E27CA12922CF80754B776D7050651415E86A2BA3EA2 + 2C21DA0290E17FFFFE63D8B0F712838DB12AC3CD7B2F88B284280BFEFDFBCFF0 + 0768F89FBF7F19B61EBC0A0E2218A08A0520D0B3EA2131410E06A5E10A704BB1 + 5AD0B2EA0186260E0646869230798286831CD2317B23C3DB3DF98C382D00F141 + 610E0E963FFF18FEFEFBC7306BEB4BA22D3051F8CD1052BD0D6C098605216E06 + D008FDCFF0FBCF5FB0E1A0C89DBBE335410B7EFDF9CF3069DD23866827617022 + 0059F266771E238A0541AEFA0CED6B1E91144440FBC186FF02FA76F69627E020 + 82010C0BFC1C7519DE7EF88661C8B203EFB15A806C388CDEB9FF2458AE6CC679 + 4C0B3C6DB5C061FF179A2C81084CAF3AFC096E4144CB159CC1D49EA60AB6E4E8 + F133D82D70B5D26098B2FD25C120C2E67264FAF4E9B3D82D70325763F8F8F907 + 8605EB8E7F815B40C87010BE78FE1C760BEC4C5418FEFD852451502A82E4E07F + 0CDBCEFE005B00323CBA0D7710954629327CFBF997E1F6B58BD82DB0355261B8 + FFF41D86C6A3B718180A43E419BEFFFA87D5C520F6CFDF08B187B72E61B760DE + 92B5E0B2071DB8FAA73164F8C912653888FDE2FE654C0B181971975BDD2B1FFC + 4FF292061B5030E5264E75715E32608BDE3DBE4ABA05316E52045DFE0B5CB430 + 307C7C4A8605614E1244190E026459106027CE70E8E869066201C916209731C4 + 02140B6805009C1383EFACA508270000000049454E44AE426082} + Name = 'PngImage3' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000E9C00000E9C01079453DD000004BF4944415478DA + B5D37B4C53571800F0737A5B6ECB4B2F2D2D2D2053408286870CD4C9C0B89989 + 8ACEB041F035064CEB365800D93235C0EA40FD836D380C085B44C7C30993111E + 93199411DE844029B80908586094577B81963EE8E3EE82D311662A35DB97DCE4 + 3CBE737EB9E77C07120401FECF802B010821A8ACACC7BAC453B54A95E6405AE2 + E111631B7C9E7E331102E87431313C76B1FFAFFD9E071492C0A3A109218D8AD4 + 68C68527040281E1799B9FCF2A738306439314971765244598060C3C9E1406FA + BA73EE36F6045E381DD6B672F39339393457C4BE748BFBFAE08AFBED572E9B04 + 94D7B20647645D7111FB7805E58D359DF2817DB97CBE76795E7246717450E096 + 5C7239E5C7AAA62B99C9260039F977B893B3AA9E84A8FD3603C313BA9FAA5B8F + 9C8F0B2D799A73F6AB627B77676E4750A0375BD43B0ACA6ADA7ECE4C8A085935 + 9097574B1F56C89A2342767A6356E6A0AAB6E3E1AF1DFD5B6E0822D5A1A1C588 + D71B66D7DF7B3BE0E862767BCF20A8691265647D1115BF6A6031522E9784B130 + EB9BEF066DA72C68B5C4F5D2BACF5262DF493F935E78684F804FE9C6F53CF8E7 + 040E6E57B7E04A9572DBB7C951FD26018BCDF8B4FCAC5DDB37F377F86C84AD5D + 0353F79A1FECD9ECC22B3EF8E6AB2EB25925B85327D4F70E8DC5640B22AF3E5D + 640A004EA7FCC046D7A06D216F6D73E230AD417E59BD243CF8353B081128FC43 + 0C6A9BBBEF4BF48CBD2582B085970296904B45611C1BEB225F4F67848A40E0FA + 0A178C4864A0F46EEB2C3E33BF332735BA6B79BEC9C062BD5B482D8A5998D5A1 + 0D8E6C60678B01D14331E81D94246509DE4F052BC26400B8FC821E0E5178D9D9 + 326A5BC516E6737225F0B09BEB1892500FB688E7A5A02E52FD72C08E026F3B1E + 2B92CBC676D3E9664E23A313A85EA7910368A6B1E3602C3A1D5DA0D210B14422 + BBFF6860FC3BD018DEB53AC03797C659E79062CF65C6418346AF981AD3E85438 + 9C56D3692C864A6EE1E0A3D62AA6AD0787261A210D250044BCD45A832DB93413 + A8E70544FB49AD5100DB5FF1D14667CE3732F103056A98EBA322C42D8D9ED239 + 348725AEB39CF56438FA2E5066FAB893B8C27D4C4A1D279770C9DF3E09CCE831 + 8002CF12F5C7B28C022E11BF89508DD489AA1ABE26421D12414998FEEF23BBEA + 6683EF46ED7D09BDACD756A61AE2492A05CAA539A73C3A60EB6F03338623D170 + C4D328E01E5DAF21A47D5A864EE92FACFAE49F12F42F28DA84C93CA9F67E2832 + 3FECA4C30739DD5567F067F3BEB9A90035FF9468388A1A053CF8CD7238FDFB3C + 55A7F2E92C8F1D7B329A42A1BCEE52ED8EC9AC11DE56E61A44EE3833DA13DC5D + 9E50B30CB848023124606514F03AD5D24F99E9B5D42B64FEDD5509834B837E37 + 98660CD8E7B616BF2745DD985C267D977E52745D88D49F0025254F8ED0EFFB22 + F21EFC48C0D52860B9B7347B2D9C896252E70E8B2AE24BC1CE142AD0B97ECD36 + 577DCC3197F3BB71762B8FC3CAD8C0D46D958FF59DEA2A4F2804DED99B009D71 + 0B204803D170EC43E3651A50E88F52F4D55C0B45E563B9F597900031185DF381 + BD85A262DA801F5FBAD8C0020F1EDBA61ACE8D40E50225145722C1804AE39355 + 7480A83FDAF8E287E69FCF275BE7C82EC7D152A1C650F5B529037EEE59D52C5D + 7AD166000C17C85610F94D904F2C0D341ECF79E143FBAFE32F16D672EF3D728C + 4A0000000049454E44AE426082} + Name = 'PngImage4' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A0000043D4944415478DA + B5956D6C535518C7FFB7B7ED36B66E5D47D67663731BECD5B18605D8504C084B + 74982DC16468D4F881AD0305E3870550D100EABE482246712A8AA00182BA9828 + 84252006D7264AA2631B461325DD5C9ABDC0686B6F5FB7DEDEE373EF6869C736 + B6189FE4A4A7E79EFBFFF5799EFFE9E11863F83F834BFCF211506AD6A7585DFE + A99E3611BD4B1553DE7FC0DC797B64FC9C13387B883149017C0064549A528F56 + 5A2A9E31AE2CD00EDF700AB62B034DAD22EC8B117E07482B3019F61516E7ED15 + 6F8DA6BB6F79D84D1F0E5A197B8BDB06F06D7A743F5C8827B4997A684A6A804C + 031C7F8D78ED97FA9B5BB130E4531E9B2A2D655D191AA9CAE570201C61CC15C0 + D94911D60EC642DC4915DA9BCA714C97024E6E87C46BA029AE86DA5C08C79F4E + A1F7CAB566AB08DB3DC280C19CA77FBBA42877BB776C940F08018444B0DB3E1C + EE6178AD1B88CAFDE58E02797526D8561BB1324A00519A191A532174E535181A + 1A176C3FF42595EB6360836595E1AB1C9DB660CC39A1EC0F46204E06B0AF4DC2 + BBB17D0A409E1C032AD6E7E3C7223D8C31803C54E999C8B1AC85F3A6CF6BBFFC + 4BB30C3995A2B2D696E6BC2F8602691E6F50D9E79F4298CAD2DE069C4ECC320E + 90E32450BF6605BE37A623231122A9782CAF5A0DF7B44618F869F0FC9A55D94F + BB275DAA6058549EFB66C45BACC085D9654C02C8F1058F268B09DF64A5429B08 + 11A97419463304B707E1E014A669215696093F9EDB097C399701EE01C8714A83 + D60773F1499A1A7C1264D6A0864A54F397A8E65DF3396C4E801C67B4D85F9683 + 4EB50ADC5CE25351B04972CB76865716B2F0BC8083D4DFAA545C2DCEC6BA9868 + 34011096ED18C4E1768657659D2501C8519A2C9DB6AB7A6DB955F8E3376EBE12 + C959F8C238B003E85C3480C497E5E51BCE6C78AA79EBDF17CE21484D5DA80FD3 + 049916B1872047EE0B20F1ACE212F3B71B5B1EDD343E781DA3D7FA93C4C88E1E + 8941CDABA04B5C8F48F289C58BCF2BE76F1E00D55C5DBF42FF5D43D3238F07C3 + 115CEFB90831CAE222816984DD213446818954158E136463ECD413546E428446 + FB2E72FA9C80AF759A37B734D4BC9E663070FDBD5721787C890D955C41B45119 + 3E57F6D29FA31BE8500187E8F1B2B8D80CE459827427014EF0D8FC585DD1C53C + 935E3DEC9CC4B06334A9C6247EC4CAB06776FA1F02D5F4EB8ED3743D77F75EA1 + DE63DB6EE07C1CD05791FB7B6D85B1CAE70FE1D7010722E2DDD2FC13823D1C45 + 039DD4C83C76D61A8197497D3F8DD43B990428BBADF4CE6505602FCAEE7EA826 + BFA56FD0018F371417F747E017A650FB027003F70932482D099FA0A9E5CE9240 + A37127633F739FF16859579ADD3D36E1492A0DB176B72BB7E0E2E23D20450B1C + A0E95ECA86A7526DDEC5582F27A759A6852D330575316708615C1A91B0E50D32 + C9620109BDA9A78F27A9D91D7117D19D6A58AEC6E9340D1AC9350295A796360C + 2D557C76241D34D97E5E4A8F9270ED506EC4FF1E32E05FC9675CEF0AFC725300 + 00000049454E44AE426082} + Name = 'PngImage5' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000027F4944415478DA + 63FCFFFF3F032D0123CC02464646AC0A66243060B820630103230391006EC1C9 + 898CEE406A07B2E4890B40C33AA6A268B8B8229761E9E67F0CD1BE4C1886FD67 + F8E76151C0B0139705FF154C1A18045444212EAFC8061BFEE5C54D86A6E24970 + 0D75BD790C770F4C015BD2B16802C3FFBFBF19FE01F1D7A7BF1836CC69C0F01D + 8A05061153510C7F7D7527032EF0ECF216B025AD73DAC016DCD8D2C870FEC23F + E22C787C6C21C3D64DA70886AFB79F1983988E07D8825B3B3B89B70066092100 + 331C84EFECE923CD027430F9A037410B61A0345C016E095116FCFFFF8F61CA21 + 5F869230798286F7AC7AC8D0317B23C3DB3DF98C445900321C9452A61E0D22DA + 021385DF0C21D5DBC096E0B50066F8BF3FBF18A69F8C2068C1AF3FFF1926AD7B + C410ED24CC70F3DE0BB025382D00451C03D00290E120F6CC33B1382DF8FB0F62 + F8AF3FFF18666F79020E22BC71003210968160ECD91752B05A806C388CDEB9FF + 2458AE6CC6794C0BB0190EF2C5DC2B59700B225AAEE00CA6F63455B025478F9F + C1B4402F740256C341F4BCEBF9283EC0E67264FAF4E9B39816E8067563351CC4 + 5F70AB046E0121C341F8E2F973981668FBB761351C8417DDAD045B00323CBA0D + 7710954629327CFBF997E1F6B58B981668FA346235FCFFBF3F0C8BEFD7321486 + C8337CFFF50FAB8B41EC9FBF11620F6F5DC2B440C3B306ABE120FE92474D0C19 + 7EB244190E62BFB87F19D302559712B8E1E8F4F2E75D0C495ED260030AA6DCC4 + 1944715E32608BDE3DBE8A6981B45E00C3B34B9BB06A3C24798F21C64D8AA0CB + 416C503C7D7C8A6901B8CABC7001BBCB3E7B3E6008739220CA7010C0B00057A5 + 0F03DD2B1FFC0FB013673874F43403B180640B90CB18620100261ED9D6E5FCF2 + FA0000000049454E44AE426082} + Name = 'PngImage6' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000037C4944415478DA + B595DF4F5B6518C73F2DFD4191B66C6C4E8512618376DD28B485B1C126D90F36 + 8D1B1726264B76B53BAF3431DE99F80F18BDD1449399254B644E1747743ADD94 + 48169C428131268366832D631BC838FC687B0A057AEA7B0EB692B562417D9393 + 9C93F33EDFCFFB7D9EE73C47974824F83F976E25A0E59BCE75D1DEFBF00CD72F + 7FA4CB0A70E268DD9AC4450C454F17F2E63BEF6784FC2780EAEDCFF3580A6784 + FC2B403CAE70EEBB007BFD4E22D15846C8BA01AA783C9EE0FC956E0EECDEC1C2 + E2524648D680E1FB9374760E119A95B1D99FA2AECEC5739BED5C68EBD58AFCE4 + CA1A1096635CBC14D084B7941761CECB25321D66EAFE440A343032811C959124 + 498B39DDF275760055BCE5B3761C9E321CDB1D42DC844EA7435114E6E57946FB + 4778187C44D3613F66B3414BDBC5B6AEEC0167CF77905FBC096F4D3936430EF7 + C2301E5D7E67B5409E3EC648D720F353111A1ADC28A226DFB607B203A839FFE1 + 4A0FF5C71B291169B1EBE14E086E882C0813E488E70D3630CA53F48B4EF2EE72 + 512852F6FDD5EEEC00EAE973375AA93C50C55C04CC0A8C89D3CB4B5060165D24 + C242E2DE4A98B1BE2114D1413E7F053FFEDC9B1DE0E34F2E535A5341597529C3 + 63301703530E3C9B07361308034C2E08A09009DD1A606CE801FB1AABF8E9D7BE + 7F06A8C5FAFCC235AC22FFAE3D2E46C661711136E5C266711905A8C0080BC255 + 707A9E4737832CCE84D95959C6D540FFEA80E32FD56A1FD0E8F8B45683FD279B + 90643D2191A62DA2B076215C201C6C109738070392CC2F5F75E0F26CC5969FCB + B59EDF5607BC7AB84673B0245A51EDFF925D4E0A859389591D46B1F519E1C022 + F2633588B489E79B771E70B73B48B5AF428B09DC185C1DF0CA419FB651854833 + B2E6C2DFBC1BEB461BB373A20E8A0EBB69B9931E4F4DD37BA90B5FA59D2F4F9F + E575DF755AF3DE5E1DD0BCBFFACF39B3EC22223EB6E488F01CF163C9B7109989 + 30D0D6A7C544676EE1609CA6E2DB58BC47986CFF9463AD957F0F78F9054F4A3C + 098A2B097E17436C38389A9A455B9D0E0C7A3D5F7CF02E45917BD497C6707B8C + E4541DD320C5AF756406BCD8B0334D3C39399F0427EF4FBD518FD751AB419C6E + 03267F730A920638B4C7BD26F1E4BE336FED4B41563A490334D63AB52075AEA8 + 814BF1BF84944422A37872AD846C739B18948CE980BDBE726D22AE77F59C3A99 + 829C934AD201997E1E6B5D55D1560A771C659BC7CB1F1C73BA92B5793DE80000 + 000049454E44AE426082} + Name = 'PngImage7' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000B3A00000B3A01647F570D000002724944415478DA + 63FCFFFF3F032D01235D2C606464C42AB978D3F10C0E76EEE9E4181CEAAE0731 + 1B9F05AB775E3A1DE2A66B822E0EF2F3BF7FFF19FEFEFB8742FF03D217AE3F67 + E89DB19261F3BC2AFC16C05C0FB480E1E0E97B0CAFDF7FC5E95A51416E067D0D + 49B02513E6AC66D0D3353A03F481295E0B40AEB73751341115E2818BFDFB0F72 + 2DC4A5A82E87E0CBB75E3014D6F6309CDF391D6C204E0B905D4FACE120B9C9F3 + D6C05D8FD70264D713133C5A2AE20CD7EEBC44713D4E0BD05D4F8CCB4172A965 + 5318FC3C6C18EEDDBDCEC0C6C6CEA0A363C400348311C30264D7136BF88D7BAF + C129C7232C99C152959B61FDFA350C17AE3D63D834B712AB05FF41AE07197EF8 + CC7D82C1A3A620C2905E3115C570297975866DDBF7A35A50DBB3E03F30821880 + AE671012E0C69AC681086BFACFAE9ECED0589D07371C04502C689EB8E4FFEF3F + 7FC9C9B070C0CCCCC2202EA30C371C04E016D4F52EFCDF541C4FD0901FBFFE31 + 7CFFFD1F4CFFF8FD8FE1CF5F18FB3FC3E68D88A0F1F27444F5013116A01B0EA6 + A18683F0FE9DEBC0110B321C2388401650143EB060E2E063E0E6E165E0E1E621 + DE07845CFE1D2A7EE1C82686EF7F9818787878C0961C3A749AB005840C5FF4D5 + 8E61C1850B0C4BB5DE30DC38B585E10D304973F3F2822D397BEE067E0B8871B9 + F76901B0DAB9AAAF181E9CDFC670FFD173065E5E3EB025376F3DC16D01B1C1E2 + 9D21C43083D59481B5790BC38B2BDB192E5EB9C1C0C7C7CFF0F1CB7FD4FA0066 + 0138D9C10C40321C268E6C3848FC75B127D841300B4E9FBBC8C0CA210A361C24 + 8E62415D411CC3EC95BBC94E41CF9F3F07275398E12816C08A0A4A92A8B28621 + 43828F3E4AB90FB7809600004F6ECDEFF6DCFB3B0000000049454E44AE426082} + Name = 'PngImage8' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000B3A00000B3A01647F570D000002954944415478DA + B5955F6852511CC7BF3E9882694B723D6450D4A21ED61FB3879EEA295CABA058 + D1CB6A23A315C2A441AC4123368A82FE5011066D63D1ECAF6058291643AC8D60 + 966EB5FE3E64D4966B7B1841B1997A4FF75CF14E773DFE1978E070EE3D1E3F9F + EF399C9FCA082190C964284523F73A88AC54020A8F9E3323A7E0B6EB558352A1 + B2150BAF991C00852B0779742EC143EFDB40CDB64AA3241DDF398EC066F74ABE + 6399372AC2E93B53904ACF0BE00F7CC5C4E45FC99AB15FA3B054AD07ECE781C6 + CB4084876FD743D1DC01D97E736E014DBFC5B8DCA8D3CE17E7387E6D824FCE71 + 9CB083CE07BD387CA94AF84CE1FC88E8EE3550D45961F04411F2DAD882F4F42C + 78821FBB1D3E58E2EF10BD7A425CA7708FC0507F26B7203D3DEB78C423DABA12 + 38DD8868D02D1C0DF6D4C2B0D3CA16CC4E9F2D3927BC13F43CF2C3526B02EE5E + 037E8401F34940AB83C1740C2DC78F0AB74922484F9F0B4EFB1DD70B74D95D59 + 7717ACDF88AC75C00B084D4FE12F5F8799C7439B6EA10AAB962DC291E6EB30ED + 3B84CD152A389D0EB4E9E3D23A3875A19BACAD34804F0F6D994A4C3B939A8EC8 + 987378FA9975B0D770168FBB5A9282F62B3D24164FA0D8565EBE985907BB9E8D + CF085A2FDE226D4D07F302A7FF71988A11619C8E7178EAF531EB40BF64697182 + D9703AF6FAFCCC3A90088A3E9FD41131EAA0E01D644B9E7C267833D0C7AC8382 + 04B9E0B4BF0FF533EB20AF201F7C8A7FAE0E94096B3B2BC6F12DE446F87B046A + B5062AB51A9FBF8CB00585C0E97C75831637E49B206F7F82B1610F86863F41A3 + 5980DF7F8800A7AC0C413C91064883A7E6D3E1747EA2297945538240700872A5 + 4E8467085AAD0770F3FEF3B95C26A14522110C7EF899011705A99F8A39D3F9B6 + 62F506D4ED5827F9E71204A56CFF01E5E2820611E3A8010000000049454E44AE + 426082} + Name = 'PngImage9' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000029E4944415478DA + 63FCFFFF3F032D0123B2054BB79C24CBB6DE290B19CEEF9CCE882C063317C382 + 681F73920C07EA619016136628AAEB43B184AA1618682A30BC7EFB19C512AA58 + F0F7EF3F8615DB4F33D818AB337CF9F613C5128A2D0019FEF7EF7F86D5BBCE30 + 38596833FCFAFD07C592733BA6319265C1FF7FFF19FE02F11FA00520F6BABDE7 + C0918C0E48B2E0D687070C53AF4E62B8F0F6020348B59BB41F43A1661603EF12 + 0E8637E15F188E9C7FC0F0F5DB5786B76FDF82D5CF5BBA89780BE6DC58C0B0FD + D9620C4B4F3FBFCFF0E4EB038697219FC0C1F5E7DF3F30BD79EF29E22D38FDEA + 0283F906230CC303551CC1F4FA3BFB199E057E801BFE0F18275B0F9C26DE0287 + CD4E0C879E1F6028D56B606834AC021B62BEC582415D44106EC123FF7770C341 + 71B3E3D019E22C38F5F20283FB7627860D6EFB18CC8575A0A9E61F83D5762B14 + 0BEEFBBC811B0E8AF83D47CF116741FED12206676064BA49DAC00D1758CE8511 + 5C773D5FC30D07A9D97FE202610B400A6BCEB430D4E95532FC03CA234722321B + E6F2B92FA631C408A581C50E9DBE84DF82084F5370068219C4BF9413C3D5F7BC + DFC033DAD467ED60B164E112B0FA6367AFE0B720D4CD04C595422BB8E1A9E6E6 + 9BF70C5BACF7C00D7FCEFE942160971343B16E1D83277B3058CFE98BD7F15B10 + E46C84121CA2AB79512CD868B10B6CF8DC97D319BA2F3530D8493A30F42A2E84 + EB3977E5267E0BFC1C0D50C25A722D3FDC0274004A454DC67D0CAEAC81703D17 + AFDFC66F81B79D1E4A10C96C106490E15600E75A74806E3828C2AFDCBC83DF02 + 0F6B1D942092DF2CCC70DBE315C3F2D74B18763DDDC400D265206CC020CA2187 + 61380810B4C0C5520B45132C4271255564C389B2C0DE541D258DC33210580C4B + 9E40369C280B6C8C54C125222500AF05D82A0F7200CC0200F191E9EFB5062090 + 0000000049454E44AE426082} + Name = 'PngImage10' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300004E2000004E2001167D99DE0000035A4944415478DA + ED954D4C134114C7DFEC6E0B420B085A6A040DD88A45C0C4602D4A2D281F5589 + F1AB6AA2094A4C5502DC34F160EAD11BF1E4498D462F1A43FC408BA052C11435 + F8890AA222A2601B6B2D94B26DB73BEEB4168B16E1E2C1C4974C7627F37BFFFF + CB9B995D843186BF19E8BFC1940653012693897AF9CEAEA5696825732FE72B6B + 3877F2B6F01A982A77435595F48F0646A351E4E3E3342CE7BDFBD1F6F1E7024D + 957CE6BCED6FCC66EF6485D71D3DDE617FDFAD9ECC00E96B6BC5727FAC9A65DD + 41718EF795A6CBE6F9699A6925738F67ACE091A5A5235AB2C1502DA1E3F108E1 + A219A0CA4A530C15CFE68F7986DB0814F0072AAC2DD71BC9A276FDA69D98E7CE + 7198DFDC616E6C8866A0D6EB13C448E48AB6078278A5209E22888F05C531E075 + F76E5CBB11660B4AD716D30C732BC0F37A6B5363535403B56090F2BB01D209E2 + 4AA96C99DB1D6A0BE251455BD395C6C8E4253A5D929491248F70CCD7A796CBDF + A219E495EE8A4F605CEE09060683412C92CED6F03CB64C26FE830F9F6B4A187C + D41D144EDECAFBF7D50889AC41039D4EC7C83354050850B0721FEB392441D892 + 1827C62C93E892393F7F3863B1F822049142A110CB6473553C254AA431041806 + 80E3001266A7D8ED036FFA3A3333F94237CB1103B4AD72DF0A0A51EDD18AE91F + EA3F2191CCBADA7CE9ECCD88EA614B556DC9E0A7B71BE7CF997FE0579E773B2E + 386C0EAB5CA962D1DE9A835AD273B25873B41E66C602385900DB28C0C008C0F3 + 0127F49C3282D3ED2F7FD16626170C6FDB53534CE140F39FF8A10FB6D573E6A5 + DE463B761FC061F17C39C0A03B34C209244892F9702924C5607DD6E2A501719C + A4793A7C863203D05C450ED6166AE1C8B17A9821F4718C9B5811097A580CC7AA + F38070E1980E1FDC2C7966567ED1AAD50F4945E1707943C3EE9998402A229196 + 9A06D3E159AF6719D2EB6B63B20A942D19E5C6C2746908F0064209E449E0272E + 1BBC3D5F37D865BD6BCCC9CDE5E4694AB3667F3D4CC5B73E7EB020784CD76EDC + BE70C4EBE9D96ABA0831B470DC9CE2F1EA084CFAF9CDE95C33EAF8D49E9D9D0D + 0AC5224D5C72AA85984CC6B37E9FCAD1FFBA7BFCA269CACA14CB57569CEEEC68 + 2EECEBED1B4F50E6A8067BBA7B770F753F89FC4453E5DB77AE1A1D1EBE13C986 + F9AE675D455FDEBDEA0DEEC1BFFF47FBE70DBE03EC16D6DE8FAAF1BC00000000 + 49454E44AE426082} + Name = 'PngImage11' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD252000003784944415478DA + B5566B48544114FE362D31A3C78F104C7B50145A902FECE15299D12668ADBA61 + AE925AA405811585F4A31745FD308A0A42DB5EBBE96E56AE9AAF30CD2CC5C79A + BB998FCCEDA5640F15823233DC7B9BB9EBBDEEB65BAD5207863967E6CCF7CD39 + 6766EE15B12C8BFF29224AA0CCAF89237DD63F051689E21323C5D91CC1F5BC6A + 96186302A0EB68EC0CC3C2C430309918B34E7A2AF2DD2751A23A21B22210F965 + 9A17EB5304DD9ECD34256382FF25C11EA84D82DB8A6B9CDEFF301E771FE8A0D4 + 94E0E1ED745B020A36F69DD39EC5F4552A7CAA88437155A37D02478421FE96E0 + E6366293C610FD5E75D3F822A0E096B9363116E0C4765FA74677690CCA6B0D63 + 23287EDC850B375BF0A4AD177D9FBF63DA94499086CCC1B15D0198E2EA2C44E1 + 21D1E04DF16654D6373B4E702CF3098E663422FFAC049215B35050F5165BD22A + B8B9D0200FA84FAE11A2F00ACBC1CB42191EE99E395E03D76597F1FD8709BB36 + FB207DEF320E689A58C9CD393B89D0551243C6F81A985357D3D4EA5804F47424 + 1DA982BAD488C329FE48952FC6FDDA77901D28177C68CE79F0F91177D09E2B45 + DDD3F6BF13F005A5EDC730C3919C57B7C063E6645434F40804AF8B64233B67B1 + 28528B67B736A2B1A5E3F704F412D1313EDCEE8F0388492B87FE793FC2C45E50 + 1C0A86A7E4A64060BC1B2D6CC447560083261CFAF64E5B82046930B7800233FC + 1927FADAE462E85A7BB9B9B6DC284C759B08CF0D390241475EA4E0CBF7CD1D46 + FB04F4FA0F356CB75AE0BE2E1B43A4C854CA2E4AA02A3222ABE4A54060D044C0 + 89149BFAFAC616A1E146185A3B5FD912C46F5C8989810A7C23EF8AC9E22229B4 + 1D38AED07360625F77246E5A0065A111F7EB7AE03C4184D80DF3B047EE8D3A6F + 4F81D4455B694B200F5F0E97A02BF85293387A4B99D14233BF1C45ABB490A65B + 321B29CA73C84C48B54F10131664B573BB4056F3E6776778C447BF74EE9F09A2 + D707622AB9407D95F1E6428F000D5B00FFFA06D5FB8CA685CA8E3307A1D877CA + 6A4C2090860660C66A1537D853160B8FF51AC1E9457E14164AB582AD5787C34F + 5E840CC34E6ED7ECE057B0FD1FC0F4BD0778BDD380EB060B8288103F3B69F8F3 + EB49D36229DBB78A7145556D3F024A5058A973E89B604F86A242B02D7C01AE92 + 636C5303FAD1CFD196667D1B1C1A3741EC9DD348F40597168D6C3F92E2A4A31F + 7DF207306E605E3200E1FF6727C90CAFFF0482645308AD8246DC000000004945 + 4E44AE426082} + Name = 'PngImage12' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000E9C00000E9C01079453DD000003DC4944415478DA + BD947F4C1B6518C79F7BEF8EFBD56BAFC7951F33BA75E9822B88520C88D92C93 + 05C410CA70986D3261B1DB3F261B24D3F92331F2A799C6B0F96B666668165D88 + 12E7FE598CC14C639C43D0988D41B69974DD5A680B584A5B68EFFA7AAD81306C + 8D0BE2935CEE9E7B9FE7FB79DEF779DF97C018C35A1AF1BF020882C81978E004 + A6EB6BA106236D0B42E4BD080045E3AA8A35ECA3587A607709717531F60ECD7F + 0378FFDBF806A9807E2734956898F027A94844054D03C86310701C02AB950B47 + E3DA075D4EEEA5BB069CB898DCC671D03F3E1655BCDE0548A520F3A4D332DFFA + 9BA208D8B2D5047351B5EB48BDD09B13F0E27B41E7A580E5870B3D849AF64F5F + 49BA522AEE1B198E48B11806DE40416C4EBDA380A9192D03E278048D0DE61BDE + 49B2FAE5ED309515B0AFD7838D14FFEE3C6DE9AEAD559B6211AD7F642842A91A + B1243E3D1D85D999202416E2C08B0A30BC5907109999382A045C5E2674B6DAE0 + 93AC8096377EC7452C8F79237DB6AC5CAC1BBA14165329B4243EE10B82DF3B06 + 34237E93C2DA607C36F4B849595F67B26C22B03E0B399F82E626F9B3A76CB027 + 27A0D0600235F9D7325034B5241E0C84E1E6F591A02E7870F058D599F4F87AE7 + 295654882F8B37D434D08CA4C7226869967F7CA6143D9A1320911C305C5EC65F + 140F8713E0B9368C3535F5E4D069D7F9E53DB0EF38D526291BFB8DCAFD603090 + B0C3257DB7A79474660534BF12C0884A81C9844056988C7824A24168D283FDDE + AB472F7FD17164E52EB3B77D7C1FCF291EB9F8613D8F84D656F3B95D25A83927 + E076488375051498440C825E5178568399D0ED9F3DD7475CE35FB97D2B01B627 + 3EB218154B405E570D160B05AD2D52DF4E1BDA97133039A3427AD714EA0D33EA + 907455A169350E40BA075EB37CBA12B0A9ADEF1E91C9BF251557C1462B03CEAD + E25BED65E8705640E5013F9E5767F553A4014AA9A07700B4E43CA49271482EC4 + E7584172FD76A66E7039A0F2D9F35588CCFB49904BC1F1100F763B77F0390779 + 3C2BA0F11830E274805EF4037F3BD731F5428F757EF91FC7DEAFBB04B3ED6D82 + 12A0A9D1A4996554ED76D0C35901FF74D965B347BA6F725AD8F73D27592BD3B9 + 9DED66DF956B0B9547DB8489FF0450D171712F6750FA106D440F3EC0E9CBC39C + 7CBE266FFF5DDFA6D9CCDE71B98867F02F2C5F50C43024EC6C312646C763F6E3 + 9DD28D5503CADB7F1568160D7086C27A8AD42FB97A51CDB75087DD0EAA373DBE + 6A40C5FEB10F395674CB324B6C731A4010D09B7E0FF56ACFD34462D580C70E85 + 369BCC7874730987CB4AD9D1C980FAFA0BDBD9CF97C7AC0AE03C3423EDDA2D9C + 5414FADCAD089CEDAE20FE58199313B016B6E6803F0192C0D6E065D4DD9D0000 + 000049454E44AE426082} + Name = 'PngImage13' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A0000053A4944415478DA + AD956B50546518C79F73CE2ECB5ED9B3ECB22C48800A02CA45101BBCA005D9D4 + 4C17758C6FD57899FAE0D4871AB3CC6B5FD2748CA91877600AB3A949CA4427E3 + A65C1409729565B92CEEB2807B935DD80BECB2B773F6F4420A5841493D33E7D3 + 7BDEDFEF39FFF799F760F058C5601F2BAB443E079B0C077DF250304086432117 + CDC6AD3EA77FACAC6CAF77EAA5B93BB07F8B3EFD55A37872CC95C7E5725E6671 + 584F4570D871188E7182815068D2E3354E38DC17273C8E2B9DC33A4D735599E7 + B10495E76FC63B6CCED7F8A4708F58267A429620C5C4B1628C601310F006C06E + 1A656CF7ECA151B3ADDB366256EA07BB2EFEF4CD19FBF427FF13FCA4F29214A3 + 88BD9218F2CDB4DCA531B1F1122C40B0C11B02A0C37F74C822502A011F63EA37 + 33BACEBB8377BBD5A75B9B7EF956A3B9E15C50B063C77922AF20622B29979CC8 + 29484D4C7F428647E038DCF703BC70E826681A34F0F9B15720398F0452C0000F + 0FC1B0C640AB9A3ABA55ED8DEFFD5C5D797541C1A7E5D5F2E024766C59CEB29D + F96B5388380E0BC351CFEE2040E187B3024516096C1680044958FE71467D4D1D + AAABAE52B65D6F38BAA0E0E8890B05B21871E5AAC28C94D8043926A601F80480 + 651260DB47B382F47C12BC14008ED6A2793458D4FDE196CBB53D576BBE7B635E + C1543C2B32A8ED4B33932A5617670929161F761EB9396F330F6519EB49A06C56 + 4655D3EA3A5B7162DF0282C3112969A9AFA7E7A794E61467478E072360FD66E5 + CC7A6671E634746E4D0956AD2301BC4EE8ACFDD5AF2C3DF2C9BC824D9B0EB30A + 3624EF589EBDBC3CB7389B1F2004A06A76CEAC2B5BFA66BA9E5B1B3693601DB6 + 30B7EB5B3D155F1C2B5DF00C0E1CAE2C8C8E8B399BFB744EA2302E16333B3020 + D08E680EC09EE3B367B0BD98041A4D2A9A5AF08469E8EAE8635A2E5D19BCF07D + D9A90505EF1CA84814F1F92757ADCFDC96929F8A8F4DA2F9F7014421C1C62DCA + 9958B622C154518866754E80A6454D55559EA96F69AA3E3EAF40B57FCB726D50 + C0D2466DD9268D4F7C376B6396589A28C7EC1E0218344D7DEDB371BD84040CC6 + 80C31F64746A1DEABECE5873F9EBB33A9DFAB3BF15B41F78A690C7659A3D9152 + D044AE8500AE08B1F83266C593692C91428A071836BA0470E0A2B1E4A10747E1 + 38C6BD8C65C014EEBCFE9BA3B1EEC7DAB6EB57CA298A6AFB8BA0637FF18B3C11 + 5D91B03A534684ECA0712583C61D0316271EE408E4DEA495295162B904E39242 + 60B1D998DFE367D04507F6210BD577476DBD73BBF9467B5BED799FC7D38470EE + 47041D1F146D1788C22715B9EB92843C0A5CDA4EE8B708A163221E8C7E4269F3 + B0FB2339FC2269AC224D1EAF904444B2591E97276C1A1A720E1B740383035DB7 + 7A7B54F5341DB88D702E987BD94D752E10D3A58ABC8D4922AE7F1A6E30B2C130 + 26048DD50A23E38EE7CBEB354D19196B93A3158A748C2696D1B43F0AC5002EF7 + 98C334ACEFF47ADD030835821EDF432EF630733E9FFA217ECD3A998817828981 + 2ED0E93130B824A0350D41B7590F6E7FF0B9BA2E67CD833DE8E6017410403CE0 + 4C4D68706A90E0CF3F1CD5C1E2A24801D1B0243707F85C149AF60E188609E877 + 4483D6A8875E8BDEE5F4516F35F6B8CEC1220AEB39FE2CB3247B25F0055C14CB + 2D1834B2C0E010836678007AAD7ABBCB1B3C78AD775CB918F8B4A0FE5409B366 + 752A50860E1832A1CC4705A0351B416DEC7721F8FBD7FAC6CF2C163E2D38B4EF + 6D2647781F12682F82F3A0CF6C821EF3008C7A03AF2E36964704BB77EF629688 + F9407A6CE01CB987E006704FFA76D575BBBFFCAFF06941494949915020688811 + F1E15E4F2BD82CFA5D63DDEE732A80D0FF21F81D69327688E78891A000000000 + 49454E44AE426082} + Name = 'PngImage14' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A000005234944415478DA + AD956B4C53671880DF7329BD9CB6B4A5174A454005112F205E16DCD46C3097ED + C7B2690CFFB665BAE80FB3FDD8E2DC8C739AFD984EE3C8326203D9702E5B069B + 139D8E9B82283299454AB9147B81DA9BB4D00BB4F476DAB3AF80896E02D3ED24 + 5F4E4ECEF99EE7FDDEEF7DBF83C1135D0CF6B9BA4E18F2B0C4896848118B46C4 + 8958CC1767E1CE90373C5E59B92F98FCE8E119D8BF459FFAB6553435EE5BC7E5 + B25F23D9E4F3296C56068663EC6824169B0A04AD931EFFF9C980E7728FC5A0BB + 5657197822414DED4D95C7E57D93120BDE11C9848B6599524C942EC208160191 + 6004DCB631C675CF1D1BB3BBFA5CA376B571B8F7FCAFDF9F764F2F7921F809F5 + 05294613FB2472F1DEFCE225F27495048B102C08C600E2899908490265251262 + 6C4376C6D07377F86E9FF65447DBEF3FE87437BCF30A76EEAC25D695A4BC2E56 + 488E1795E465AD582CC353701CEE870106BD00D1F84C0E481C40CC678087C7C0 + A233C7356D5D7D9A5BAD1F5EAAAFB932AFE0CBAA7A45740A3BBAB468E9DB1B36 + E612196C12C311D11F05E81E07F044101F9B192C12408224647882D15ED5C69A + EAEBD49DD75B8ECC2B3872FC5C894C2EAA59B5A520373D53818950C41401E098 + 0218F2CD940B8F35B38A200D80A37769BC3838B44389F68B8DFD571A7EDC33A7 + 20999EE505F48E25ABB3ABD796AD11D024056EEFC2BBC6E502D02E27A369E8F0 + 9DA93EBE7F1EC1E194DCFCBCB7566CC8AD282A2BE44C445360EF6737E704EB5A + 7470E9B73D4071D043D00B3D8D7F84D5159F7E31A760EBD6C364C973393B9715 + 2EAB2A2E2BA422041F4AB6AAE78D3E295009019C1607D3DDDC11A8FEFA68C5BC + 0B3E78B8664B5A86FC4CF10B4559828C74ECBE77E1B6C9498D436FD720D37EE1 + F2F0B99F2A4FCE3BE3FD83D559428A3AB1EAD9D5DB7337E4E1E353A8FE4300A9 + 6C00394A059B98ED83590A8DEE4EEF24E8DAB5745DCDE9E6F6B6FA63730A3407 + B62DD347F9A43E75DB76A92AEB83359BD788A4590ACC1D208041D5244896650A + 2A4FD4033896DC7C063CE12863D01A50F44DD6868BDF9D3118B45F3D5670EBE0 + 8B5B785CE65A8023051D67234470658CA464CCF267F249A1528A4718549B0C0E + 5CB4021E1A3824C03311641C265BA2E7FA9F9ED6A65F1A3BAF5FAEA269BAF31F + 82AE0365AFF284F1EACCB5AB6544CC0D3A5F0EE8FC727078F1289BAF0866AFCC + 4D15292418572C0092C5C2C28130830E3A708F38E8C13B5AE79DEE6B376E7536 + D68602813684F33F22E8FAB874075F9838A12CDE942DE0D1E0D3F7C09043005D + 932AB08609B52BC01AE2B0A95269BA325FA1524A52382C32E00B246C23235E8B + D9601A36F5DE1EE8D734C7E3916E8443ADF850DB2423E78BE215CA759BB385DC + F034DC6C6581795C003AA71346273CAF5435EBDA0A0A36E6A429952BB038B134 + 1E0FA7A23480CF3FEEB1598C3DC1A0DF8450A368841E70B10739A728FA67D5FA + 4D32212F0693A65E30183130FB24A0B78D409FDD08FE70F4E5A65E6FC3EC1CB4 + C5903C2488590E3A57219A2C24F8FB0F4773A8AC94C3275A1615170185DADCAF + BF03660B01439E34D05B8D30E030FABC21FADDD67EDFD9059BE03117D67FEC25 + 6651E14AA0F85C9496DB306C25C1EC1181CE628201A7D1ED0B460F5D1D98503F + 0D7C5AD07CB29C59BF360F6873178CD850CEC7F8A0B75B416B1DF221F8475707 + 274E3F2D7C5AF0C9FEF79822C17DC88C07119C0783761BF4DB4D30168CBCF1B4 + 697944B07BF72E6691880271C005DED17B086E06FF546857539FFF9BFF0A9F16 + 949797970AF8FC16B990827BFD1DE07218778DF7F9CF6A0062FF87E02F9F6855 + 88E7298D620000000049454E44AE426082} + Name = 'PngImage0' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A000005A34944415478DA + 8D960B50546514C7CFBDFB625958DC455049C8074A3C44B490C67C8C5A098A8E + 8E61A0E68C363A4C884C5A3E7240D1F1C13496A58E634FCD0AABC9416DB29C18 + D9626C542052234904158170A10576F7DEBBDF7D75BEBB0B3E82F49BF9CF7767 + F7DCFFEF7CCF731918B8E950C1283B6AB8D96C8C62F5AC4994149EF0A4197F6B + 4575A13894D29F81AAAAC00C601EA6D3416A5090F9F9509B65AA2D3C74C490E8 + C121C19620D6E316E4F616678FCBD973C3E5723B445E2CC7F81A94F7710034EB + B17ABD7E516C42744E424AECA8F8F1234D23C63CC10C8D8900539001BC5E1E5A + 6EFD0DF57537D53F6A1BF9FADAC66B6D8D1DC7144529C3776F51DF8100D43CCD + 1E11B626754A52C69CACA9831252464358B815581DA305CB8A028AAA804F26E0 + 1638686DBBAB5EB9F417549EAA71D6573595096E72103DAEF442EE07B0A8F1B6 + 48EB96CC97A6A72F58362B3866F43046A763FBD2A1C6C5F90ED8F8EEB3C0893C + 78509C28809BF74243FD6DF5E7D2AA9ECB3F5DFF9678C91E0C6FF0FBDF034418 + 0CBA4DF397CE5CBD7CCD7C4B544C24A36391C930BDB940D19A735AE0EB7B9F06 + 0FE1347935103EFB38B8D3D0AE3A3EAD72D59737BD8361FB513DBD0093C1C02E + 9B38257157DE9625914F258F445F06588645E1D46048515E399C2E3D08F372F2 + 20B7244933778B5EF05210422888230234D5DC81F3876B9B3AEA5DEBD1F73402 + 240A181E3ED476287BD5EC3959AFA6B366B34903E8581DF66C9F396D14B0724F + 3CB87D1E70138F96B936020471124E57B7176A8F5F93AE7F7FFB33C9236D4440 + 07CE33A4C7A5C41ECDDF9A13999C1AA7654DB3A7806DF9157DE6BD80FE5AD4AA + 0EE071148244A0F9421B5C3DD2D0E469E65620C0C1982C86E21973D336BF5698 + 6D1844774C20FB9D05950F98D31D24490A88921C90FF39B7E02DB0AF6C418080 + 001F74B5F640DD478DA2EBF79E4259944B98109BE5544E6E46E6E2D5E98CDEA0 + 031617F7ED75171ECB9C2A7F7D21985FB901BCE407705E011A4BEFA8CE739D47 + 245E59C9D822C2AAF28AB3274E9FFB0C43E77EDF869AC736F71109DED85C0CCC + 92BAC0088876465ACF38D5B613CE5F658FFC1C631F32A8A660D7D209A93393B4 + 1D7968F3953E407FA6D243CF9B0A77009F558D009F66EE9345E83CD705EDDF74 + D6CA6E790263B5592A96AD9B37EDC5ECC98C04321045842FB7DE8413C7DE7FA4 + 39ED0B8B77C13F0BCE6BD3A3017C22749C76A9DD673DD58AA0A432C1A1410766 + 2C9A949BB576B60E8218201844213FEC76C1E71FEEFD5F73AAED3B4BA0655E05 + F81040307BA18B40676997CAFF269C54457521C31AD8E58993461F78796346A8 + 2DC61A18A61F72699F0A1FECDFDD6758F06651BFDBB431E34704F8DFE11A04E8 + FECACD49B7E5125556B7D383161F1963FB62F6EA2929492FC4323E55BC079125 + 683C6C85F7DEDEAE01E8822AD957B5E9E051DAB468BDDF5CC445F73838953B2B + FCA276AB5BF01C545240A8C1ACDB903C2B6EFDF455A966A3DD0082ECD3168B42 + 44EC5D47A361CF8E426D41DD8B2EF6ED169A756FE634195F1B016F19D72DD5C9 + 5B41828F11E0E9BDECE22DB6A092B4A5E3D3C7A63FA9978D0AC35388F6B27F67 + E8BF4ED602DB321D81D1899A4445F2F76E51E52A0442CAC5E340A010439BEFBF + 4D8DA8CCC1636D45E316C4260E993458279914C6171809096CBFF09393E166C6 + 59CDD01730A72324682E54119138C845F52E6C432F074A7AB8E0846255586C1F + 655D1B3D6D5842449A5DCFD870573DB026FE7511E994507311FF6B2720541322 + 568BD56A3BD0ABFA3B943050C9B4A266996C8615F6C4B099D6849060D3082303 + 363CD1264583116AEA45E05DEC9B7C2AA9177BA4EBF2192CFD9FE0BB9528FE51 + 45DF801AC31AD9857AAB3ED318AE8F3344E843749178EF5A8021DDA24ADA4549 + 724A3DB24BF95375AB65B8A02703F5587A54D1EF6DF477FAC91285953A99D1C3 + 38303276BC074D8A0CBC4A54271EFACBA8AB18D30EFE4F97FF340AF8172272E4 + FE66E507F40000000049454E44AE426082} + Name = 'PngImage16' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A000005A14944415478DA + 8D960B50546514C7CFBD771FC0C2E22E026A8A2F140145B490C65047AC0445D3 + F111A463A38DE608CA949A1A83864C2AD5E8543A4D33659AD360E3E8A036D958 + 069B943D80C8576E12A8BCC28559D8C7DDBBDF7D75BECB2EBE60F49BF9CFBD77 + F7DCFFEF7CE77B5D06066E1C2A0C65450D0F0D350C6375AC5194141FF19166FC + AD0DD58DE2514A7F06AAAA0233807924C7415A4848E8F31116D30C4B54C4A8D8 + 1183C3C34C21ACC72DC81DAD0E97D3E1FAD7E974DB449F7801E3EB50DE2701D0 + ACC7EB74BA25F14923F29252E3C7244E1E6D1C35EE2966485C341843F4E0F5FA + A0F5F67F60BF7E4BBD56DFE8B3D737DE686FEC3CA6284A05BE7B9BFA0E04A0E6 + E9D6E8C882B48C89D9F396CD1894943A1622A3CCC0728C162C2B0A28AA027E99 + 805BE0A1ADFDAE7AE58F7FA0FA4C9DC35ED35421B8C921F4B81284DC0F605193 + 2D31E6A29CA5B3B216AD9C1316377628C3716C5F3AD4B864A30DB61D781678D1 + 071E142F0AE0F679A1C17E47FDA9BCC675F9879B278997ECC3F0865EFF7B8068 + BD9EDBBE7045E6BA55050B4DC3E262188E4526C30473D12EBB0A2AB5E0B57B13 + C14378F06A201E3C7E1E5A1A3A54DB17354EFB85A6FD18F231CA150418F57A76 + E5D48CE43DF945AFC44C48198DBE0CB00C8BC2D260888A5192224169810DCE96 + 1F820579F9F0D2CE58F02284F68482782240535D0BFCF2697D53A7DDB9197DCF + 2240A280E151432C9FE4AE9D3B6FD96B596C68A85103702C87572C11CB8084CF + 7E4584F736546900DA2824638BB1B70708E2252C578F17EA8FDF906E7E7BE74B + C9236D434027D619B21252E38F6EDC9517939296A0654DB32F2DBCD8EFFCA500 + 3AD892A4C0D2570B21219F0737027CD80B4122D0FC5B3B5C3DD2D0E469E65723 + C0C6184DFA92D9F3D3776C28CED50FA2332690FDBB85D57DD9DEDF82E6A2246B + 5AF5FA56B0AE69458080003F74B7B9E0FA678DA2F32F57B12CCA654CB8C57426 + 6F7D76CEF275598C4ECF01CBB25A0FCADEB8F408E061733170BFBEF06D80BC6B + 1A80F70AD058DEA23A2ABB8E483E650D63898EACC92FC99D3A6BFE338C36B808 + A0A37F606BED038081CCA9FC44822D3B4AA07BF1AFDA1A693BE750DB4F392EC9 + 1EF939C61A3BA8AE70CF8A29699913B5A9884B09449C31878BEC7D80FE4CA587 + EEB7179742FB822A0488D055D90D1D27BAEA65B73C85315B4C552BDF5C30F3C5 + DCE98C0432109C2DA22CC189DD2D1AE049CDDB722AB5ECFD7E113ACF3AD59EF3 + 9E5A4550D298B0889083B3974C5BBF6CD35C0E421820184421DFED75C2A9631F + 3D91792BCD1CEB4F307BA19B405779B7EAFB5338AD8AEA6286D5B3AB92A78D3D + F8F2B6EC084B9CB9370BD4CFFB49BFD3F4C3F7773F98399AD3C1F54BBD89F10D + 02F47CEDE6A53B72992AABBBE9424B8C89B37C35775D46EAC417E219BF2AF641 + 08968ABE4402CF3D4747C2077B77DDCB9C9605CD8580B98883EDB1F12A7F5EB8 + A8F6A8453859AA2920421FCABD95322761F3ACB569A106AB1E04D9AF0D163515 + E5205004B97C02EC2B2DD6CC5B727ED4B20E664E93F1B713F056F03DD27519B3 + 80CF11E0096E7689264B4859FA8AC959E3B346EA6483C2F8E460B77BCD697DC3 + 4E3EAD05DFCAFE5E7BA6A2334EBBBA4595AF1208B9201E0702C518D67CFF6E6A + 40E50C1E6FD93969517C72ECB4C19C6454187FA02724D083A8D3D3D1FCBC66E8 + 0F98D31E1234176A88486CE477F52EBC835E3694F4F0811381A7C272EB18F3A6 + 1133872645A75B758C0567D50363D23B2E222D093517F1BF0E02422D2162AD58 + AB7600DDAABF4109031D9966D41CA345BFDA9A1C99694E0A0F338E323060C195 + 6C543418A1A65E04DEC56B935F2576D125DD94CFE1D17F18DFAD46F91E77E8EB + 51E35803BB5867D6E518A27409FA685D381783FBAE0918D223AAA443942487E4 + 929DCADFAA5BADC0013D1D388FA5C71DFAC1467FA79F2CC3F0A44E617430090C + 8C15B729A322834F25AA0317FD65D4558CE980DE4F97471A05FC0F622CD6FE88 + 2F15D20000000049454E44AE426082} + Name = 'PngImage15' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD252000002814944415478DA + 63FCFFFF3F032D0123C8822F5C7FFED767DC625876E301458645692830B0B2FF + 67E8ECD06184391CCC282EBAF6DFC7478B21AA671BC3F36D5E040DFAF3E71FC3 + EFBF7F19FEFDFB0F66FF01B275A20E32AC28E766F0F2F26250538B63387F7E3A + 235E0B3AD73F25CAD571D6BC60DA28E108C3A783A160365116E07339C4D540FC + 07C1364B3EC6D0E0AFCDF0EBD72F8679F3FA48B7009FE1206C957682A1CA5395 + E1E7AFDF0C4B974CA65E10051AB28169FBACD30CC5CE0A401FFC6658BD6A06F1 + 3E20E4F2DF50BE73DE59862C2B09A0057F18B66C9E4F9C05C41A0E4A45EE8517 + 18524C44C03ED8B573097E0B40C9AF7BE333A282C8550D92DEBD4B2F31C4E9F1 + 03E3E017C3C1FDAB705BF0748B2786EB103EC04CFF3039FF8A2B0CE11A9C601F + 1C3FBA1EB7050F37BAE3351C3DB8FE41732CC882402516B005674F6FC16E0138 + BB032D2107C00C07E583CB1777E1B6E02FD07520853F7FFE82D0504DE86C506A + 8188C1F81039909A5BD7F763B7006678754D0159BE5056B303EB7FFCE038A605 + 6E6EC05CF813E292D6B60A9002AC86FCFEF593E1F7CF9F0CBF8018C4CE2E3A0A + 16BF7DF30083AC822558FFCB6767302DB0B757807BB3BBA70E6C0137373758B3 + 868605C3D9B37B310CFFF3FB17437EF969B805E252266033DEBFB9886981A5A5 + 343C0C274D6A065B2025A5C42029A9C8A0AB6BCD307B563586E1BF81EA4B6A2F + C22D1014D107B3B15A606C2C0A8DC4DF0C336674802D303676061BAEA666C450 + 90EB8461F81F20AE68BE4E9C053ABA02F0208216B70C09097560C385852519C2 + 8395300C07D1B59D77095BC0C8C8C8505478F5BF82222B72718B35CC910DFF07 + CC78F53D0F88B300040C0C32A8D202B87061066A9D4C4B40730B0038C31BFE85 + 5838D40000000049454E44AE426082} + Name = 'PngImage17' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000026D4944415478DA + B5966D48535118C7FF138A455F84588C0A7A27AA1163CDB69168929851CB5806 + 81D5878A7C29412428484264A85006814342E805112DE8436F94F43E74393775 + ABC1552C87B5EA6286B7B01AB4BBD3CE8D0DC57976B7D9038773B8F79CDFEF9C + F33C17AE821082FF198AE982F607CE946C4DCD3731D8D5A2A063FFDA73E4C9FB + 469C8CB0E30A4AF61A928247D660F9D225A8BE7019366F0B0CD595C8186B43AB + 4D9024F322D06E5C8521F75D2CAB2A85E94026E010C00533D1CD09E99D4014C3 + E87CE482F2A717D93B8A305AA381A97F4282D3484B40E1A248F0BAE33486825A + 188D464C0A5FF1A3AA002A9EC0C7837D457957C7124A6A958DD896AF4146C08D + 1B1E23D46A35789E87D56A452010483EC9244C20465A28B27B6767650CFEE5D7 + 38BE8F7F46AF5026C1559BCDB1AA922D48040F0A1E145B57E06C7D2BAEB5DF4B + 4E20176E7778F0F0A54B9E205E0EA6DF793C38DDC463BB5BFE0992D97974DED3 + 9E01798254E0B4745FF47A120BA2354EFB70E47D435D09FE902294177630E1B4 + D95D6FD88243BBB324F8AEEB01E95959A8166F3F4E4137F509CEC515B0AC3922 + C1D7D574CFC8CF95DC050885C370F4FBD88283057A69277432ED2FD51FC5999C + 85F03FE7E00F2A71E7C322D435DF8A9D303A2F3A767939B6C0B253175BD4D556 + 0197E3154EE95663D0FF1B8E491EE50D7D73C2693FE01B660BF6E569638B8E9F + 3886D1110E2B5504872D7AE8CD179970DABCDC085BB027678B34B1F8F604BED9 + CC385FBA1586FD4D33123F179C26DC37FC8E2D28DCAE99B5482E9C464241BE69 + 53CA705982DCAC0DFFEA5F24B36A9C7E132CB82C41B66E3DEE3FEB433AC114D0 + 3F84F988A8E02F75743575B8E251160000000049454E44AE426082} + Name = 'PngImage18' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300004E2000004E2001167D99DE000004124944415478DA + ED955F4C5B551CC77FF7DEFE61D0C204D7758139C15684752C1A565A47D7A983 + 1664449D75337301A7D68D8CBD69F4C11463627858427C30DD8B3A0C8B0FBA10 + 71B8F247470706A6996E93617173C060A56D645DD7526EDBDB7BBCE75E6F2D5A + 46E2E29BBFE4E49ED3F33DDFCFEFFCEE39B7044208FECB20FE07AC0A584DE070 + 38C889EB011345C1101EC798786D77D747DF72DDE46A6B1B0F1E54DE1560B7DB + A57136DB4033B17373FEB9BF262872978F898D5C73B9622B257EB4ED83B1C0B4 + 47BF1280B0B6B6CAD4892C3D4D477873868DD76C543D90A028C9101E47A34BC6 + 1FDD83639916DB6C2D0A2A0785B12E1380686A72C8C91CBA72297A67188B9289 + 64C3E8E0D7BD78D2F4F4B3FB11CB7431887D6ECCD5DB9D09A0B75A7365843494 + E91D70E64D9C790167BEC49B2340F5DF9D397D46D41A6BEA9EA024926F922C6B + 1DEDEBEDCB08D07380827F02083367AE55AAB64522425908966818EEEBE94D5F + BCD56C5EAB9428F2C38CE4D625F797B733012A6A5ECAC9958422CB00369B4D26 + 55AE33B02C72AF64FEA75E3CD724D7D88C6F903B79DBCF9FD7138474940798CD + 6689BAB8CC4800C1671EA7A36F2A08E4CECB96215A921752057D373ADDEE789A + 21A1D168642A5561194B4AF3280449890480610072D7150402B3D7A62E9494B0 + D5119AC100E285A6D71F27097224533233F3334E85E2FEAF064E7DDA2F663F57 + 21DC01DB867AE7A60D9B0EA7EBF3E6273EFB708DFF45DF758F90C9AB47DE30E1 + 9AE3C191B60EB82F0B204803F8170166C3003FCF0661F2633B042309CB956117 + BE60E83897EC6B4E07CC3BDF85503F9DD2FB16A2606F7F14C8DDCDFCDCE9CB1C + 605FF361249A57AA01BC11A189001C18E27ABB06D6CA91B574F3634959B66260 + E709278890E91E9AD737BE550E64FD81947957DD6E200A353A64AA36C13BED1D + B086ABE312B37C0738A83B32686FA900AC1303EB87D5592988BAA41408CBBE94 + F97B1A9D50226EA272E78E277FC03B102314135A20BA1C50AC2DE6C745EB8B40 + D48F3F9805AF580BF9BEDF7B93374FF4B3BC9E8E45B711566BABBCD4A81D2CB6 + D8AB372A05C3585200E02736BF18F2C36F278F7AC747CFD9755BB630EA22ADCB + 70A803B05E1EFE1D2C6D55BC398EEE636C4A3FF4D3F70FF1C7B4EE99BD0F8763 + D1C9E71D9F839CE2DE605096DA0D16E3FADF0E069F5A5CB839525E5E0E1ACD23 + 86ECFCF56EA3FD18B4BCBF19FC37A6F9CCF14E30A82AAA033A112F5B98F9D593 + BA6886DA5A4DD5F6864F2E8C0D544F5D9D4A01B4BA32EFA4E76AF3BCE762FA27 + 9AB4ECDDBFE340E897B37B923EE81CF0420F57B646EE0E8990A2CBC2255EF5FF + 60A548580BF7708F2FB0399344CD87003AF1EFDC1146E9907B01A0D1F1004CCC + 254E70E62FA7CFA543FE3560726B3E3A7BE916EE2A38C0E2DFE731A4A1E21E4A + 745CF86CE838F32B77D3FC01CF05F8A9B438C37F0000000049454E44AE426082} + Name = 'PngImage19' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD252000001B74944415478DA + B5943D2C044114C7DF6A5CA150894204052AD14B7C14D7701D9D44EB4A854434 + BE3A89E28A0BD128080DA7388ABB444E88904B705710111FA5467D91DB9D9D31 + 6F6677CFB9B998DD75AFD8F9DCFF6FDEBCFDAFC118834686810063BB3CC9FB47 + 8AF52988475241C585B6036089C1DA0D7345FE88478C7F030841FF5137CB0A60 + F5395C2156FA95597A80D3F377161BEBF953C7223694BE4C20361563D324109B + 598442762B3800D75110C54DCB167D14C638CEDEC0CE7E3A3800D76C14E4E284 + C81641160761A4CFF2C100388745213617B628942DC2019801952D9180ECE55D + 30804D2950CAE0F0D586E98BDAFA27064A106D3321775DD4074C8C763B93F2E4 + 16BF92965D06F5FC5118FE84ABDB077DC0F88804C8821271E7AD074D10C61F6C + B639E501A2439D62567E2D4464D09EFC08A4EC65B0DC6754D520B997A9DAD0D5 + D10B61FC719FD9AC0096D6376A5E5C5B988730FEF00086A1FE9F9DE4DE42F9C3 + 37C0AF3F7C035C7FE049F1C41240C518A1652703D71F5A00953F4C47D86BC555 + 71805303D71F5A00953F4C2703B7B5BCB104E48B4FFA00953F7E9E5C05283EBE + F8ABC16F7FE8843640E50FDDF0008D8C6F397A5EEFE9EAF0950000000049454E + 44AE426082} + Name = 'PngImage20' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD252000003034944415478DA + ADD46F4813611C07F0EF392446538B289908A6537314FE4926362B933433536C + 1619F52202A1DEF8C250DF0596BD890489CC28EA456064E6D49588A583569BF8 + 27752ACE7F399550D3B09C9BD23677DD5DDD799BCBCCF983C1EE9EBBEFE7F9F1 + DCF31035EFF424D6A9EC9428021E1441038AE448B783CAE65E94DC7D88EEA68A + 4D23FF040E458720FD52E15F11694E9DD9F0224BF45F80328480628CE43A60CB + 15397051B564B5DA85C3D50A62C380512E86509E0E9DF2094E196CB0DAECD46F + 05272E1438017478464AB4B04AD58E31E5D98D016C388C6AE65AD76D4442BB09 + D58D5A3CAD5471001B1E112AC6B36AAD616CE29B3F4992361F91B0746864BADE + DA9E3BBC06700D678B46A68A1B39801FCEAF51E31C6A1A3E59C627E7066DB695 + F3B68EDCCF1C107323D56D381F2909BF06EBAE93665954B0282941CA8DD9571C + 004960D1628379C98EAA5A5D7DBF61E2384922103D57179C3B100BDD86F33B08 + CAA8215393A48E84B8302F7ABCB85485A3F15248820360595E81D962EFB9FFA8 + 76861A7A4301E50C9091B89F59C8D9E42027840E0F69F8828F9D7D4E6B4023FB + C2F62C9F498B1516DDAAC64E3FD1A240E0253A228F2604DEDBF0AA565D643299 + 6514708E0152E511DCD7B29419CE206CF84FEA7E87DEE004B088404058A6BFFE + D8BEDC7A85F0963D9644848B151249C49DE1D1C9DB0303C3E91410C30049B250 + 269C45F4C77673E1D4770EBD618403F8474BFEBD51CCCC7EC7F31219D77561B9 + 11FE01C1953A5D6B3605089917E22383A06C6AC57AC507F8FB666FA612E32A05 + 777DBD4C8BD71FE6313236050A209817F8BB75BD7207B856C5CB0E1494F5530B + 6EFD0D6C2899576E81852EC0EF201C0E1275EA3EDC2C7F0BFDB80F62FCF5F01C + A0C307F3A0516B1197BF7AB49CCE6B8275AE790B80B6C380AF96F93BD402ECC8 + 3131487D731BB36E9E017F66CF029A3A20F8F23CD341E3FBCE2D0078B3678BEE + C2913683165DB78780CBECD9A2BBF0CD5ADDFD9B02E8A3C5BB2B714D381FE90D + 6CF4A003991D9A07B1EB3EE711401F2D952ACD3F9FDD34B0D19D4FD72F7A80FE + E871245F980000000049454E44AE426082} + Name = 'PngImage21' + Background = clWindow + end> + Left = 523 + Top = 0 + Bitmap = {} + end + inherited JvFormStorage: TJvFormStorage [9] + OnSavePlacement = JvFormStorageSavePlacement + OnRestorePlacement = JvFormStorageRestorePlacement + Left = 528 + Top = 32 + end + inherited JvAppRegistryStorage: TJvAppRegistryStorage [10] + Left = 560 + Top = 32 + end + inherited StatusBarImages: TPngImageList + Left = 120 + Top = 112 + end + object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList + Left = 48 + Top = 144 + object dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel + GroupOptions.CaptionOptions.Font.Charset = DEFAULT_CHARSET + GroupOptions.CaptionOptions.Font.Color = clWindowText + GroupOptions.CaptionOptions.Font.Height = -11 + GroupOptions.CaptionOptions.Font.Name = 'Tahoma' + GroupOptions.CaptionOptions.Font.Style = [fsBold] + GroupOptions.CaptionOptions.TextColor = clHighlight + GroupOptions.CaptionOptions.UseDefaultFont = False + end + end +end diff --git a/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedor.pas b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedor.pas new file mode 100644 index 00000000..0d812638 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedor.pas @@ -0,0 +1,342 @@ +unit uEditorRemesaProveedor; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uEditorDBItem, ToolWin, ComCtrls, JvExControls, JvComponent, + uBizRemesasProveedor, JvNavigationPane, ActnList, + uEditorBase, StdActns, TB2Dock, TB2Toolbar, TBX, ImgList, PngImageList, + TB2Item, uEditorItem, DB, uDADataTable, uEditorDBBase, JvFormAutoSize, + uDAScriptingProvider, uDACDSDataTable, StdCtrls, pngimage, ExtCtrls, + TBXDkPanels, JvButton, AppEvnts, uCustomView, uViewBase, + JvAppStorage, JvAppRegistryStorage, JvFormPlacement, JvComponentBase, + cxCustomData, + uViewRemesasProveedor, uIEditorRemesaProveedor, uRemesasProveedorController, JvExComCtrls, + JvStatusBar, dxLayoutLookAndFeels, uViewGridBase, uViewGrid, + uViewRecibosRemesaProveedor, uViewTotales, uViewDetallesGenerico, + uViewRemesaProveedor; + +type + TfEditorRemesaProveedor = class(TfEditorDBItem, IEditorRemesaProveedor) + dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList; + dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel; + frViewTotales1: TfrViewTotales; + actVolcarDisco: TAction; + TBXSubmenuItem2: TTBXSubmenuItem; + TBXItem7: TTBXItem; + TBXItem33: TTBXItem; + TBXSeparatorItem6: TTBXSeparatorItem; + frViewRecibosRemesaProveedor1: TfrViewRecibosRemesaProveedor; + frViewRemesaProveedor1: TfrViewRemesaProveedor; + procedure FormShow(Sender: TObject); + procedure CustomEditorClose(Sender: TObject; var Action: TCloseAction); + + procedure actAnadirRecibosExecute(Sender: TObject); + procedure actEliminarReciboExecute(Sender: TObject); + procedure JvFormStorageRestorePlacement(Sender: TObject); + procedure JvFormStorageSavePlacement(Sender: TObject); + procedure frViewRecibosRemesaProveedor1cxGridViewDataControllerSummaryAfterSummary( + ASender: TcxDataSummary); + procedure actVolcarDiscoUpdate(Sender: TObject); + procedure actVolcarDiscoExecute(Sender: TObject); + private + procedure OnRecibosChanged(Sender: TObject); + protected + FController : IRemesasProveedorController; + FRemesaProveedor: IBizRemesaProveedor; + FViewRemesaProveedor : IViewRemesaProveedor; + + function GetController : IRemesasProveedorController; + procedure SetController (const Value : IRemesasProveedorController); virtual; + function GetRemesaProveedor: IBizRemesaProveedor; virtual; + procedure SetRemesaProveedor(const Value: IBizRemesaProveedor); virtual; + function GetViewRemesaProveedor: IViewRemesaProveedor; + procedure SetViewRemesaProveedor(const Value: IViewRemesaProveedor); + property ViewRemesaProveedor: IViewRemesaProveedor read GetViewRemesaProveedor write SetViewRemesaProveedor; + + procedure GuardarInterno; override; + procedure EliminarInterno; override; + procedure PrevisualizarInterno; override; + procedure ImprimirInterno; override; + procedure CerrarInterno; override; + + procedure PonerTitulos(const ATitulo: string = ''); override; + function GetModified: Boolean; override; + + public + property RemesaProveedor: IBizRemesaProveedor read GetRemesaProveedor write SetRemesaProveedor; + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + end; + +implementation + +{$R *.dfm} + +uses + uDataTableUtils, cxControls, uDataModuleUsuarios, uDialogUtils, uCustomEditor, + uDataModuleRemesasProveedor, uDataModuleBase, uBizFamilias, uFamiliasController; +// uBancaElectronicaController; + +{ +******************************* TfEditorRemesaProveedor ******************************* +} +function TfEditorRemesaProveedor.GetRemesaProveedor: IBizRemesaProveedor; +begin + Result := FRemesaProveedor; +end; + +function TfEditorRemesaProveedor.GetController: IRemesasProveedorController; +begin + Result := FController; +end; + +function TfEditorRemesaProveedor.GetModified: Boolean; +var + bCambiado : Boolean; +begin + bCambiado := inherited GetModified; + //Si no hay cambios miramos que no los halla en la lista de recibos + if not bCambiado then + bCambiado := frViewRecibosRemesaProveedor1.Modified; + Result := bCambiado; +end; + +function TfEditorRemesaProveedor.GetViewRemesaProveedor: IViewRemesaProveedor; +begin + Result := FViewRemesaProveedor; +end; + +procedure TfEditorRemesaProveedor.GuardarInterno; +var + bEsNuevo : Boolean; +begin + inherited; + bEsNuevo := False; + + ShowHourglassCursor; + frViewRecibosRemesaProveedor1.OnViewModified := Nil; + //frViewDetallesFacturaProveedor1.SaveGridStatus; // Para guardar estado del grid +// frViewDetallesFacturaProveedor1.BeginUpdate; // Para que no se mueva el foco + try + bEsNuevo := FRemesaProveedor.EsNuevo; + FController.Guardar(FRemesaProveedor); + + finally +// frViewDetallesFacturaProveedor1.EndUpdate; +// frViewDetallesFacturaProveedor1.RestoreGridStatus; + HideHourglassCursor; + end; + + if bEsNuevo then + ShowInfoMessage('La remesa de pago se ha dado de alta con el código ' + FRemesaProveedor.REFERENCIA); + Modified := False; + frViewRecibosRemesaProveedor1.Modified := False; + frViewRecibosRemesaProveedor1.OnViewModified := OnRecibosChanged; +end; + +procedure TfEditorRemesaProveedor.ImprimirInterno; +begin + inherited; + FController.Print(FRemesaProveedor); +end; + +procedure TfEditorRemesaProveedor.JvFormStorageRestorePlacement(Sender: TObject); +begin + inherited; + //frViewRecibosRemesaProveedor1.RestoreFromRegistry(JvAppRegistryStorage.Root); +end; + +procedure TfEditorRemesaProveedor.JvFormStorageSavePlacement(Sender: TObject); +begin + inherited; + //frViewRecibosRemesaProveedor1.StoreToRegistry(JvAppRegistryStorage.Root); +end; + +procedure TfEditorRemesaProveedor.OnRecibosChanged(Sender: TObject); +begin + ActualizarEstadoEditor; +end; + +procedure TfEditorRemesaProveedor.PonerTitulos(const ATitulo: string); +var + FTitulo : String; +begin + FTitulo := ATitulo; + if (FTitulo = '') and Assigned(RemesaProveedor) then + begin + if RemesaProveedor.EsNuevo then + FTitulo := 'Nueva remesa de pago' + else + FTitulo := 'Remesa de pago'; + end; + + inherited PonerTitulos(FTitulo); + + Self.Caption := FTitulo + ' (' + dmUsuarios.EmpresaActual.NOMBRE + ')'; +end; + +procedure TfEditorRemesaProveedor.PrevisualizarInterno; +begin + inherited; + FController.Preview(FRemesaProveedor); +end; + +procedure TfEditorRemesaProveedor.SetRemesaProveedor(const Value: IBizRemesaProveedor); +begin + FRemesaProveedor := Value; + if Assigned(FRemesaProveedor) then + begin + dsDataTable.DataTable := FRemesaProveedor.DataTable; + frViewRecibosRemesaProveedor1.RemesaProveedor := FRemesaProveedor; + frViewRecibosRemesaProveedor1.OnViewModified := OnRecibosChanged; + end + else + begin + dsDataTable.DataTable := Nil; + frViewRecibosRemesaProveedor1.RemesaProveedor := Nil; + frViewRecibosRemesaProveedor1.OnViewModified := Nil; + end; + + if Assigned(FViewRemesaProveedor) then + FViewRemesaProveedor.RemesaProveedor := FRemesaProveedor; + + frViewTotales1.DADataSource.DataTable := dsDataTable.DataTable; +end; + +procedure TfEditorRemesaProveedor.SetController(const Value: IRemesasProveedorController); +begin + FController := Value; + if Assigned(FController) then + begin + (ViewRemesaProveedor as IViewRemesaProveedor).Controller := (FController as IRemesasProveedorController); + frViewRecibosRemesaProveedor1.Controller := (FController as IRemesasProveedorController); + end; +end; + +procedure TfEditorRemesaProveedor.SetViewRemesaProveedor(const Value: IViewRemesaProveedor); +begin + FViewRemesaProveedor := Value; + + if Assigned(FViewRemesaProveedor) and Assigned(RemesaProveedor) then + begin + FViewRemesaProveedor.RemesaProveedor := RemesaProveedor; + FViewRemesaProveedor.Controller := (FController as IRemesasProveedorController); + end; +end; + +procedure TfEditorRemesaProveedor.FormShow(Sender: TObject); +begin + inherited; + + if not Assigned(FViewRemesaProveedor) then + raise Exception.Create('No hay ninguna vista asignada'); + + if not Assigned(RemesaProveedor) then + raise Exception.Create('No hay ningún almacén asignado'); + + RemesaProveedor.DataTable.Active := True; + + //Falla si lo hacemos por dfm + frViewRecibosRemesaProveedor1.cxGridView.OptionsSelection.MultiSelect := False; +end; + +procedure TfEditorRemesaProveedor.frViewRecibosRemesaProveedor1cxGridViewDataControllerSummaryAfterSummary(ASender: TcxDataSummary); +Var + AImporteTotal: Currency; +begin + inherited; + + if VarIsNull(ASender.FooterSummaryValues[0]) then + AImporteTotal := 0 + else + AImporteTotal := ASender.FooterSummaryValues[0]; + + if Assigned(RemesaProveedor) then + begin + if (RemesaProveedor.IMPORTE_TOTAL <> AImporteTotal) then + begin + if not RemesaProveedor.DataTable.Editing then + begin + RemesaProveedor.Edit; + RemesaProveedor.IMPORTE_TOTAL := AImporteTotal; + RemesaProveedor.Post; + end; + end; + end; +end; + +destructor TfEditorRemesaProveedor.Destroy; +begin + // Utilizar mejor OnClose; + inherited; +end; + +procedure TfEditorRemesaProveedor.actAnadirRecibosExecute(Sender: TObject); +begin + inherited; +// HayCambios := FController.ElegirRecibosProveedor(RemesaProveedor) OR HayCambios; +end; + +procedure TfEditorRemesaProveedor.actEliminarReciboExecute(Sender: TObject); +begin + inherited; +// FController.EliminarReciboProveedor(RemesaProveedor); +// HayCambios := True; +end; + +procedure TfEditorRemesaProveedor.actVolcarDiscoExecute(Sender: TObject); +//var +// ABancaController : IBancaElectronicaController; +begin +{ + inherited; + ABancaController := TBancaElectronicaController.Create; + try + ABancaController.GenerarFicheroNorma19(FRemesaProveedor.ID); + finally + ABancaController := NIL; + end; +} +end; + +procedure TfEditorRemesaProveedor.actVolcarDiscoUpdate(Sender: TObject); +begin +// (Sender as TAction).Enabled := HayDatos and (not FRemesaProveedor.EsNuevo); +end; + +procedure TfEditorRemesaProveedor.CerrarInterno; +begin + frViewRecibosRemesaProveedor1.OnViewModified := Nil; + inherited; +end; + +constructor TfEditorRemesaProveedor.Create(AOwner: TComponent); +begin + inherited; + pgPaginas.ActivePageIndex := 0; + FViewRemesaProveedor := frViewRemesaProveedor1; +end; + +procedure TfEditorRemesaProveedor.CustomEditorClose(Sender: TObject; + var Action: TCloseAction); +begin + inherited; + dsDataTable.DataTable := NIL; + FViewRemesaProveedor := NIL; + FRemesaProveedor := NIL; +end; + +procedure TfEditorRemesaProveedor.EliminarInterno; +begin + if (Application.MessageBox('¿Desea borrar esta remesa de pago?', 'Atención', MB_YESNO) = IDYES) then + begin + inherited; + if not FController.Eliminar(FRemesaProveedor) then + actRefrescar.Execute; + end; +end; + +end. + diff --git a/Source/Modulos/Remesas de cliente/Views/uEditorFacturasClienteReport.dfm b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedorReport.dfm similarity index 56% rename from Source/Modulos/Remesas de cliente/Views/uEditorFacturasClienteReport.dfm rename to Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedorReport.dfm index 4812f26e..49185a3d 100644 --- a/Source/Modulos/Remesas de cliente/Views/uEditorFacturasClienteReport.dfm +++ b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedorReport.dfm @@ -1,5 +1,5 @@ -inherited fEditorFacturasClientePreview: TfEditorFacturasClientePreview - Caption = 'Previsualizar la factura' +inherited fEditorRemesaProveedorPreview: TfEditorRemesaProveedorPreview + Caption = 'Previsualizar la remesa' PixelsPerInch = 96 TextHeight = 13 inherited frxReport1: TfrxReport diff --git a/Source/Modulos/Remesas de cliente/Views/uEditorFacturasClienteReport.pas b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedorReport.pas similarity index 70% rename from Source/Modulos/Remesas de cliente/Views/uEditorFacturasClienteReport.pas rename to Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedorReport.pas index ab8b2a9f..3be794a9 100644 --- a/Source/Modulos/Remesas de cliente/Views/uEditorFacturasClienteReport.pas +++ b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesaProveedorReport.pas @@ -1,4 +1,4 @@ -unit uEditorFacturasClienteReport; +unit uEditorRemesaProveedorReport; interface @@ -9,20 +9,15 @@ uses frxBarcode, JvAppStorage, JvAppRegistryStorage, JvComponentBase, JvFormPlacement, ImgList, PngImageList, StdActns, ActnList, ComCtrls, TB2ExtItems, TBXExtItems, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, - ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uIEditorFacturasClientePreview, + ExtCtrls, JvExControls, JvComponent, JvNavigationPane, uIEditorRemesasProveedorPreview, JvExComCtrls, JvStatusBar; type - TfEditorFacturasClientePreview = class(TfEditorPreview, IEditorFacturasClientePreview) - private - { Private declarations } - public - { Public declarations } + TfEditorRemesaProveedorPreview = class(TfEditorPreview, IEditorRemesasProveedorPreview) end; implementation - {$R *.dfm} end. diff --git a/Source/Modulos/Remesas de proveedor/Views/uEditorRemesasProveedor.dfm b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesasProveedor.dfm new file mode 100644 index 00000000..e82bea3f --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesasProveedor.dfm @@ -0,0 +1,1520 @@ +inherited fEditorRemesasProveedor: TfEditorRemesasProveedor + Left = 489 + Top = 325 + Caption = 'Lista de remesas de pago' + ClientWidth = 820 + ExplicitWidth = 828 + ExplicitHeight = 240 + PixelsPerInch = 96 + TextHeight = 13 + inherited JvNavPanelHeader: TJvNavPanelHeader + Width = 820 + Caption = 'Lista de remesas de pago' + ExplicitWidth = 820 + inherited Image1: TImage + Left = 793 + Picture.Data = { + 0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800 + 0000180806000000E0773DF80000000970485973000017120000171201679FD2 + 520000000467414D410000B18E7CFB5193000002744944415478DA63FCFFFF3F + 032D01E3F0B060F9D6D334B3056E41A4B729491AFFFCFDCFF0F7EF3F869FBFFE + 80E93FFFFE8169301B887FFDFECB109E5E876A41E249438206FF05AAFFF5F72F + C3AF3F7FC0F4975FBF207C10065A02932BFAB59C61DED24D9816CC373F8F6291 + F45B6F8626CF660C8BFE010D0361CFD5F60C1F791E800DBF14F0824169A520D8 + 928ABFAB705B00022036B2E11718CF33189F346660B809E4A833309C353FCBA0 + F9438BE117D007415B3C189EB2DF66B811FC1AAC566C3137431DC35AFC3E8019 + CE7C8A89E1AFD93F300D32FC6CDC5906E379408BB419183EEB7C61E0BDC2C3F0 + 5AE50D43F84E5F86BD51C718841771817DD0CEB211BB05E841C3BC1C684124D0 + 82C54C10C39719339C8D02D2B38C193E447C6410D8C2CFF0C2E52543D49E0086 + 0B7F2EC0E3A3977D0B911620FBE02A508203887F30807DF056ED1D83F02D2186 + 27324F18E20E86329CFA79166EC164AEEDF82D40B6E42F50C365964B9038B808 + 94D087C481DC5B79869F3F7E60180E02382D404E4520C58A1FFC186A9C6BC196 + FC03A7F5BF700CE247EF0D841BFE33E50F03E34C46FC16C0003C6D03B1CCB31F + 0C5325B4B1E60BDE877B505C0E03582D40CFA57FA039F3EA444D0609A7200645 + CB1E86FBC74BC06A5EDC0726E7FBF719E6EE7BCE30A7DA09C3E2294F73312D98 + B2780756570A7E3BC7A0F4660ED8307450DD928DD3E273AC89080BBA27CF2758 + 4C9C2B7B88553CA5751FA65AA0E12000B680919191A0E1C75A14FF93124C404B + C3E6EEFBB19A140B4281D42A6CC13467EF77AC96022D6024CA0290E196969AAB + B0C91D3F7E1D6BDC008101D0828BC45A803778402EC5A597681FE00A1E200087 + 355E0B6809686E0100FA3E2AAB1481BE0E0000000049454E44AE426082} + ExplicitLeft = 516 + end + end + inherited TBXDock: TTBXDock + Width = 820 + ExplicitWidth = 820 + inherited tbxMain: TTBXToolbar + ExplicitWidth = 552 + object TBXSeparatorItem17: TTBXSeparatorItem [12] + end + end + inherited tbxFiltro: TTBXToolbar + ExplicitWidth = 260 + inherited tbxEditFiltro: TTBXEditItem + EditOptions = [tboUseEditWhenVertical] + end + inherited TBXItem37: TTBXItem + Visible = False + end + end + inherited tbxMenu: TTBXToolbar + ExplicitWidth = 820 + object TBXSubmenuItem2: TTBXSubmenuItem [4] + Caption = 'A&cciones' + object TBXItem38: TTBXItem + Action = actVolcarDisco + end + end + end + end + inherited StatusBar: TJvStatusBar + Width = 820 + ExplicitWidth = 820 + end + inherited EditorActionList: TActionList + inherited actNuevo: TAction + ImageIndex = 24 + end + inherited actPrevisualizar: TAction + Visible = True + end + inherited actImprimir: TAction + Visible = True + end + inherited actDuplicar: TAction + Visible = False + end + object actVolcarDisco: TAction + Category = 'Acciones' + Caption = 'Volcar a disco...' + ImageIndex = 25 + OnExecute = actVolcarDiscoExecute + OnUpdate = actVolcarDiscoUpdate + end + end + inherited SmallImages: TPngImageList + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD252000001754944415478DA6364C001D6ECBE900CA4E640B9 + 2921AE0673B1A963C4A739C8598FE1DB8FDF0C33966C67505054C06A08232ECD + 3EF6BA0C250B7F315C7FF88F6179E15F86456BF76135841197CD79737F324C4E + E1008BF345BC63B833959561F13A4C4318D13507BBE833E4CEF9C160ACC1C290 + 60C30296734D5FCD70F2A333564318B1D90CD20C02D72E9C04D33C92A60CAFDF + FF6358B8E71B86218CE87E866986D90E738186A92FC397EF0C0C6B8FA21A0232 + E03FBACD5FBEFF07E30A3F36B801323ABE0C3F7FFF67F8FE938161EFC5EF7043 + C00678586B32F8B7FD61887167836BFEF59B81A12E186180A8BA0F58F3E76FFF + 194EDDFE0136A07DDA1AB001C90FEE3F98131BE4C4A092FD9BA12A8A07AC19E4 + 67582C800CE051F0C1D06C636994020F44902171214E0CCA99BF19E25DB8E09A + 91C301161330CDE040448E46649764D85C473160C6114D0CCD581312B221CEFA + 9C589D8D3521E13204047069C69B99608680002ECD380D4036E4C98B77383583 + 000005100EB8572466A60000000049454E44AE426082} + Name = 'PngImage1' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001074944415478DA + 63FCFFFF3F032580912A06303232E2543079D1766F201505C520B02C37CE331A + C400EBC5670054F3960057330631617E0690B2F357EF336CDA7786A1B5289211 + AF01C89A254505183E7FFDC1F0F5DB0F06311101A021F7184E5DBA733927D643 + 0FAB01E89ADF7EF802D6FCF5FB4F866F406CA6AFC21095DBC6B06C7215238601 + C4689EB27807C3B153E7300D2056F38B371F18B62EDA79EDFCF9F9DA700348D4 + CC70E1C2024420022548D68C128D40C906A0E67A5234631860A6A752AF202346 + B466740396C2521AD020B0A49EA622C39C95BB716AC64889C0405C0A541C2501 + 4C2830804F33D6A40C8A09A0A62DF7EEDD03F3AF1FB98D372301A39191E2DC08 + 0029AC32F01825AACD0000000049454E44AE426082} + Name = 'PngImage2' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001514944415478DA + 635CB5E3DC7F062C20CCC388918108C0083220D4DD104570F5CEF30CEDFDB319 + CEEF9C4ED0109C06D818AB3278C7941134046E40CBAA0760819A3005B80B6000 + 9F21182EF8F1F30F10FF86E05F7F1882926B883300E60264C0C1805D5F69B802 + 238601E836FF04E2CDA7BF339484C9A368EE59F59261D9C1BB0CE7A75933C20D + F0B4D56698B0E5195617601AF09021DA4998C1297307C38D35A18C60031CCDD4 + C036FF84DAFCE7EF3F307DF0FA7FB001112D57C09A57D4E8800D98BBFA346A18 + 58EA2BC235C39C0FC2671EB0A2B8E0DBCF7F0C5F7FFE05E27F60B65DE26C8801 + 7316ADC11A58AEFE69282E4009C8284506F7F4B90C781349F7CA07FF4106A0DB + FCFD171003E980BCF9840D48F5916148EFBB8E2197EC2BCB1059B290B001512E + 92609BC1B602F1EF3FFFC1F437204EAE5A4CD8007F5B71B8E66F480681407AED + 12C20674CCDE884F0903000B1A00979E81F9710000000049454E44AE426082} + Name = 'PngImage3' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000E9C00000E9C01079453DD000002574944415478DA + 63FCFFFF3F03258011D9004646468696696B17FFFECAD0DE581A7C0D596155CF + 0AF77F7FFFD975944755A3E8413760EA929DAF393938D62785D8A7C1C48BBB17 + 711BABAB5C7AF9F6FDDFC2446F354206BC75B6D4E35ABCFE90536B49F87190F8 + E4853B2779DA1BE46EDE7FE62ED00015BC06F4CFDBBA24CACF26FAD0A99B5B42 + BDCC7C6BFA563B057B986FFDFDE72FC7D20D072B26D62574E235A0A26DA999B0 + 98E0F2607713F9251B8E85692A4B5698E9AB9AAEDA7EE2DEBB571F3DDAAB226F + E33500044A3B979507B898B6BF78F3FEA3B1B612FF992BF7FF1F3975336E425D + CC52903C4103EAEBEB5998450D8FAA2A889BC94888306CD977664D675964284C + 1D0103EA99F8DDF50C8CD439E3FFFE67CB7DFFE9DB1F7E3E9EC637DF5977DC98 + B3E73C0343E33F9C0670B8AC555292175BC8F6FF9BEEDF6FEF995E7DF8F95941 + 55EDE5AB17AFBEFCFAC7C2F1ECC5FBEF0C4C4C89FF0F47DDC36A8056F2A103FF + DEDEE465FBFFB5F1D577EECB8C8CFFF72AAA6A7CFFF4F842CED54D7907184CE7 + 4631B0B227FC3F1AE38AD5008D981DDFD9BEDE48BABCA1703983DE226E09891F + D754B4756F7DBC7FBAEFF286BCED0C32BD9C0CB222B7FF1F8B93C16A805ED2EE + D74CEFAF445FDC50B48BC172858E34DFFB6582B2DAFB38BEDCFC7166456A0583 + CE0471063EA103FF8FC66A623540C063F55669B6E747AE3DE3E861E5E158A9C8 + FBF1D1FD6F628BF4147977FC7A79D3E3F2736E39060E9E84FF47A202B0C782ED + 627356C6FF935998FEB349737FB9FE95E975F2F32D8DDF98EC9647B1FCFF55F0 + EB1FD31FA08EC2FF87634F6235801C0000382740F0DFD997BD0000000049454E + 44AE426082} + Name = 'PngImage4' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A000002854944415478DA + A5935D48536118C7FFAFDB8CCD557E7F34B33167F9119617A91596495D781304 + 451021A651362821B1ABA49B6EA4460961D88542055D84DD6545415992174994 + 9625CC8F9C329D9B5F3BE9CED9D9797BCEA1C932A3A0079EC3CBE13CBFE7FF7F + 9FF330CE39FE2798FAB80BA4E61559EB2551E67B07279AE8D51FA98F2CC99546 + 031A3D6E5FF329993F631D80B52227A6D7929F9BAEA459D1D73BE8DC3330D6B8 + 1AD206641414DA5A6224E1E8ECA47779660955D532EF642F1371BD74331A14FA + 9C27A4439F5D88777DAE1B65FD230D11485786B9363D65FD35C1EB4B9817427E + 9F80C335C05BD53E23B2A934132FB23662B71406C2B14698F38AF0E9EB9473E8 + E3C8655BD686D6F858A5DA3F27B04511E37E0195B5C0A00AD6003FE5259758F0 + 3AD1843C15125218CCB6AD707FF34EAC93973217041154ECF608D8770E188BD8 + 5A01A8A1DEC5F60CF4980CB0A890E8A47AFFF477EC3F037C8EBE975F006ADC37 + 60A7351E3D061DE222C522A5270047AD82DBAB27B21AC09EDA373525E9A52BCB + 7E5F4CB4822509BE80848AB3C0C09A806380EE7CA1BDC55EB4CDE17AF2984932 + 75A60CCA088739742A84CE1E49C1010730F41BA03B27CD595C517CB1FFF92B04 + E6035AF142101DCB12DA743AB413243FA468331D0F01E51780D1154057AAF148 + D92E7BE794778E8DB92634C901116FA6451CAA27214EC06802AE5227AA839ED2 + 45A0729AC6A406182DD9329C10A7B7F57D18D63A93DF99D92076905F4FB4DF56 + A08C20ED9476027CD1209C7BD9FBDC947BC1C0E2C9596A4B003E27E2F8E9301E + AEB507B700334968A6631D019C759C5F627780822413BA194312CDFB41958C13 + 7FDB4052739000430ECEDD913F313B568F9B8B326AC8F7CCBFAEB27A073F0058 + 5538F0EAB25B380000000049454E44AE426082} + Name = 'PngImage5' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001934944415478DA + 6364C002662430FC47E6672C606064C001C0122726A06AB870818121A1632A98 + 5D169DCD10E58B90B32840358C11A4D920622A5C604145365833482308D4F5E6 + 3134154F62A8EE4805F35B2B66334CDA8B3004C50098E62F2F6E823581347F7F + FB80E1E58DBD0C8BD67D6588F6656258BAF91F7E03AE3D66C009081A800CD61F + B161C0072243F419711AF0F7F777864D275D192282F5B06A5EB1F23C43D7FCD9 + 0CE7774E67C43000A41984B79EF3C36AC08F9F7F18366CB8CC10116EC860E491 + 85EA0298E6BFBFBE33ECB8120E36C071E64DB8E6ED09CA40037E33ECD87E03EC + 02142F206BFEF7FB07C3AE9BF1282E00D90CD20CC6BFFE30EC3B719561CAECE5 + 100374837B503483E8BDF733305C000333DC04198E9EBB893040CBAF1945F3DF + 3FDF190E3C2E041B806EF34F283E73E52EC200758F2A865B3B3A506CB927739E + C1C75383C177F17D0C17745971325CBEF51062004820CF19352F808065E64506 + 172748A0C16CFDF3F71F9806B9E4F683A70803B081E56B2EFEB7B19663D875F4 + 32CEC444D080AED9331808010085EE16005695A1DA0000000049454E44AE4260 + 82} + Name = 'PngImage6' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD252000002164944415478DA95D35F4853511CC0F1EFD491DD + D9587F2C83AC8C328DFE4949908BC0AC142A147BC8077B88A01EECA5E718F958 + 410486C384B50A1F7A991023CBEC0F594F81E5D4C211E130D7D4DDCDA15B5EEF + DD5DD74B1B8EA9D90FCEC3EFC0EFC3EF9CF33B06FE46CBE3AE042B886B176B0C + 0B73C342A0A9B17AD9E2FB4F5EE0E878C6E79776C37F03AAAAD2DAD1CDDEDD3B + B96EBB9B425604CC17CB8A4AFBD31EEA6BAC0CFF08A4907F02C962598EE374BD + D58F908C2581442241603C8CCBFD89D86C9C9C9C1C0A365A282DDE446FDF37E6 + AB9277B128F02B10C6DDF385CD074B10D6593019211E9CC2EF1DA5A0C0821895 + 68BE6D5F1A6873BEA6D07A0879951945CD626B1E6C372978BD7EBC5F4710D608 + DC6A712C0EC84A9C7B6DDDECAF3B459E315B3B3B685B9835448DCD30F4BE0FC1 + 94CB9D56672670A5E1A47E590F1EBDE374C3091D88CD4120063359902B4719F9 + D88F201835E0612670E97CA5DE41578F870A6B296BD79B096BC0B8B6C4DF3252 + 4024E81960832071B3FD7926D0587B5C7F32DFE8243FC74214EDD906AB4D4C29 + 1011230487BC1419BFB32BE8E06CE7BE4CE0C299637A07B3928CCF37816F4CD4 + F2040943365234823134C8E1FC094A8A8D4C0DF6B2E5EA8774A0BEFAA80E283A + A21012A791E6E6B4618249FF08AFEC97292B2CA7B64221BFAC9C90E74DFA289F + AB3A42FFB07FD90FE5B255A510B754379D062C1CD3E5E240AC931D9537B03537 + 19FE00839434866373C4BA0000000049454E44AE426082} + Name = 'PngImage7' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD252000001724944415478DA6364A0103062135CB1E2C26E20 + E5824F63448401235603809AA381D412374F5506413E2EB0D89FBFFF187EFFF9 + 0BC62F3EFD6728A999C0B0795E15A60150CD1540CD3A7B4FDCC5B0D5D94299E1 + CAD3BF0CDD3D53F280064CC666C06EA066176C36FF05B25F7F6544B11DC50098 + D3C3C3F519D6ECBA8C61BBBDA922C38D17FF41B6C384B6020DF261846AFE0FA4 + AE809C0EB21DDD6610FFCF9F7F0CE91553194CF49518A4558D1836AE59037609 + 23C8E6AB4F2E2C2136DAE4B5AC186E9CD9C570F3C1278801B53D0BFE3715C7E3 + D4F0E5C75F86CFDF8118487FF9F18F61C3BA350C12CA260C3B366F4218408CCD + 17AE3D03D3065A520CEC42AA0C278F1CC4EF02749BBF82F0CFBF0CC7F66E64F8 + C92AC970FDE259DC06A06BAE3DEFC390ABB49EE1FEB5530CCF9F3F6778FA919D + E1F5D3FBD80DC066F3AC743D8680EEB30CAFEE9E61D8BEF72C4CA90CD080A770 + 03A62FDB45542C400D006B062724DFA4366920FD84D86844D68C9212C905001F + 16FA1194E3DBC30000000049454E44AE426082} + Name = 'PngImage8' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD2520000015F4944415478DA6364A000FC3060F8CF884D62C5 + 8A0BBB81940BB258E7FC99286A8EBF9CCEC06EE4C5C088457334905AE2E6A9CA + 20C8C70516FBF3F71F8399770E44D3F9FF0C3F0D19219AE76D6364C4A2B902A8 + 5967EF89BB2806B7F54D6738E7C4C1F073793F58B3D1537986F33BA76318B01B + A8D905D9E6DF7FFE82B1437011C3B91DD31818BA8AC07246FB7EA01A00737A78 + B83EC39A5D9731C205E40274003700A8F93F90BA02723AC876649BFF02D920FE + 9F3FFF18D22BA63298E82B3148AB1A316C5CB38661F5B92A064690CD579F5C58 + 4228CAB6EC3E893D166A7B16FC6F2A8EC7A9F1CB8FBF0C9FBFFF65F08E2CC01E + 0B20038849342017608D055C2E80D9FC19487FF9F18F2125B3147B2C6033005D + 73ED791F86E7B334B1C702BA01E89ABF02F1AC743D8680EEB30CAFEE9E61D8BE + F72C4CA9CCE679554FE1064C5FB68B98A0801900D60C6230FA26B54903E92744 + E946B219C661244123560000C9AFE6B31530CB2E0000000049454E44AE426082} + Name = 'PngImage9' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD2520000016A4944415478DA + 63FCFFFF3F03082CDD7212C22000627C2D18616C905E466403A27DCCF16A06AA + 61E89DB290E1FCCEE98C241BF0EFDF3F86E5DB4E33488B093314D5F5810D21DA + 0090E6DF7FFE31ACD97596C1C9429BE1E6BD176043CEED98C688D3804D0F0E30 + F45E6A02B37779EC62E05CC0C6B058EA38D80B3080D30090E6805D4E182E7911 + FC91E1C4E5C70C8F1E3F6298B774137603609AFFA4FC013B1B64738BB13743CD + D9AD0C8FFDDF81C5B6EC3B85DB00A6594C289A91C13DEF3740F1BF0C3B0F9DC5 + 6D0048C1EFDF7F21F49F7F50FA2FC31F181F2877E0E445EC068479988015F02C + E640B1F98EE72BB066CDDD120C676D1E311C3D7B05BB0181CE8660DB049773C3 + FD8DAC3957BB80219A379FE1D4C5EBD80DF0B1D7032B165BCD8B110330CD200B + CE5FBD85DD00776B1DB002E9F502609B13CF8781E50C840DE09A41165CB97907 + BB014EE69A1801060B44986610C06980ADB11AC3A63D2789C994D80D404EA6C4 + 0090010087546EF0ACB0C7920000000049454E44AE426082} + Name = 'PngImage10' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001024944415478DA + 63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3 + C493AF1EDC305B3E7F1A2323BA66090111A9272F9F301CD9BE99119701110999 + FF416A0E6FDB843000A4F9CFCF1F52F834C2808DA72FD8DF700348D18C6C08D8 + 004B77AF69F292F299308987CF1F4E979256DEB076DEE45D207E7052AEDBB3A7 + 770390D58000DC0B20FFCC98D0CE70E1053FC3DBBF3F191E7F66603831A310C5 + B6E533A6311C7CC080228F624046C534B82408AC690C856B9611976140970719 + 20ACA0CB30A53E13624068693F5CF2F2E3F70C37E7A5C163019BFCD7AD4D0C2B + 164C07A72146981F999998C17EFCFBEF2FD630C0260F3660C0933200BCB3BCE1 + CDA578040000000049454E44AE426082} + Name = 'PngImage11' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001C04944415478DA + 63FCFFFF3F0325801164C0C20D47A381F41292353332C6800D58B0FEC8FF8440 + 1BA234FDF9FB8FE1F79FBF60EC105CC4806200A3E14C86FFE7D3C13408E0627F + 3C12CF70ECEC0D86AAB659D80D4007FF806AFEFC41D80CC2672FDFC1340019C8 + 7A2C6178F2F22B98ADAE20C0D09869CCE06E29CD2068B788E1D9AE48868BD7EF + 117601C8E673D7DF309846AF6310E66767B8BE3E8441CC6929C3C36D610CD76E + 3FC46DC0CBB7DF19EA679C613870E619C3C3679F197EFCFA0B36106433C8F97F + 80F8D6FD27B8BD1053BD8F61E9B6DB0C0B9B1C181C4C2518E43D5780C54136CB + 7BAD62B8B12E90E1FEE367D85DF0F75C1A836FDE0E866D471E315C5A15CCF0F1 + CB4F06DBA42D6003EE6E0A6650F65BCB7061B90FC3F357AFB11BF0F3540AC3B1 + 8B2F18A2ABF6313C7BFD8DC1C14412E895E76003AEAEF6077B4123528661FFC4 + F3A806C4F859C1A30839CAE0ECDF10BE41E416860F7F32188E4F453320DCCB9C + 81CB621ED8A6177BA218245C9681D9B7360431A805AC03B37F306430FCF8C3C0 + F0E61B0483D8700382DC4CF0DAFC1B498EDD5785E1FD4A3417F83919319CBA78 + 8BA8FCF0DFCF908171139201A0DC3871C6529273637E46740C00F128724C706C + 80060000000049454E44AE426082} + Name = 'PngImage12' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000E9C00000E9C01079453DD000002324944415478DA + 63FCFFFF3F03258011640023232386C4922BFF0D9818FFC57EFFFE57FDEFBFFF + CC8CFF19BEF0F1B36D5C73E9EAAAD5613ABF60166318505FFF9F4939F077F98B + 97BF6BEFDCFEC6F9EDDB3F86BF7F810A9918192424D9FEF3F1B32FBFFA93236E + 5528C35FB8018D9B7E2C6DF0E38859759581F5E7BF3FD36EDEF89AF4E51B03E3 + B72F7FC0867EF8F897E1EF3F06867F40ACA1C9F96FE392D5BA5737265D831BE0 + 58F9F0BF83A5F83245796696CB973E87FEF9C70CD6FCE2D92B86E78F6EFCFCF7 + EFEF17360E5E4151590326666626067D7DDE65F57E1CD12806288BB3FF676567 + 66E0E062036B7EFEF425C39307576E8A2A19B9EE6A557DA217B2A88E9B5FBA41 + 405C87C1DC9CEF01D0004514031444391804843918409ADFBFFFCE70E7EA91FB + 9F3FF06BDED9E1F513A450357481341FBBD03D611973362B4B2C067CF8C1C060 + A020C0F0E3FB4F86CF1FDEBCBE7FFD84C3B54DC9D760812B13DACB29CAAAF84A + 58C69AC7C61A8B01CF9FFF61E014646190E365627870FD40C3A535718DC8D1AA + E2B1988F5788E7B998823597A5392FA6010C1F1EC0157FF8F081E1DF9F4F0D1C + EC6AFDA7965A7C02899924ED550746C555793523665D1D2ED440C49690D08149 + D2A9764E3ED90A037DEEFF3696BC7161EA0C4B8836402FF6A41A37AFF0690E2E + 7E3E7B5B9E65C08494084C48BF8832402BF40A0F8F30DB3E0E2E4153277B9E65 + 0DFE9C60A7E34CCA280098ACCDDF3C5A2925C913ACAFCBB51CA6997803ECF7B3 + 301C74FC834D0AC5004A000026261CF09ABF155A0000000049454E44AE426082} + Name = 'PngImage13' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A000002E64944415478DA + 8D936B4893511CC6FF67DA74BAC9BC9478C9357338CC4B0EBC1709F929A25414 + A13E48082D8CFC20267E1B925DD004B3120C75919AA99B5DADD485E56DA2791D + 739ABA2D9DB7A953379D6EEF5EDFDE14859C810F3C5F0ECFF33BFFF38783E0FF + 425902A13B668448DCB4C5B658709C40D8F0A4563120A97FB1B61F3AAC291008 + EDB1630ED7ECECA97C6F7F6FAEABB72BCDB46902B54CAD5BD4CCF7AAC68772C5 + 6F8A06C8286E05484EAEB3F10BB6A49FE2B2F2C2628318E0C440063300410050 + 910596D4B344F7BBB63169FBA7B4D6E65AA915205320E47A9EF4ECB89A7CCE85 + CDA021950141E2BD2E9049645029E683BB3301EB2AE5F657E15B4955457EAA15 + 205B5095CD8BE33D0C8BE0523C1002B50120E5C12EE03509D8A60078386EC1B7 + F2066DA3A89C8FFE1DBF9076CADFADFA4A467C829E70829C82AE43B79B97150D + B3522956F3F4C9B3030001DD87C3AE49C84CBCBC646640FCA5D29DF3A0B8A09D + 09F62469E1C3A4B4D7F2EAF1A3DA834FA064DC2D2D8E4DB9984E63F922ED2A02 + 161DE04EE1EE13D4ED7CB090CB5CD9C6E1439978A3FE655189D50E52D37263CE + 4486374725C5D2168DF6C88E2CE414ED02942400030246C6A7087149C5688DF0 + 7EC63EE0F38DB3C79974A8ECB70B7459649E0F64F17854767800C588D390830D + 02172A19226F5E58D211DFEB9AF40DD5CFCB46E5DD0568AFECC6C43FFA470747 + 2CEBF420D2048072C57ED3CB2F846005F9D19CBD4E80C96882B9F16942D1DBA7 + FBD15C2B960F77159355056AB919E0E3E24C17F9C58487E1737218966D429386 + 01F235CB8589854D87D3DCD0448613938D61669B89B1C1099552DEB9AA9B9790 + E559D204FA99C5EBF78D0A0FB5D5ABA0BF6F0D7AA66CA1757CC4B862D808E9D6 + 9826C990236927D236A4B748AF92C6F6FF82243F890861AE817CC8001D6A0A74 + 2A478D1AFD7A926CC6FC058E20743BEDFA2F1ECC70B45A0CDA2614CB5AFDFAAD + BE19B3E828E51D009FCFE710C6F546ED680F473DFF3B7E70DAFCFEA8E5BFFA03 + 503A4EA60D6AAC070000000049454E44AE426082} + Name = 'PngImage14' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A000002E44944415478DA + 8D936B48D35118C6DFB379D9D4C9BC94A8CB399B38CC4B0E9C9A45427D8C5251 + 82FA2021B430F08398F4258650145A615642A12E4A31AF6565795958A69B685E + C7BCB4B92D9D3AA74E7771BAFD37FFFDA728E40A7CE0FDF6FC9E73DE877310FC + 5FA850200CC22C90ECB06EB1EC76870347D8F88C6E7244D4F8D2B06FFA172910 + 082998BBD7154F8A079F11C5E0043002A8D64D2BA8A56AFDB2463BA8928F1537 + BF2D1B21AC0E9780ECEC06323BCE9E17CE61DE4D4C8BA5812F0D996C00380EE0 + 81ECB0A25EC0FBDFF74C4B7E7CCAEDEEAC97B8041408849C906321BD97B24FFB + B36854A43221106B01ECCE007780203F1CCC2AE576BBF09DA8A6BA24C725A048 + 5053C43DCFBD9F98C4210523046A13C0D0320099BCBBF0360920D87B0BBE56B5 + E8DA9AAAF8E8EFEB3FA2864705D65ECC4FCF30E2BE70BB54ECD28F542485D676 + 3E2C482458DDD327CF0E04087CC222597519059917566C34B8F358BC031C94A8 + 8B0F339241FBEB870FEA0FAE40CABFF5A23CEDF2B93C2A3302E9D611307D0002 + 29006EC4D529A4DD2ED6B61DF0A1B279A3F15559854B0739B9C5A92792799D29 + 5969D4650B05791200C31B804A74E046B831C061423E8B3757544FD509EFE5EF + 077CBE76F208DD07DE0C7BC6F82FD3CFC430B95C0F162F9A64715091171981BF + 0761224E5E5AD1E3DF1A3A8C2DB5CF2BA764FDA5680F0EA43B3E469D8A4B5AD5 + 1BA149130DCA35CA66283B1E67C6B2A97EA147C16AB1C2A27C0E9F1C1CD27FEF + AC6F968D8BCB097412755D8F0EF3F7F36962A7F2121D8B3218976E4287860632 + 83FDAC6269D3EB38272193E64B6761988DAC981E55A894B2BE75BD5644C00BC4 + E0E867217738228597E06654C1F090010666DDA05B3E6159336DC4F76BAC3384 + 8968007C8971BE842D62D6C159C5DE5F109564E1F17403C8C64CD0AB26419F72 + CAA2319AB3A4F3B62F7008A19BB9577F71613E52A7C3A04731B9AA339A6F0CCD + DB9A0E03EF04F0F9FC48DC626ED34D0D44AAB5BFD347E76CAD87859DFA0386D8 + 3FA68502A9830000000049454E44AE426082} + Name = 'PngImage0' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A0000032A4944415478DA + 6D937B4814411CC77FB3B7777A5E7276969AA4648A20A5592A4585FE654122BD + 0CAA3FE2841EA45946697591BD8DB27748A2BDA0A43FA2420C893252D2A244B4 + 7C24495986AFBC3BDDDBDB9DDDBDDDDB663714B366F9B2BB33DFCF777E3BB383 + E0DF66235A19342370912538D0CAB2825BF00A6DA4EF2D1133D5A8AA2AA029EF + 4126B3292B2E21BA70697A5262626A9C393422040D0FBAFCAD6F3BF187C68ED6 + 9F5F472E2992524FBCE2F400735884ED40E6BAE58539F6CCD0B9F323009111C5 + EF075191600C7BA0ABEBAB5AF7A071A4ADBEE71CE7C615849126032823B52D77 + EFBAEBF6BDEBAD164B20E941A092EBF89ED75050960C6ECC805B6060D8E984E7 + 379B9C2D8F3AB71353CD4440CC8ACCE49725D7F2626DB3AC60A028C2535092FF + 4A2FCD5E1A0F2E3C062E9E8171D1034303A3F0E24CF3A7910EF72A1230826813 + BDAFF87CEE85ACCD19269AA2C16030C0093273EDC372C8DE92FFD7EACEDDE902 + 06B3D0F1A41777DEED2D5015F5369A1335BBB6ACFA4056745C24A22903941636 + EBF044C38204BCE003FBEE62B0DAFBC1237A61B8C7A9B69DE979ECF3F836A1A4 + 65F15F4EDD2A880BB606A12B45AD93B02C2BE023D2604D79FB8F02B5F533B022 + 078C9B55BBCF7EEBC43F8424B4243DE19BA37C678CC962844A47B71E204F8212 + 09F1EBF783474E02BBB105BC1207DE711EFACA06BE8B7D520C8A8A0D6F70DCD9 + 951E343B1061598067A54EA8AEBAA4435A0826D22A3976B21406B31B80F76160 + FB3975E8E2E84785F12F460166E3E91D17361D8E5D1E45F332062C8BD07EC300 + D7CA4EC1BEA292BF16B177751D6893304D5E9979E0AD5265354FDBC694B4EC05 + 7599FB57844906093862D04CCEBB913AE4D9F01EBC3E1EBC22AF87635680F1FB + EC4FB95DC922DBD8A105A0008BF1444641DAA1A88C8800CE8F8123656AA59A1F + A740FF9A7AF22CE8B0208AC035F258A8911C20C3D5A9BF72D8CC79C197E3D7CE + CBB12D0D09106862D4A13F9F343133F70E63F18D740F7E818330E3D30FD31CA3 + D5986F5B68B55B532DE128923248269F0EF2DF05856FC58372AF52013C5412AF + EB7FA7516B34512232C2063A944E44C1C82C7B14CEEFF2B793929F92B16E2265 + EA71FE0D330BBCF031BDB9A60000000049454E44AE426082} + Name = 'PngImage15' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000AEB00000AEB01828B0D5A0000031C4944415478DA + 6D536B481451143E779D5D5D37D95AD354523445905AB32C0A0DFD653F92252B + 8BFA130A3D40F385D1C3B09766A5652548D23B34FA1115624894A0F6502845CB + 079298A5F8CA75737677E6CECCCEA3BB532DAB75868F3B73EFF77DE7CCBDF720 + F8374C045BFC97F8AD3504F8191D0ECEC639B91E32D741407B13154501E4F5ED + AFD3EBD263E2220A37A5C49BCD1B62F481214BD1F4E49CDCDDD18F3FB4F7758F + 8FCC5C9504A98570F9C506FAE01053715A46526166565AE0CA552180C88A24CB + C04B02FCC476181818519A1BDA677A5A862E32365C473482C740A3D5ECCFCECF + A8C9CADF613418FCC80C02853C678EB4425E5502D8300D368E8669AB155EDE7C + 67FDF8A4FF002135FE35884A4E4B787DFA464EB469B9117C341AA2D78008329C + CF6D55CBB39406C11C4BC33C6F87A989597855FEFEF34C9F6D2B319841948E2A + 387639BB327D6FAA8ED2505056F066C18E363DAE05CBBE5C30E7BBE02767071A + 3BA0EFD930EEBF3F9CA748CA5D141A1ED454F5A8383D22260C511A1FA8287CAF + 8ABC037302ECC92E0263D618D879274C0F59959EF2A1A72EBB6B378ADF1CFBE5 + FC9DBC9800A33F2201D547BB3C06A228818B80E55C2A728A4E01B3AB0B689B43 + 19BCF0B51F7FE7E2D1FA94B8AF25B587A274062DD971173C2C1D560D448F5020 + 26B23A1E3D790EA62C6DE09C6761B46AE21B3F2A44A1F0E8156D25F70EA7F807 + F9212C72F0A2C20ACFEB6B3C62F788094E9496C12411B32E0C8E314699BA32FB + 49A2E575C857AF2D3B58B9FB44745238C58A183AAF890BFEFF5259A947CC082C + B893D0EF9C22DDE0BCAD884A8EFB1813375A5637A71525070B3E023084E02631 + 24136E88564D262DADE0E4DD621EB08383F97AC7B8D82BA59363EC731B205F83 + F66C6ADEC6E3E1A921BE8C8C55B1BB54FDD34418DBD642DE3955CCF13C30ED2C + E61A85127251AE7B5FE5E0659101D5B1DB23334D9B96FA721421AA22FC3BEB9F + CC4C27C6FC5BE101FC8012A2995FDC4CA15AA336D7B4C69865DC605881C2343E + 82CEA50AD96F9CC476E3497158AA03166E11EEDCFFBAD11D1481196961271548 + 995100D28B768991E7E45E52F273B236482079B7F32FB7E1BAF0E8F71C040000 + 000049454E44AE426082} + Name = 'PngImage16' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD2520000019E4944415478DA + 63FCFFFF3F4341F1F9FF0C6402469801BEFE4A0C0B16DD60583CC71CABC21F3F + FF327CFFF90748FF6128ABBCC2A0A5CEC0B072C752E20C40D6FCE3D71F86BAFA + 1B0CEB963B31A85A241336005DF38FDF7F18DA5AEE3098997032CC5D3D07BF01 + D834FFFCF597A1B7EB3E612FE0D20CC253263C625092FFC5B0F1C06AEC06E0D3 + 0CE2CF99F68C4152EC0BC3AE931B310D983EC908A119AA11A409660008CC9FF9 + 9C4180F72DC3E14B3B500D00019021840048F3F7EF3F19CEDCDE8F6AC09F3F40 + DB7EFC024B82E81FDF816C280D11FFC5F0F9D337B03C08DF7C79126180A7B73C + 86E6CF9FBF43C460867DFB09D70C32ECD1A7F308036CEC44C18A976E9A82D7F9 + 7CFF8DC19A4186BCFE7D0D618089193FD896B5BB67311CDA309341504A87E1C9 + ED930CEF3FFD60F8F0F927C3FD671F1956AD59CDF0EC96105833C8BBEFFFDF44 + 18A0A3CB0976EAB6C30B182E1CDDCBA06768C8B073FD02B8CDF79F7E64E89C34 + 87E1EE456EB06610403140599519EC827D6796312447F833F072B130B0B0B2A1 + 387FF5D6430C37CF72C0F9700318191919F49D72C9CAD200FAC9B5C145016BDA + 0000000049454E44AE426082} + Name = 'PngImage17' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD2520000015D4944415478DA + 63FCFFFF3F03082CDD7212C22000627C2D1891F98CC80644FB98E3D50C54C3D0 + 3B6521C3F99DD3194936E0DFBF7F0CCBB79D6690161366B04C57058B715C6060 + 24CA0090E6DF7FFE31ACD9759621A4D68281352A97E1F7B2C90C8B2E10E10298 + E6DFBFFF325C5DC2C1F044E912C39B4B4B19984A3AB17BC171E64DACAEE860D0 + 60D0F399C2F0F2D636868587CC18A41A1A18D218F07801DD669866100E699161 + 10D5F6050726411720DB0CD35CDE369B61DED24DD80DF8FDE72FD856107D6319 + 1786E6ED7B4F311C387911BB01611E260C6E73EF80F9110C1F180C182C18C4D5 + BC5034830C3E7AF60A7603029D0D212E00FA7DEDAA2B0C2D2D210C6B6A9EA068 + 06E15317AF6337C0C75E8F2160D92330FF4E8B0B838B4B0D985D5CE907D70CC2 + E7AFDEC26E80BBB50E5CD11FA84B60E181C0FF18AEDCBC83DD0027734D829A41 + 00A701B6C66A0C9BF69C24265362370094D348012003002CB76B52FA97B19500 + 00000049454E44AE426082} + Name = 'PngImage18' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001B04944415478DA + 63FCFFFF3F03258071D400064674018780D0A7823C7C09EB97CCDD8D4B535EC3 + C493AF1EDC305BB1603A2323BA66090111A9272F9F301CD9BE99119701110999 + FF616A189135FFF9F9430A9F4618B0F1F405FB1B6E0021CDD70CF8FF0B09B0D7 + 481C78D50AE2FF7295B1FBC82F7AF0C585F30C8C96EE5ED3E425E533618A1F3E + 7F385D4A5A79C3DA79937781F8C149B96E6627F7F4F8B23ED3DD226BC2F04840 + 96A19CE72DC3E7E387182EDEF8389911E49F1913DA192EBCE06778FBF727C3E3 + CF0C0C276614A2B860F98C690C9BAA5A1854F7F530282A4830DC7FF08261E657 + 318689B76F33820DC8A89806D70C026B1A43E19A65C46518C0F25F3F3048CE28 + 6050BFBC9A61DB7F198693AE390C535AF220068496F6C3355F7EFC9EE1E6BC34 + 782CC0E47F5EBFC060D7E5C170E8BD208301F73B06BE7F1FFD642E316C6604F9 + F1D9D3BB01CC4CCCE070F8FBEF2F4618FC7D723D22F3EF93C4FB37DE301C1296 + D9E8FBE68198BED87F4BFEBF1FED084619087CB4178BB974FFD3D42B8F7E7801 + 6D390A12DB28C4BA51558ECB8F2803D6F1B2C67CFEF5C728EEE7FF62A006701A + 98C0C0202ECBCDB00A00547CD715F016991D0000000049454E44AE426082} + Name = 'PngImage19' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001034944415478DA + 636498F123988181610D032A0861C8E058CB400460041AF07F8201AA60C10520 + 91C1C1489201604DC40114D7313234DCF84FB4561868D080BB8E71F3BEBBFF7D + 1C9550E4FFFCFDC7F0E7CF5F86DF60FC0F4C83F8DF7EFC66084FAF6738BF733A + 7603D6DEFBC710B2FB378A61732CFF307888FF061B7AEDEE4B86EAD6C9B80D60 + 9CF993015B803EF0FDCAF0EBF75F863B8FDEE036006403EB9CDF0CA40628D800 + 0F3B05B01F393BEE911C9E6003ECCDA4188E9CBBCFF0F70F3B03A9010A36A0AE + B307ACB8A9BC04C5005C9A91031425B52107283ECDC8018AD500429A41F8D1F3 + F7D80D8005283ECDBF81F8F99B4FD80D8005283100AB01B0002516000097A51A + 7A68BA98860000000049454E44AE426082} + Name = 'PngImage20' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001124944415478DA + 63FCFFFF3F03258091620340848147C2FF0B3B1630A24B1223CE08E20CAC0B28 + 0A0098010B361C807BE3E7CF5F0C5FBF7D63F8F2ED3B98D65455C62ADE599ACC + 886240BCBF3D58E19FBFFF18BE7DFFC5F0EDC72F86D6A98B1826D7E760159FD2 + 908B69C0EF3F7F810A7E337C072ABC71FF15C3FC556B1916F69463155FD45B81 + 3060DAF21DFF93835D18BEFF80D8F0FDC71F8647CFDF334C9CB38061E5D446AC + E21B66B7220CE89AB3EE7F6AA80754D16F862F409BDE7FFCC6D0D43F8561DDCC + 76ACE2FB574C4418503771F1FFB4085F86DB0F5EA3847049633BC3C6F97D58C5 + CF6E9B8730A0A86DE6FF6FC0D0FDF4F90BC3E72F5FA1F417867FFFFE33589818 + 601587A78381CF4C941A00005C20FBD97F751C0A0000000049454E44AE426082} + Name = 'PngImage21' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000000F84944415478DA + 63FCFFFF3F03084C59BC03C2200072E33C19616C905E46640372623DF06A06AA + 6198B77413C3F99DD3194936E0DFBF7F0CD396EE62D051576128AAEB031B42B4 + 0120CDBFFFFC6398BD720F43B0A70DC3CD7B2FC0869CDB318D91A00130CDBF7F + FF6558B06E3FD80B3040D00064CDBFFF40F0AA6D47C1722083F01A804D3304FF + 63D8B2EF147E03F06906D13B0F9DC56D0058E16F540D20FC07C607CA1D387911 + BB01E991AE043583F847CF5EC16E4052881341CD207CEAE275EC06C406D813D4 + 0CC2E7AFDEC26E40848F2D41CD20B12B37EF603720D8C38AA06610C069809F8B + 39C3A63D2789C994D80D404EA6C400900100F58BBFF09BC1E25C000000004945 + 4E44AE426082} + Name = 'PngImage22' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000001A34944415478DA9D922177E3300CC7655636C3B20596CD702C86C7E6 + B141C342EF1BE42318167AECD81916BA6CD0638582852A0BCBA46CCDDAF46E77 + EFF4E2A7D8F2FF2759B6724FD9354BF30B09810EF5B16C43866FACAC7DA67DD5 + E364655A15020ECEDD42AD47C839EE4AE9EC5CE492EBB2CF9DFC676BCA83772D + 6C133CEFE14D395F066B0C032AA4346AD5B9905D20C49BD255350196D4BEF40D + C48A47657F44073D05CEDC9AFBF0585F63B61D1379AF7BF2B702C67D8509B0F6 + 4329E52D1DE8CE2CF557B6B93144CAF13C04767702CCED62B12433587FB99141 + 4E1C03C2B70011B72EC02E479843CEAD6E60D04BEED9C1825B47A54E6273CF15 + F73CE9095226D00B891000FB66C1733E2F71CCACCC08EA36043165755141D334 + 2CE6EEAFE429F0552F3468CD5E370CE05842F04E4FE2DFF6A05979CE04633524 + 15F08707024484E0F9EA36C880ACAE7A70DE87931D7B0190BCD0B1326F11E256 + 20FF0098C454D92324167A5320163B95FF47C0518EC02219F4E9D3AB01C780F4 + 3780910A46D167763E3FF508B95A59BA105F037E76038EC28FE6C9B58DCDEC3F + E273F115E07FEC1D6B02010E884AA1F00000000049454E44AE426082} + Name = 'PngImage23' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD2520000011A4944415478DA + 63FCFFFF3F032580916203966D3945B60991DEA68C6003D4BD9919269F4CC6AA + E8F7DFBF0CDFFFFC61F8F6FB37C3C71F3FC0ECB9FE5B19523CE6309CDB310D61 + 0008C00C996B760EC3209B6D7270CD208062C02E9134B8429866E6534C1081AB + 0C0C7F13FF81999A6B4519BE035D02728DDCB204220CB80A118319A0B04200AC + 19843556A762370024B9DCFA328617903583BC62B83E13350C40FE074B421581 + 70EF05569C31907DD8036140F7E4F9180AA6DAEE60B04CAE6660905064F8717C + 2AC3F97DE719E6EE7BCE30A5C50BCE9EB3F73B23232E1B8EB528861E7CADB6EA + CEE58358E5939D24C32CABEFADC667C07F8A5D00A456811452D505208D5635F7 + 5783D480F211C92E98BBEF075C0FD8004A73230074DEE0E1BE54FBD500000000 + 49454E44AE426082} + Name = 'PngImage24' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD252000001D24944415478DA + 635CBBFBE27F062C20D8559F1145C0600644DD850C1471469001412E7A286AD7 + EDB9846A08507365811743FB846DC41BD0D23303CC3EFF529F61E19464861B77 + 9E332C597190E1C7CFBF175FBFFFE10D34E8298601F7AD2419148F3D67F8FEF3 + 37C3F71FBF19841D16C335C380181F0B4365E7D62F4083344086C00D0069E6B4 + F26638B66E2E83C3F9AF0CDF7EFC62F08BAF02BBC0D74D9741474B96E1CAB5C7 + 60FACFE7370C0BD75FDEFA6A5FBC0FD800C33A77B06686FBFBC0B61C3B7F9F41 + 67FF2B8688F47A86F33BA73382C20064C8E65D97E186C1C2036C809FA30EC326 + 5566062B4345B8E66FDF7F312415B4420C408A85CF471354A21ACFDE3976F216 + C3DB838910035C2DD5C14E3E6ACAC7A0BEEB39C357A0E6DFBFFF32E4567533D4 + 94646044F1C92B1F19A6AEBAC5F0F5780AC4006BA0CDA0400369046190ED2050 + 54D70736003D96E6AC3DC35033E33AC3CB3D7110036051860DC00DF8788EE1FE + 726306C5C8B30CEB4EB3C0A39991810080C5D2EF358C0CAC16F10CF7B72C64E0 + 8F44C412710698FE81D86E0F8CA8830C6057DCFA200B8E25A20C30BCA3CFA0E8 + 130F8C82850CEFDF31307CB80CF491C313702C116580C8697D0C7166F77BE058 + 22CA007CB1449401F862090078951B407104A20F0000000049454E44AE426082} + Name = 'PngImage25' + Background = clWindow + end> + Bitmap = {} + end + inherited LargeImages: TPngImageList + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000774494D45000000000000000973942E000000097048597300001712 + 0000171201679FD252000003CD4944415478DA8D96ED4F53571CC7BF17EC9315 + 11864234C607C6D4E9408621F88CBA88D0C64D48EA906C3E3459F40FD077666F + 7CEB62A2912C43F0A950A12A3001AD2613810908B46869E69E8B2FBA3087F499 + B6F7B63BF7E0BDB6D2A79BDCDE73EEBDE7F339E7777EE7DC3248E1303C346BC9 + A5812FDBED767AAF51D7B9C9F4A07E22595B2655F8DED202642D5E089F3F88B6 + EE415CF8BE857F9C54C2A402DFBD651D7296C8C5FBD3336EE87F7C8206DDBDA4 + 1226197C57493E96662D9A7BF9F810BD861A4BF1EFB4136D5DFDB8D2DC9550C2 + 2482EF2161C9266111E00D470B611C015A75D7E11FD6E2F51B176EF7FC8CA696 + F812261EFCC0F60D502AA451706DB902A7EB5F60D2F32195B8068EC1E5F1C1D0 + CD4B62878B4904F7F8392C3A3922C2C361D280B438736900B6D94FA9E4D5FD5A + C8A46968E9E8C555FDFC9130EFC3856C8984A72F90E0E31C274AD767A3EBF138 + 7A2D6E64AF2D82C99A4E257FDED320C4B1E87C34881BAD3D511226D1840A70E1 + B09AE7269987FB021CBCE49C9C545089AD5B0387CB03E39351E80C0F44892008 + 278207D830BE297F27FAB6DD41E182A4A9CF0698CDF8BDA31A334E2F7E7A6A42 + F36D2395303C3C56B644F69C09BA3139C5E2ECE11C5AE727DA9791274AF8B3C3 + 64A712ABE17338C9C4F70D3D4757DF2FA0829ACF8AE2C2BD410E013F0397C329 + 0A4E9CEB059B5B4005B38110825C083EF25EDFAFFF518959AF86E5E55F387FB9 + 19CCC5EB3D61AD661F14320915683616A2B24C22C2F9DE05FD0B10F4450B9C59 + 6B299C070B23197FE5A082519D0AD6DFFEC677F56F0599194AA8CA8BB1848429 + BDE40768EABEC6EE923431C6E1800C0C1B2D9852AE8E091FB959058F771643A6 + 0974F7BF04535C716A236963D1D6A95173601B9128A1286BA4924DEB58DA98F5 + C891217347096CD29531E16E12FFC1B109DC6A7F3837C9FCAF20397144854315 + 5B91A15C88CC9DD7A864F90A2F8A729538B6F7DD662748C602B9F37AFE74D422 + C2C5348D941CAF55A19A8C840B315855758B4A64996F909FEE84C7350D960D61 + C6C7D1364D7FC829BCFF4A05A97118187901FD1DE3FC85365FA28646BD132E6F + 0005070DC0E6CD5015E6C58C390F9748D2D03F3C8E9B6DD1AB38E66627488E7E + A942D59E2D9090945DA36EA392B2FCEC28F8B31B9598251FA061B335263CEE76 + 2D48BED25462DFF66228E4527CF4C55D2AA1C75B38CD16027F3F2C49059192BA + 9A0AEC2A2B2212193ED174D2673CDCED9DCB96D6F64771E109059192DAEAFDD8 + 515A08B94C0A8EAC5A9A2D6396A4F0A48248C9113292BC651F807C1260FFE735 + F4778D49E129090449E6B25516C7948DD64919A49CD2DF96FF0126B669571175 + 682F0000000049454E44AE426082} + Name = 'PngImage1' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000032A4944415478DA + BD95CD4F134118877F5B0A22D84205341E30087E24021A45893131F1E2C178F1 + 2A26FE07C6C478319E8D9E8C8926EA49E217D1B328F142A24123070B2E6DB76C + 0B5DB6A585B614CA47BB1F6D7D772CDAD22DA0094C32997476F67966DE79F72D + 97CBE5B0958DDB1601C7719B7EE1D18B8F9768E8A17EB660FA2BF537D7AF5DEC + 2F5CCBD8FF22C8C3DF5FBED04D2F73882FAC40CF64114BA6E1F3F9797AC693E4 + EA7F090AE1FB9AEAD9DCD24A1ABA9E81AA6510239920C530CABB71F7E615EE9F + 0425705A6E80753D4B27C8A0AAD24A630EFE5002E25494242E26D994A01C5C55 + 7528AC6BC866B3A8B7D782B35830198A63C829E2D9BDDEFB4EE7F3DBEB0ACCE0 + AAA617C155EA29458546D2867A1B72D90CDEF67F41DFD37E3709DACB0ACCE00C + AA680CAC685A5EA4B13B38D97E00B14412BC57C2C0E0777C7A37545E50166E80 + F302E324EC37CD7775B4223EBF0861621AA35E19636322BE7D18361798C2159D + ED785550024F2C821F9F82673202419882382A221C0897DEC146F0D59014C213 + 0B4BF0D0CE9D8244F020FC3CC127C31819E92DCE2233785AF90B53F360632E43 + 1FD7098A79742E899F047691C0352621264F63C22D3178D177F0F8E540093C95 + 568BE29EA64C512834468A9EEA6CC34C7C1E6E5F082EA3BBA71097C310F9893F + F0B582D7C78EECEFE9EA6883B5C2C2629C5EB373259F9EDDC70F6226364FE020 + C6082E8E87200B0148A25C045F2B983C77FA684BE7E16696D3A9945A10EBBC48 + FB0D8FC617081CA44B0D421483181F19C7AC3C5B023715B43637D109AC58585C + C64A4A29806B043F84394AC561DE4FE560165E418668C083E6F01281A3CED6D2 + E4D8853D0D75D8595DC52ED2C89E2C8D5D14F34834C1B2E5873B00C123232147 + E017A4B2F0B582C14C8E3B5FBDA30A95560BF6EEB6A3916486A4C16187DD5603 + A77B025E2902371FC072740E9E51DFBAF0926A7AE7415FCE6677C052C1C1565D + 81C6FA5AAA2B39D45111CBD2627F7086761E424494E0F30436849B966B4362AD + AC84BDA69A5295C3F2D21295619D95E5C5E40ABC4E3F8B79FB99F68DD8ACBD7A + 728B332B153722B1F987E170181ADD81F1DCE8AECFDE4D410B1B950A6E7BFEF4 + B7B2FD02BC08E5EFAAF547E00000000049454E44AE426082} + Name = 'PngImage2' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000022C4944415478DA + 63FCFFFF3F032D0123CC82D53BCF13655398871123B18683CC46B120D4DD10AF + 06A01A86F6FED90CE7774E27CA12922CF80754B776D7050651415E86A2BA3EA2 + 2C21DA0290E17FFFFE63D8B0F712838DB12AC3CD7B2F88B284280BFEFDFBCFF0 + 0768F89FBF7F19B61EBC0A0E2218A08A0520D0B3EA2131410E06A5E10A704BB1 + 5AD0B2EA0186260E0646869230798286831CD2317B23C3DB3DF98C382D00F141 + 610E0E963FFF18FEFEFBC7306BEB4BA22D3051F8CD1052BD0D6C098605216E06 + D008FDCFF0FBCF5FB0E1A0C89DBBE335410B7EFDF9CF3069DD23866827617022 + 0059F266771E238A0541AEFA0CED6B1E91144440FBC186FF02FA76F69627E020 + 82010C0BFC1C7519DE7EF88661C8B203EFB15A806C388CDEB9FF2458AE6CC679 + 4C0B3C6DB5C061FF179A2C81084CAF3AFC096E4144CB159CC1D49EA60AB6E4E8 + F133D82D70B5D26098B2FD25C120C2E67264FAF4E9B3D82D70325763F8F8F907 + 8605EB8E7F815B40C87010BE78FE1C760BEC4C5418FEFD852451502A82E4E07F + 0CDBCEFE005B00323CBA0D7710954629327CFBF997E1F6B58BD82DB0355261B8 + FFF41D86C6A3B718180A43E419BEFFFA87D5C520F6CFDF08B187B72E61B760DE + 92B5E0B2071DB8FAA73164F8C912653888FDE2FE654C0B181971975BDD2B1FFC + 4FF292061B5030E5264E75715E32608BDE3DBE4ABA05316E52045DFE0B5CB430 + 307C7C4A8605614E1244190E026459106027CE70E8E869066201C916209731C4 + 02140B6805009C1383EFACA508270000000049454E44AE426082} + Name = 'PngImage3' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000E9C00000E9C01079453DD000004BF4944415478DA + B5D37B4C53571800F0737A5B6ECB4B2F2D2D2D2053408286870CD4C9C0B89989 + 8ACEB041F035064CEB365800D93235C0EA40FD836D380C085B44C7C30993111E + 93199411DE844029B80908586094577B81963EE8E3EE82D311662A35DB97DCE4 + 3CBE737EB9E77C07120401FECF802B010821A8ACACC7BAC453B54A95E6405AE2 + E111631B7C9E7E331102E87431313C76B1FFAFFD9E071492C0A3A109218D8AD4 + 68C68527040281E1799B9FCF2A738306439314971765244598060C3C9E1406FA + BA73EE36F6045E381DD6B672F39339393457C4BE748BFBFAE08AFBED572E9B04 + 94D7B20647645D7111FB7805E58D359DF2817DB97CBE76795E7246717450E096 + 5C7239E5C7AAA62B99C9260039F977B893B3AA9E84A8FD3603C313BA9FAA5B8F + 9C8F0B2D799A73F6AB627B77676E4750A0375BD43B0ACA6ADA7ECE4C8A085935 + 9097574B1F56C89A2342767A6356E6A0AAB6E3E1AF1DFD5B6E0822D5A1A1C588 + D71B66D7DF7B3BE0E862767BCF20A8691265647D1115BF6A6031522E9784B130 + EB9BEF066DA72C68B5C4F5D2BACF5262DF493F935E78684F804FE9C6F53CF8E7 + 040E6E57B7E04A9572DBB7C951FD26018BCDF8B4FCAC5DDB37F377F86C84AD5D + 0353F79A1FECD9ECC22B3EF8E6AB2EB25925B85327D4F70E8DC5640B22AF3E5D + 640A004EA7FCC046D7A06D216F6D73E230AD417E59BD243CF8353B081128FC43 + 0C6A9BBBEF4BF48CBD2582B085970296904B45611C1BEB225F4F67848A40E0FA + 0A178C4864A0F46EEB2C3E33BF332735BA6B79BEC9C062BD5B482D8A5998D5A1 + 0D8E6C60678B01D14331E81D94246509DE4F052BC26400B8FC821E0E5178D9D9 + 326A5BC516E6737225F0B09BEB1892500FB688E7A5A02E52FD72C08E026F3B1E + 2B92CBC676D3E9664E23A313A85EA7910368A6B1E3602C3A1D5DA0D210B14422 + BBFF6860FC3BD018DEB53AC03797C659E79062CF65C6418346AF981AD3E85438 + 9C56D3692C864A6EE1E0A3D62AA6AD0787261A210D250044BCD45A832DB93413 + A8E70544FB49AD5100DB5FF1D14667CE3732F103056A98EBA322C42D8D9ED239 + 348725AEB39CF56438FA2E5066FAB893B8C27D4C4A1D279770C9DF3E09CCE831 + 8002CF12F5C7B28C022E11BF89508DD489AA1ABE26421D12414998FEEF23BBEA + 6683EF46ED7D09BDACD756A61AE2492A05CAA539A73C3A60EB6F03338623D170 + C4D328E01E5DAF21A47D5A864EE92FACFAE49F12F42F28DA84C93CA9F67E2832 + 3FECA4C30739DD5567F067F3BEB9A90035FF9468388A1A053CF8CD7238FDFB3C + 55A7F2E92C8F1D7B329A42A1BCEE52ED8EC9AC11DE56E61A44EE3833DA13DC5D + 9E50B30CB848023124606514F03AD5D24F99E9B5D42B64FEDD5509834B837E37 + 98660CD8E7B616BF2745DD985C267D977E52745D88D49F0025254F8ED0EFFB22 + F21EFC48C0D52860B9B7347B2D9C896252E70E8B2AE24BC1CE142AD0B97ECD36 + 577DCC3197F3BB71762B8FC3CAD8C0D46D958FF59DEA2A4F2804DED99B009D71 + 0B204803D170EC43E3651A50E88F52F4D55C0B45E563B9F597900031185DF381 + BD85A262DA801F5FBAD8C0020F1EDBA61ACE8D40E50225145722C1804AE39355 + 7480A83FDAF8E287E69FCF275BE7C82EC7D152A1C650F5B529037EEE59D52C5D + 7AD166000C17C85610F94D904F2C0D341ECF79E143FBAFE32F16D672EF3D728C + 4A0000000049454E44AE426082} + Name = 'PngImage4' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A0000043D4944415478DA + B5956D6C535518C7FFB7B7ED36B66E5D47D67663731BECD5B18605D8504C084B + 74982DC16468D4F881AD0305E3870550D100EABE482246712A8AA00182BA9828 + 84252006D7264AA2631B461325DD5C9ABDC0686B6F5FB7DEDEE373EF6869C736 + B6189FE4A4A7E79EFBFFF5799EFFE9E11863F83F834BFCF211506AD6A7585DFE + A99E3611BD4B1553DE7FC0DC797B64FC9C13387B883149017C0064549A528F56 + 5A2A9E31AE2CD00EDF700AB62B034DAD22EC8B117E07482B3019F61516E7ED15 + 6F8DA6BB6F79D84D1F0E5A197B8BDB06F06D7A743F5C8827B4997A684A6A804C + 031C7F8D78ED97FA9B5BB130E4531E9B2A2D655D191AA9CAE570201C61CC15C0 + D94911D60EC642DC4915DA9BCA714C97024E6E87C46BA029AE86DA5C08C79F4E + A1F7CAB566AB08DB3DC280C19CA77FBBA42877BB776C940F08018444B0DB3E1C + EE6178AD1B88CAFDE58E02797526D8561BB1324A00519A191A532174E535181A + 1A176C3FF42595EB6360836595E1AB1C9DB660CC39A1EC0F46204E06B0AF4DC2 + BBB17D0A409E1C032AD6E7E3C7223D8C31803C54E999C8B1AC85F3A6CF6BBFFC + 4BB30C3995A2B2D696E6BC2F8602691E6F50D9E79F4298CAD2DE069C4ECC320E + 90E32450BF6605BE37A623231122A9782CAF5A0DF7B44618F869F0FC9A55D94F + BB275DAA6058549EFB66C45BACC085D9654C02C8F1058F268B09DF64A5429B08 + 11A97419463304B707E1E014A669215696093F9EDB097C399701EE01C8714A83 + D60773F1499A1A7C1264D6A0864A54F397A8E65DF3396C4E801C67B4D85F9683 + 4EB50ADC5CE25351B04972CB76865716B2F0BC8083D4DFAA545C2DCEC6BA9868 + 34011096ED18C4E1768657659D2501C8519A2C9DB6AB7A6DB955F8E3376EBE12 + C959F8C238B003E85C3480C497E5E51BCE6C78AA79EBDF17CE21484D5DA80FD3 + 049916B1872047EE0B20F1ACE212F3B71B5B1EDD343E781DA3D7FA93C4C88E1E + 8941CDABA04B5C8F48F289C58BCF2BE76F1E00D55C5DBF42FF5D43D3238F07C3 + 115CEFB90831CAE222816984DD213446818954158E136463ECD413546E428446 + FB2E72FA9C80AF759A37B734D4BC9E663070FDBD5721787C890D955C41B45119 + 3E57F6D29FA31BE8500187E8F1B2B8D80CE459827427014EF0D8FC585DD1C53C + 935E3DEC9CC4B06334A9C6247EC4CAB06776FA1F02D5F4EB8ED3743D77F75EA1 + DE63DB6EE07C1CD05791FB7B6D85B1CAE70FE1D7010722E2DDD2FC13823D1C45 + 039DD4C83C76D61A8197497D3F8DD43B990428BBADF4CE6505602FCAEE7EA826 + BFA56FD0018F371417F747E017A650FB027003F70932482D099FA0A9E5CE9240 + A37127633F739FF16859579ADD3D36E1492A0DB176B72BB7E0E2E23D20450B1C + A0E95ECA86A7526DDEC5582F27A759A6852D330575316708615C1A91B0E50D32 + C9620109BDA9A78F27A9D91D7117D19D6A58AEC6E9340D1AC9350295A796360C + 2D557C76241D34D97E5E4A8F9270ED506EC4FF1E32E05FC9675CEF0AFC725300 + 00000049454E44AE426082} + Name = 'PngImage5' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000027F4944415478DA + 63FCFFFF3F032D0123CC02464646AC0A66243060B820630103230391006EC1C9 + 898CEE406A07B2E4890B40C33AA6A268B8B8229761E9E67F0CD1BE4C1886FD67 + F8E76151C0B0139705FF154C1A18045444212EAFC8061BFEE5C54D86A6E24970 + 0D75BD790C770F4C015BD2B16802C3FFBFBF19FE01F1D7A7BF1836CC69C0F01D + 8A05061153510C7F7D7527032EF0ECF216B025AD73DAC016DCD8D2C870FEC23F + E22C787C6C21C3D64DA70886AFB79F1983988E07D8825B3B3B89B70066092100 + 331C84EFECE923CD027430F9A037410B61A0345C016E095116FCFFFF8F61CA21 + 5F869230798286F7AC7AC8D0317B23C3DB3DF98C445900321C9452A61E0D22DA + 021385DF0C21D5DBC096E0B50066F8BF3FBF18A69F8C2068C1AF3FFF1926AD7B + C410ED24CC70F3DE0BB025382D00451C03D00290E120F6CC33B1382DF8FB0F62 + F8AF3FFF18666F79020E22BC71003210968160ECD91752B05A806C388CDEB9FF + 2458AE6CC6794C0BB0190EF2C5DC2B59700B225AAEE00CA6F63455B025478F9F + C1B4402F740256C341F4BCEBF9283EC0E67264FAF4E9B39816E8067563351CC4 + 5F70AB046E0121C341F8E2F973981668FBB761351C8417DDAD045B00323CBA0D + 7710954629327CFBF997E1F6B58B981668FA346235FCFFBF3F0C8BEFD7321486 + C8337CFFF50FAB8B41EC9FBF11620F6F5DC2B440C3B306ABE120FE92474D0C19 + 7EB244190E62BFB87F19D302559712B8E1E8F4F2E75D0C495ED260030AA6DCC4 + 1944715E32608BDE3DBE8A6981B45E00C3B34B9BB06A3C24798F21C64D8AA0CB + 416C503C7D7C8A6901B8CABC7001BBCB3E7B3E6008739220CA7010C0B00057A5 + 0F03DD2B1FFC0FB013673874F43403B180640B90CB18620100261ED9D6E5FCF2 + FA0000000049454E44AE426082} + Name = 'PngImage6' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000037C4944415478DA + B595DF4F5B6518C73F2DFD4191B66C6C4E8512618376DD28B485B1C126D90F36 + 8D1B1726264B76B53BAF3431DE99F80F18BDD1449399254B644E1747743ADD94 + 48169C428131268366832D631BC838FC687B0A057AEA7B0EB692B562417D9393 + 9C93F33EDFCFFB7D9EE73C47974824F83F976E25A0E59BCE75D1DEFBF00CD72F + 7FA4CB0A70E268DD9AC4450C454F17F2E63BEF6784FC2780EAEDCFF3580A6784 + FC2B403CAE70EEBB007BFD4E22D15846C8BA01AA783C9EE0FC956E0EECDEC1C2 + E2524648D680E1FB9374760E119A95B1D99FA2AECEC5739BED5C68EBD58AFCE4 + CA1A1096635CBC14D084B7941761CECB25321D66EAFE440A343032811C959124 + 498B39DDF275760055BCE5B3761C9E321CDB1D42DC844EA7435114E6E57946FB + 4778187C44D3613F66B3414BDBC5B6AEEC0167CF77905FBC096F4D3936430EF7 + C2301E5D7E67B5409E3EC648D720F353111A1ADC28A226DFB607B203A839FFE1 + 4A0FF5C71B291169B1EBE14E086E882C0813E488E70D3630CA53F48B4EF2EE72 + 512852F6FDD5EEEC00EAE973375AA93C50C55C04CC0A8C89D3CB4B5060165D24 + C242E2DE4A98B1BE2114D1413E7F053FFEDC9B1DE0E34F2E535A5341597529C3 + 63301703530E3C9B07361308034C2E08A09009DD1A606CE801FB1AABF8E9D7BE + 7F06A8C5FAFCC235AC22FFAE3D2E46C661711136E5C266711905A8C0080BC255 + 707A9E4737832CCE84D95959C6D540FFEA80E32FD56A1FD0E8F8B45683FD279B + 90643D2191A62DA2B076215C201C6C109738070392CC2F5F75E0F26CC5969FCB + B59EDF5607BC7AB84673B0245A51EDFF925D4E0A859389591D46B1F519E1C022 + F2633588B489E79B771E70B73B48B5AF428B09DC185C1DF0CA419FB651854833 + B2E6C2DFBC1BEB461BB373A20E8A0EBB69B9931E4F4DD37BA90B5FA59D2F4F9F + E575DF755AF3DE5E1DD0BCBFFACF39B3EC22223EB6E488F01CF163C9B7109989 + 30D0D6A7C544676EE1609CA6E2DB58BC47986CFF9463AD957F0F78F9054F4A3C + 098A2B097E17436C38389A9A455B9D0E0C7A3D5F7CF02E45917BD497C6707B8C + E4541DD320C5AF756406BCD8B0334D3C39399F0427EF4FBD518FD751AB419C6E + 03267F730A920638B4C7BD26F1E4BE336FED4B41563A490334D63AB52075AEA8 + 814BF1BF84944422A37872AD846C739B18948CE980BDBE726D22AE77F59C3A99 + 829C934AD201997E1E6B5D55D1560A771C659BC7CB1F1C73BA92B5793DE80000 + 000049454E44AE426082} + Name = 'PngImage7' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000B3A00000B3A01647F570D000002724944415478DA + 63FCFFFF3F032D01235D2C606464C42AB978D3F10C0E76EEE9E4181CEAAE0731 + 1B9F05AB775E3A1DE2A66B822E0EF2F3BF7FFF19FEFEFB8742FF03D217AE3F67 + E89DB19261F3BC2AFC16C05C0FB480E1E0E97B0CAFDF7FC5E95A51416E067D0D + 49B02513E6AC66D0D3353A03F481295E0B40AEB73751341115E2818BFDFB0F72 + 2DC4A5A82E87E0CBB75E3014D6F6309CDF391D6C204E0B905D4FACE120B9C9F3 + D6C05D8FD70264D713133C5A2AE20CD7EEBC44713D4E0BD05D4F8CCB4172A965 + 5318FC3C6C18EEDDBDCEC0C6C6CEA0A363C400348311C30264D7136BF88D7BAF + C129C7232C99C152959B61FDFA350C17AE3D63D834B712AB05FF41AE07197EF8 + CC7D82C1A3A620C2905E3115C570297975866DDBF7A35A50DBB3E03F30821880 + AE671012E0C69AC681086BFACFAE9ECED0589D07371C04502C689EB8E4FFEF3F + 7FC9C9B070C0CCCCC2202EA30C371C04E016D4F52EFCDF541C4FD0901FBFFE31 + 7CFFFD1F4CFFF8FD8FE1CF5F18FB3FC3E68D88A0F1F27444F5013116A01B0EA6 + A18683F0FE9DEBC0110B321C2388401650143EB060E2E063E0E6E165E0E1E621 + DE07845CFE1D2A7EE1C82686EF7F9818787878C0961C3A749AB005840C5FF4D5 + 8E61C1850B0C4BB5DE30DC38B585E10D304973F3F2822D397BEE067E0B8871B9 + F76901B0DAB9AAAF181E9CDFC670FFD173065E5E3EB025376F3DC16D01B1C1E2 + 9D21C43083D59481B5790BC38B2BDB192E5EB9C1C0C7C7CFF0F1CB7FD4FA0066 + 0138D9C10C40321C268E6C3848FC75B127D841300B4E9FBBC8C0CA210A361C24 + 8E62415D411CC3EC95BBC94E41CF9F3F07275398E12816C08A0A4A92A8B28621 + 43828F3E4AB90FB7809600004F6ECDEFF6DCFB3B0000000049454E44AE426082} + Name = 'PngImage8' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000B3A00000B3A01647F570D000002954944415478DA + B5955F6852511CC7BF3E9882694B723D6450D4A21ED61FB3879EEA295CABA058 + D1CB6A23A315C2A441AC4123368A82FE5011066D63D1ECAF6058291643AC8D60 + 966EB5FE3E64D4966B7B1841B1997A4FF75CF14E773DFE1978E070EE3D1E3F9F + EF399C9FCA082190C964284523F73A88AC54020A8F9E3323A7E0B6EB558352A1 + B2150BAF991C00852B0779742EC143EFDB40CDB64AA3241DDF398EC066F74ABE + 6399372AC2E93B53904ACF0BE00F7CC5C4E45FC99AB15FA3B054AD07ECE781C6 + CB4084876FD743D1DC01D97E736E014DBFC5B8DCA8D3CE17E7387E6D824FCE71 + 9CB083CE07BD387CA94AF84CE1FC88E8EE3550D45961F04411F2DAD882F4F42C + 78821FBB1D3E58E2EF10BD7A425CA7708FC0507F26B7203D3DEB78C423DABA12 + 38DD8868D02D1C0DF6D4C2B0D3CA16CC4E9F2D3927BC13F43CF2C3526B02EE5E + 037E8401F34940AB83C1740C2DC78F0AB74922484F9F0B4EFB1DD70B74D95D59 + 7717ACDF88AC75C00B084D4FE12F5F8799C7439B6EA10AAB962DC291E6EB30ED + 3B84CD152A389D0EB4E9E3D23A3875A19BACAD34804F0F6D994A4C3B939A8EC8 + 987378FA9975B0D770168FBB5A9282F62B3D24164FA0D8565EBE985907BB9E8D + CF085A2FDE226D4D07F302A7FF71988A11619C8E7178EAF531EB40BF64697182 + D9703AF6FAFCCC3A90088A3E9FD41131EAA0E01D644B9E7C267833D0C7AC8382 + 04B9E0B4BF0FF533EB20AF201F7C8A7FAE0E94096B3B2BC6F12DE446F87B046A + B5062AB51A9FBF8CB00585C0E97C75831637E49B206F7F82B1610F86863F41A3 + 5980DF7F8800A7AC0C413C91064883A7E6D3E1747EA2297945538240700872A5 + 4E8467085AAD0770F3FEF3B95C26A14522110C7EF899011705A99F8A39D3F9B6 + 62F506D4ED5827F9E71204A56CFF01E5E2820611E3A8010000000049454E44AE + 426082} + Name = 'PngImage9' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000029E4944415478DA + 63FCFFFF3F032D0123B2054BB79C24CBB6DE290B19CEEF9CCE882C063317C382 + 681F73920C07EA619016136628AAEB43B184AA1618682A30BC7EFB19C512AA58 + F0F7EF3F8615DB4F33D818AB337CF9F613C5128A2D0019FEF7EF7F86D5BBCE30 + 38596833FCFAFD07C592733BA6319265C1FF7FFF19FE02F11FA00520F6BABDE7 + C0918C0E48B2E0D687070C53AF4E62B8F0F6020348B59BB41F43A1661603EF12 + 0E8637E15F188E9C7FC0F0F5DB5786B76FDF82D5CF5BBA89780BE6DC58C0B0FD + D9620C4B4F3FBFCFF0E4EB038697219FC0C1F5E7DF3F30BD79EF29E22D38FDEA + 0283F906230CC303551CC1F4FA3BFB199E057E801BFE0F18275B0F9C26DE0287 + CD4E0C879E1F6028D56B606834AC021B62BEC582415D44106EC123FF7770C341 + 71B3E3D019E22C38F5F20283FB7627860D6EFB18CC8575A0A9E61F83D5762B14 + 0BEEFBBC811B0E8AF83D47CF116741FED12206676064BA49DAC00D1758CE8511 + 5C773D5FC30D07A9D97FE202610B400A6BCEB430D4E95532FC03CA234722321B + E6F2B92FA631C408A581C50E9DBE84DF82084F5370068219C4BF9413C3D5F7BC + DFC033DAD467ED60B164E112B0FA6367AFE0B720D4CD04C595422BB8E1A9E6E6 + 9BF70C5BACF7C00D7FCEFE942160971343B16E1D83277B3058CFE98BD7F15B10 + E46C84121CA2AB79512CD868B10B6CF8DC97D319BA2F3530D8493A30F42A2E84 + EB3977E5267E0BFC1C0D50C25A722D3FDC0274004A454DC67D0CAEAC81703D17 + AFDFC66F81B79D1E4A10C96C106490E15600E75A74806E3828C2AFDCBC83DF02 + 0F6B1D942092DF2CCC70DBE315C3F2D74B18763DDDC400D265206CC020CA2187 + 61380810B4C0C5520B45132C4271255564C389B2C0DE541D258DC33210580C4B + 9E40369C280B6C8C54C125222500AF05D82A0F7200CC0200F191E9EFB5062090 + 0000000049454E44AE426082} + Name = 'PngImage10' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300004E2000004E2001167D99DE0000035A4944415478DA + ED954D4C134114C7DFEC6E0B420B085A6A040DD88A45C0C4602D4A2D281F5589 + F1AB6AA2094A4C5502DC34F160EAD11BF1E4498D462F1A43FC408BA052C11435 + F8890AA222A2601B6B2D94B26DB73BEEB4168B16E1E2C1C4974C7627F37BFFFF + CB9B995D843186BF19E8BFC1940653012693897AF9CEAEA5696825732FE72B6B + 3877F2B6F01A982A77435595F48F0646A351E4E3E3342CE7BDFBD1F6F1E7024D + 957CE6BCED6FCC66EF6485D71D3DDE617FDFAD9ECC00E96B6BC5727FAC9A65DD + 41718EF795A6CBE6F9699A6925738F67ACE091A5A5235AB2C1502DA1E3F108E1 + A219A0CA4A530C15CFE68F7986DB0814F0072AAC2DD71BC9A276FDA69D98E7CE + 7198DFDC616E6C8866A0D6EB13C448E48AB6078278A5209E22888F05C531E075 + F76E5CBB11660B4AD716D30C732BC0F37A6B5363535403B56090F2BB01D209E2 + 4AA96C99DB1D6A0BE251455BD395C6C8E4253A5D929491248F70CCD7A796CBDF + A219E495EE8A4F605CEE09060683412C92CED6F03CB64C26FE830F9F6B4A187C + D41D144EDECAFBF7D50889AC41039D4EC7C83354050850B0721FEB392441D892 + 1827C62C93E892393F7F3863B1F822049142A110CB6473553C254AA431041806 + 80E3001266A7D8ED036FFA3A3333F94237CB1103B4AD72DF0A0A51EDD18AE91F + EA3F2191CCBADA7CE9ECCD88EA614B556DC9E0A7B71BE7CF997FE0579E773B2E + 386C0EAB5CA962D1DE9A835AD273B25873B41E66C602385900DB28C0C008C0F3 + 0127F49C3282D3ED2F7FD16626170C6FDB53534CE140F39FF8A10FB6D573E6A5 + DE463B761FC061F17C39C0A03B34C209244892F9702924C5607DD6E2A501719C + A4793A7C863203D05C450ED6166AE1C8B17A9821F4718C9B5811097A580CC7AA + F38070E1980E1FDC2C7966567ED1AAD50F4945E1707943C3EE9998402A229196 + 9A06D3E159AF6719D2EB6B63B20A942D19E5C6C2746908F0064209E449E0272E + 1BBC3D5F37D865BD6BCCC9CDE5E4694AB3667F3D4CC5B73E7EB020784CD76EDC + BE70C4EBE9D96ABA0831B470DC9CE2F1EA084CFAF9CDE95C33EAF8D49E9D9D0D + 0AC5224D5C72AA85984CC6B37E9FCAD1FFBA7BFCA269CACA14CB57569CEEEC68 + 2EECEBED1B4F50E6A8067BBA7B770F753F89FC4453E5DB77AE1A1D1EBE13C986 + F9AE675D455FDEBDEA0DEEC1BFFF47FBE70DBE03EC16D6DE8FAAF1BC00000000 + 49454E44AE426082} + Name = 'PngImage11' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD252000003784944415478DA + B5566B48544114FE362D31A3C78F104C7B50145A902FECE15299D12668ADBA61 + AE925AA405811585F4A31745FD308A0A42DB5EBBE96E56AE9AAF30CD2CC5C79A + BB998FCCEDA5640F15823233DC7B9BB9EBBDEEB65BAD5207863967E6CCF7CD39 + 6766EE15B12C8BFF29224AA0CCAF89237DD63F051689E21323C5D91CC1F5BC6A + 96186302A0EB68EC0CC3C2C430309918B34E7A2AF2DD2751A23A21B22210F965 + 9A17EB5304DD9ECD34256382FF25C11EA84D82DB8A6B9CDEFF301E771FE8A0D4 + 94E0E1ED745B020A36F69DD39EC5F4552A7CAA88437155A37D02478421FE96E0 + E6366293C610FD5E75D3F822A0E096B9363116E0C4765FA74677690CCA6B0D63 + 23287EDC850B375BF0A4AD177D9FBF63DA94499086CCC1B15D0198E2EA2C44E1 + 21D1E04DF16654D6373B4E702CF3098E663422FFAC049215B35050F5165BD22A + B8B9D0200FA84FAE11A2F00ACBC1CB42191EE99E395E03D76597F1FD8709BB36 + FB207DEF320E689A58C9CD393B89D0551243C6F81A985357D3D4EA5804F47424 + 1DA982BAD488C329FE48952FC6FDDA77901D28177C68CE79F0F91177D09E2B45 + DDD3F6BF13F005A5EDC730C3919C57B7C063E6645434F40804AF8B64233B67B1 + 28528B67B736A2B1A5E3F704F412D1313EDCEE8F0388492B87FE793FC2C45E50 + 1C0A86A7E4A64060BC1B2D6CC447560083261CFAF64E5B82046930B7800233FC + 1927FADAE462E85A7BB9B9B6DC284C759B08CF0D390241475EA4E0CBF7CD1D46 + FB04F4FA0F356CB75AE0BE2E1B43A4C854CA2E4AA02A3222ABE4A54060D044C0 + 89149BFAFAC616A1E146185A3B5FD912C46F5C8989810A7C23EF8AC9E22229B4 + 1D38AED07360625F77246E5A0065A111F7EB7AE03C4184D80DF3B047EE8D3A6F + 4F81D4455B694B200F5F0E97A02BF85293387A4B99D14233BF1C45ABB490A65B + 321B29CA73C84C48B54F10131664B573BB4056F3E6776778C447BF74EE9F09A2 + D707622AB9407D95F1E6428F000D5B00FFFA06D5FB8CA685CA8E3307A1D877CA + 6A4C2090860660C66A1537D853160B8FF51AC1E9457E14164AB582AD5787C34F + 5E840CC34E6ED7ECE057B0FD1FC0F4BD0778BDD380EB060B8288103F3B69F8F3 + EB49D36229DBB78A7145556D3F024A5058A973E89B604F86A242B02D7C01AE92 + 636C5303FAD1CFD196667D1B1C1A3741EC9DD348F40597168D6C3F92E2A4A31F + 7DF207306E605E3200E1FF6727C90CAFFF0482645308AD8246DC000000004945 + 4E44AE426082} + Name = 'PngImage12' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000E9C00000E9C01079453DD000003DC4944415478DA + BD947F4C1B6518C79F7BEF8EFBD56BAFC7951F33BA75E9822B88520C88D92C93 + 05C410CA70986D3261B1DB3F261B24D3F92331F2A799C6B0F96B666668165D88 + 12E7FE598CC14C639C43D0988D41B69974DD5A680B584A5B68EFFA7AAD81306C + 8D0BE2935CEE9E7B9FE7FB79DEF779DF97C018C35A1AF1BF020882C81978E004 + A6EB6BA106236D0B42E4BD080045E3AA8A35ECA3587A607709717531F60ECD7F + 0378FFDBF806A9807E2734956898F027A94844054D03C86310701C02AB950B47 + E3DA075D4EEEA5BB069CB898DCC671D03F3E1655BCDE0548A520F3A4D332DFFA + 9BA208D8B2D5047351B5EB48BDD09B13F0E27B41E7A580E5870B3D849AF64F5F + 49BA522AEE1B198E48B11806DE40416C4EBDA380A9192D03E278048D0DE61BDE + 49B2FAE5ED309515B0AFD7838D14FFEE3C6DE9AEAD559B6211AD7F642842A91A + B1243E3D1D85D999202416E2C08B0A30BC5907109999382A045C5E2674B6DAE0 + 93AC8096377EC7452C8F79237DB6AC5CAC1BBA14165329B4243EE10B82DF3B06 + 34237E93C2DA607C36F4B849595F67B26C22B03E0B399F82E626F9B3A76CB027 + 27A0D0600235F9D7325034B5241E0C84E1E6F591A02E7870F058D599F4F87AE7 + 295654882F8B37D434D08CA4C7226869967F7CA6143D9A1320911C305C5EC65F + 140F8713E0B9368C3535F5E4D069D7F9E53DB0EF38D526291BFB8DCAFD603090 + B0C3257DB7A79474660534BF12C0884A81C9844056988C7824A24168D283FDDE + AB472F7FD17164E52EB3B77D7C1FCF291EB9F8613D8F84D656F3B95D25A83927 + E076488375051498440C825E5178568399D0ED9F3DD7475CE35FB97D2B01B627 + 3EB218154B405E570D160B05AD2D52DF4E1BDA97133039A3427AD714EA0D33EA + 907455A169350E40BA075EB37CBA12B0A9ADEF1E91C9BF251557C1462B03CEAD + E25BED65E8705640E5013F9E5767F553A4014AA9A07700B4E43CA49271482EC4 + E7584172FD76A66E7039A0F2D9F35588CCFB49904BC1F1100F763B77F0390779 + 3C2BA0F11830E274805EF4037F3BD731F5428F757EF91FC7DEAFBB04B3ED6D82 + 12A0A9D1A4996554ED76D0C35901FF74D965B347BA6F725AD8F73D27592BD3B9 + 9DED66DF956B0B9547DB8489FF0450D171712F6750FA106D440F3EC0E9CBC39C + 7CBE266FFF5DDFA6D9CCDE71B98867F02F2C5F50C43024EC6C312646C763F6E3 + 9DD28D5503CADB7F1568160D7086C27A8AD42FB97A51CDB75087DD0EAA373DBE + 6A40C5FEB10F395674CB324B6C731A4010D09B7E0FF56ACFD34462D580C70E85 + 369BCC7874730987CB4AD9D1C980FAFA0BDBD9CF97C7AC0AE03C3423EDDA2D9C + 5414FADCAD089CEDAE20FE58199313B016B6E6803F0192C0D6E065D4DD9D0000 + 000049454E44AE426082} + Name = 'PngImage13' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A0000053A4944415478DA + AD956B50546518C79F73CE2ECB5ED9B3ECB22C48800A02CA45101BBCA005D9D4 + 4C17758C6FD57899FAE0D4871AB3CC6B5FD2748CA91877600AB3A949CA4427E3 + A65C1409729565B92CEEB2807B935DD80BECB2B773F6F4420A5841493D33E7D3 + 7BDEDFEF39FFF799F760F058C5601F2BAB443E079B0C077DF250304086432117 + CDC6AD3EA77FACAC6CAF77EAA5B93BB07F8B3EFD55A37872CC95C7E5725E6671 + 584F4570D871188E7182815068D2E3354E38DC17273C8E2B9DC33A4D735599E7 + B10495E76FC63B6CCED7F8A4708F58267A429620C5C4B1628C601310F006C06E + 1A656CF7ECA151B3ADDB366256EA07BB2EFEF4CD19FBF427FF13FCA4F29214A3 + 88BD9218F2CDB4DCA531B1F1122C40B0C11B02A0C37F74C822502A011F63EA37 + 33BACEBB8377BBD5A75B9B7EF956A3B9E15C50B063C77922AF20622B29979CC8 + 29484D4C7F428647E038DCF703BC70E826681A34F0F9B15720398F0452C0000F + 0FC1B0C640AB9A3ABA55ED8DEFFD5C5D797541C1A7E5D5F2E024766C59CEB29D + F96B5388380E0BC351CFEE2040E187B3024516096C1680044958FE71467D4D1D + AAABAE52B65D6F38BAA0E0E8890B05B21871E5AAC28C94D8043926A601F80480 + 651260DB47B382F47C12BC14008ED6A2793458D4FDE196CBB53D576BBE7B635E + C1543C2B32A8ED4B33932A5617670929161F761EB9396F330F6519EB49A06C56 + 4655D3EA3A5B7162DF0282C3112969A9AFA7E7A794E61467478E072360FD66E5 + CC7A6671E634746E4D0956AD2301BC4EE8ACFDD5AF2C3DF2C9BC824D9B0EB30A + 3624EF589EBDBC3CB7389B1F2004A06A76CEAC2B5BFA66BA9E5B1B3693601DB6 + 30B7EB5B3D155F1C2B5DF00C0E1CAE2C8C8E8B399BFB744EA2302E16333B3020 + D08E680EC09EE3B367B0BD98041A4D2A9A5AF08469E8EAE8635A2E5D19BCF07D + D9A90505EF1CA84814F1F92757ADCFDC96929F8A8F4DA2F9F7014421C1C62DCA + 9958B622C154518866754E80A6454D55559EA96F69AA3E3EAF40B57FCB726D50 + C0D2466DD9268D4F7C376B6396589A28C7EC1E0218344D7DEDB371BD84040CC6 + 80C31F64746A1DEABECE5873F9EBB33A9DFAB3BF15B41F78A690C7659A3D9152 + D044AE8500AE08B1F83266C593692C91428A071836BA0470E0A2B1E4A10747E1 + 38C6BD8C65C014EEBCFE9BA3B1EEC7DAB6EB57CA298A6AFB8BA0637FF18B3C11 + 5D91B03A534684ECA0712583C61D0316271EE408E4DEA495295162B904E39242 + 60B1D998DFE367D04507F6210BD577476DBD73BBF9467B5BED799FC7D38470EE + 47041D1F146D1788C22715B9EB92843C0A5CDA4EE8B708A163221E8C7E4269F3 + B0FB2339FC2269AC224D1EAF904444B2591E97276C1A1A720E1B740383035DB7 + 7A7B54F5341DB88D702E987BD94D752E10D3A58ABC8D4922AE7F1A6E30B2C130 + 26048DD50A23E38EE7CBEB354D19196B93A3158A748C2696D1B43F0AC5002EF7 + 98C334ACEFF47ADD030835821EDF432EF630733E9FFA217ECD3A998817828981 + 2ED0E93130B824A0350D41B7590F6E7FF0B9BA2E67CD833DE8E6017410403CE0 + 4C4D68706A90E0CF3F1CD5C1E2A24801D1B0243707F85C149AF60E188609E877 + 4483D6A8875E8BDEE5F4516F35F6B8CEC1220AEB39FE2CB3247B25F0055C14CB + 2D1834B2C0E010836678007AAD7ABBCB1B3C78AD775CB918F8B4A0FE5409B366 + 752A50860E1832A1CC4705A0351B416DEC7721F8FBD7FAC6CF2C163E2D38B4EF + 6D2647781F12682F82F3A0CF6C821EF3008C7A03AF2E36964704BB77EF629688 + F9407A6CE01CB987E006704FFA76D575BBBFFCAFF06941494949915020688811 + F1E15E4F2BD82CFA5D63DDEE732A80D0FF21F81D69327688E78891A000000000 + 49454E44AE426082} + Name = 'PngImage14' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A000005234944415478DA + AD956B4C53671880DF7329BD9CB6B4A5174A454005112F205E16DCD46C3097ED + C7B2690CFFB665BAE80FB3FDD8E2DC8C739AFD984EE3C8326203D9702E5B069B + 139D8E9B82283299454AB9147B81DA9BB4D00BB4F476DAB3AF80896E02D3ED24 + 5F4E4ECEF99EE7FDDEEF7DBF83C1135D0CF6B9BA4E18F2B0C4896848118B46C4 + 8958CC1767E1CE90373C5E59B92F98FCE8E119D8BF459FFAB6553435EE5BC7E5 + B25F23D9E4F3296C56068663EC6824169B0A04AD931EFFF9C980E7728FC5A0BB + 5657197822414DED4D95C7E57D93120BDE11C9848B6599524C942EC208160191 + 6004DCB631C675CF1D1BB3BBFA5CA376B571B8F7FCAFDF9F764F2F7921F809F5 + 05294613FB2472F1DEFCE225F27495048B102C08C600E2899908490265251262 + 6C4376C6D07377F86E9FF65447DBEF3FE87437BCF30A76EEAC25D695A4BC2E56 + 488E1795E465AD582CC353701CEE870106BD00D1F84C0E481C40CC678087C7C0 + A233C7356D5D7D9A5BAD1F5EAAAFB932AFE0CBAA7A45740A3BBAB468E9DB1B36 + E612196C12C311D11F05E81E07F044101F9B192C12408224647882D15ED5C69A + EAEBD49DD75B8ECC2B3872FC5C894C2EAA59B5A520373D53818950C41401E098 + 0218F2CD940B8F35B38A200D80A37769BC3838B44389F68B8DFD571A7EDC33A7 + 20999EE505F48E25ABB3ABD796AD11D024056EEFC2BBC6E502D02E27A369E8F0 + 9DA93EBE7F1EC1E194DCFCBCB7566CC8AD282A2BE44C445360EF6737E704EB5A + 7470E9B73D4071D043D00B3D8D7F84D5159F7E31A760EBD6C364C973393B9715 + 2EAB2A2E2BA422041F4AB6AAE78D3E295009019C1607D3DDDC11A8FEFA68C5BC + 0B3E78B8664B5A86FC4CF10B4559828C74ECBE77E1B6C9498D436FD720D37EE1 + F2F0B99F2A4FCE3BE3FD83D559428A3AB1EAD9D5DB7337E4E1E353A8FE4300A9 + 6C00394A059B98ED83590A8DEE4EEF24E8DAB5745DCDE9E6F6B6FA63730A3407 + B62DD347F9A43E75DB76A92AEB83359BD788A4590ACC1D208041D5244896650A + 2A4FD4033896DC7C063CE12863D01A50F44DD6868BDF9D3118B45F3D5670EBE0 + 8B5B785CE65A8023051D67234470658CA464CCF267F249A1528A4718549B0C0E + 5CB4021E1A3824C03311641C265BA2E7FA9F9ED6A65F1A3BAF5FAEA269BAF31F + 82AE0365AFF284F1EACCB5AB6544CC0D3A5F0EE8FC727078F1289BAF0866AFCC + 4D15292418572C0092C5C2C28130830E3A708F38E8C13B5AE79DEE6B376E7536 + D68602813684F33F22E8FAB874075F9838A12CDE942DE0D1E0D3F7C09043005D + 932AB08609B52BC01AE2B0A95269BA325FA1524A52382C32E00B246C23235E8B + D9601A36F5DE1EE8D734C7E3916E8443ADF850DB2423E78BE215CA759BB385DC + F034DC6C6581795C003AA71346273CAF5435EBDA0A0A36E6A429952BB038B134 + 1E0FA7A23480CF3FEEB1598C3DC1A0DF8450A368841E70B10739A728FA67D5FA + 4D32212F0693A65E30183130FB24A0B78D409FDD08FE70F4E5A65E6FC3EC1CB4 + C5903C2488590E3A57219A2C24F8FB0F4773A8AC94C3275A1615170185DADCAF + BF03660B01439E34D05B8D30E030FABC21FADDD67EDFD9059BE03117D67FEC25 + 6651E14AA0F85C9496DB306C25C1EC1181CE628201A7D1ED0B460F5D1D98503F + 0D7C5AD07CB29C59BF360F6873178CD850CEC7F8A0B75B416B1DF221F8475707 + 274E3F2D7C5AF0C9FEF79822C17DC88C07119C0783761BF4DB4D30168CBCF1B4 + 697944B07BF72E6691880271C005DED17B086E06FF546857539FFF9BFF0A9F16 + 949797970AF8FC16B990827BFD1DE07218778DF7F9CF6A0062FF87E02F9F6855 + 88E7298D620000000049454E44AE426082} + Name = 'PngImage0' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A000005A34944415478DA + 8D960B50546514C7CFBDFB625958DC455049C8074A3C44B490C67C8C5A098A8E + 8E61A0E68C363A4C884C5A3E7240D1F1C13496A58E634FCD0AABC9416DB29C18 + D9626C542052234904158170A10576F7DEBBDF7D75BEBB0B3E82F49BF9CF7767 + F7DCFFEF7CCF731918B8E950C1283B6AB8D96C8C62F5AC4994149EF0A4197F6B + 4575A13894D29F81AAAAC00C601EA6D3416A5090F9F9509B65AA2D3C74C490E8 + C121C19620D6E316E4F616678FCBD973C3E5723B445E2CC7F81A94F7710034EB + B17ABD7E516C42744E424AECA8F8F1234D23C63CC10C8D8900539001BC5E1E5A + 6EFD0DF57537D53F6A1BF9FADAC66B6D8D1DC7144529C3776F51DF8100D43CCD + 1E11B626754A52C69CACA9831252464358B815581DA305CB8A028AAA804F26E0 + 1638686DBBAB5EB9F417549EAA71D6573595096E72103DAEF442EE07B0A8F1B6 + 48EB96CC97A6A72F58362B3866F43046A763FBD2A1C6C5F90ED8F8EEB3C0893C + 78509C28809BF74243FD6DF5E7D2AA9ECB3F5DFF9678C91E0C6FF0FBDF034418 + 0CBA4DF397CE5CBD7CCD7C4B544C24A36391C930BDB940D19A735AE0EB7B9F06 + 0FE1347935103EFB38B8D3D0AE3A3EAD72D59737BD8361FB513DBD0093C1C02E + 9B38257157DE9625914F258F445F06588645E1D46048515E399C2E3D08F372F2 + 20B7244933778B5EF05210422888230234D5DC81F3876B9B3AEA5DEBD1F73402 + 240A181E3ED476287BD5EC3959AFA6B366B34903E8581DF66C9F396D14B0724F + 3CB87D1E70138F96B936020471124E57B7176A8F5F93AE7F7FFB33C9236D4440 + 07CE33A4C7A5C41ECDDF9A13999C1AA7654DB3A7806DF9157DE6BD80FE5AD4AA + 0EE071148244A0F9421B5C3DD2D0E469E65620C0C1982C86E21973D336BF5698 + 6D1844774C20FB9D05950F98D31D24490A88921C90FF39B7E02DB0AF6C418080 + 001F74B5F640DD478DA2EBF79E4259944B98109BE5544E6E46E6E2D5E98CDEA0 + 031617F7ED75171ECB9C2A7F7D21985FB901BCE407705E011A4BEFA8CE739D47 + 245E59C9D822C2AAF28AB3274E9FFB0C43E77EDF869AC736F71109DED85C0CCC + 92BAC0088876465ACF38D5B613CE5F658FFC1C631F32A8A660D7D209A93393B4 + 1D7968F3953E407FA6D243CF9B0A77009F558D009F66EE9345E83CD705EDDF74 + D6CA6E790263B5592A96AD9B37EDC5ECC98C04321045842FB7DE8413C7DE7FA4 + 39ED0B8B77C13F0BCE6BD3A3017C22749C76A9DD673DD58AA0A432C1A1410766 + 2C9A949BB576B60E8218201844213FEC76C1E71FEEFD5F73AAED3B4BA0655E05 + F81040307BA18B40676997CAFF269C54457521C31AD8E58993461F78796346A8 + 2DC61A18A61F72699F0A1FECDFDD6758F06651BFDBB431E34704F8DFE11A04E8 + FECACD49B7E5125556B7D383161F1963FB62F6EA2929492FC4323E55BC079125 + 683C6C85F7DEDEAE01E8822AD957B5E9E051DAB468BDDF5CC445F73838953B2B + FCA276AB5BF01C545240A8C1ACDB903C2B6EFDF455A966A3DD0082ECD3168B42 + 44EC5D47A361CF8E426D41DD8B2EF6ED169A756FE634195F1B016F19D72DD5C9 + 5B41828F11E0E9BDECE22DB6A092B4A5E3D3C7A63FA9978D0AC35388F6B27F67 + E8BF4ED602DB321D81D1899A4445F2F76E51E52A0442CAC5E340A010439BEFBF + 4D8DA8CCC1636D45E316C4260E993458279914C6171809096CBFF09393E166C6 + 59CDD01730A72324682E54119138C845F52E6C432F074A7AB8E0846255586C1F + 655D1B3D6D5842449A5DCFD870573DB026FE7511E994507311FF6B2720541322 + 568BD56A3BD0ABFA3B943050C9B4A266996C8615F6C4B099D6849060D3082303 + 363CD1264583116AEA45E05DEC9B7C2AA9177BA4EBF2192CFD9FE0BB9528FE51 + 45DF801AC31AD9857AAB3ED318AE8F3344E843749178EF5A8021DDA24ADA4549 + 724A3DB24BF95375AB65B8A02703F5587A54D1EF6DF477FAC91285953A99D1C3 + 38303276BC074D8A0CBC4A54271EFACBA8AB18D30EFE4F97FF340AF8172272E4 + FE66E507F40000000049454E44AE426082} + Name = 'PngImage16' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300000AEB00000AEB01828B0D5A000005A14944415478DA + 8D960B50546514C7CFBD771FC0C2E22E026A8A2F140145B490C65047AC0445D3 + F111A463A38DE608CA949A1A83864C2AD5E8543A4D33659AD360E3E8A036D958 + 069B943D80C8576E12A8BCC28559D8C7DDBBDF7D75BECB2EBE60F49BF9CFBD77 + F7DCFFEF7CE77B5D06066E1C2A0C65450D0F0D350C6375AC5194141FF19166FC + AD0DD58DE2514A7F06AAAA0233807924C7415A4848E8F31116D30C4B54C4A8D8 + 1183C3C34C21ACC72DC81DAD0E97D3E1FAD7E974DB449F7801E3EB50DE2701D0 + ACC7EB74BA25F14923F29252E3C7244E1E6D1C35EE2966485C341843F4E0F5FA + A0F5F67F60BF7E4BBD56DFE8B3D737DE686FEC3CA6284A05BE7B9BFA0E04A0E6 + E9D6E8C882B48C89D9F396CD1894943A1622A3CCC0728C162C2B0A28AA027E99 + 805BE0A1ADFDAE7AE58F7FA0FA4C9DC35ED35421B8C921F4B81284DC0F605193 + 2D31E6A29CA5B3B216AD9C1316377628C3716C5F3AD4B864A30DB61D781678D1 + 071E142F0AE0F679A1C17E47FDA9BCC675F9879B278997ECC3F0865EFF7B8068 + BD9EDBBE7045E6BA55050B4DC3E262188E4526C30473D12EBB0A2AB5E0B57B13 + C14378F06A201E3C7E1E5A1A3A54DB17354EFB85A6FD18F231CA150418F57A76 + E5D48CE43DF945AFC44C48198DBE0CB00C8BC2D260888A5192224169810DCE96 + 1F820579F9F0D2CE58F02284F68482782240535D0BFCF2697D53A7DDB9197DCF + 2240A280E151432C9FE4AE9D3B6FD96B596C68A85103702C87572C11CB8084CF + 7E4584F736546900DA2824638BB1B70708E2252C578F17EA8FDF906E7E7BE74B + C9236D434027D619B21252E38F6EDC9517939296A0654DB32F2DBCD8EFFCA500 + 3AD892A4C0D2570B21219F0737027CD80B4122D0FC5B3B5C3DD2D0E469E65723 + C0C6184DFA92D9F3D3776C28CED50FA2332690FDBB85D57DD9DEDF82E6A2246B + 5AF5FA56B0AE69458080003F74B7B9E0FA678DA2F32F57B12CCA654CB8C57426 + 6F7D76CEF275598C4ECF01CBB25A0FCADEB8F408E061733170BFBEF06D80BC6B + 1A80F70AD058DEA23A2ABB8E483E650D63898EACC92FC99D3A6BFE338C36B808 + A0A37F606BED038081CCA9FC44822D3B4AA07BF1AFDA1A693BE750DB4F392EC9 + 1EF939C61A3BA8AE70CF8A29699913B5A9884B09449C31878BEC7D80FE4CA587 + EEB7179742FB822A0488D055D90D1D27BAEA65B73C85315B4C552BDF5C30F3C5 + DCE98C0432109C2DA22CC189DD2D1AE049CDDB722AB5ECFD7E113ACF3AD59EF3 + 9E5A4550D298B0889083B3974C5BBF6CD35C0E421820184421DFED75C2A9631F + 3D91792BCD1CEB4F307BA19B405779B7EAFB5338AD8AEA6286D5B3AB92A78D3D + F8F2B6EC084B9CB9370BD4CFFB49BFD3F4C3F7773F98399AD3C1F54BBD89F10D + 02F47CEDE6A53B72992AABBBE9424B8C89B37C35775D46EAC417E219BF2AF641 + 08968ABE4402CF3D4747C2077B77DDCB9C9605CD8580B98883EDB1F12A7F5EB8 + A8F6A8453859AA2920421FCABD95322761F3ACB569A106AB1E04D9AF0D163515 + E5205004B97C02EC2B2DD6CC5B727ED4B20E664E93F1B713F056F03DD27519B3 + 80CF11E0096E7689264B4859FA8AC959E3B346EA6483C2F8E460B77BCD697DC3 + 4E3EAD05DFCAFE5E7BA6A2334EBBBA4595AF1208B9201E0702C518D67CFF6E6A + 40E50C1E6FD93969517C72ECB4C19C6454187FA02724D083A8D3D3D1FCBC66E8 + 0F98D31E1234176A88486CE477F52EBC835E3694F4F0811381A7C272EB18F3A6 + 1133872645A75B758C0567D50363D23B2E222D093517F1BF0E02422D2162AD58 + AB7600DDAABF4109031D9966D41CA345BFDA9A1C99694E0A0F338E323060C195 + 6C543418A1A65E04DEC56B935F2576D125DD94CFE1D17F18DFAD46F91E77E8EB + 51E35803BB5867D6E518A27409FA685D381783FBAE0918D223AAA443942487E4 + 929DCADFAA5BADC0013D1D388FA5C71DFAC1467FA79F2CC3F0A44E617430090C + 8C15B729A322834F25AA0317FD65D4558CE980DE4F97471A05FC0F622CD6FE88 + 2F15D20000000049454E44AE426082} + Name = 'PngImage15' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD252000002814944415478DA + 63FCFFFF3F032D0123C8822F5C7FFED767DC625876E301458645692830B0B2FF + 67E8ECD06184391CCC282EBAF6DFC7478B21AA671BC3F36D5E040DFAF3E71FC3 + EFBF7F19FEFDFB0F66FF01B275A20E32AC28E766F0F2F26250538B63387F7E3A + 235E0B3AD73F25CAD571D6BC60DA28E108C3A783A160365116E07339C4D540FC + 07C1364B3EC6D0E0AFCDF0EBD72F8679F3FA48B7009FE1206C957682A1CA5395 + E1E7AFDF0C4B974CA65E10051AB28169FBACD30CC5CE0A401FFC6658BD6A06F1 + 3E20E4F2DF50BE73DE59862C2B09A0057F18B66C9E4F9C05C41A0E4A45EE8517 + 18524C44C03ED8B573097E0B40C9AF7BE333A282C8550D92DEBD4B2F31C4E9F1 + 03E3E017C3C1FDAB705BF0748B2786EB103EC04CFF3039FF8A2B0CE11A9C601F + 1C3FBA1EB7050F37BAE3351C3DB8FE41732CC882402516B005674F6FC16E0138 + BB032D2107C00C07E583CB1777E1B6E02FD07520853F7FFE82D0504DE86C506A + 8188C1F81039909A5BD7F763B7006678754D0159BE5056B303EB7FFCE038A605 + 6E6EC05CF813E292D6B60A9002AC86FCFEF593E1F7CF9F0CBF8018C4CE2E3A0A + 16BF7DF30083AC822558FFCB6767302DB0B757807BB3BBA70E6C0137373758B3 + 868605C3D9B37B310CFFF3FB17437EF969B805E252266033DEBFB9886981A5A5 + 343C0C274D6A065B2025A5C42029A9C8A0AB6BCD307B563586E1BF81EA4B6A2F + C22D1014D107B3B15A606C2C0A8DC4DF0C336674802D303676061BAEA666C450 + 90EB8461F81F20AE68BE4E9C053ABA02F0208216B70C09097560C385852519C2 + 8395300C07D1B59D77095BC0C8C8C8505478F5BF82222B72718B35CC910DFF07 + CC78F53D0F88B300040C0C32A8D202B87061066A9D4C4B40730B0038C31BFE85 + 5838D40000000049454E44AE426082} + Name = 'PngImage17' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000026D4944415478DA + B5966D48535118C7FF138A455F84588C0A7A27AA1163CDB69168929851CB5806 + 81D5878A7C29412428484264A85006814342E805112DE8436F94F43E74393775 + ABC1552C87B5EA6286B7B01AB4BBD3CE8D0DC57976B7D9038773B8F79CDFEF9C + F33C17AE821082FF198AE982F607CE946C4DCD3731D8D5A2A063FFDA73E4C9FB + 469C8CB0E30A4AF61A928247D660F9D225A8BE7019366F0B0CD595C8186B43AB + 4D9024F322D06E5C8521F75D2CAB2A85E94026E010C00533D1CD09E99D4014C3 + E87CE482F2A717D93B8A305AA381A97F4282D3484B40E1A248F0BAE33486825A + 188D464C0A5FF1A3AA002A9EC0C7837D457957C7124A6A958DD896AF4146C08D + 1B1E23D46A35789E87D56A452010483EC9244C20465A28B27B6767650CFEE5D7 + 38BE8F7F46AF5026C1559BCDB1AA922D48040F0A1E145B57E06C7D2BAEB5DF4B + 4E20176E7778F0F0A54B9E205E0EA6DF793C38DDC463BB5BFE0992D97974DED3 + 9E01798254E0B4745FF47A120BA2354EFB70E47D435D09FE902294177630E1B4 + D95D6FD88243BBB324F8AEEB01E95959A8166F3F4E4137F509CEC515B0AC3922 + C1D7D574CFC8CF95DC050885C370F4FBD88283057A69277432ED2FD51FC5999C + 85F03FE7E00F2A71E7C322D435DF8A9D303A2F3A767939B6C0B253175BD4D556 + 0197E3154EE95663D0FF1B8E491EE50D7D73C2693FE01B660BF6E569638B8E9F + 3886D1110E2B5504872D7AE8CD179970DABCDC085BB027678B34B1F8F604BED9 + CC385FBA1586FD4D33123F179C26DC37FC8E2D28DCAE99B5482E9C464241BE69 + 53CA705982DCAC0DFFEA5F24B36A9C7E132CB82C41B66E3DEE3FEB433AC114D0 + 3F84F988A8E02F75743575B8E251160000000049454E44AE426082} + Name = 'PngImage18' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F8000000097048597300004E2000004E2001167D99DE000004124944415478DA + ED955F4C5B551CC77FF7DEFE61D0C204D7758139C15684752C1A565A47D7A983 + 1664449D75337301A7D68D8CBD69F4C11463627858427C30DD8B3A0C8B0FBA10 + 71B8F247470706A6996E93617173C060A56D645DD7526EDBDB7BBCE75E6F2D5A + 46E2E29BBFE4E49ED3F33DDFCFEFFCEE39B7044208FECB20FE07AC0A584DE070 + 38C889EB011345C1101EC798786D77D747DF72DDE46A6B1B0F1E54DE1560B7DB + A57136DB4033B17373FEB9BF262872978F898D5C73B9622B257EB4ED83B1C0B4 + 47BF1280B0B6B6CAD4892C3D4D477873868DD76C543D90A028C9101E47A34BC6 + 1FDD83639916DB6C2D0A2A0785B12E1380686A72C8C91CBA72297A67188B9289 + 64C3E8E0D7BD78D2F4F4B3FB11CB7431887D6ECCD5DB9D09A0B75A7365843494 + E91D70E64D9C790167BEC49B2340F5DF9D397D46D41A6BEA9EA024926F922C6B + 1DEDEBEDCB08D07380827F02083367AE55AAB64522425908966818EEEBE94D5F + BCD56C5EAB9428F2C38CE4D625F797B733012A6A5ECAC9958422CB00369B4D26 + 55AE33B02C72AF64FEA75E3CD724D7D88C6F903B79DBCF9FD7138474940798CD + 6689BAB8CC4800C1671EA7A36F2A08E4CECB96215A921752057D373ADDEE789A + 21A1D168642A5561194B4AF3280449890480610072D7150402B3D7A62E9494B0 + D5119AC100E285A6D71F27097224533233F3334E85E2FEAF064E7DDA2F663F57 + 21DC01DB867AE7A60D9B0EA7EBF3E6273EFB708DFF45DF758F90C9AB47DE30E1 + 9AE3C191B60EB82F0B204803F8170166C3003FCF0661F2633B042309CB956117 + BE60E83897EC6B4E07CC3BDF85503F9DD2FB16A2606F7F14C8DDCDFCDCE9CB1C + 605FF361249A57AA01BC11A189001C18E27ABB06D6CA91B574F3634959B66260 + E709278890E91E9AD737BE550E64FD81947957DD6E200A353A64AA36C13BED1D + B086ABE312B37C0738A83B32686FA900AC1303EB87D5592988BAA41408CBBE94 + F97B1A9D50226EA272E78E277FC03B102314135A20BA1C50AC2DE6C745EB8B40 + D48F3F9805AF580BF9BEDF7B93374FF4B3BC9E8E45B711566BABBCD4A81D2CB6 + D8AB372A05C3585200E02736BF18F2C36F278F7AC747CFD9755BB630EA22ADCB + 70A803B05E1EFE1D2C6D55BC398EEE636C4A3FF4D3F70FF1C7B4EE99BD0F8763 + D1C9E71D9F839CE2DE605096DA0D16E3FADF0E069F5A5CB839525E5E0E1ACD23 + 86ECFCF56EA3FD18B4BCBF19FC37A6F9CCF14E30A82AAA033A112F5B98F9D593 + BA6886DA5A4DD5F6864F2E8C0D544F5D9D4A01B4BA32EFA4E76AF3BCE762FA27 + 9AB4ECDDBFE340E897B37B923EE81CF0420F57B646EE0E8990A2CBC2255EF5FF + 60A548580BF7708F2FB0399344CD87003AF1EFDC1146E9907B01A0D1F1004CCC + 254E70E62FA7CFA543FE3560726B3E3A7BE916EE2A38C0E2DFE731A4A1E21E4A + 745CF86CE838F32B77D3FC01CF05F8A9B438C37F0000000049454E44AE426082} + Name = 'PngImage19' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD252000001B74944415478DA + B5943D2C044114C7DF6A5CA150894204052AD14B7C14D7701D9D44EB4A854434 + BE3A89E28A0BD128080DA7388ABB444E88904B705710111FA5467D91DB9D9D31 + 6F6677CFB9B998DD75AFD8F9DCFF6FDEBCFDAFC118834686810063BB3CC9FB47 + 8AF52988475241C585B6036089C1DA0D7345FE88478C7F030841FF5137CB0A60 + F5395C2156FA95597A80D3F377161BEBF953C7223694BE4C20361563D324109B + 598442762B3800D75110C54DCB167D14C638CEDEC0CE7E3A3800D76C14E4E284 + C81641160761A4CFF2C100388745213617B628942DC2019801952D9180ECE55D + 30804D2950CAE0F0D586E98BDAFA27064A106D3321775DD4074C8C763B93F2E4 + 16BF92965D06F5FC5118FE84ABDB077DC0F88804C8821271E7AD074D10C61F6C + B639E501A2439D62567E2D4464D09EFC08A4EC65B0DC6754D520B997A9DAD0D5 + D10B61FC719FD9AC0096D6376A5E5C5B988730FEF00086A1FE9F9DE4DE42F9C3 + 37C0AF3F7C035C7FE049F1C41240C518A1652703D71F5A00953F4C47D86BC555 + 71805303D71F5A00953F4C2703B7B5BCB104E48B4FFA00953F7E9E5C05283EBE + F8ABC16F7FE8843640E50FDDF0008D8C6F397A5EEFE9EAF0950000000049454E + 44AE426082} + Name = 'PngImage20' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD2520000018C4944415478DA + 63FCFFFF3F032D01E3A8054459C0C8C8C860E091F0FFC28E058C843490AA8E3E + 16187A26D22C9C864910812CA079102DD87000251E40E23F7FFE62F8F90B827F + C0D8405A47439528753D15A98C2816C4FBDBA3D8FEFBCF5F08FEFD17CEEE98B1 + 9461626D1651EA26D565E3B6009BA64BB75E306CD8B183617A733E51EA66B414 + 60B7009BA6DF7FFE315CBFF78A61F9860D0C0BBACB8952B7B0A70261C1FCF5FB + FF270438E0D404A2EF3C7ACB307FC54A861593EB8852B7724A3DC282192B76FE + 4F0A76C6A9E91750ECD1F30F0CD3162C625833BD8928759BE6B4212C98B868F3 + FF9450379C9A40F8C59BCF0C7D336633AC9FDD4694BA5D4B7A111674CD59FB3F + 2DCC13A7A65FBFFF30BCFBF89DA175E21486CD73BB88527778F51484054D5397 + FFCF8CF4C1A9E9D7AFBF0C5FBEFF62A8EDEC61D8B6B09F2875A737CF415850DD + BFF07F76B43F3889E103152D1D0CDB164D204A1D4A5151D231FBFF2F600EFCF5 + EB37C3F71F3F187EFCF809A47F42E89F20FA0730DCFF8035DB599912A50E6E01 + 2DC1D0B7000029AD9AF9DFD03E1F0000000049454E44AE426082} + Name = 'PngImage21' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD252000001684944415478DA + 63FCFFFF3F032D0123B2054BB79C24CBB6DE290B19CEEF9CCE882C063317C382 + 681F73920C07EA619016136628AAEB43B184AA1618682A30BC7EFB19C512AA58 + F0F7EF3F8615DB4F33D818AB337CF9F613C5128A2D0019FEF7EF7F86D5BBCE30 + 38596833FCFAFD07C592733BA6319265C1FF7FFF19FE02F11FA00520F6BABDE7 + C0918C0EC8B200D9F0BF50FCE7DF3F8623E71F307CFDF695E1EDDBB76075F396 + 6E22DD025C86A3B337EF3D45BA05C41AFE0F18275B0F9C26CD02520C07A9DB71 + E80CF116906A3848DD9EA3E788B3801CC341FCFD272E10B60096C6C106FCFF4F + B4E1207CE8F425FC1644789AC20DC7662818FFFB8FD311C7CE5EC16F41A89B09 + 4986A3AB3B7DF13A7E0B829C8DC8361C449FBB7213BF057E8E06641B0EC217AF + DFC66F81B79D1ED98683D45DB97907BF051ED63A641B0E02042D70B1D422DB70 + A22CB03755C799C6B1E50964C389B2C0C648155C225202F05A80ADF22007C02C + 0000E2A9A9FE0847986E0000000049454E44AE426082} + Name = 'PngImage22' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D4948445200000018000000180806000000E0773D + F80000000970485973000017120000171201679FD252000003034944415478DA + ADD46F4813611C07F0EF392446538B289908A6537314FE4926362B933433536C + 1619F52202A1DEF8C250DF0596BD890489CC28EA456064E6D49588A583569BF8 + 27752ACE7F399550D3B09C9BD23677DD5DDD799BCBCCF983C1EE9EBBEFE7F9F1 + DCF31035EFF424D6A9EC9428021E1441038AE448B783CAE65E94DC7D88EEA68A + 4D23FF040E458720FD52E15F11694E9DD9F0224BF45F80328480628CE43A60CB + 15397051B564B5DA85C3D50A62C380512E86509E0E9DF2094E196CB0DAECD46F + 05272E1438017478464AB4B04AD58E31E5D98D016C388C6AE65AD76D4442BB09 + D58D5A3CAD5471001B1E112AC6B36AAD616CE29B3F4992361F91B0746864BADE + DA9E3BBC06700D678B46A68A1B39801FCEAF51E31C6A1A3E59C627E7066DB695 + F3B68EDCCF1C107323D56D381F2909BF06EBAE93665954B0282941CA8DD9571C + 004960D1628379C98EAA5A5D7DBF61E2384922103D57179C3B100BDD86F33B08 + CAA8215393A48E84B8302F7ABCB85485A3F15248820360595E81D962EFB9FFA8 + 76861A7A4301E50C9091B89F59C8D9E42027840E0F69F8828F9D7D4E6B4023FB + C2F62C9F498B1516DDAAC64E3FD1A240E0253A228F2604DEDBF0AA565D643299 + 6514708E0152E511DCD7B29419CE206CF84FEA7E87DEE004B088404058A6BFFE + D8BEDC7A85F0963D9644848B151249C49DE1D1C9DB0303C3E91410C30049B250 + 269C45F4C77673E1D4770EBD618403F8474BFEBD51CCCC7EC7F31219D77561B9 + 11FE01C1953A5D6B3605089917E22383A06C6AC57AC507F8FB666FA612E32A05 + 777DBD4C8BD71FE6313236050A209817F8BB75BD7207B856C5CB0E1494F5530B + 6EFD0D6C2899576E81852EC0EF201C0E1275EA3EDC2C7F0BFDB80F62FCF5F01C + A0C307F3A0516B1197BF7AB49CCE6B8275AE790B80B6C380AF96F93BD402ECC8 + 3131487D731BB36E9E017F66CF029A3A20F8F23CD341E3FBCE2D0078B3678BEE + C2913683165DB78780CBECD9A2BBF0CD5ADDFD9B02E8A3C5BB2B714D381FE90D + 6CF4A003991D9A07B1EB3EE711401F2D952ACD3F9FDD34B0D19D4FD72F7A80FE + E871245F980000000049454E44AE426082} + Name = 'PngImage23' + Background = clWindow + end> + Bitmap = {} + end + inherited GridPopupMenu: TPopupMenu + object N4: TMenuItem [8] + Caption = '-' + end + object Volcaradisco1: TMenuItem [9] + Action = actVolcarDisco + end + end +end diff --git a/Source/Modulos/Remesas de proveedor/Views/uEditorRemesasProveedor.pas b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesasProveedor.pas new file mode 100644 index 00000000..358aadf7 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Views/uEditorRemesasProveedor.pas @@ -0,0 +1,196 @@ +unit uEditorRemesasProveedor; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uEditorBase, ToolWin, ComCtrls, JvExControls, JvComponent, + JvNavigationPane, uViewRemesasProveedor, uBizRemesasProveedor, ActnList, DBActns, uViewGrid, + Menus, uDataModuleBase, ImgList, PngImageList, TB2Dock, TB2Toolbar, TBX, + TB2Item, StdActns, TB2ExtItems, TBXExtItems, TB2MRU, DB, uDADataTable, + JvFormAutoSize, uDAScriptingProvider, uDACDSDataTable, JvAppStorage, + JvAppRegistryStorage, JvFormPlacement, ExtCtrls, uCustomView, uViewBase, + uViewBarraSeleccion, pngimage, uIEditorRemesasProveedor, uEditorGridBase, + JvComponentBase, uViewGridBase, uRemesasProveedorController, JvExComCtrls, + JvStatusBar; + +type + TfEditorRemesasProveedor = class(TfEditorGridBase, IEditorRemesasProveedor) + actVolcarDisco: TAction; + TBXSeparatorItem17: TTBXSeparatorItem; + N4: TMenuItem; + Volcaradisco1: TMenuItem; + TBXSubmenuItem2: TTBXSubmenuItem; + TBXItem38: TTBXItem; + procedure FormShow(Sender: TObject); + procedure actVolcarDiscoExecute(Sender: TObject); + procedure actVolcarDiscoUpdate(Sender: TObject); + private + FRemesasProveedor: IBizRemesaProveedor; + FController : IRemesasProveedorController; + protected + function GetRemesasProveedor: IBizRemesaProveedor; + procedure SetRemesasProveedor(const Value: IBizRemesaProveedor); + function GetController : IRemesasProveedorController; virtual; + procedure SetController (const Value : IRemesasProveedorController); virtual; + + procedure NuevoInterno; override; + procedure EliminarInterno; override; + procedure ModificarInterno; override; + procedure PrevisualizarInterno; override; + procedure ImprimirInterno; override; + + + //Si queremos crear otra vista para el editor heredado solo tendriamos que + //sobreescribir este metodo + procedure AsignarVista; virtual; + + public + procedure PonerTitulos(const ATitulo: string = ''); override; + property RemesasProveedor: IBizRemesaProveedor read GetRemesasProveedor write SetRemesasProveedor; + property Controller : IRemesasProveedorController read GetController write SetController; + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + end; + +implementation + +uses + uCustomEditor, uDataModuleRemesasProveedor, uDataModuleUsuarios, + //uEditorRemesaProveedor, + uEditorDBBase, uBizFamilias, uFamiliasController, +// uBancaElectronicaController, + cxGrid, cxGridCustomTableView; //, uListaRemesasProveedor; + +{$R *.dfm} + +{ +****************************** TfEditorRemesasProveedor ******************************* +} +procedure TfEditorRemesasProveedor.FormShow(Sender: TObject); +begin + inherited; + + if not Assigned(ViewGrid) then + raise Exception.Create('No hay ninguna vista asignada'); + + if not Assigned(RemesasProveedor) then + raise Exception.Create('No hay ningún RemesaProveedor asignado'); + + RemesasProveedor.DataTable.Active := True; + ViewGrid.GotoFirst; +end; + +function TfEditorRemesasProveedor.GetRemesasProveedor: IBizRemesaProveedor; +begin + Result := FRemesasProveedor; +end; + +procedure TfEditorRemesasProveedor.ImprimirInterno; +begin +// inherited; + FController.Print(RemesasProveedor); +end; + +function TfEditorRemesasProveedor.GetController: IRemesasProveedorController; +begin + Result := FController; +end; + +procedure TfEditorRemesasProveedor.ModificarInterno; +begin + inherited; + FController.Ver(RemesasProveedor); +end; + +procedure TfEditorRemesasProveedor.NuevoInterno; +begin + inherited; + FController.Anadir(RemesasProveedor); + FController.Ver(RemesasProveedor); +end; + +procedure TfEditorRemesasProveedor.PonerTitulos(const ATitulo: string); +var + FTitulo : String; +begin + FTitulo := 'Lista de remesas de pago - ' + dmUsuarios.EmpresaActual.NOMBRE; + inherited PonerTitulos(FTitulo); +end; + +procedure TfEditorRemesasProveedor.PrevisualizarInterno; +begin +// inherited; + FController.Preview(RemesasProveedor); +end; + +procedure TfEditorRemesasProveedor.SetRemesasProveedor(const Value: IBizRemesaProveedor); +begin + FRemesasProveedor := Value; + dsDataTable.DataTable := FRemesasProveedor.DataTable; + if Assigned(ViewGrid) then + (ViewGrid as IViewRemesasProveedor).RemesasProveedor := RemesasProveedor; +end; + +procedure TfEditorRemesasProveedor.SetController(const Value: IRemesasProveedorController); +begin + FController := Value; +end; + +destructor TfEditorRemesasProveedor.Destroy; +begin + FRemesasProveedor := NIL; + FController := NIl; + inherited; +end; + +procedure TfEditorRemesasProveedor.EliminarInterno; +begin + if (Application.MessageBox('¿Desea borrar esta remesa de pago?', 'Atención', MB_YESNO) = IDYES) then + begin + inherited; + //Para que en el caso de no poderse realizar la operación se refresquen + //los datos y no nos permita eliminar un registro a la segunda + if not FController.Eliminar(RemesasProveedor) then + actRefrescar.Execute; + end; +end; + +procedure TfEditorRemesasProveedor.actVolcarDiscoExecute(Sender: TObject); +//var +// ABancaController : IBancaElectronicaController; +begin +// inherited; +// ABancaController := TBancaElectronicaController.Create; +// try +// ABancaController.GenerarFicheroNorma19(FRemesasProveedor.ID); +// finally +// ABancaController := NIL; +// end; +end; + +procedure TfEditorRemesasProveedor.actVolcarDiscoUpdate(Sender: TObject); +begin + inherited; +{ + if HayDatos and Assigned(ViewGrid) then + (Sender as TAction).Enabled := not (dsDataTable.DataTable.State in dsEditModes) + and not ViewGrid.IsEmpty + else + (Sender as TAction).Enabled := False; +} +end; + +procedure TfEditorRemesasProveedor.AsignarVista; +begin + ViewGrid := CreateView(TfrViewRemesasProveedor) as IViewRemesasProveedor; +end; + +constructor TfEditorRemesasProveedor.Create(AOwner: TComponent); +begin + inherited; + AsignarVista; +end; + +end. + diff --git a/Source/Modulos/Remesas de proveedor/Views/uRemesasProveedorViewRegister.pas b/Source/Modulos/Remesas de proveedor/Views/uRemesasProveedorViewRegister.pas new file mode 100644 index 00000000..2d361ee5 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Views/uRemesasProveedorViewRegister.pas @@ -0,0 +1,27 @@ +unit uRemesasProveedorViewRegister; + +interface + +procedure RegisterViews; +procedure UnregisterViews; + +implementation + +uses + uEditorRegistryUtils, uEditorRemesasProveedor, uEditorRemesaProveedor, uEditorRemesaProveedorReport; + +procedure RegisterViews; +begin + EditorRegistry.RegisterClass(TfEditorRemesaProveedor, 'EditorRemesaProveedor'); + EditorRegistry.RegisterClass(TfEditorRemesasProveedor, 'EditorRemesasProveedor'); + EditorRegistry.RegisterClass(TfEditorRemesaProveedorPreview, 'EditorRemesasProveedorPreview'); +end; + +procedure UnregisterViews; +begin + EditorRegistry.UnRegisterClass(TfEditorRemesaProveedor); + EditorRegistry.UnRegisterClass(TfEditorRemesasProveedor); + EditorRegistry.UnRegisterClass(TfEditorRemesaProveedorPreview); +end; + +end. diff --git a/Source/Modulos/Remesas de proveedor/Views/uViewRecibosRemesaProveedor.dfm b/Source/Modulos/Remesas de proveedor/Views/uViewRecibosRemesaProveedor.dfm new file mode 100644 index 00000000..fe4e00a2 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Views/uViewRecibosRemesaProveedor.dfm @@ -0,0 +1,164 @@ +inherited frViewRecibosRemesaProveedor: TfrViewRecibosRemesaProveedor + Width = 549 + Height = 376 + ExplicitWidth = 549 + ExplicitHeight = 376 + inherited cxGrid: TcxGrid + Width = 549 + Height = 351 + ExplicitWidth = 549 + ExplicitHeight = 351 + inherited cxGridView: TcxGridDBTableView + OptionsData.Appending = False + OptionsData.CancelOnExit = True + OptionsData.Deleting = False + OptionsData.Editing = False + OptionsData.Inserting = False + OptionsSelection.CellSelect = False + OptionsView.Footer = True + object cxGridViewREFERENCIA: TcxGridDBColumn + Caption = 'Referencia' + DataBinding.FieldName = 'REFERENCIA' + Width = 72 + end + object cxGridViewREFERENCIA_PROVEEDOR: TcxGridDBColumn + Caption = 'Ref. proveedor' + DataBinding.FieldName = 'REFERENCIA_PROVEEDOR' + end + object cxGridViewSITUACION: TcxGridDBColumn + Caption = 'Situaci'#243'n' + DataBinding.FieldName = 'SITUACION' + PropertiesClassName = 'TcxImageComboBoxProperties' + Properties.Items = < + item + Description = 'Pendiente' + Value = 'PENDIENTE' + end + item + Description = 'Cobrado' + ImageIndex = 0 + Value = 'COBRADO' + end + item + Description = 'Devuelto' + ImageIndex = 1 + Value = 'DEVUELTO' + end> + Width = 65 + end + object cxGridViewID_FACTURA: TcxGridDBColumn + DataBinding.FieldName = 'ID_FACTURA' + Visible = False + end + object cxGridViewFECHA_VENCIMIENTO: TcxGridDBColumn + Caption = 'Fecha vencimiento' + DataBinding.FieldName = 'FECHA_VENCIMIENTO' + Width = 78 + end + object cxGridViewDESCRIPCION: TcxGridDBColumn + DataBinding.FieldName = 'DESCRIPCION' + Visible = False + end + object cxGridViewOBSERVACIONES: TcxGridDBColumn + DataBinding.FieldName = 'OBSERVACIONES' + Visible = False + end + object cxGridViewNOMBRE_CLIENTE: TcxGridDBColumn + Caption = 'Proveedor' + DataBinding.FieldName = 'NOMBRE_PROVEEDOR' + Width = 205 + end + object cxGridViewIMPORTE: TcxGridDBColumn + Caption = 'Importe' + DataBinding.FieldName = 'IMPORTE' + PropertiesClassName = 'TcxCurrencyEditProperties' + Properties.Alignment.Horz = taRightJustify + HeaderAlignmentHorz = taRightJustify + Width = 115 + end + object cxGridViewOTROS_GASTOS: TcxGridDBColumn + Caption = 'Otros gastos' + DataBinding.FieldName = 'OTROS_GASTOS' + PropertiesClassName = 'TcxCurrencyEditProperties' + Properties.Alignment.Horz = taRightJustify + HeaderAlignmentHorz = taRightJustify + end + object cxGridViewIMPORTE_TOTAL: TcxGridDBColumn + Caption = 'Importe total' + DataBinding.FieldName = 'IMPORTE_TOTAL' + PropertiesClassName = 'TcxCurrencyEditProperties' + Properties.Alignment.Horz = taRightJustify + end + object cxGridViewFECHA_FACTURA: TcxGridDBColumn + DataBinding.FieldName = 'FECHA_FACTURA' + Visible = False + end + object cxGridViewFORMA_PAGO_FACTURA: TcxGridDBColumn + DataBinding.FieldName = 'FORMA_PAGO_FACTURA' + Visible = False + end + object cxGridViewIMPORTE_FACTURA: TcxGridDBColumn + DataBinding.FieldName = 'IMPORTE_FACTURA' + Visible = False + end + object cxGridViewNIF_CIF_PROVEEDOR: TcxGridDBColumn + DataBinding.FieldName = 'NIF_CIF_PROVEEDOR' + Visible = False + end + object cxGridViewENTIDAD_PROVEEDOR: TcxGridDBColumn + DataBinding.FieldName = 'ENTIDAD_PROVEEDOR' + Visible = False + end + object cxGridViewSUCURSAL_PROVEEDOR: TcxGridDBColumn + DataBinding.FieldName = 'SUCURSAL_PROVEEDOR' + Visible = False + end + object cxGridViewDC_PROVEEDOR: TcxGridDBColumn + DataBinding.FieldName = 'DC_PROVEEDOR' + Visible = False + end + object cxGridViewCUENTA_PROVEEDOR: TcxGridDBColumn + DataBinding.FieldName = 'CUENTA_PROVEEDOR' + Visible = False + end + object cxGridViewID_EMPRESA: TcxGridDBColumn + DataBinding.FieldName = 'ID_EMPRESA' + Visible = False + end + object cxGridViewFECHA_ALTA: TcxGridDBColumn + DataBinding.FieldName = 'FECHA_ALTA' + Visible = False + end + object cxGridViewFECHA_MODIFICACION: TcxGridDBColumn + DataBinding.FieldName = 'FECHA_MODIFICACION' + Visible = False + end + object cxGridViewUSUARIO: TcxGridDBColumn + DataBinding.FieldName = 'USUARIO' + Visible = False + end + end + end + inherited ToolBar1: TToolBar + Width = 549 + ExplicitWidth = 549 + inherited ToolButton1: TToolButton + ExplicitWidth = 62 + end + inherited ToolButton4: TToolButton + ExplicitWidth = 74 + end + inherited ToolButton2: TToolButton + ExplicitWidth = 67 + end + inherited ToolButton7: TToolButton + ExplicitWidth = 117 + end + end + inherited ActionListContenido: TActionList + inherited actModificar: TAction + Enabled = False + Visible = False + end + end +end diff --git a/Source/Modulos/Remesas de proveedor/Views/uViewRecibosRemesaProveedor.pas b/Source/Modulos/Remesas de proveedor/Views/uViewRecibosRemesaProveedor.pas new file mode 100644 index 00000000..cbdd300e --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Views/uViewRecibosRemesaProveedor.pas @@ -0,0 +1,130 @@ +unit uViewRecibosRemesaProveedor; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uViewDetallesGenerico, cxStyles, cxCustomData, cxGraphics, cxFilter, + cxData, cxDataStorage, cxEdit, DB, cxDBData, ActnList, ImgList, PngImageList, + uDADataTable, ComCtrls, ToolWin, cxGridLevel, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, + cxGrid, cxImageComboBox, cxCurrencyEdit, + + uBizRemesasProveedor, uRemesasProveedorController; + +type + IViewRecibosRemesaProveedor = interface + ['{033DF6AF-C694-4C15-A48E-C7BA42DFF9FE}'] + function GetRemesaProveedor: IBizRemesaProveedor; + procedure SetRemesaProveedor(const Value: IBizRemesaProveedor); + property RemesaProveedor: IBizRemesaProveedor read GetRemesaProveedor write SetRemesaProveedor; + + function GetController : IRemesasProveedorController; + procedure SetController (const Value : IRemesasProveedorController); + property Controller : IRemesasProveedorController read GetController write SetController; + end; + + TfrViewRecibosRemesaProveedor = class(TfrViewDetallesGenerico, IViewRecibosRemesaProveedor) + cxGridViewIMPORTE: TcxGridDBColumn; + cxGridViewOTROS_GASTOS: TcxGridDBColumn; + cxGridViewIMPORTE_TOTAL: TcxGridDBColumn; + cxGridViewREFERENCIA_PROVEEDOR: TcxGridDBColumn; + protected + FHayCambios : Boolean; + FRemesa : IBizRemesaProveedor; + FController : IRemesasProveedorController; + + procedure AnadirInterno; override; + procedure EliminarInterno; override; + + function GetRemesaProveedor: IBizRemesaProveedor; + procedure SetRemesaProveedor(const Value: IBizRemesaProveedor); + + function GetModified: Boolean; override; + procedure SetModified(const Value: Boolean); override; + + function GetController : IRemesasProveedorController; + procedure SetController (const Value : IRemesasProveedorController); + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + property RemesaProveedor: IBizRemesaProveedor read GetRemesaProveedor write SetRemesaProveedor; + property Controller : IRemesasProveedorController read GetController write SetController; + end; + + +implementation + +{$R *.dfm} + +uses + uBizRecibosProveedor, uCustomView; + +{ TfrViewRecibosRemesaProveedor } + +procedure TfrViewRecibosRemesaProveedor.AnadirInterno; +begin + //inherited; // No hacer el comportamiento normal + if FController.ElegirRecibosProveedor(RemesaProveedor) then + begin + Modified := True; + end; +end; + +constructor TfrViewRecibosRemesaProveedor.Create(AOwner: TComponent); +begin + inherited; + FHayCambios := False; +end; + +destructor TfrViewRecibosRemesaProveedor.Destroy; +begin + inherited; +end; + +procedure TfrViewRecibosRemesaProveedor.EliminarInterno; +begin + //inherited; // No hacer el comportamiento normal + FController.EliminarReciboProveedor(RemesaProveedor); + Modified := True; +end; + +function TfrViewRecibosRemesaProveedor.GetController: IRemesasProveedorController; +begin + Result := FController; +end; + +function TfrViewRecibosRemesaProveedor.GetModified: Boolean; +begin + Result := FHayCambios or inherited GetModified; +end; + +function TfrViewRecibosRemesaProveedor.GetRemesaProveedor: IBizRemesaProveedor; +begin + Result := FRemesa; +end; + +procedure TfrViewRecibosRemesaProveedor.SetController( + const Value: IRemesasProveedorController); +begin + FController := Value; +end; + +procedure TfrViewRecibosRemesaProveedor.SetModified(const Value: Boolean); +begin + FHayCambios := Value; + inherited; +end; + +procedure TfrViewRecibosRemesaProveedor.SetRemesaProveedor( + const Value: IBizRemesaProveedor); +begin + FRemesa := Value; + FHayCambios := False; + if Assigned(FRemesa) then + dsDetalles.DataTable := FRemesa.Recibos.DataTable + else + dsDetalles.DataTable := NIL; +end; + +end. diff --git a/Source/Modulos/Remesas de proveedor/Views/uViewRemesaProveedor.dfm b/Source/Modulos/Remesas de proveedor/Views/uViewRemesaProveedor.dfm new file mode 100644 index 00000000..8838266d --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Views/uViewRemesaProveedor.dfm @@ -0,0 +1,194 @@ +inherited frViewRemesaProveedor: TfrViewRemesaProveedor + Width = 451 + Height = 304 + Align = alClient + ExplicitWidth = 451 + ExplicitHeight = 304 + object dxLayoutControlRemesaProveedor: TdxLayoutControl + Left = 0 + Top = 0 + Width = 451 + Height = 304 + Align = alClient + ParentBackground = True + TabOrder = 0 + AutoContentSizes = [acsWidth, acsHeight] + LookAndFeel = dxLayoutOfficeLookAndFeel1 + DesignSize = ( + 451 + 304) + object eReferencia: TcxDBTextEdit + Left = 110 + Top = 30 + Anchors = [akLeft, akTop, akRight] + DataBinding.DataField = 'REFERENCIA' + DataBinding.DataSource = dsDataTable + Enabled = False + Style.BorderColor = clWindowFrame + Style.BorderStyle = ebs3D + Style.Color = 14745599 + Style.HotTrack = False + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleDisabled.TextColor = clWindowText + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 0 + Width = 164 + end + object eDescripcion: TcxDBTextEdit + Left = 110 + Top = 84 + DataBinding.DataField = 'DESCRIPCION' + DataBinding.DataSource = dsDataTable + Style.BorderColor = clWindowFrame + Style.BorderStyle = ebs3D + Style.Color = clWindow + Style.HotTrack = False + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 3 + Width = 108 + end + object edtFechaRemesa: TcxDBDateEdit + Left = 311 + Top = 30 + Anchors = [akLeft, akTop, akRight] + DataBinding.DataField = 'FECHA_REMESA' + DataBinding.DataSource = dsDataTable + Properties.ImmediatePost = True + Style.BorderColor = clWindowFrame + Style.BorderStyle = ebs3D + Style.Color = clInfoBk + Style.HotTrack = False + Style.LookAndFeel.NativeStyle = True + Style.Shadow = False + Style.ButtonStyle = bts3D + Style.ButtonTransparency = ebtNone + Style.PopupBorderStyle = epbsFrame3D + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 1 + Width = 170 + end + object cbCuentaBancaria: TcxDBLookupComboBox + Left = 110 + Top = 57 + DataBinding.DataField = 'ID_DATOS_BANCO' + DataBinding.DataSource = dsDataTable + Properties.GridMode = True + Properties.ImmediatePost = True + Properties.KeyFieldNames = 'ID' + Properties.ListColumns = < + item + FieldName = 'NOMBRE' + end> + Properties.ListOptions.GridLines = glNone + Properties.ListOptions.ShowHeader = False + Properties.ListSource = dsDatosBanco + Style.BorderColor = clWindowFrame + Style.BorderStyle = ebs3D + Style.Color = clInfoBk + Style.HotTrack = False + Style.LookAndFeel.Kind = lfStandard + Style.LookAndFeel.NativeStyle = True + Style.ButtonStyle = bts3D + Style.PopupBorderStyle = epbsFrame3D + StyleDisabled.LookAndFeel.Kind = lfStandard + StyleDisabled.LookAndFeel.NativeStyle = True + StyleFocused.LookAndFeel.Kind = lfStandard + StyleFocused.LookAndFeel.NativeStyle = True + StyleHot.LookAndFeel.Kind = lfStandard + StyleHot.LookAndFeel.NativeStyle = True + TabOrder = 2 + Width = 39 + end + object dxLayoutControlRemesaProveedorGroup_Root: TdxLayoutGroup + ShowCaption = False + Hidden = True + ShowBorder = False + object dxLayoutControlRemesaProveedorGroup1: TdxLayoutGroup + AutoAligns = [aaVertical] + AlignHorz = ahClient + Caption = 'Datos de la remesa' + object dxLayoutControlRemesaProveedorGroup5: TdxLayoutGroup + ShowCaption = False + Hidden = True + LayoutDirection = ldHorizontal + ShowBorder = False + object dxLayoutControlRemesaProveedorItem3: TdxLayoutItem + AutoAligns = [aaVertical] + AlignHorz = ahClient + Caption = 'Referencia:' + Control = eReferencia + ControlOptions.ShowBorder = False + end + object dxLayoutControlRemesaProveedorItem4: TdxLayoutItem + AutoAligns = [aaVertical] + AlignHorz = ahClient + Caption = 'Fecha de cargo:' + Control = edtFechaRemesa + ControlOptions.ShowBorder = False + end + end + object dxLayoutControlRemesaProveedorGroup2: TdxLayoutGroup + ShowCaption = False + Hidden = True + ShowBorder = False + object dxLayoutControlRemesaProveedorItem9: TdxLayoutItem + AutoAligns = [aaVertical] + AlignHorz = ahClient + Caption = 'Cuenta bancaria:' + Control = cbCuentaBancaria + ControlOptions.ShowBorder = False + end + object dxLayoutControlRemesaProveedorItem8: TdxLayoutItem + AutoAligns = [aaVertical] + AlignHorz = ahClient + Caption = 'Descripci'#243'n:' + Control = eDescripcion + ControlOptions.ShowBorder = False + end + end + end + object dxLayoutControlRemesaProveedorGroup3: TdxLayoutGroup + Caption = 'New Group' + ShowCaption = False + LayoutDirection = ldHorizontal + ShowBorder = False + end + end + end + object dsDataTable: TDADataSource + Left = 8 + Top = 8 + end + object dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList + Left = 40 + Top = 8 + object dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel + GroupOptions.CaptionOptions.Font.Charset = DEFAULT_CHARSET + GroupOptions.CaptionOptions.Font.Color = clWindowText + GroupOptions.CaptionOptions.Font.Height = -11 + GroupOptions.CaptionOptions.Font.Name = 'Tahoma' + GroupOptions.CaptionOptions.Font.Style = [fsBold] + GroupOptions.CaptionOptions.TextColor = clHighlight + GroupOptions.CaptionOptions.UseDefaultFont = False + end + end + object dsDatosBanco: TDADataSource + Left = 8 + Top = 40 + end +end diff --git a/Source/Modulos/Remesas de proveedor/Views/uViewRemesaProveedor.pas b/Source/Modulos/Remesas de proveedor/Views/uViewRemesaProveedor.pas new file mode 100644 index 00000000..f68f9a0e --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Views/uViewRemesaProveedor.pas @@ -0,0 +1,106 @@ +unit uViewRemesaProveedor; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uViewBase, ExtCtrls, StdCtrls, Buttons, DB, uDADataTable, + DBCtrls, Grids, DBGrids, Mask, ComCtrls, uCustomView, JvComponent, + JvFormAutoSize, cxControls, cxContainer, cxEdit, cxTextEdit, + cxDBEdit, dxLayoutControl, cxCheckBox, PngSpeedButton, cxImage, ActnList, + ImgList, PngImageList, cxGraphics, cxMaskEdit, cxDropDownEdit, + uFamiliasController, cxSpinEdit, cxCurrencyEdit, + uBizRemesasProveedor, uRemesasProveedorController, cxCalendar, + dxLayoutLookAndFeels, cxLookupEdit, cxDBLookupEdit, cxDBLookupComboBox; + +type + IViewRemesaProveedor = interface(IViewBase) + ['{A091444D-DA32-4577-9EA0-DE87D9C0F943}'] + function GetRemesaProveedor: IBizRemesaProveedor; + procedure SetRemesaProveedor(const Value: IBizRemesaProveedor); + property RemesaProveedor: IBizRemesaProveedor read GetRemesaProveedor write SetRemesaProveedor; + + function GetController : IRemesasProveedorController; + procedure SetController (const Value : IRemesasProveedorController); + property Controller : IRemesasProveedorController read GetController write SetController; + end; + + TfrViewRemesaProveedor = class(TfrViewBase, IViewRemesaProveedor) + dsDataTable: TDADataSource; + dxLayoutControlRemesaProveedorGroup_Root: TdxLayoutGroup; + dxLayoutControlRemesaProveedor: TdxLayoutControl; + dxLayoutControlRemesaProveedorGroup1: TdxLayoutGroup; + dxLayoutControlRemesaProveedorItem3: TdxLayoutItem; + eReferencia: TcxDBTextEdit; + dxLayoutControlRemesaProveedorItem8: TdxLayoutItem; + eDescripcion: TcxDBTextEdit; + dxLayoutControlRemesaProveedorGroup3: TdxLayoutGroup; + dxLayoutControlRemesaProveedorItem4: TdxLayoutItem; + edtFechaRemesa: TcxDBDateEdit; + dxLayoutControlRemesaProveedorGroup5: TdxLayoutGroup; + dxLayoutLookAndFeelList1: TdxLayoutLookAndFeelList; + dxLayoutOfficeLookAndFeel1: TdxLayoutOfficeLookAndFeel; + dxLayoutControlRemesaProveedorItem9: TdxLayoutItem; + cbCuentaBancaria: TcxDBLookupComboBox; + dsDatosBanco: TDADataSource; + dxLayoutControlRemesaProveedorGroup2: TdxLayoutGroup; + + protected + FController: IRemesasProveedorController; + FRemesaProveedor: IBizRemesaProveedor; + function GetRemesaProveedor: IBizRemesaProveedor; + procedure SetRemesaProveedor(const Value: IBizRemesaProveedor); virtual; + function GetController : IRemesasProveedorController; + procedure SetController (const Value : IRemesasProveedorController); + public + property RemesaProveedor: IBizRemesaProveedor read GetRemesaProveedor write SetRemesaProveedor; + property Controller : IRemesasProveedorController read GetController write SetController; + end; + +implementation + +{$R *.dfm} + +uses + uDataModuleUsuarios; + + +{ TfrViewRemesaProveedors } + +{ +******************************* TfrViewRemesaProveedors ******************************** +} + +function TfrViewRemesaProveedor.GetRemesaProveedor: IBizRemesaProveedor; +begin + Result := FRemesaProveedor; +end; + +function TfrViewRemesaProveedor.GetController: IRemesasProveedorController; +begin + Result := FController; +end; + +procedure TfrViewRemesaProveedor.SetRemesaProveedor(const Value: IBizRemesaProveedor); +begin + FRemesaProveedor := Value; + + if Assigned(FRemesaProveedor) then + begin + dsDataTable.DataTable := FRemesaProveedor.DataTable; + dsDatosBanco.DataTable := dmUsuarios.EmpresaActual.DatosBancarios.DataTable; + dsDatosBanco.DataTable.Active := True; + end + else begin + dsDataTable.DataTable := NIL; + dsDatosBanco.DataTable := NIL; + end; +end; + +procedure TfrViewRemesaProveedor.SetController(const Value: IRemesasProveedorController); +begin + FController := Value; +end; + +end. + diff --git a/Source/Modulos/Remesas de proveedor/Views/uViewRemesasProveedor.dfm b/Source/Modulos/Remesas de proveedor/Views/uViewRemesasProveedor.dfm new file mode 100644 index 00000000..aef1a64f --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Views/uViewRemesasProveedor.dfm @@ -0,0 +1,190 @@ +inherited frViewRemesasProveedor: TfrViewRemesasProveedor + inherited cxGrid: TcxGrid + inherited cxGridView: TcxGridDBTableView + DataController.KeyFieldNames = 'ID' + DataController.Summary.DefaultGroupSummaryItems = < + item + Format = ',0.00 '#8364';-,0.00 '#8364 + Kind = skSum + Position = spFooter + Column = cxGridViewIMPORTE_TOTAL + end> + DataController.Summary.FooterSummaryItems = < + item + Format = '0 almacenes' + Kind = skCount + end + item + Format = '0 Art'#237'culos' + Kind = skCount + end + item + Format = '0 remesas' + Kind = skCount + Column = cxGridViewREFERENCIA + end + item + Format = ',0.00 '#8364';-,0.00 '#8364 + Kind = skSum + Column = cxGridViewIMPORTE_TOTAL + end> + OptionsBehavior.PullFocusing = True + object cxGridViewRecID: TcxGridDBColumn + DataBinding.FieldName = 'RecID' + Visible = False + end + object cxGridViewID: TcxGridDBColumn + DataBinding.FieldName = 'ID' + Visible = False + end + object cxGridViewID_EMPRESA: TcxGridDBColumn + DataBinding.FieldName = 'ID_EMPRESA' + Visible = False + end + object cxGridViewREFERENCIA: TcxGridDBColumn + Caption = 'Referencia' + DataBinding.FieldName = 'REFERENCIA' + Width = 118 + end + object cxGridViewFECHA_REMESA: TcxGridDBColumn + Caption = 'Fecha de cargo' + DataBinding.FieldName = 'FECHA_REMESA' + Width = 74 + end + object cxGridViewNOMBRE: TcxGridDBColumn + DataBinding.FieldName = 'NOMBRE' + Width = 147 + end + object cxGridViewDESCRIPCION: TcxGridDBColumn + Caption = 'Descripci'#243'n' + DataBinding.FieldName = 'DESCRIPCION' + Width = 73 + end + object cxGridViewENTIDAD: TcxGridDBColumn + DataBinding.FieldName = 'ENTIDAD' + Visible = False + end + object cxGridViewSUCURSAL: TcxGridDBColumn + DataBinding.FieldName = 'SUCURSAL' + Visible = False + end + object cxGridViewDC: TcxGridDBColumn + DataBinding.FieldName = 'DC' + Visible = False + end + object cxGridViewCUENTA: TcxGridDBColumn + DataBinding.FieldName = 'CUENTA' + Visible = False + end + object cxGridViewSUFIJO_N19: TcxGridDBColumn + DataBinding.FieldName = 'SUFIJO_N19' + Visible = False + end + object cxGridViewSUFIJO_N58: TcxGridDBColumn + DataBinding.FieldName = 'SUFIJO_N58' + Visible = False + end + object cxGridViewIMPORTE_TOTAL: TcxGridDBColumn + Caption = 'Importe' + DataBinding.FieldName = 'IMPORTE_TOTAL' + PropertiesClassName = 'TcxCurrencyEditProperties' + Properties.Alignment.Horz = taRightJustify + HeaderAlignmentHorz = taRightJustify + Width = 128 + end + end + end + inherited frViewFiltroBase1: TfrViewFiltroBase + inherited TBXDock1: TTBXDock + inherited TBXDockablePanel1: TTBXDockablePanel + inherited dxLayoutControl1: TdxLayoutControl + inherited txtFiltroTodo: TcxTextEdit + ExplicitWidth = 273 + Width = 273 + end + inherited edtFechaIniFiltro: TcxDateEdit + ExplicitWidth = 121 + Width = 121 + end + inherited edtFechaFinFiltro: TcxDateEdit + ExplicitWidth = 121 + Width = 121 + end + end + end + end + end + inherited dxComponentPrinter: TdxComponentPrinter + inherited dxComponentPrinterLink: TdxGridReportLink + ReportDocument.CreationDate = 38673.842406053240000000 + BuiltInReportLink = True + end + end + inherited dxPrintStyleManager1: TdxPrintStyleManager + inherited dxPrintStyleManager1Style1: TdxPSPrintStyle + BuiltInStyle = True + end + end + object PngImageList: TPngImageList + PngImages = < + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 610000000970485973000017120000171201679FD2520000022E4944415478DA + 8D93CF6BD36018C7BF6997A45DD376EA70CA18D31D44981741280C44119DA83D + C87619781A1EFD1BC49B2028B28353141111A43BE8CD934E65A8D4A1686B61B5 + A31DD8CCBAFEDAACEDF226B389EFFB26CBCC54E6030FEFCB4B3E9FE79B9744B0 + 2C0B8220E0F7BA3AB2D75A282DE07F4AD82C60F0851B8F50530BF85EF98A6236 + 8DCCAB69B0B366BD8C95B24ACF4BB877FD226AFD635EC13A5CF99243A356869A + 4D51F8398799EC476D09E5621E0F6F5EC6C8D938EE7C503604EB7055CDA34127 + A8B90C3ECD3CE570A35AA2FD0DCB4B2AEE4F5CC29953C35094102667655B706D + 7480C3F97412AD951AAAC502E6DEBCE47031974673B942BB8AA9DB57103F7D12 + 9D9D413ED4154C8C0BD6FCE7AD2F6C2816C3CE9E6E8862077C3E9F57307CE2FC + 1F80655A308C35E844C7B3273318D8D78FE8B6282449A41211B7DE05FE2D304D + 13866EC34433F0FAC55BF4EDE945A42B0C910A6459C6DD94F27781D936F964B2 + AADB02DAEF9329ECEEED4138A240944548B2840773DBBD02B637596C6238205D + 352AD175643E66B1A3BB0B0A15489204292061AAB0CB2B68D3C96B34367120BE + 3AB2F96C01E1A8825028083920F35778BCD8B721387E6C9C42060788465C50A3 + 12B24AB0582C2110946907282C61BA3588442221B882C343E75C50A30093B104 + 84D849EAD53AFC1D7E0ECFFA631C76FF0526387470D4135977405B62A0D56CB2 + C791891C71618FE0C0FEB873618623B2E33361FB679B4A340A1FF5C01E41928C + 6DF9256E8659FD02D3B7960923D6946A0000000049454E44AE426082} + Name = 'PngImage0' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000097048597300000B1300000B1301009A9C18000001274944415478DA + DD923D4A035110C7FFAB60A208795B585865636795A4538CF0F4089A3EC113E4 + 0E5E20E00536584AD2682382BBA085A0984DC0D6B72FA0310AD9599068045947 + B052F015A97460986198F9315F5692249844AC7F08B02C0BDBA725C96E95557E + 857D56B7B979EEFFC8FF1E287BEB5208515FB49D3C5B2420B455802985CE2B50 + 3BD83AF34D00773957A8AC391B78E1E23E29DC50805069BC29344E76BA551320 + 5C2DCAEC92C88128C21D425C33208A34665A421FEF761D2360A558C8CE4160C8 + 1DDC33E096343477906A6574B0D73302DC944045D8027D068C10631C119EDA31 + E6BD4CE362BF671C41CE46A80FED383F1284078A31AD80670F9D054AD72E0F07 + BF2FF1F38CE5664912C555DEBC1C10214DF0DF69EC5E1D3D9ACF38F123FD3DC0 + 07A932AEE15E52559F0000000049454E44AE426082} + Name = 'PngImage1' + Background = clWindow + end + item + PngImage.Data = { + 89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF + 61000000E54944415478DADD902172C3301045BF4F10C3320B9645B0ACEE0D7C + 83F806F5110C0BD51B6C99A160E1C2C085850B0D372C655965DCA28C3D9DB27C + CD8E44FEDBFF55E19FAAEE104013B77EF53ED100B3595967637A1B7813B098C7 + F8149E435DC3CE807C29F2943FD48C784ABC0520371FF64D83D377597FF201F8 + 28C899DE39D3B005D0AE8B0DB0FB3597143A2B98195EA3DA0248DBC67D79FF98 + B100682278857540224EF131BCD64BFF62363FE215540594C675C098728BB3F5 + 2184031C72DDAE1EFFC89EC85EE493D63FB1A81F526BA65D7808BDA8EE1C0611 + B969BE09F8ABEE007001C1D97F1131BF40440000000049454E44AE426082} + Name = 'PngImage2' + Background = clWindow + end> + Left = 160 + Top = 32 + Bitmap = {} + end +end diff --git a/Source/Modulos/Remesas de proveedor/Views/uViewRemesasProveedor.pas b/Source/Modulos/Remesas de proveedor/Views/uViewRemesasProveedor.pas new file mode 100644 index 00000000..abd6b6f8 --- /dev/null +++ b/Source/Modulos/Remesas de proveedor/Views/uViewRemesasProveedor.pas @@ -0,0 +1,92 @@ +unit uViewRemesasProveedor; + +interface + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, + Dialogs, uViewGrid, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, + cxDataStorage, cxEdit, DB, cxDBData, uDADataTable, cxGridLevel, + cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, + cxGridTableView, cxGridDBTableView, cxGrid, uBizRemesasProveedor, ActnList, Menus, + cxGridBandedTableView, cxGridDBBandedTableView, JvComponent, + JvFormAutoSize, PngImageList, ImgList, dxPSGlbl, dxPSUtl, dxPSEngn, + dxPrnPg, dxBkgnd, dxWrap, dxPrnDev, dxPSCompsProvider, dxPSFillPatterns, + dxPSEdgePatterns, cxIntlPrintSys3, dxPSCore, dxPScxCommon, dxPScxGridLnk, + cxGridCustomPopupMenu, cxGridPopupMenu, cxCurrencyEdit, cxSpinEdit, cxCheckBox, + cxCheckComboBox, cxImageComboBox, TB2Item, TBX, TB2Toolbar, TBXDkPanels, + TB2Dock, uViewFiltroBase, dxPgsDlg; + +type + IViewRemesasProveedor = interface(IViewGrid) + ['{969B34FC-84E0-4D62-B577-371F71F32FB8}'] + function GetRemesasProveedor: IBizRemesaProveedor; + procedure SetRemesasProveedor(const Value: IBizRemesaProveedor); + property RemesasProveedor: IBizRemesaProveedor read GetRemesasProveedor write SetRemesasProveedor; + end; + + TfrViewRemesasProveedor = class(TfrViewGrid, IViewRemesasProveedor) + PngImageList: TPngImageList; + cxGridViewRecID: TcxGridDBColumn; + cxGridViewID: TcxGridDBColumn; + cxGridViewID_EMPRESA: TcxGridDBColumn; + cxGridViewREFERENCIA: TcxGridDBColumn; + cxGridViewFECHA_REMESA: TcxGridDBColumn; + cxGridViewDESCRIPCION: TcxGridDBColumn; + cxGridViewIMPORTE_TOTAL: TcxGridDBColumn; + cxGridViewNOMBRE: TcxGridDBColumn; + cxGridViewENTIDAD: TcxGridDBColumn; + cxGridViewSUCURSAL: TcxGridDBColumn; + cxGridViewDC: TcxGridDBColumn; + cxGridViewCUENTA: TcxGridDBColumn; + cxGridViewSUFIJO_N19: TcxGridDBColumn; + cxGridViewSUFIJO_N58: TcxGridDBColumn; + procedure cxGridViewIDCustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); + protected + FRemesasProveedor: IBizRemesaProveedor; + function GetRemesasProveedor: IBizRemesaProveedor; virtual; + procedure SetRemesasProveedor(const Value: IBizRemesaProveedor); virtual; + public + property RemesasProveedor: IBizRemesaProveedor read GetRemesasProveedor write SetRemesasProveedor; + end; + +implementation + +uses uDataModuleRemesasProveedor; + + +{$R *.dfm} + +{ TfrViewRemesasProveedor } + +{ +******************************* TfrViewRemesasProveedor ******************************* +} +function TfrViewRemesasProveedor.GetRemesasProveedor: IBizRemesaProveedor; +begin + Result := FRemesasProveedor; +end; + +procedure TfrViewRemesasProveedor.SetRemesasProveedor(const Value: IBizRemesaProveedor); +begin + FRemesasProveedor := Value; + if Assigned(FRemesasProveedor) then + dsDataSource.DataTable := FRemesasProveedor.DataTable; +end; + + +procedure TfrViewRemesasProveedor.cxGridViewIDCustomDrawCell( + Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; + AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); +var + R : TRect; +begin + inherited; + R := AViewInfo.ContentBounds; + ACanvas.FillRect(R); + ACanvas.DrawImage(PngImageList, R.Left, R.Top, 0); + ADone := True; +end; + +end. diff --git a/Source/Servicios/FactuGES.RODL b/Source/Servicios/FactuGES.RODL index 0a243594..caef8471 100644 --- a/Source/Servicios/FactuGES.RODL +++ b/Source/Servicios/FactuGES.RODL @@ -476,6 +476,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Source/Servicios/FactuGES_Intf.pas b/Source/Servicios/FactuGES_Intf.pas index c3e00bc6..e854e24c 100644 --- a/Source/Servicios/FactuGES_Intf.pas +++ b/Source/Servicios/FactuGES_Intf.pas @@ -42,6 +42,7 @@ const IsrvFacturasProveedor_IID : TGUID = '{7655160C-7023-452E-BB0E-C97E29B915E7}'; IsrvRecibosProveedor_IID : TGUID = '{22580F16-8FFC-4FE0-BCDD-5533D5DB1F55}'; IsrvHistoricoMovimientos_IID : TGUID = '{F1BE4D4C-017B-476D-A009-0D1B8D1A20CE}'; + IsrvRemesasProveedor_IID : TGUID = '{6540A037-9847-4650-89BB-7B349C6004DF}'; { Event ID's } @@ -69,6 +70,7 @@ type IsrvFacturasProveedor = interface; IsrvRecibosProveedor = interface; IsrvHistoricoMovimientos = interface; + IsrvRemesasProveedor = interface; TRdxEmpresasArray = class; @@ -580,6 +582,27 @@ type end; + { IsrvRemesasProveedor } + IsrvRemesasProveedor = interface(IDARemoteService) + ['{6540A037-9847-4650-89BB-7B349C6004DF}'] + function GetNextAutoInc(const GeneratorName: String): Integer; + function GenerateReport(const ID: Integer): Binary; + end; + + { CosrvRemesasProveedor } + CosrvRemesasProveedor = class + class function Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvRemesasProveedor; + end; + + { TsrvRemesasProveedor_Proxy } + TsrvRemesasProveedor_Proxy = class(TDARemoteService_Proxy, IsrvRemesasProveedor) + protected + function __GetInterfaceName:string; override; + + function GetNextAutoInc(const GeneratorName: String): Integer; + function GenerateReport(const ID: Integer): Binary; + end; + implementation uses @@ -1893,6 +1916,67 @@ begin result := 'srvHistoricoMovimientos'; end; +{ CosrvRemesasProveedor } + +class function CosrvRemesasProveedor.Create(const aMessage: IROMessage; aTransportChannel: IROTransportChannel): IsrvRemesasProveedor; +begin + result := TsrvRemesasProveedor_Proxy.Create(aMessage, aTransportChannel); +end; + +{ TsrvRemesasProveedor_Proxy } + +function TsrvRemesasProveedor_Proxy.__GetInterfaceName:string; +begin + result := 'srvRemesasProveedor'; +end; + +function TsrvRemesasProveedor_Proxy.GetNextAutoInc(const GeneratorName: String): Integer; +var + __request, __response : TMemoryStream; +begin + __request := TMemoryStream.Create; + __response := TMemoryStream.Create; + + try + __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GetNextAutoInc'); + __Message.Write('GeneratorName', TypeInfo(String), GeneratorName, []); + __Message.Finalize; + + __Message.WriteToStream(__request); + __TransportChannel.Dispatch(__request, __response); + __Message.ReadFromStream(__response); + + __Message.Read('Result', TypeInfo(Integer), result, []); + finally + __request.Free; + __response.Free; + end +end; + +function TsrvRemesasProveedor_Proxy.GenerateReport(const ID: Integer): Binary; +var + __request, __response : TMemoryStream; +begin + result := nil; + __request := TMemoryStream.Create; + __response := TMemoryStream.Create; + + try + __Message.Initialize(__TransportChannel, 'FactuGES', __InterfaceName, 'GenerateReport'); + __Message.Write('ID', TypeInfo(Integer), ID, []); + __Message.Finalize; + + __Message.WriteToStream(__request); + __TransportChannel.Dispatch(__request, __response); + __Message.ReadFromStream(__response); + + __Message.Read('Result', TypeInfo(Binary), result, []); + finally + __request.Free; + __response.Free; + end +end; + initialization RegisterROClass(TRdxLoginInfo); RegisterROClass(TRdxEmpresasArray); @@ -1918,6 +2002,7 @@ initialization RegisterProxyClass(IsrvFacturasProveedor_IID, TsrvFacturasProveedor_Proxy); RegisterProxyClass(IsrvRecibosProveedor_IID, TsrvRecibosProveedor_Proxy); RegisterProxyClass(IsrvHistoricoMovimientos_IID, TsrvHistoricoMovimientos_Proxy); + RegisterProxyClass(IsrvRemesasProveedor_IID, TsrvRemesasProveedor_Proxy); finalization @@ -1945,5 +2030,6 @@ finalization UnregisterProxyClass(IsrvFacturasProveedor_IID); UnregisterProxyClass(IsrvRecibosProveedor_IID); UnregisterProxyClass(IsrvHistoricoMovimientos_IID); + UnregisterProxyClass(IsrvRemesasProveedor_IID); end. diff --git a/Source/Servicios/FactuGES_Invk.pas b/Source/Servicios/FactuGES_Invk.pas index 84490aec..7f06247e 100644 --- a/Source/Servicios/FactuGES_Invk.pas +++ b/Source/Servicios/FactuGES_Invk.pas @@ -186,6 +186,14 @@ type published end; + TsrvRemesasProveedor_Invoker = class(TDARemoteService_Invoker) + private + protected + published + procedure Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); + procedure Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); + end; + implementation uses @@ -1043,4 +1051,52 @@ begin end; end; +{ TsrvRemesasProveedor_Invoker } + +procedure TsrvRemesasProveedor_Invoker.Invoke_GetNextAutoInc(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); +{ function GetNextAutoInc(const GeneratorName: String): Integer; } +var + GeneratorName: String; + lResult: Integer; +begin + try + __Message.Read('GeneratorName', TypeInfo(String), GeneratorName, []); + + lResult := (__Instance as IsrvRemesasProveedor).GetNextAutoInc(GeneratorName); + + __Message.Initialize(__Transport, 'FactuGES', 'srvRemesasProveedor', 'GetNextAutoIncResponse'); + __Message.Write('Result', TypeInfo(Integer), lResult, []); + __Message.Finalize; + + finally + end; +end; + +procedure TsrvRemesasProveedor_Invoker.Invoke_GenerateReport(const __Instance:IInterface; const __Message:IROMessage; const __Transport:IROTransport; out __oResponseOptions:TROResponseOptions); +{ function GenerateReport(const ID: Integer): Binary; } +var + ID: Integer; + lResult: Binary; + __lObjectDisposer: TROObjectDisposer; +begin + lResult := nil; + try + __Message.Read('ID', TypeInfo(Integer), ID, []); + + lResult := (__Instance as IsrvRemesasProveedor).GenerateReport(ID); + + __Message.Initialize(__Transport, 'FactuGES', 'srvRemesasProveedor', 'GenerateReportResponse'); + __Message.Write('Result', TypeInfo(Binary), lResult, []); + __Message.Finalize; + + finally + __lObjectDisposer := TROObjectDisposer.Create(__Instance); + try + __lObjectDisposer.Add(lResult); + finally + __lObjectDisposer.Free(); + end; + end; +end; + end. diff --git a/Source/Servicios/RODLFILE.res b/Source/Servicios/RODLFILE.res index adca1c0b..109b97f7 100644 Binary files a/Source/Servicios/RODLFILE.res and b/Source/Servicios/RODLFILE.res differ diff --git a/Source/Servidor/FactuGES_Server.bdsproj b/Source/Servidor/FactuGES_Server.bdsproj index bd0141d5..bfa66952 100644 --- a/Source/Servidor/FactuGES_Server.bdsproj +++ b/Source/Servidor/FactuGES_Server.bdsproj @@ -1,4 +1,4 @@ - +