Version 4.8.9

This commit is contained in:
Roberto 2025-07-23 12:19:05 +02:00
parent cee5e36166
commit 8ee36fa9a0
210 changed files with 11844 additions and 3224 deletions

View File

@ -14,8 +14,8 @@
<Notes>
<![CDATA[]]>
</Notes>
<LastBuildRun>00:00:19</LastBuildRun>
<LastBuildStart>17/04/2024 10:26:10</LastBuildStart>
<LastBuildState>True</LastBuildState>
<LastBuildRun>00:00:14</LastBuildRun>
<LastBuildStart>28/02/2025 10:14:30</LastBuildStart>
<LastBuildState>False</LastBuildState>
</properties>
</project>

Binary file not shown.

Binary file not shown.

View File

@ -14,8 +14,8 @@
<Notes>
<![CDATA[]]>
</Notes>
<LastBuildRun>00:00:00</LastBuildRun>
<LastBuildStart>18/12/2023 12:40:28</LastBuildStart>
<LastBuildState>False</LastBuildState>
<LastBuildRun>00:03:39</LastBuildRun>
<LastBuildStart>08/05/2025 9:43:42</LastBuildStart>
<LastBuildState>True</LastBuildState>
</properties>
</project>

Binary file not shown.

Binary file not shown.

View File

@ -10,8 +10,8 @@
<Notes>
<![CDATA[]]>
</Notes>
<LastBuildRun>00:00:01</LastBuildRun>
<LastBuildStart>16/04/2024 18:27:15</LastBuildStart>
<LastBuildState>True</LastBuildState>
<LastBuildRun>00:00:00</LastBuildRun>
<LastBuildStart>28/02/2025 10:12:54</LastBuildStart>
<LastBuildState>False</LastBuildState>
</properties>
</project>

Binary file not shown.

View File

@ -138,6 +138,7 @@ contains
schIdiomasServer_Intf in 'Idiomas\Model\schIdiomasServer_Intf.pas',
uDataModuleIdiomas in 'Idiomas\Data\uDataModuleIdiomas.pas',
uIDataModuleIdiomas in 'Idiomas\Model\Data\uIDataModuleIdiomas.pas',
uIdiomasController in 'Idiomas\Controller\uIdiomasController.pas';
uIdiomasController in 'Idiomas\Controller\uIdiomasController.pas',
uPlugins_Intf in 'uPlugins_Intf.pas';
end.

View File

@ -46,21 +46,6 @@
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\DataAbstract_SQLiteDriver_D11.bpl">RemObjects Data Abstract - SQLite Driver</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dcloffice2k100.bpl">Microsoft Office 2000 Sample Automation Server Wrapper Components</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclofficexp100.bpl">Microsoft Office XP Sample Automation Server Wrapper Components</Excluded_Packages>
@ -71,6 +56,43 @@
<DelphiCompile Include="ApplicationBase.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\adortl.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\Base.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\ccpackD11.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\cfpack_d11.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\cxDataD11.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\cxEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\cxExtEditorsD11.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\cxLibraryD11.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\dbrtl.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\designide.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\dsnap.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\dxCoreD11.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\dxGDIPlusD11.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\dxNavBarD11.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\dxThemeD11.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\GUIBase.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\GUISDK_D11R.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\Jcl.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\JclVcl.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\JvCoreD11R.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\JvCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\JvJansD11R.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\JvMMD11R.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\JvSystemD11R.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\PluginSDK_D11R.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\PngComponentsD10.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\PNG_D10.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\rtl.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\vcl.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\vclactnband.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\vcldb.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\vcljpg.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\vclx.dcp" />
<DCCReference Include="..\Modulos\Pedidos a proveedor\Views\xmlrtl.dcp" />
<DCCReference Include="Configuracion\Controller\uConfiguracionController.pas" />
<DCCReference Include="Configuracion\Controller\Views\uIViewConfiguracionBase.pas" />
<DCCReference Include="Configuracion\Views\uEditorConfiguracion.pas">
@ -161,44 +183,7 @@
<Form>frViewTiendas</Form>
<DesignClass>TCustomView</DesignClass>
</DCCReference>
<DCCReference Include="Idiomas\Controller\adortl.dcp" />
<DCCReference Include="Idiomas\Controller\Base.dcp" />
<DCCReference Include="Idiomas\Controller\ccpackD11.dcp" />
<DCCReference Include="Idiomas\Controller\cfpack_d11.dcp" />
<DCCReference Include="Idiomas\Controller\cxDataD11.dcp" />
<DCCReference Include="Idiomas\Controller\cxEditorsD11.dcp" />
<DCCReference Include="Idiomas\Controller\cxExtEditorsD11.dcp" />
<DCCReference Include="Idiomas\Controller\cxLibraryD11.dcp" />
<DCCReference Include="Idiomas\Controller\DataAbstract_Core_D11.dcp" />
<DCCReference Include="Idiomas\Controller\dbrtl.dcp" />
<DCCReference Include="Idiomas\Controller\designide.dcp" />
<DCCReference Include="Idiomas\Controller\dsnap.dcp" />
<DCCReference Include="Idiomas\Controller\dxCoreD11.dcp" />
<DCCReference Include="Idiomas\Controller\dxGDIPlusD11.dcp" />
<DCCReference Include="Idiomas\Controller\dxNavBarD11.dcp" />
<DCCReference Include="Idiomas\Controller\dxThemeD11.dcp" />
<DCCReference Include="Idiomas\Controller\GUIBase.dcp" />
<DCCReference Include="Idiomas\Controller\GUISDK_D11R.dcp" />
<DCCReference Include="Idiomas\Controller\Jcl.dcp" />
<DCCReference Include="Idiomas\Controller\JclVcl.dcp" />
<DCCReference Include="Idiomas\Controller\JvCoreD11R.dcp" />
<DCCReference Include="Idiomas\Controller\JvCtrlsD11R.dcp" />
<DCCReference Include="Idiomas\Controller\JvJansD11R.dcp" />
<DCCReference Include="Idiomas\Controller\JvMMD11R.dcp" />
<DCCReference Include="Idiomas\Controller\JvStdCtrlsD11R.dcp" />
<DCCReference Include="Idiomas\Controller\JvSystemD11R.dcp" />
<DCCReference Include="Idiomas\Controller\PluginSDK_D11R.dcp" />
<DCCReference Include="Idiomas\Controller\PngComponentsD10.dcp" />
<DCCReference Include="Idiomas\Controller\PNG_D10.dcp" />
<DCCReference Include="Idiomas\Controller\RemObjects_Core_D11.dcp" />
<DCCReference Include="Idiomas\Controller\rtl.dcp" />
<DCCReference Include="Idiomas\Controller\uIdiomasController.pas" />
<DCCReference Include="Idiomas\Controller\vcl.dcp" />
<DCCReference Include="Idiomas\Controller\vclactnband.dcp" />
<DCCReference Include="Idiomas\Controller\vcldb.dcp" />
<DCCReference Include="Idiomas\Controller\vcljpg.dcp" />
<DCCReference Include="Idiomas\Controller\vclx.dcp" />
<DCCReference Include="Idiomas\Controller\xmlrtl.dcp" />
<DCCReference Include="Idiomas\Data\uDataModuleIdiomas.pas" />
<DCCReference Include="Idiomas\Model\Data\uIDataModuleIdiomas.pas" />
<DCCReference Include="Idiomas\Model\schIdiomasClient_Intf.pas" />
@ -207,6 +192,7 @@
<DCCReference Include="ProvinciasPoblaciones\Controller\uProvinciasPoblacionesController.pas" />
<DCCReference Include="ProvinciasPoblaciones\Data\uDataModuleProvinciasPoblaciones.pas" />
<DCCReference Include="uFactuGES_App.pas" />
<DCCReference Include="uPlugins_Intf.pas" />
<DCCReference Include="Usuarios\Controller\uUsuariosController.pas" />
<DCCReference Include="Usuarios\Controller\View\uIEditorLogin.pas" />
<DCCReference Include="Usuarios\Controller\View\uIEditorPerfilesUsuario.pas" />

View File

@ -8,8 +8,11 @@ uses
const
BIZ_CLIENT_IDIOMAS = 'Client.Idiomas';
IDIOMA_DEFAULT = 'es';
CTE_ID_IDIOMA_DEFAULT = 2;
PAIS_DEFAULT = 'España';
CTE_ID_IDIOMA_DEFAULT = 1;
CTE_ID_IDIOMA_EN = 2;
CTE_ID_IDIOMA_FR = 3;
type
IBizIdioma = interface(IIdiomas)

View File

@ -9,6 +9,7 @@ uses
const
BIZ_SERVER_IDIOMA = 'Server.Idioma';
IDIOMA_EN = 'en';
IDIOMA_FR = 'fr';
implementation
end.

View File

@ -5,7 +5,7 @@ interface
uses
SysUtils, Classes, Forms, uBizUsuarios, uBizEmpresas, uBizEjercicios, uControllerBase,
uEmpresasController, uUsuariosController, uHostManager, uConfiguracionController,
uBizEmpresasTiendas;
uBizEmpresasTiendas, uModuleController;
const
CTE_PERFIL_ADMINISTRADOR = 3;
@ -87,6 +87,8 @@ type
procedure Run;
procedure Terminate;
function GetModule(AModuleName: String): TModuleController;
procedure Configurar;
property AppVersion : String read GetAppVersion;
@ -180,6 +182,8 @@ type
procedure Run;
procedure Terminate;
function GetModule(AModuleName: String): TModuleController;
procedure Configurar;
procedure SeleccionarEmpresa;
@ -435,6 +439,19 @@ begin
Result := FDoLoadModulesEvent;
end;
function TAppFactuGES.GetModule(AModuleName: String): TModuleController;
var
i : integer;
begin
Result := NIL;
for i := 0 to ModuleManager.ModulesCount - 1 do
if ModuleManager.Modules[i].Module.ModuleName = AModuleName then
begin
Result := ModuleManager.Modules[i].Module;
Break;
end;
end;
function TAppFactuGES.GetModuleManager: THostManager;
begin
Result := FHostManager;

Binary file not shown.

View File

@ -52,18 +52,7 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>VCLApplication</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">4</VersionInfo><VersionInfo Name="MinorVer">7</VersionInfo><VersionInfo Name="Release">8</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">4.7.8.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">4.7.8.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Language><Language Name="RootDir">C:\Archivos de programa\Borland\Delphi7\Bin\</Language></Language><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">4</VersionInfo><VersionInfo Name="MinorVer">8</VersionInfo><VersionInfo Name="Release">9</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName">Rodax Software S.L.</VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">4.8.9.0</VersionInfoKeys><VersionInfoKeys Name="InternalName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName">FactuGES</VersionInfoKeys><VersionInfoKeys Name="ProductVersion">4.8.9.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl">File C:\Documents and Settings\All Users\Documentos\RAD Studio\5.0\Bpl\dxPScxScheduler2LnkD11.bpl not found</Excluded_Packages>
</Excluded_Packages><Source><Source Name="MainSource">FactuGES.dpr</Source></Source></Delphi.Personality><ModelSupport>False</ModelSupport></BorlandProject></BorlandProject>
@ -86,7 +75,6 @@
<DCCReference Include="Utiles\uClienteUtils.pas" />
<DCCReference Include="Utiles\uMenuUtils.pas" />
<DCCReference Include="Utiles\uNavPaneUtils.pas" />
<None Include="..\FactuGES.inc" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line

Binary file not shown.

View File

@ -14,7 +14,7 @@ implementation
{$INCLUDE ..\FactuGES.inc}
uses
uDMBase, uDataModuleConexion, uDataModuleConfiguracion,
uDMBase, uDataModuleConexion, uDataModuleConfiguracion, uPlugins_Intf,
uMainMenuController, uNavPaneController, uPantallaPrincipal;
procedure DoAppLoadModules;
@ -47,7 +47,8 @@ begin
LoadModule('Comisiones_plugin.bpl');
{$IFDEF PEDIDOSPROVEEDOR}
LoadModule('PedidosProveedor_plugin.bpl');
// LoadModule('PedidosProveedor_plugin.bpl');
LoadModule(MODULENAME_PEDIDOS_PROVEEDOR);
LoadModule('AlbaranesProveedor_plugin.bpl');
{$ENDIF}

View File

@ -14,6 +14,14 @@ uses
type
IEditorBase = interface(ICustomEditor)
['{CB8CDE00-B225-4A1D-9A5C-EC6FBE2C854B}']
function GetWindowCaption : String;
procedure SetWindowCaption(const AValue : String);
property WindowCaption : String read GetWindowCaption write SetWindowCaption;
function GetHeaderText : String;
procedure SetHeaderText(const AValue : String);
property HeaderText : String read GetHeaderText write SetHeaderText;
function ShowModal : Integer;
procedure Show;
end;
@ -120,6 +128,8 @@ type
procedure actGuardarCerrarUpdate(Sender: TObject);
procedure actGuardarUpdate(Sender: TObject);
protected
FWindowCaption : String;
FHeaderText : String;
procedure CreateParams(Var params: TCreateParams); override;
procedure ActualizarEstadoEditor; virtual;
function ModifiedQuery : Boolean;
@ -136,12 +146,18 @@ type
procedure DuplicarInterno; virtual;
procedure PonerTitulos(const ATitulo: String = ''); virtual;
procedure SetReadOnly(Value: Boolean); override;
function GetHeaderText: String; virtual;
function GetWindowCaption: String; virtual;
procedure SetHeaderText(const Value: String); virtual;
procedure SetWindowCaption(const Value: String); virtual;
public
constructor Create(AOwner: TComponent); override;
function ShowModal : Integer; override;
procedure Show;
published
procedure FormShow(Sender: TObject);
property WindowCaption : String read GetWindowCaption write SetWindowCaption;
property HeaderText : String read GetHeaderText write SetHeaderText;
procedure FormShow(Sender: TObject);
end;
TfEditorBaseClass = class of TfEditorBase;
@ -151,7 +167,7 @@ implementation
{$R *.dfm}
uses
Menus, uDMBase, cxControls, cxEdit, uDialogUtils;
Menus, uDMBase, cxControls, cxEdit, uDialogUtils, uStringsUtils;
{Método que coge el componente editor que tenga el foco y le fuerza a hacer post para que la tabla se entere
}
@ -392,6 +408,16 @@ begin
end;
end;
function TfEditorBase.GetHeaderText: String;
begin
Result := FHeaderText;
end;
function TfEditorBase.GetWindowCaption: String;
begin
Result := FWindowCaption;
end;
procedure TfEditorBase.GuardarInterno;
begin
PostActivecxEditorChanges;
@ -435,17 +461,28 @@ begin
end;
procedure TfEditorBase.PonerTitulos(const ATitulo: String);
var
AHeaderText,
AWindowText : String;
begin
if EsCadenaVacia(ATitulo) then
begin
AHeaderText := FHeaderText;
AWindowText := FHeaderText;
end
else begin
AHeaderText := ATitulo;
AWindowText := ATitulo;
end;
if ReadOnly then
begin
JvNavPanelHeader.Caption := ATitulo + ' (NO MODIFICABLE)';
Caption := ATitulo + ' (NO MODIFICABLE)';
end
else
begin
JvNavPanelHeader.Caption := ATitulo;
Caption := ATitulo;
AHeaderText := AHeaderText + ' (NO MODIFICABLE)';
AWindowText := AWindowText + ' (NO MODIFICABLE)';
end;
JvNavPanelHeader.Caption := AHeaderText;
Caption := AWindowText;
end;
procedure TfEditorBase.PrevisualizarInterno;
@ -458,6 +495,11 @@ begin
//
end;
procedure TfEditorBase.SetHeaderText(const Value: String);
begin
FHeaderText := Value;
end;
procedure TfEditorBase.SetReadOnly(Value: Boolean);
var
i: integer;
@ -473,6 +515,11 @@ begin
end
end;
procedure TfEditorBase.SetWindowCaption(const Value: String);
begin
FWindowCaption := Value;
end;
procedure TfEditorBase.Show;
begin
inherited Show;

View File

@ -96,7 +96,6 @@ begin
Self.ReadOnly := False;
ActualizarEstadoEditor;
end;
end;
procedure TfEditorDBItem.SetComentario(const Value: Variant);

View File

@ -4,8 +4,8 @@ inherited fEditorItem: TfEditorItem
Caption = 'fEditorItem'
ClientHeight = 501
ClientWidth = 678
ExplicitWidth = 686
ExplicitHeight = 535
ExplicitWidth = 694
ExplicitHeight = 539
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
@ -20,9 +20,9 @@ inherited fEditorItem: TfEditorItem
object pgPaginas: TPageControl [1]
AlignWithMargins = True
Left = 3
Top = 79
Top = 81
Width = 672
Height = 400
Height = 398
ActivePage = pagGeneral
Align = alClient
TabOrder = 1
@ -34,7 +34,7 @@ inherited fEditorItem: TfEditorItem
Width = 678
ExplicitWidth = 678
inherited tbxMain: TTBXToolbar
ExplicitWidth = 581
ExplicitWidth = 615
inherited TBXItem5: TTBXItem
Visible = False
end

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -41,73 +41,27 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject xmlns=""> <Delphi.Personality> <Parameters>
<Parameters Name="UseLauncher">False</Parameters>
<Parameters Name="LoadAllSymbols">True</Parameters>
<Parameters Name="LoadUnspecifiedSymbols">False</Parameters>
</Parameters>
<Package_Options>
<Package_Options Name="ImplicitBuild">True</Package_Options>
<Package_Options Name="DesigntimeOnly">False</Package_Options>
<Package_Options Name="RuntimeOnly">False</Package_Options>
</Package_Options>
<VersionInfo>
<VersionInfo Name="IncludeVerInfo">True</VersionInfo>
<VersionInfo Name="AutoIncBuild">False</VersionInfo>
<VersionInfo Name="MajorVer">1</VersionInfo>
<VersionInfo Name="MinorVer">0</VersionInfo>
<VersionInfo Name="Release">0</VersionInfo>
<VersionInfo Name="Build">0</VersionInfo>
<VersionInfo Name="Debug">False</VersionInfo>
<VersionInfo Name="PreRelease">False</VersionInfo>
<VersionInfo Name="Special">False</VersionInfo>
<VersionInfo Name="Private">False</VersionInfo>
<VersionInfo Name="DLL">False</VersionInfo>
<VersionInfo Name="Locale">3082</VersionInfo>
<VersionInfo Name="CodePage">1252</VersionInfo>
</VersionInfo>
<VersionInfoKeys>
<VersionInfoKeys Name="CompanyName"></VersionInfoKeys>
<VersionInfoKeys Name="FileDescription"></VersionInfoKeys>
<VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="InternalName"></VersionInfoKeys>
<VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys>
<VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys>
<VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys>
<VersionInfoKeys Name="ProductName"></VersionInfoKeys>
<VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys>
<VersionInfoKeys Name="Comments"></VersionInfoKeys>
</VersionInfoKeys>
<Excluded_Packages>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\RemObjects Software\Pascal Script\Dcu\D10\PascalScript_RO_D10.bpl">RemObjects Pascal Script - RemObjects SDK 3.0 Integration</Excluded_Packages>
<Excluded_Packages Name="C:\Archivos de programa\EurekaLog 5\Delphi10\ExceptionExpert10.bpl">EurekaLog 5.1.9</Excluded_Packages>
</Excluded_Packages>
<Source>
<Source Name="MainSource">AlbaranesCliente_plugin.dpk</Source>
</Source>
</Delphi.Personality> </BorlandProject></BorlandProject>
</Excluded_Packages><Source><Source Name="MainSource">AlbaranesCliente_plugin.dpk</Source></Source></Delphi.Personality></BorlandProject></BorlandProject>
</ProjectExtensions>
<Import Project="$(MSBuildBinPath)\Borland.Delphi.Targets" />
<ItemGroup>
<DelphiCompile Include="AlbaranesCliente_plugin.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\Lib\AlbaranesCliente_model.dcp" />
<DCCReference Include="..\..\Lib\AlbaranesCliente_view.dcp" />
<DCCReference Include="$(SystemRoot)\system32\AlbaranesCliente_model.dcp" />
<DCCReference Include="$(SystemRoot)\system32\AlbaranesCliente_view.dcp" />
<DCCReference Include="uPluginAlbaranesCliente.pas">
<Form>PluginAlbaranesCliente</Form>
</DCCReference>
</ItemGroup>
</Project>
<!-- EurekaLog First Line
[Exception Log]
EurekaLog Version=6006

View File

@ -283,15 +283,20 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
DataType = datString
Size = 10
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2000
end
item
Name = 'CONCEPTO_EN'
DataType = datString
Size = 1000
end
item
Name = 'CONCEPTO'
Name = 'CONCEPTO_FR'
DataType = datString
Size = 2000
Size = 1000
end
item
Name = 'CANTIDAD'
@ -879,18 +884,21 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
'.ID_ALBARAN,'#10' ALBARANES_CLIENTE_DETALLES.POSICION, ALBARAN' +
'ES_CLIENTE_DETALLES.TIPO_DETALLE,'#10'/*'#10' ALBARANES_CLIENTE_DE' +
'TALLES.CONCEPTO as CONCEPTO_RTF,'#10' F_RTFTOTEXT(ALBARANES_CL' +
'IENTE_DETALLES.CONCEPTO) as CONCEPTO,'#10'*/'#10' ARTICULOS_IDIOMA' +
'S.DESCRIPCION as CONCEPTO_EN,'#10' ALBARANES_CLIENTE_DETALLES.' +
'CONCEPTO,'#10' ALBARANES_CLIENTE_DETALLES.CANTIDAD,'#10' ALB' +
'ARANES_CLIENTE_DETALLES.DESCUENTO, ALBARANES_CLIENTE_DETALLES.VI' +
'SIBLE,'#10' ALBARANES_CLIENTE_DETALLES.IMPORTE_UNIDAD, ALBARAN' +
'ES_CLIENTE_DETALLES.IMPORTE_TOTAL,'#10' ARTICULOS.REFERENCIA, ' +
'ARTICULOS.FAMILIA, ARTICULOS.REFERENCIA_PROV as REFERENCIA_PROVE' +
'EDOR'#10#10'FROM ALBARANES_CLIENTE_DETALLES'#10'LEFT JOIN ARTICULOS ON (AL' +
'BARANES_CLIENTE_DETALLES.ID_ARTICULO = ARTICULOS.ID)'#10'LEFT JOIN A' +
'RTICULOS_IDIOMAS ON (ALBARANES_CLIENTE_DETALLES.ID_ARTICULO = AR' +
'TICULOS_IDIOMAS.ID_ARTICULO)'#10'WHERE ID_ALBARAN = :ID_ALBARAN'#10'ORDE' +
'R BY POSICION'#10
'IENTE_DETALLES.CONCEPTO) as CONCEPTO,'#10'*/'#10' ALBARANES_CLIENT' +
'E_DETALLES.CONCEPTO,'#10' AI_EN.DESCRIPCION as CONCEPTO_EN,'#10' ' +
' AI_FR.DESCRIPCION as CONCEPTO_FR,'#10#10' ALBARANES_CLIENTE' +
'_DETALLES.CANTIDAD,'#10' ALBARANES_CLIENTE_DETALLES.DESCUENTO,' +
' ALBARANES_CLIENTE_DETALLES.VISIBLE,'#10' ALBARANES_CLIENTE_DE' +
'TALLES.IMPORTE_UNIDAD, ALBARANES_CLIENTE_DETALLES.IMPORTE_TOTAL,' +
#10' ARTICULOS.REFERENCIA, ARTICULOS.FAMILIA, ARTICULOS.REFER' +
'ENCIA_PROV as REFERENCIA_PROVEEDOR'#10#10'FROM ALBARANES_CLIENTE_DETAL' +
'LES'#10'LEFT JOIN ARTICULOS ON (ALBARANES_CLIENTE_DETALLES.ID_ARTICU' +
'LO = ARTICULOS.ID)'#10'LEFT JOIN ARTICULOS_IDIOMAS as AI_EN ON ((AI_' +
'EN.id_articulo = ALBARANES_CLIENTE_DETALLES.ID_ARTICULO) and (AI' +
'_EN.ID_IDIOMA = 2))'#10'LEFT JOIN ARTICULOS_IDIOMAS as AI_FR ON ((AI' +
'_FR.id_articulo = ALBARANES_CLIENTE_DETALLES.ID_ARTICULO) and (A' +
'I_FR.ID_IDIOMA = 3))'#10#10'WHERE ID_ALBARAN = :ID_ALBARAN'#10'ORDER BY PO' +
'SICION'#10
StatementType = stSQL
ColumnMappings = <
item
@ -949,6 +957,11 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
DatasetField = 'CONCEPTO_EN'
TableField = '<unknown>'
SQLOrigin = 'CONCEPTO_EN'
end
item
DatasetField = 'CONCEPTO_FR'
TableField = '<unknown>'
SQLOrigin = 'CONCEPTO_FR'
end>
end>
Name = 'Informe_Detalles'
@ -970,15 +983,20 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
DataType = datString
Size = 10
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2000
end
item
Name = 'CONCEPTO_EN'
DataType = datString
Size = 1000
end
item
Name = 'CONCEPTO'
Name = 'CONCEPTO_FR'
DataType = datString
Size = 2000
Size = 1000
end
item
Name = 'CANTIDAD'
@ -1495,6 +1513,7 @@ object RptAlbaranesCliente: TRptAlbaranesCliente
UseFileCache = True
ShowProgress = False
OverwritePrompt = False
EmbeddedFonts = True
PrintOptimized = True
Outline = False
Background = False

View File

@ -128,6 +128,8 @@ begin
if (tbl_Cabecera.FieldByName('IDIOMA_ISO').AsString = IDIOMA_EN) then
AInforme := DarRutaFichero(DarRutaInformes, rptInfAlbaran, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString, IDIOMA_EN)
else if (tbl_Cabecera.FieldByName('IDIOMA_ISO').AsString = IDIOMA_FR) then
AInforme := DarRutaFichero(DarRutaInformes, rptInfAlbaran, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString, IDIOMA_FR)
else
AInforme := DarRutaFichero(DarRutaInformes, rptInfAlbaran, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString);

View File

@ -1,7 +1,7 @@
inherited fEditorAlbaranesCliente: TfEditorAlbaranesCliente
Caption = 'Lista de albaranes de cliente'
ClientWidth = 899
ExplicitWidth = 907
ExplicitWidth = 915
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
@ -124,12 +124,12 @@ inherited fEditorAlbaranesCliente: TfEditorAlbaranesCliente
Width = 899
ExplicitWidth = 899
inherited tbxMain: TTBXToolbar
ExplicitWidth = 717
ExplicitWidth = 694
object TBXSeparatorItem17: TTBXSeparatorItem [10]
end
end
inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 379
ExplicitWidth = 362
inherited lblAno: TTBXLabelItem
Visible = True
end
@ -148,7 +148,7 @@ inherited fEditorAlbaranesCliente: TfEditorAlbaranesCliente
DockPos = 460
Visible = True
ExplicitLeft = 460
ExplicitWidth = 322
ExplicitWidth = 299
object TBXItem42: TTBXItem
Action = actEnviar
DisplayMode = nbdmImageAndText

View File

@ -1,4 +1,5 @@
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectGuid>{7ed85635-c723-4c0b-bf1d-f719e0ea33ad}</ProjectGuid>
<MainSource>AlbaranesProveedor_controller.dpk</MainSource>
@ -48,18 +49,31 @@
<DelphiCompile Include="AlbaranesProveedor_controller.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\Contratos de cliente\Model\AlbaranesProveedor_data.dcp" />
<DCCReference Include="..\..\Contratos de cliente\Model\AlbaranesProveedor_model.dcp" />
<DCCReference Include="..\..\Contratos de cliente\Model\Articulos_controller.dcp" />
<DCCReference Include="..\..\Contratos de cliente\Model\Contactos_controller.dcp" />
<DCCReference Include="..\..\Contratos de cliente\Model\GUIBase.dcp" />
<DCCReference Include="..\..\Contratos de cliente\Model\Inventario_model.dcp" />
<DCCReference Include="..\..\Contratos de cliente\Model\PedidosProveedor_controller.dcp" />
<DCCReference Include="..\..\Contratos de cliente\Model\PedidosProveedor_model.dcp" />
<DCCReference Include="adortl.dcp" />
<DCCReference Include="AlbaranesProveedor_data.dcp" />
<DCCReference Include="AlbaranesProveedor_model.dcp" />
<DCCReference Include="Articulos_controller.dcp" />
<DCCReference Include="Contactos_controller.dcp" />
<DCCReference Include="cxLibraryD11.dcp" />
<DCCReference Include="DataAbstract_Core_D11.dcp" />
<DCCReference Include="dbrtl.dcp" />
<DCCReference Include="dsnap.dcp" />
<DCCReference Include="dxCoreD11.dcp" />
<DCCReference Include="dxGDIPlusD11.dcp" />
<DCCReference Include="dxThemeD11.dcp" />
<DCCReference Include="GUIBase.dcp" />
<DCCReference Include="Inventario_model.dcp" />
<DCCReference Include="PedidosProveedor_controller.dcp" />
<DCCReference Include="PedidosProveedor_model.dcp" />
<DCCReference Include="RemObjects_Core_D11.dcp" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="uAlbaranesProveedorController.pas" />
<DCCReference Include="uAlbaranesProveedorReportController.pas" />
<DCCReference Include="uArticulosAlbaranProveedorController.pas" />
<DCCReference Include="uDetallesAlbaranProveedorController.pas" />
<DCCReference Include="vcl.dcp" />
<DCCReference Include="vcldb.dcp" />
<DCCReference Include="vclx.dcp" />
<DCCReference Include="View\uIEditorAlbaranDevProveedor.pas" />
<DCCReference Include="View\uIEditorAlbaranesDevProveedor.pas" />
<DCCReference Include="View\uIEditorAlbaranesProveedor.pas" />

View File

@ -7,8 +7,7 @@ uses
SysUtils, uDADataTable, uEditorDBItem, Classes,
uControllerBase, uIDataModuleAlbaranesProveedor, uProveedoresController,
uDetallesAlbaranProveedorController, uBizAlbaranesProveedor,
uBizDireccionesContacto, uBizInventario,
uBizPedidosProveedor;
uBizDireccionesContacto, uBizInventario, uBizPedidosProveedor;
type
IAlbaranesProveedorController = interface(IControllerBase)
@ -33,8 +32,8 @@ type
function Nuevo (WithInsert: Boolean = True): IBizAlbaranProveedor;
function Anadir(AAlbaran : IBizAlbaranProveedor) : Boolean; overload;
function AnadirAlbaranDev(AAlbaran : IBizAlbaranProveedor) : Boolean;
function Anadir(AAlbaran : IBizAlbaranProveedor; const IDPedido : Integer; AInventarioRecibido: IBizInventario): Boolean; overload;
function Anadir(AAlbaranes : IBizAlbaranProveedor; AListaPedidos : IBizPedidoProveedor): Boolean; overload;
// function Anadir(AAlbaran : IBizAlbaranProveedor; const IDPedido : Integer; AInventarioRecibido: IBizInventario): Boolean; overload;
// function Anadir(AAlbaranes : IBizAlbaranProveedor; AListaPedidos : IBizPedidoProveedor): Boolean; overload;
function Eliminar(const ID : Integer): Boolean; overload;
function Eliminar(AAlbaran : IBizAlbaranProveedor; AllItems: Boolean = false): Boolean; overload;
@ -60,6 +59,8 @@ type
function DarListaAnosAlbaranes: TStringList;
procedure FiltrarAno(AAlbaran: IBizAlbaranProveedor; ADynWhereDataTable: WideString; const Ano: String);
function GenerarDevolucion(AAlbaran : IBizAlbaranProveedor) : IBizAlbaranProveedor;
function AsignarIncidenciaDevolucion(AAlbaran : IBizAlbaranProveedor; const ACausa: String) : IBizAlbaranProveedor;
end;
TAlbaranesProveedorController = class(TControllerBase, IAlbaranesProveedorController)
@ -99,8 +100,8 @@ type
function Existe(const ID: Integer) : Boolean; virtual;
function Anadir(AAlbaran : IBizAlbaranProveedor) : Boolean; overload;
function AnadirAlbaranDev(AAlbaran : IBizAlbaranProveedor) : Boolean;
function Anadir(AAlbaran : IBizAlbaranProveedor; const IDPedido : Integer; AInventarioRecibido: IBizInventario): Boolean; overload;
function Anadir(AAlbaranes : IBizAlbaranProveedor; AListaPedidos : IBizPedidoProveedor): Boolean; overload;
// function Anadir(AAlbaran : IBizAlbaranProveedor; const IDPedido : Integer; AInventarioRecibido: IBizInventario): Boolean; overload;
// function Anadir(AAlbaranes : IBizAlbaranProveedor; AListaPedidos : IBizPedidoProveedor): Boolean; overload;
function Buscar(const ID: Integer): IBizAlbaranProveedor;
function BuscarTodos: IBizAlbaranProveedor;
@ -129,6 +130,8 @@ type
function DarListaAnosAlbaranes: TStringList;
procedure FiltrarAno(AAlbaran: IBizAlbaranProveedor; ADynWhereDataTable: WideString; const Ano: String);
function GenerarDevolucion(AAlbaran : IBizAlbaranProveedor) : IBizAlbaranProveedor;
function AsignarIncidenciaDevolucion(AAlbaran : IBizAlbaranProveedor; const ACausa: String) : IBizAlbaranProveedor;
end;
implementation
@ -142,229 +145,15 @@ uses
uIEditorElegirAlbaranesProveedor, uIEditorDireccionEntregaAlbaranProveedor,
schContactosClient_Intf, Forms, schPedidosProveedorClient_Intf, uFactuGES_App,
uPedidosProveedorController, uBizDetallesPedidoProveedor,
uArticulosController, uBizArticulos, uControllerDetallesBase,
schArticulosClient_Intf, uControllerDetallesArticulos, Variants, uDialogUtils,
uIEditorAlbaranDevProveedor, uAlbaranesProveedorReportController,
schInventarioClient_Intf;
uControllerDetallesBase, uControllerDetallesArticulos, Variants, uDialogUtils,
uIEditorAlbaranDevProveedor, uAlbaranesProveedorReportController;
{ Métodos auxiliares }
procedure CopiarPedidoAAlbaran(APedido: IBizPedidoProveedor;
AAlbaran : IBizAlbaranProveedor);
begin
if not Assigned(AAlbaran) then
raise Exception.Create ('Albarán no asignado (CopiarPedidoAAlbaran)');
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado (CopiarPedidoAAlbaran)');
if not APedido.DataTable.Active then
APedido.DataTable.Active := True;
// El albarán tiene que venir ya abierto y posicionado donde hay que copiar
AAlbaran.ID_PROVEEDOR := APedido.ID_PROVEEDOR;
AAlbaran.ID_PEDIDO := APedido.ID;
AAlbaran.CALLE := APedido.CALLE;
AAlbaran.CODIGO_POSTAL := APedido.CODIGO_POSTAL;
AAlbaran.POBLACION := APedido.POBLACION;
AAlbaran.PROVINCIA := APedido.PROVINCIA;
AAlbaran.PERSONA_CONTACTO := APedido.PERSONA_CONTACTO;
AAlbaran.TELEFONO := APedido.TELEFONO;
AAlbaran.BASE_IMPONIBLE := APedido.BASE_IMPONIBLE;
AAlbaran.IMPORTE_NETO := APedido.IMPORTE_NETO;
AAlbaran.IMPORTE_PORTE := APedido.IMPORTE_PORTE;
AAlbaran.IMPORTE_DESCUENTO := APedido.IMPORTE_DESCUENTO;
AAlbaran.IMPORTE_IVA := APedido.IMPORTE_IVA;
AAlbaran.IMPORTE_TOTAL := APedido.IMPORTE_TOTAL;
AAlbaran.DESCUENTO := APedido.DESCUENTO;
AAlbaran.IVA := APedido.IVA;
AAlbaran.DataTable.FieldByName(fld_AlbaranesProveedorOBSERVACIONES).AsVariant := APedido.DataTable.FieldByName(fld_PedidosProveedorOBSERVACIONES).AsVariant;
AAlbaran.ID_FORMA_PAGO := APedido.ID_FORMA_PAGO;
AAlbaran.ID_ALMACEN := APedido.ID_ALMACEN;
end;
procedure CopiarArticulosPedido(ID_PEDIDO: Integer; AOrigen: IBizDetallesPedidoProveedor; ADestino : IBizDetallesAlbaranProveedor; AArticulosPendientes: IBizDetallesPedidoProveedorPend);
var
i : integer;
ADetallesController : IDetallesAlbaranProveedorController;
ACantidad: Variant;
ArticulosAnadidosAux: TStringList;
ACadena: String;
begin
if not Assigned(AOrigen) then
raise Exception.Create ('Origen no asignado (CopiarArticulosPedido)');
if not Assigned(ADestino) then
raise Exception.Create ('Destino no asignado (CopiarArticulosPedido)');
if not AOrigen.DataTable.Active then
AOrigen.DataTable.Active := True;
if not ADestino.DataTable.Active then
ADestino.DataTable.Active := True;
ADetallesController := TDetallesAlbaranProveedorController.Create;
ArticulosAnadidosAux:= TStringList.Create;
try
//OJO IMPORTANTE
//Siempre que vayamos a trabajar con los detalles debemos hacer un beginupdate de los mismos y un endupdate para
//obligarle siempre a recalcular los detalles una sola vez
ADetallesController.BeginUpdate(ADestino);
AOrigen.DataTable.First;
for i := 0 to AOrigen.DataTable.RecordCount - 1 do
begin
ACadena := '';
//Comprobamos el articulo del pedido no haya sido recibido ya en otro albaran.
AArticulosPendientes.DataTable.First;
if AArticulosPendientes.DataTable.Locate(fld_PedidosProveedor_DetallesID_ARTICULO, AOrigen.ID_ARTICULO, []) then
begin
//Esto es para el caso de meter edl mismo articulo varias veces en el pedido cambiando la descripción, si esto ocurre,
//Metemos en la primera aparición la suma de las unidades a recibir y en las siguiente apariciones se pone CERO
if (ArticulosAnadidosAux.IndexOf(IntToStr(AOrigen.ID_ARTICULO)) = -1) then
begin
ACantidad := AArticulosPendientes.CANTIDAD;
ArticulosAnadidosAux.Add(IntToStr(AOrigen.ID_ARTICULO));
end
else begin
ACantidad := 0;
ACadena := #10 + #13 + ' - Artículo con ref. ' + AOrigen.REFERENCIA + ' repetido en otra linea y descripción diferente';
end;
end
else
begin
ACantidad := 0; //AOrigen.CANTIDAD;
ACadena := ' - Recibido en un albarán anterior'
end;
ADetallesController.Add(ADestino, TIPO_DETALLE_CONCEPTO);
ADestino.Edit;
ADestino.REFERENCIA := AOrigen.REFERENCIA;
if AOrigen.ID_ARTICULO > 0 then
ADestino.ID_ARTICULO := AOrigen.ID_ARTICULO;
ADestino.CONCEPTO := AOrigen.CONCEPTO + ACadena;
ADestino.CANTIDAD := ACantidad;
ADestino.IMPORTE_UNIDAD := AOrigen.IMPORTE_UNIDAD;
ADestino.IMPORTE_TOTAL := AOrigen.IMPORTE_TOTAL;
ADestino.DESCUENTO := AOrigen.DESCUENTO;
ADestino.IMPORTE_PORTE := AOrigen.IMPORTE_PORTE;
ADestino.VISIBLE := AOrigen.VISIBLE;
ADestino.REFERENCIA_PROVEEDOR := AOrigen.REFERENCIA_PROVEEDOR;
ADestino.ID_PEDIDO := ID_PEDIDO;
ADestino.Post;
AOrigen.Next;
end;
finally
ArticulosAnadidosAux.Destroy;
ADetallesController.EndUpdate(ADestino);
ADetallesController := NIL;
end;
end;
procedure CopiarArticulosAAlbaran(APedido: IBizPedidoProveedor; AAlbaran: IBizAlbaranProveedor;
AInventarioRecibido: IBizInventario);
var
i : integer;
ADetalles : IBizDetallesAlbaranProveedor;
ADetallesController : IDetallesAlbaranProveedorController;
AArticulosController : IArticulosController;
AArticulo : IBizArticulo;
begin
if not Assigned(AAlbaran) then
raise Exception.Create ('Albarán no asignado (CopiarArticulosAAlbaran)');
if not Assigned(APedido) then
raise Exception.Create ('Pedido no asignado (CopiarArticulosAAlbaran)');
//Si esta asignado el inventario recibido es por una entrada de articulos de un pedido a almacén
if Assigned(AInventarioRecibido) then
begin
if not AInventarioRecibido.DataTable.Active then
AInventarioRecibido.DataTable.Active := True;
// El albarán tiene que venir ya abierto y posicionado donde hay que copiar
ADetalles := AAlbaran.Detalles;
ADetallesController := TDetallesAlbaranProveedorController.Create;
AArticulosController := TArticulosController.Create;
try
AInventarioRecibido.DataTable.First;
for i := 0 to AInventarioRecibido.DataTable.RecordCount - 1 do
begin
AArticulo := AArticulosController.Buscar(AInventarioRecibido.ID_ARTICULO);
if not Assigned(AArticulo) then
raise Exception.Create(Format('No se ha encontrado el artículo con ID %d (CopiarArticulosAAlbaran)', [AInventarioRecibido.ID_ARTICULO]));
if (AInventarioRecibido.CANTIDAD <> 0) then
begin
ADetallesController.Add(ADetalles, TIPO_DETALLE_CONCEPTO);
//Se cambia porque puede haber articulos del pedido que no tengan referencia de proveedor
// ADetallesController.AnadirArticulo(ADetalles, AInventarioRecibido.REFERENCIA, tCliente);
ADetallesController.AnadirArticulo(ADetalles, AInventarioRecibido.ID_ARTICULO);
ADetalles.Edit;
APedido.Detalles.First;
//Se cambia porque puede haber articulos del pedido que no tengan referencia de proveedor
// if not APedido.Detalles.DataTable.Locate(fld_ArticulosREFERENCIA, ADetalles.REFERENCIA, []) then
if not APedido.Detalles.Locate(fld_INVENTARIOID_ARTICULO, VarArrayOf([ADetalles.DataTable.FieldByName('ID_ARTICULO').AsVariant]), []) then
raise Exception.Create(Format('No se ha encontrado el artículo del pedido con REFERENCIA %s (CopiarArticulosAAlbaran)', [ADetalles.REFERENCIA]));
ADetalles.IMPORTE_UNIDAD := APedido.Detalles.IMPORTE_UNIDAD;
ADetalles.DESCUENTO := APedido.Detalles.DESCUENTO;
ADetalles.IMPORTE_PORTE := APedido.Detalles.IMPORTE_PORTE;
ADetalles.CANTIDAD := AInventarioRecibido.CANTIDAD;
ADetalles.Post;
end;
AInventarioRecibido.Next;
end;
finally
ADetallesController := NIL;
AArticulosController := NIL;
end;
end
else begin
// AInventarioRecibido = NIL
// El albarán tiene que venir ya abierto y posicionado donde hay que copiar
ADetalles := AAlbaran.Detalles;
ADetallesController := TDetallesAlbaranProveedorController.Create;
AArticulosController := TArticulosController.Create;
try
APedido.Detalles.DataTable.First;
for i := 0 to APedido.Detalles.DataTable.RecordCount - 1 do
begin
AArticulo := AArticulosController.Buscar(APedido.Detalles.ID_ARTICULO);
if not Assigned(AArticulo) then
raise Exception.Create(Format('No se ha encontrado el artículo con ID %d (CopiarArticulosAAlbaran)', [APedido.Detalles.ID_ARTICULO]));
if (APedido.Detalles.CANTIDAD <> 0) then
begin
ADetallesController.Add(ADetalles, TIPO_DETALLE_CONCEPTO);
ADetallesController.AnadirArticulo(ADetalles, APedido.Detalles.REFERENCIA, tCliente);
ADetalles.Edit;
ADetalles.IMPORTE_UNIDAD := APedido.Detalles.IMPORTE_UNIDAD;
ADetalles.DESCUENTO := APedido.Detalles.DESCUENTO;
ADetalles.IMPORTE_PORTE := APedido.Detalles.IMPORTE_PORTE;
ADetalles.CANTIDAD := APedido.Detalles.CANTIDAD;
ADetalles.Post;
end;
APedido.Detalles.Next;
end;
finally
ADetallesController := NIL;
AArticulosController := NIL;
end;
end;
ADetallesController.ActualizarTotales(ADetalles);
end;
{ TAlbaranesProveedorController }
@ -381,64 +170,9 @@ begin
end;
function TAlbaranesProveedorController.Anadir(AAlbaran: IBizAlbaranProveedor; const IDPedido: Integer; AInventarioRecibido: IBizInventario): Boolean;
var
APedidosController : TPedidosProveedorController;
APedido : IBizPedidoProveedor;
begin
Result := False;
if not Assigned(AAlbaran) then
raise Exception.Create ('Albarán no asignado (Anadir)');
if (IDPedido < 0) or (IDPedido = 0) then
raise Exception.Create (Format('ID de pedido (%d) incorrecto (Anadir)', [IDPedido]));
if not AAlbaran.DataTable.Active then
AAlbaran.DataTable.Active := True;
ShowHourglassCursor;
Application.ProcessMessages;
APedido := NIL;
APedidosController := TPedidosProveedorController.Create;
try
APedido := APedidosController.Buscar(IDPedido);
if not Assigned(APedido) then
raise Exception.Create (Format('No se ha encontrado un pedido de proveedor con ID %d (Anadir)', [IDPedido]));
APedido.DataTable.Active := True;
if not Assigned(AInventarioRecibido) then
begin
if (APedido.ID_ALMACEN > 0) then
raise Exception.Create ('Inventario recibido no asignado (Anadir)')
end
else begin
if not AInventarioRecibido.DataTable.Active then
AInventarioRecibido.DataTable.Active := True;
end;
Self.Anadir(AAlbaran);
CopiarPedidoAAlbaran(APedido, AAlbaran);
CopiarArticulosAAlbaran(APedido, AAlbaran, AInventarioRecibido);
RecalcularImportes(AAlbaran);
Result := True;
finally
APedido := NIL;
APedidosController := NIL;
HideHourglassCursor;
Application.ProcessMessages;
end;
end;
function TAlbaranesProveedorController.Anadir(AAlbaranes: IBizAlbaranProveedor;
AListaPedidos: IBizPedidoProveedor): Boolean;
var
AAlbaranActual : IBizAlbaranProveedor;
APedidosController : IPedidosProveedorController;
AArticulosPendientes : IBizDetallesPedidoProveedorPend;
I: Integer;
bEnEdicion : Boolean;
{function TAlbaranesProveedorController.Anadir(AAlbaranes: IBizAlbaranProveedor; AListaPedidos: IBizPedidoProveedor): Boolean;
begin
Result := False;
@ -450,144 +184,14 @@ begin
if not Assigned(AListaPedidos) then
raise Exception.Create ('Pedidos no asignados (Anadir)');
if not AAlbaranes.DataTable.Active then
AAlbaranes.DataTable.Active := True;
if not AListaPedidos.DataTable.Active then
AListaPedidos.DataTable.Active := True;
ShowHourglassCursor;
Application.ProcessMessages;
APedidosController := TPedidosProveedorController.Create;
try
// Ordenar por fecha de pedido
AListaPedidos.DataTable.Sort([fld_PedidosProveedorFECHA_PEDIDO], [uDADataTable.sdAscending]);
AListaPedidos.First;
for I := 0 to AListaPedidos.DataTable.RecordCount - 1 do
begin
AListaPedidos._Proveedor := NIL;
AAlbaranActual := NIL;
// Busco si hay algun albarán ya hecho de ese Proveedor
AAlbaranes.DataTable.First;
if AAlbaranes.DataTable.Locate(fld_AlbaranesProveedorID_Proveedor, AListaPedidos.ID_Proveedor, []) then
begin
AAlbaranActual := AAlbaranes;
RecuperarProveedor(AAlbaranActual);
AAlbaranActual.Proveedor.DataTable.Active := True;
bEnEdicion := (AAlbaranActual.DataTable.State in dsEditModes);
if not bEnEdicion then
AAlbaranActual.Edit;
//Si ya tenemos un albarán quiere decir que dicho albarán va ha recibir mas de un pedido
//por lo que la relación con el pedido se traslada a los articulos detalles, es decir un albarán que recibe varios pedidos
//el idPedido de la cabeceza será null.
AAlbaranActual.ID_PEDIDOIsNull := True;
//Cuando elijo varios pedidos ponemos como almacén destino siempre el que tenga asociado el primer pedido del albaran
// AAlbaranActual.ID_ALMACEN := AL PASADO POR PARAMETRO
AAlbaranActual.Post;
if bEnEdicion then
AAlbaranActual.Edit;
end
else begin
// No hay albaran de ese Proveedor. Creo una nueva
Anadir(AAlbaranes);
APedidosController.RecuperarProveedor(AListaPedidos);
AAlbaranes.Proveedor := AListaPedidos.Proveedor;
//Siempre asignaremos por defecto el ID_PEDIDO del primer pedido de la lista, si hay más pedidos en el albarán luego los pondremos a null,
//con ID_ALMACEN pasará lo mismo
bEnEdicion := (AAlbaranes.DataTable.State in dsEditModes);
if not bEnEdicion then
AAlbaranes.Edit;
AAlbaranes.ID_PEDIDO := AListaPedidos.ID;
AAlbaranes.ID_ALMACEN := AListaPedidos.ID_ALMACEN;
AAlbaranes.Post;
if bEnEdicion then
AAlbaranes.Edit;
//Si el albaran es de tipo devolución hacemos la factura de tipo abono
{ if (AListaAlbaranes.TIPO = CTE_TIPO_ALBARAN_DEV) then
begin
bEnEdicion := (AFacturas.DataTable.State in dsEditModes);
if not bEnEdicion then
AFacturas.Edit;
AFacturas.TIPO := CTE_TIPO_ABONO;
AFacturas.Post;
if bEnEdicion then
AFacturas.Edit;
end;
}
AAlbaranActual := AAlbaranes;
end;
// Ya tengo el albarán. Le añado los conceptos del pedido
//Recogemos los articulos pendientes de recibir de pedido, para solo recibir lo restante si ya estubiera recibido parcialmente.
//SOLO SE TENDRA EN CUENTA LOS INVENTARIABLES
AArticulosPendientes := APedidosController.ArticulosPendientesDeRecibir(AListaPedidos.ID);
AAlbaranActual.Detalles.DataTable.Last;
// Añado el título
Self.DetallesController.Add(AAlbaranActual.Detalles, TIPO_DETALLE_TITULO);
with AAlbaranActual.Detalles do
begin
Edit;
CONCEPTO := 'Pedido ' + AListaPedidos.REFERENCIA + ' del ' + DateToStr(AListaPedidos.FECHA_PEDIDO);
Post;
end;
// Añado el contenido del pedido
CopiarArticulosPedido(AListaPedidos.ID, AListaPedidos.Detalles, AAlbaranActual.Detalles, AArticulosPendientes);
{En los albaranes a proveedor el porte es a nivel del artículo
Self.DetallesController.Add(AFacturaActual.Detalles, TIPO_DETALLE_CONCEPTO);
with AFacturaActual.Detalles do
begin
Edit;
CONCEPTO := 'Porte del albarán';
CANTIDAD := 1;
IMPORTE_UNIDAD := AListaAlbaranes.IMPORTE_PORTE;
Post;
end;
}
// Añado el resumen
Self.DetallesController.Add(AAlbaranActual.Detalles, TIPO_DETALLE_SUBTOTAL);
with AAlbaranActual.Detalles do
begin
Edit;
CONCEPTO := 'Total del pedido ' + AListaPedidos.REFERENCIA;
Post;
end;
// Añado una línea en blanco
Self.DetallesController.Add(AAlbaranActual.Detalles, TIPO_DETALLE_CONCEPTO);
with AAlbaranActual.Detalles do
begin
Edit;
CONCEPTO := '';
Post;
end;
// Guardo el albaran que acabo de generar o editar
AAlbaranActual.CalcularImporteTotal;
Self.Guardar(AAlbaranActual);
// No se asocia el albaran al pedido ya que un pedido puede estar representado por varios albaranes
{ AListaPedidos.Edit;
AListaPedidos.ID_FACTURA := AFacturaActual.ID;
AListaPedidos.Post;
APedidosController.Guardar(AListaPedidos);
}
AListaPedidos.Next;
end;
Result := True;
GenerarAlbaranesdeListaPedidos(AAlbaranes, AListaPedidos);
finally
APedidosController := NIL;
HideHourglassCursor
end;
end;
end; }
function TAlbaranesProveedorController.AnadirAlbaranDev(AAlbaran: IBizAlbaranProveedor): Boolean;
begin
@ -600,6 +204,28 @@ begin
FDataModule := TDataModuleAlbaranesProveedor.Create(Nil);
end;
function TAlbaranesProveedorController.AsignarIncidenciaDevolucion(AAlbaran: IBizAlbaranProveedor; const ACausa: String): IBizAlbaranProveedor;
var
bEnEdicion : Boolean;
begin
if not Assigned(AAlbaran) then
raise Exception.Create ('Albaran no asignado (AsignarIncidenciaDevolucion)');
if AAlbaran.DataTable.Active then
AAlbaran.DataTable.Active := True;
try
ShowHourglassCursor;
AAlbaran.Edit;
AAlbaran.INCIDENCIAS_ACTIVAS := 1;
AAlbaran.INCIDENCIAS.Add(ACausa);
AAlbaran.Post;
AAlbaran.DataTable.ApplyUpdates;
finally
HideHourglassCursor;
end;
end;
function TAlbaranesProveedorController.Buscar(const ID: Integer): IBizAlbaranProveedor;
begin
Result := FDataModule.GetItem(ID);
@ -1364,6 +990,33 @@ begin
Result := FProveedorController;
end;
function TAlbaranesProveedorController.GenerarDevolucion(AAlbaran: IBizAlbaranProveedor): IBizAlbaranProveedor;
begin
if not Assigned(AAlbaran) then
raise Exception.Create ('Albarán no asignado (QuitarDireccionEnvio)');
if AAlbaran.DataTable.Active then
AAlbaran.DataTable.Active := True;
ShowHourglassCursor;
try
Result := Duplicar(AAlbaran);
//Convierte todos los articulos del albaran a negativos por ser una devolucion
FDetallesController.CambiarSignoDetalles(Result.Detalles);
Result.Edit;
Result.TIPO := CTE_TIPO_ALBARAN_DEV;
Result.ID_ALBARAN := AAlbaran.ID;
Result.REF_ALB_PROV := AAlbaran.REFERENCIA;
Result.REF_PED_PROV_PADRE := AAlbaran.REF_PEDIDOS_PROV;
Result.Post;
finally
HideHourglassCursor;
end;
end;
function TAlbaranesProveedorController.GetDetallesController: IDetallesAlbaranProveedorController;
begin
Result := FDetallesController;

View File

@ -96,11 +96,9 @@ inherited DataModuleAlbaranesProveedor: TDataModuleAlbaranesProveedor
DictionaryEntry = 'AlbaranesProveedor_ID_PEDIDO'
end
item
Name = 'REF_PED_PROVEEDOR'
Name = 'REF_PEDIDOS_PROV'
DataType = datString
Size = 255
DisplayLabel = 'Ped. proveedor'
DictionaryEntry = 'AlbaranesProveedor_REF_PED_PROVEEDOR'
end
item
Name = 'ID_FACTURA'
@ -269,6 +267,20 @@ inherited DataModuleAlbaranesProveedor: TDataModuleAlbaranesProveedor
Name = 'TIENDA'
DataType = datString
Size = 255
end
item
Name = 'ID_ALBARAN'
DataType = datInteger
end
item
Name = 'REF_ALB_PROV'
DataType = datString
Size = 255
end
item
Name = 'REF_PED_PROV_PADRE'
DataType = datString
Size = 255
end>
Params = <>
StreamingOptions = [soDisableEventsWhileStreaming]

View File

@ -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_ListaAnosAlbaranes = '{28CED4BC-33F4-40F4-83E4-E08848FC1E4E}';
RID_AlbaranesProveedor = '{92B5A6D8-07B2-43EB-93AB-DFDF49ADBCBC}';
RID_AlbaranesProveedor_Detalles = '{C52C3E9A-131F-4B9B-BD01-3C1324709B9A}';
RID_ListaAnosAlbaranes = '{83CAD8CD-C005-4B11-8B72-16388B4E180D}';
RID_AlbaranesProveedor = '{8B2592BB-41AA-40AE-9248-872E109007DA}';
RID_AlbaranesProveedor_Detalles = '{D7D318FA-C58C-46E2-8F50-68DC419E5203}';
{ Data table names }
nme_ListaAnosAlbaranes = 'ListaAnosAlbaranes';
@ -36,7 +36,7 @@ const
fld_AlbaranesProveedorID_ALMACEN = 'ID_ALMACEN';
fld_AlbaranesProveedorNOMBRE_ALMACEN = 'NOMBRE_ALMACEN';
fld_AlbaranesProveedorID_PEDIDO = 'ID_PEDIDO';
fld_AlbaranesProveedorREF_PED_PROVEEDOR = 'REF_PED_PROVEEDOR';
fld_AlbaranesProveedorREF_PEDIDOS_PROV = 'REF_PEDIDOS_PROV';
fld_AlbaranesProveedorID_FACTURA = 'ID_FACTURA';
fld_AlbaranesProveedorREF_FACTURA = 'REF_FACTURA';
fld_AlbaranesProveedorREF_FACTURA_PROV = 'REF_FACTURA_PROV';
@ -64,6 +64,9 @@ const
fld_AlbaranesProveedorID_FORMA_PAGO = 'ID_FORMA_PAGO';
fld_AlbaranesProveedorID_TIENDA = 'ID_TIENDA';
fld_AlbaranesProveedorTIENDA = 'TIENDA';
fld_AlbaranesProveedorID_ALBARAN = 'ID_ALBARAN';
fld_AlbaranesProveedorREF_ALB_PROV = 'REF_ALB_PROV';
fld_AlbaranesProveedorREF_PED_PROV_PADRE = 'REF_PED_PROV_PADRE';
{ AlbaranesProveedor field indexes }
idx_AlbaranesProveedorID = 0;
@ -77,7 +80,7 @@ const
idx_AlbaranesProveedorID_ALMACEN = 8;
idx_AlbaranesProveedorNOMBRE_ALMACEN = 9;
idx_AlbaranesProveedorID_PEDIDO = 10;
idx_AlbaranesProveedorREF_PED_PROVEEDOR = 11;
idx_AlbaranesProveedorREF_PEDIDOS_PROV = 11;
idx_AlbaranesProveedorID_FACTURA = 12;
idx_AlbaranesProveedorREF_FACTURA = 13;
idx_AlbaranesProveedorREF_FACTURA_PROV = 14;
@ -105,6 +108,9 @@ const
idx_AlbaranesProveedorID_FORMA_PAGO = 36;
idx_AlbaranesProveedorID_TIENDA = 37;
idx_AlbaranesProveedorTIENDA = 38;
idx_AlbaranesProveedorID_ALBARAN = 39;
idx_AlbaranesProveedorREF_ALB_PROV = 40;
idx_AlbaranesProveedorREF_PED_PROV_PADRE = 41;
{ AlbaranesProveedor_Detalles fields }
fld_AlbaranesProveedor_DetallesID = 'ID';
@ -145,7 +151,7 @@ const
type
{ IListaAnosAlbaranes }
IListaAnosAlbaranes = interface(IDAStronglyTypedDataTable)
['{33C9DD4C-B066-4E1E-BAC2-D33101CD5DF7}']
['{13C319F8-BC1E-46CD-BC7C-12066E8FF77F}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@ -180,7 +186,7 @@ type
{ IAlbaranesProveedor }
IAlbaranesProveedor = interface(IDAStronglyTypedDataTable)
['{3499891E-76EE-4361-ADB9-AAD05B52D9BE}']
['{565E5A26-910C-4346-BF87-00CC1D29FA04}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -226,10 +232,10 @@ type
procedure SetID_PEDIDOValue(const aValue: Integer);
function GetID_PEDIDOIsNull: Boolean;
procedure SetID_PEDIDOIsNull(const aValue: Boolean);
function GetREF_PED_PROVEEDORValue: String;
procedure SetREF_PED_PROVEEDORValue(const aValue: String);
function GetREF_PED_PROVEEDORIsNull: Boolean;
procedure SetREF_PED_PROVEEDORIsNull(const aValue: Boolean);
function GetREF_PEDIDOS_PROVValue: String;
procedure SetREF_PEDIDOS_PROVValue(const aValue: String);
function GetREF_PEDIDOS_PROVIsNull: Boolean;
procedure SetREF_PEDIDOS_PROVIsNull(const aValue: Boolean);
function GetID_FACTURAValue: Integer;
procedure SetID_FACTURAValue(const aValue: Integer);
function GetID_FACTURAIsNull: Boolean;
@ -336,6 +342,18 @@ type
procedure SetTIENDAValue(const aValue: String);
function GetTIENDAIsNull: Boolean;
procedure SetTIENDAIsNull(const aValue: Boolean);
function GetID_ALBARANValue: Integer;
procedure SetID_ALBARANValue(const aValue: Integer);
function GetID_ALBARANIsNull: Boolean;
procedure SetID_ALBARANIsNull(const aValue: Boolean);
function GetREF_ALB_PROVValue: String;
procedure SetREF_ALB_PROVValue(const aValue: String);
function GetREF_ALB_PROVIsNull: Boolean;
procedure SetREF_ALB_PROVIsNull(const aValue: Boolean);
function GetREF_PED_PROV_PADREValue: String;
procedure SetREF_PED_PROV_PADREValue(const aValue: String);
function GetREF_PED_PROV_PADREIsNull: Boolean;
procedure SetREF_PED_PROV_PADREIsNull(const aValue: Boolean);
{ Properties }
@ -361,8 +379,8 @@ type
property NOMBRE_ALMACENIsNull: Boolean read GetNOMBRE_ALMACENIsNull write SetNOMBRE_ALMACENIsNull;
property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
property REF_PED_PROVEEDOR: String read GetREF_PED_PROVEEDORValue write SetREF_PED_PROVEEDORValue;
property REF_PED_PROVEEDORIsNull: Boolean read GetREF_PED_PROVEEDORIsNull write SetREF_PED_PROVEEDORIsNull;
property REF_PEDIDOS_PROV: String read GetREF_PEDIDOS_PROVValue write SetREF_PEDIDOS_PROVValue;
property REF_PEDIDOS_PROVIsNull: Boolean read GetREF_PEDIDOS_PROVIsNull write SetREF_PEDIDOS_PROVIsNull;
property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
property REF_FACTURA: String read GetREF_FACTURAValue write SetREF_FACTURAValue;
@ -417,6 +435,12 @@ type
property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
property ID_ALBARAN: Integer read GetID_ALBARANValue write SetID_ALBARANValue;
property ID_ALBARANIsNull: Boolean read GetID_ALBARANIsNull write SetID_ALBARANIsNull;
property REF_ALB_PROV: String read GetREF_ALB_PROVValue write SetREF_ALB_PROVValue;
property REF_ALB_PROVIsNull: Boolean read GetREF_ALB_PROVIsNull write SetREF_ALB_PROVIsNull;
property REF_PED_PROV_PADRE: String read GetREF_PED_PROV_PADREValue write SetREF_PED_PROV_PADREValue;
property REF_PED_PROV_PADREIsNull: Boolean read GetREF_PED_PROV_PADREIsNull write SetREF_PED_PROV_PADREIsNull;
end;
{ TAlbaranesProveedorDataTableRules }
@ -472,10 +496,10 @@ type
procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
function GetID_PEDIDOIsNull: Boolean; virtual;
procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;
function GetREF_PED_PROVEEDORValue: String; virtual;
procedure SetREF_PED_PROVEEDORValue(const aValue: String); virtual;
function GetREF_PED_PROVEEDORIsNull: Boolean; virtual;
procedure SetREF_PED_PROVEEDORIsNull(const aValue: Boolean); virtual;
function GetREF_PEDIDOS_PROVValue: String; virtual;
procedure SetREF_PEDIDOS_PROVValue(const aValue: String); virtual;
function GetREF_PEDIDOS_PROVIsNull: Boolean; virtual;
procedure SetREF_PEDIDOS_PROVIsNull(const aValue: Boolean); virtual;
function GetID_FACTURAValue: Integer; virtual;
procedure SetID_FACTURAValue(const aValue: Integer); virtual;
function GetID_FACTURAIsNull: Boolean; virtual;
@ -582,6 +606,18 @@ type
procedure SetTIENDAValue(const aValue: String); virtual;
function GetTIENDAIsNull: Boolean; virtual;
procedure SetTIENDAIsNull(const aValue: Boolean); virtual;
function GetID_ALBARANValue: Integer; virtual;
procedure SetID_ALBARANValue(const aValue: Integer); virtual;
function GetID_ALBARANIsNull: Boolean; virtual;
procedure SetID_ALBARANIsNull(const aValue: Boolean); virtual;
function GetREF_ALB_PROVValue: String; virtual;
procedure SetREF_ALB_PROVValue(const aValue: String); virtual;
function GetREF_ALB_PROVIsNull: Boolean; virtual;
procedure SetREF_ALB_PROVIsNull(const aValue: Boolean); virtual;
function GetREF_PED_PROV_PADREValue: String; virtual;
procedure SetREF_PED_PROV_PADREValue(const aValue: String); virtual;
function GetREF_PED_PROV_PADREIsNull: Boolean; virtual;
procedure SetREF_PED_PROV_PADREIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID: Integer read GetIDValue write SetIDValue;
@ -606,8 +642,8 @@ type
property NOMBRE_ALMACENIsNull: Boolean read GetNOMBRE_ALMACENIsNull write SetNOMBRE_ALMACENIsNull;
property ID_PEDIDO: Integer read GetID_PEDIDOValue write SetID_PEDIDOValue;
property ID_PEDIDOIsNull: Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
property REF_PED_PROVEEDOR: String read GetREF_PED_PROVEEDORValue write SetREF_PED_PROVEEDORValue;
property REF_PED_PROVEEDORIsNull: Boolean read GetREF_PED_PROVEEDORIsNull write SetREF_PED_PROVEEDORIsNull;
property REF_PEDIDOS_PROV: String read GetREF_PEDIDOS_PROVValue write SetREF_PEDIDOS_PROVValue;
property REF_PEDIDOS_PROVIsNull: Boolean read GetREF_PEDIDOS_PROVIsNull write SetREF_PEDIDOS_PROVIsNull;
property ID_FACTURA: Integer read GetID_FACTURAValue write SetID_FACTURAValue;
property ID_FACTURAIsNull: Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
property REF_FACTURA: String read GetREF_FACTURAValue write SetREF_FACTURAValue;
@ -662,6 +698,12 @@ type
property ID_TIENDAIsNull: Boolean read GetID_TIENDAIsNull write SetID_TIENDAIsNull;
property TIENDA: String read GetTIENDAValue write SetTIENDAValue;
property TIENDAIsNull: Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
property ID_ALBARAN: Integer read GetID_ALBARANValue write SetID_ALBARANValue;
property ID_ALBARANIsNull: Boolean read GetID_ALBARANIsNull write SetID_ALBARANIsNull;
property REF_ALB_PROV: String read GetREF_ALB_PROVValue write SetREF_ALB_PROVValue;
property REF_ALB_PROVIsNull: Boolean read GetREF_ALB_PROVIsNull write SetREF_ALB_PROVIsNull;
property REF_PED_PROV_PADRE: String read GetREF_PED_PROV_PADREValue write SetREF_PED_PROV_PADREValue;
property REF_PED_PROV_PADREIsNull: Boolean read GetREF_PED_PROV_PADREIsNull write SetREF_PED_PROV_PADREIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
@ -671,7 +713,7 @@ type
{ IAlbaranesProveedor_Detalles }
IAlbaranesProveedor_Detalles = interface(IDAStronglyTypedDataTable)
['{C2D2EEEB-4B4B-487D-BAA5-601DF6526278}']
['{32C95867-734A-4F15-8D4C-FEE27572295C}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -1183,25 +1225,25 @@ begin
DataTable.Fields[idx_AlbaranesProveedorID_PEDIDO].AsVariant := Null;
end;
function TAlbaranesProveedorDataTableRules.GetREF_PED_PROVEEDORValue: String;
function TAlbaranesProveedorDataTableRules.GetREF_PEDIDOS_PROVValue: String;
begin
result := DataTable.Fields[idx_AlbaranesProveedorREF_PED_PROVEEDOR].AsString;
result := DataTable.Fields[idx_AlbaranesProveedorREF_PEDIDOS_PROV].AsString;
end;
procedure TAlbaranesProveedorDataTableRules.SetREF_PED_PROVEEDORValue(const aValue: String);
procedure TAlbaranesProveedorDataTableRules.SetREF_PEDIDOS_PROVValue(const aValue: String);
begin
DataTable.Fields[idx_AlbaranesProveedorREF_PED_PROVEEDOR].AsString := aValue;
DataTable.Fields[idx_AlbaranesProveedorREF_PEDIDOS_PROV].AsString := aValue;
end;
function TAlbaranesProveedorDataTableRules.GetREF_PED_PROVEEDORIsNull: boolean;
function TAlbaranesProveedorDataTableRules.GetREF_PEDIDOS_PROVIsNull: boolean;
begin
result := DataTable.Fields[idx_AlbaranesProveedorREF_PED_PROVEEDOR].IsNull;
result := DataTable.Fields[idx_AlbaranesProveedorREF_PEDIDOS_PROV].IsNull;
end;
procedure TAlbaranesProveedorDataTableRules.SetREF_PED_PROVEEDORIsNull(const aValue: Boolean);
procedure TAlbaranesProveedorDataTableRules.SetREF_PEDIDOS_PROVIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_AlbaranesProveedorREF_PED_PROVEEDOR].AsVariant := Null;
DataTable.Fields[idx_AlbaranesProveedorREF_PEDIDOS_PROV].AsVariant := Null;
end;
function TAlbaranesProveedorDataTableRules.GetID_FACTURAValue: Integer;
@ -1763,6 +1805,69 @@ begin
DataTable.Fields[idx_AlbaranesProveedorTIENDA].AsVariant := Null;
end;
function TAlbaranesProveedorDataTableRules.GetID_ALBARANValue: Integer;
begin
result := DataTable.Fields[idx_AlbaranesProveedorID_ALBARAN].AsInteger;
end;
procedure TAlbaranesProveedorDataTableRules.SetID_ALBARANValue(const aValue: Integer);
begin
DataTable.Fields[idx_AlbaranesProveedorID_ALBARAN].AsInteger := aValue;
end;
function TAlbaranesProveedorDataTableRules.GetID_ALBARANIsNull: boolean;
begin
result := DataTable.Fields[idx_AlbaranesProveedorID_ALBARAN].IsNull;
end;
procedure TAlbaranesProveedorDataTableRules.SetID_ALBARANIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_AlbaranesProveedorID_ALBARAN].AsVariant := Null;
end;
function TAlbaranesProveedorDataTableRules.GetREF_ALB_PROVValue: String;
begin
result := DataTable.Fields[idx_AlbaranesProveedorREF_ALB_PROV].AsString;
end;
procedure TAlbaranesProveedorDataTableRules.SetREF_ALB_PROVValue(const aValue: String);
begin
DataTable.Fields[idx_AlbaranesProveedorREF_ALB_PROV].AsString := aValue;
end;
function TAlbaranesProveedorDataTableRules.GetREF_ALB_PROVIsNull: boolean;
begin
result := DataTable.Fields[idx_AlbaranesProveedorREF_ALB_PROV].IsNull;
end;
procedure TAlbaranesProveedorDataTableRules.SetREF_ALB_PROVIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_AlbaranesProveedorREF_ALB_PROV].AsVariant := Null;
end;
function TAlbaranesProveedorDataTableRules.GetREF_PED_PROV_PADREValue: String;
begin
result := DataTable.Fields[idx_AlbaranesProveedorREF_PED_PROV_PADRE].AsString;
end;
procedure TAlbaranesProveedorDataTableRules.SetREF_PED_PROV_PADREValue(const aValue: String);
begin
DataTable.Fields[idx_AlbaranesProveedorREF_PED_PROV_PADRE].AsString := aValue;
end;
function TAlbaranesProveedorDataTableRules.GetREF_PED_PROV_PADREIsNull: boolean;
begin
result := DataTable.Fields[idx_AlbaranesProveedorREF_PED_PROV_PADRE].IsNull;
end;
procedure TAlbaranesProveedorDataTableRules.SetREF_PED_PROV_PADREIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_AlbaranesProveedorREF_PED_PROV_PADRE].AsVariant := Null;
end;
{ TAlbaranesProveedor_DetallesDataTableRules }
constructor TAlbaranesProveedor_DetallesDataTableRules.Create(aDataTable: TDADataTable);

View File

@ -9,14 +9,14 @@ 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_ListaAnosAlbaranesDelta = '{EB7BC9BB-BE99-4924-938C-57444404FC70}';
RID_AlbaranesProveedorDelta = '{FDC593A7-FCEB-4038-B70B-3278EA632968}';
RID_AlbaranesProveedor_DetallesDelta = '{C4CAA354-B990-4830-BF20-21B9958F343D}';
RID_ListaAnosAlbaranesDelta = '{3AD75BCA-82CA-4376-A24D-D4906FF762DB}';
RID_AlbaranesProveedorDelta = '{178B2E8D-458D-4467-AC14-CA8FC4E00229}';
RID_AlbaranesProveedor_DetallesDelta = '{A380607B-556C-478A-9D4C-E20681545A86}';
type
{ IListaAnosAlbaranesDelta }
IListaAnosAlbaranesDelta = interface(IListaAnosAlbaranes)
['{EB7BC9BB-BE99-4924-938C-57444404FC70}']
['{3AD75BCA-82CA-4376-A24D-D4906FF762DB}']
{ Property getters and setters }
function GetOldANOValue : String;
@ -50,7 +50,7 @@ type
{ IAlbaranesProveedorDelta }
IAlbaranesProveedorDelta = interface(IAlbaranesProveedor)
['{FDC593A7-FCEB-4038-B70B-3278EA632968}']
['{178B2E8D-458D-4467-AC14-CA8FC4E00229}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -63,7 +63,7 @@ type
function GetOldID_ALMACENValue : Integer;
function GetOldNOMBRE_ALMACENValue : String;
function GetOldID_PEDIDOValue : Integer;
function GetOldREF_PED_PROVEEDORValue : String;
function GetOldREF_PEDIDOS_PROVValue : String;
function GetOldID_FACTURAValue : Integer;
function GetOldREF_FACTURAValue : String;
function GetOldREF_FACTURA_PROVValue : String;
@ -91,6 +91,9 @@ type
function GetOldID_FORMA_PAGOValue : Integer;
function GetOldID_TIENDAValue : Integer;
function GetOldTIENDAValue : String;
function GetOldID_ALBARANValue : Integer;
function GetOldREF_ALB_PROVValue : String;
function GetOldREF_PED_PROV_PADREValue : String;
{ Properties }
property OldID : Integer read GetOldIDValue;
@ -104,7 +107,7 @@ type
property OldID_ALMACEN : Integer read GetOldID_ALMACENValue;
property OldNOMBRE_ALMACEN : String read GetOldNOMBRE_ALMACENValue;
property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue;
property OldREF_PED_PROVEEDOR : String read GetOldREF_PED_PROVEEDORValue;
property OldREF_PEDIDOS_PROV : String read GetOldREF_PEDIDOS_PROVValue;
property OldID_FACTURA : Integer read GetOldID_FACTURAValue;
property OldREF_FACTURA : String read GetOldREF_FACTURAValue;
property OldREF_FACTURA_PROV : String read GetOldREF_FACTURA_PROVValue;
@ -132,6 +135,9 @@ type
property OldID_FORMA_PAGO : Integer read GetOldID_FORMA_PAGOValue;
property OldID_TIENDA : Integer read GetOldID_TIENDAValue;
property OldTIENDA : String read GetOldTIENDAValue;
property OldID_ALBARAN : Integer read GetOldID_ALBARANValue;
property OldREF_ALB_PROV : String read GetOldREF_ALB_PROVValue;
property OldREF_PED_PROV_PADRE : String read GetOldREF_PED_PROV_PADREValue;
end;
{ TAlbaranesProveedorBusinessProcessorRules }
@ -209,12 +215,12 @@ type
function GetOldID_PEDIDOIsNull: Boolean; virtual;
procedure SetID_PEDIDOValue(const aValue: Integer); virtual;
procedure SetID_PEDIDOIsNull(const aValue: Boolean); virtual;
function GetREF_PED_PROVEEDORValue: String; virtual;
function GetREF_PED_PROVEEDORIsNull: Boolean; virtual;
function GetOldREF_PED_PROVEEDORValue: String; virtual;
function GetOldREF_PED_PROVEEDORIsNull: Boolean; virtual;
procedure SetREF_PED_PROVEEDORValue(const aValue: String); virtual;
procedure SetREF_PED_PROVEEDORIsNull(const aValue: Boolean); virtual;
function GetREF_PEDIDOS_PROVValue: String; virtual;
function GetREF_PEDIDOS_PROVIsNull: Boolean; virtual;
function GetOldREF_PEDIDOS_PROVValue: String; virtual;
function GetOldREF_PEDIDOS_PROVIsNull: Boolean; virtual;
procedure SetREF_PEDIDOS_PROVValue(const aValue: String); virtual;
procedure SetREF_PEDIDOS_PROVIsNull(const aValue: Boolean); virtual;
function GetID_FACTURAValue: Integer; virtual;
function GetID_FACTURAIsNull: Boolean; virtual;
function GetOldID_FACTURAValue: Integer; virtual;
@ -375,6 +381,24 @@ type
function GetOldTIENDAIsNull: Boolean; virtual;
procedure SetTIENDAValue(const aValue: String); virtual;
procedure SetTIENDAIsNull(const aValue: Boolean); virtual;
function GetID_ALBARANValue: Integer; virtual;
function GetID_ALBARANIsNull: Boolean; virtual;
function GetOldID_ALBARANValue: Integer; virtual;
function GetOldID_ALBARANIsNull: Boolean; virtual;
procedure SetID_ALBARANValue(const aValue: Integer); virtual;
procedure SetID_ALBARANIsNull(const aValue: Boolean); virtual;
function GetREF_ALB_PROVValue: String; virtual;
function GetREF_ALB_PROVIsNull: Boolean; virtual;
function GetOldREF_ALB_PROVValue: String; virtual;
function GetOldREF_ALB_PROVIsNull: Boolean; virtual;
procedure SetREF_ALB_PROVValue(const aValue: String); virtual;
procedure SetREF_ALB_PROVIsNull(const aValue: Boolean); virtual;
function GetREF_PED_PROV_PADREValue: String; virtual;
function GetREF_PED_PROV_PADREIsNull: Boolean; virtual;
function GetOldREF_PED_PROV_PADREValue: String; virtual;
function GetOldREF_PED_PROV_PADREIsNull: Boolean; virtual;
procedure SetREF_PED_PROV_PADREValue(const aValue: String); virtual;
procedure SetREF_PED_PROV_PADREIsNull(const aValue: Boolean); virtual;
{ Properties }
property ID : Integer read GetIDValue write SetIDValue;
@ -421,10 +445,10 @@ type
property ID_PEDIDOIsNull : Boolean read GetID_PEDIDOIsNull write SetID_PEDIDOIsNull;
property OldID_PEDIDO : Integer read GetOldID_PEDIDOValue;
property OldID_PEDIDOIsNull : Boolean read GetOldID_PEDIDOIsNull;
property REF_PED_PROVEEDOR : String read GetREF_PED_PROVEEDORValue write SetREF_PED_PROVEEDORValue;
property REF_PED_PROVEEDORIsNull : Boolean read GetREF_PED_PROVEEDORIsNull write SetREF_PED_PROVEEDORIsNull;
property OldREF_PED_PROVEEDOR : String read GetOldREF_PED_PROVEEDORValue;
property OldREF_PED_PROVEEDORIsNull : Boolean read GetOldREF_PED_PROVEEDORIsNull;
property REF_PEDIDOS_PROV : String read GetREF_PEDIDOS_PROVValue write SetREF_PEDIDOS_PROVValue;
property REF_PEDIDOS_PROVIsNull : Boolean read GetREF_PEDIDOS_PROVIsNull write SetREF_PEDIDOS_PROVIsNull;
property OldREF_PEDIDOS_PROV : String read GetOldREF_PEDIDOS_PROVValue;
property OldREF_PEDIDOS_PROVIsNull : Boolean read GetOldREF_PEDIDOS_PROVIsNull;
property ID_FACTURA : Integer read GetID_FACTURAValue write SetID_FACTURAValue;
property ID_FACTURAIsNull : Boolean read GetID_FACTURAIsNull write SetID_FACTURAIsNull;
property OldID_FACTURA : Integer read GetOldID_FACTURAValue;
@ -533,6 +557,18 @@ type
property TIENDAIsNull : Boolean read GetTIENDAIsNull write SetTIENDAIsNull;
property OldTIENDA : String read GetOldTIENDAValue;
property OldTIENDAIsNull : Boolean read GetOldTIENDAIsNull;
property ID_ALBARAN : Integer read GetID_ALBARANValue write SetID_ALBARANValue;
property ID_ALBARANIsNull : Boolean read GetID_ALBARANIsNull write SetID_ALBARANIsNull;
property OldID_ALBARAN : Integer read GetOldID_ALBARANValue;
property OldID_ALBARANIsNull : Boolean read GetOldID_ALBARANIsNull;
property REF_ALB_PROV : String read GetREF_ALB_PROVValue write SetREF_ALB_PROVValue;
property REF_ALB_PROVIsNull : Boolean read GetREF_ALB_PROVIsNull write SetREF_ALB_PROVIsNull;
property OldREF_ALB_PROV : String read GetOldREF_ALB_PROVValue;
property OldREF_ALB_PROVIsNull : Boolean read GetOldREF_ALB_PROVIsNull;
property REF_PED_PROV_PADRE : String read GetREF_PED_PROV_PADREValue write SetREF_PED_PROV_PADREValue;
property REF_PED_PROV_PADREIsNull : Boolean read GetREF_PED_PROV_PADREIsNull write SetREF_PED_PROV_PADREIsNull;
property OldREF_PED_PROV_PADRE : String read GetOldREF_PED_PROV_PADREValue;
property OldREF_PED_PROV_PADREIsNull : Boolean read GetOldREF_PED_PROV_PADREIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
@ -542,7 +578,7 @@ type
{ IAlbaranesProveedor_DetallesDelta }
IAlbaranesProveedor_DetallesDelta = interface(IAlbaranesProveedor_Detalles)
['{C4CAA354-B990-4830-BF20-21B9958F343D}']
['{A380607B-556C-478A-9D4C-E20681545A86}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_ALBARANValue : Integer;
@ -1174,35 +1210,35 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_PEDIDO] := Null;
end;
function TAlbaranesProveedorBusinessProcessorRules.GetREF_PED_PROVEEDORValue: String;
function TAlbaranesProveedorBusinessProcessorRules.GetREF_PEDIDOS_PROVValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_PED_PROVEEDOR];
result := BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_PEDIDOS_PROV];
end;
function TAlbaranesProveedorBusinessProcessorRules.GetREF_PED_PROVEEDORIsNull: Boolean;
function TAlbaranesProveedorBusinessProcessorRules.GetREF_PEDIDOS_PROVIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_PED_PROVEEDOR]);
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_PEDIDOS_PROV]);
end;
function TAlbaranesProveedorBusinessProcessorRules.GetOldREF_PED_PROVEEDORValue: String;
function TAlbaranesProveedorBusinessProcessorRules.GetOldREF_PEDIDOS_PROVValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorREF_PED_PROVEEDOR];
result := BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorREF_PEDIDOS_PROV];
end;
function TAlbaranesProveedorBusinessProcessorRules.GetOldREF_PED_PROVEEDORIsNull: Boolean;
function TAlbaranesProveedorBusinessProcessorRules.GetOldREF_PEDIDOS_PROVIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorREF_PED_PROVEEDOR]);
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorREF_PEDIDOS_PROV]);
end;
procedure TAlbaranesProveedorBusinessProcessorRules.SetREF_PED_PROVEEDORValue(const aValue: String);
procedure TAlbaranesProveedorBusinessProcessorRules.SetREF_PEDIDOS_PROVValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_PED_PROVEEDOR] := aValue;
BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_PEDIDOS_PROV] := aValue;
end;
procedure TAlbaranesProveedorBusinessProcessorRules.SetREF_PED_PROVEEDORIsNull(const aValue: Boolean);
procedure TAlbaranesProveedorBusinessProcessorRules.SetREF_PEDIDOS_PROVIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_PED_PROVEEDOR] := Null;
BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_PEDIDOS_PROV] := Null;
end;
function TAlbaranesProveedorBusinessProcessorRules.GetID_FACTURAValue: Integer;
@ -2036,6 +2072,99 @@ begin
BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorTIENDA] := Null;
end;
function TAlbaranesProveedorBusinessProcessorRules.GetID_ALBARANValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_ALBARAN];
end;
function TAlbaranesProveedorBusinessProcessorRules.GetID_ALBARANIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_ALBARAN]);
end;
function TAlbaranesProveedorBusinessProcessorRules.GetOldID_ALBARANValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorID_ALBARAN];
end;
function TAlbaranesProveedorBusinessProcessorRules.GetOldID_ALBARANIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorID_ALBARAN]);
end;
procedure TAlbaranesProveedorBusinessProcessorRules.SetID_ALBARANValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_ALBARAN] := aValue;
end;
procedure TAlbaranesProveedorBusinessProcessorRules.SetID_ALBARANIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorID_ALBARAN] := Null;
end;
function TAlbaranesProveedorBusinessProcessorRules.GetREF_ALB_PROVValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_ALB_PROV];
end;
function TAlbaranesProveedorBusinessProcessorRules.GetREF_ALB_PROVIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_ALB_PROV]);
end;
function TAlbaranesProveedorBusinessProcessorRules.GetOldREF_ALB_PROVValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorREF_ALB_PROV];
end;
function TAlbaranesProveedorBusinessProcessorRules.GetOldREF_ALB_PROVIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorREF_ALB_PROV]);
end;
procedure TAlbaranesProveedorBusinessProcessorRules.SetREF_ALB_PROVValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_ALB_PROV] := aValue;
end;
procedure TAlbaranesProveedorBusinessProcessorRules.SetREF_ALB_PROVIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_ALB_PROV] := Null;
end;
function TAlbaranesProveedorBusinessProcessorRules.GetREF_PED_PROV_PADREValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_PED_PROV_PADRE];
end;
function TAlbaranesProveedorBusinessProcessorRules.GetREF_PED_PROV_PADREIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_PED_PROV_PADRE]);
end;
function TAlbaranesProveedorBusinessProcessorRules.GetOldREF_PED_PROV_PADREValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorREF_PED_PROV_PADRE];
end;
function TAlbaranesProveedorBusinessProcessorRules.GetOldREF_PED_PROV_PADREIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_AlbaranesProveedorREF_PED_PROV_PADRE]);
end;
procedure TAlbaranesProveedorBusinessProcessorRules.SetREF_PED_PROV_PADREValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_PED_PROV_PADRE] := aValue;
end;
procedure TAlbaranesProveedorBusinessProcessorRules.SetREF_PED_PROV_PADREIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_AlbaranesProveedorREF_PED_PROV_PADRE] := Null;
end;
{ TAlbaranesProveedor_DetallesBusinessProcessorRules }
constructor TAlbaranesProveedor_DetallesBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);

View File

@ -260,9 +260,7 @@ object PluginAlbaranesProveedor: TPluginAlbaranesProveedor
object actDevolucionesProveedor: TAction
Category = 'Compras'
Caption = 'Ordenes de devoluci'#243'n'
Enabled = False
ImageIndex = 1
Visible = False
OnExecute = actDevolucionesProveedorExecute
end
end

View File

@ -1,8 +1,8 @@
object RptAlbaranesProveedor: TRptAlbaranesProveedor
OldCreateOrder = True
OnCreate = DataModuleCreate
Height = 405
Width = 447
Height = 556
Width = 643
object DADataCabecera: TDADataSource
DataSet = tbl_Cabecera.Dataset
DataTable = tbl_Cabecera

View File

@ -90,10 +90,6 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
DatasetField = 'ID_PEDIDO'
TableField = 'ID_PEDIDO'
end
item
DatasetField = 'REF_PED_PROVEEDOR'
TableField = 'REF_PED_PROVEEDOR'
end
item
DatasetField = 'ID_FACTURA'
TableField = 'ID_FACTURA'
@ -201,6 +197,22 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
item
DatasetField = 'ID_TIPO_IVA'
TableField = 'ID_TIPO_IVA'
end
item
DatasetField = 'REF_PEDIDOS_PROV'
TableField = 'REF_PEDIDOS_PROV'
end
item
DatasetField = 'REF_ALB_PROV'
TableField = 'REF_ALB_PROV'
end
item
DatasetField = 'REF_PED_PROV_PADRE'
TableField = 'REF_PED_PROV_PADRE'
end
item
DatasetField = 'ID_ALBARAN'
TableField = 'ID_ALBARAN'
end>
end>
Name = 'AlbaranesProveedor'
@ -269,10 +281,9 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
DictionaryEntry = 'AlbaranesProveedor_ID_PEDIDO'
end
item
Name = 'REF_PED_PROVEEDOR'
Name = 'REF_PEDIDOS_PROV'
DataType = datString
Size = 255
DictionaryEntry = 'AlbaranesProveedor_REF_PED_PROVEEDOR'
end
item
Name = 'ID_FACTURA'
@ -415,6 +426,20 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
Name = 'TIENDA'
DataType = datString
Size = 255
end
item
Name = 'ID_ALBARAN'
DataType = datInteger
end
item
Name = 'REF_ALB_PROV'
DataType = datString
Size = 255
end
item
Name = 'REF_PED_PROV_PADRE'
DataType = datString
Size = 255
end>
end
item
@ -766,6 +791,17 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
Name = 'ID_TIENDA'
DataType = datInteger
Value = ''
end
item
Name = 'REF_PEDIDOS_PROV'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'ID_ALBARAN'
DataType = datInteger
Value = ''
end>
Statements = <
item
@ -780,17 +816,18 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
'DESCUENTO,'#10' IMPORTE_DESCUENTO,'#10' IVA,'#10' IMPORTE_IVA,'#10' ' +
'IMPORTE_TOTAL,'#10' OBSERVACIONES,'#10' INCIDENCIAS,'#10' INCIDENCI' +
'AS_ACTIVAS,'#10' FECHA_ALTA,'#10' USUARIO,'#10' ID_ALMACEN,'#10' ID_' +
'FORMA_PAGO,'#10' IMPORTE_NETO,'#10' IMPORTE_PORTE,'#10' ID_TIENDA)'#10 +
' VALUES ('#10' :ID,'#10' :ID_EMPRESA,'#10' :ID_PROVEEDOR,'#10' :FEC' +
'HA_ALBARAN,'#10' :ID_PEDIDO,'#10' :ID_FACTURA,'#10' :TIPO,'#10' :REF' +
'ERENCIA,'#10' :REFERENCIA_PROVEEDOR,'#10' :REF_FACTURA_PROV,'#10' :' +
'CALLE,'#10' :CODIGO_POSTAL,'#10' :POBLACION,'#10' :PROVINCIA,'#10' :' +
'PERSONA_CONTACTO,'#10' :TELEFONO,'#10' :BASE_IMPONIBLE,'#10' :DESCU' +
'ENTO,'#10' :IMPORTE_DESCUENTO,'#10' :IVA,'#10' :IMPORTE_IVA,'#10' :I' +
'MPORTE_TOTAL,'#10' :OBSERVACIONES,'#10' :INCIDENCIAS,'#10' :INCIDEN' +
'CIAS_ACTIVAS,'#10' CURRENT_TIMESTAMP,'#10' :USUARIO,'#10' :ID_ALMAC' +
'EN,'#10' :ID_FORMA_PAGO,'#10' :IMPORTE_NETO,'#10' :IMPORTE_PORTE,'#10' ' +
' :ID_TIENDA);'#10
'FORMA_PAGO,'#10' IMPORTE_NETO,'#10' IMPORTE_PORTE,'#10' ID_TIENDA,'#10 +
' REF_PEDIDOS_PROV,'#10' ID_ALBARAN)'#10' VALUES ('#10' :ID,'#10' :I' +
'D_EMPRESA,'#10' :ID_PROVEEDOR,'#10' :FECHA_ALBARAN,'#10' :ID_PEDIDO' +
','#10' :ID_FACTURA,'#10' :TIPO,'#10' :REFERENCIA,'#10' :REFERENCIA_P' +
'ROVEEDOR,'#10' :REF_FACTURA_PROV,'#10' :CALLE,'#10' :CODIGO_POSTAL,' +
#10' :POBLACION,'#10' :PROVINCIA,'#10' :PERSONA_CONTACTO,'#10' :TEL' +
'EFONO,'#10' :BASE_IMPONIBLE,'#10' :DESCUENTO,'#10' :IMPORTE_DESCUEN' +
'TO,'#10' :IVA,'#10' :IMPORTE_IVA,'#10' :IMPORTE_TOTAL,'#10' :OBSERVA' +
'CIONES,'#10' :INCIDENCIAS,'#10' :INCIDENCIAS_ACTIVAS,'#10' CURRENT_' +
'TIMESTAMP,'#10' :USUARIO,'#10' :ID_ALMACEN,'#10' :ID_FORMA_PAGO,'#10' ' +
' :IMPORTE_NETO,'#10' :IMPORTE_PORTE,'#10' :ID_TIENDA,'#10' :REF_PE' +
'DIDOS_PROV,'#10' :ID_ALBARAN);'#10
StatementType = stSQL
ColumnMappings = <>
end>
@ -818,122 +855,174 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
Params = <
item
Name = 'ID_EMPRESA'
DataType = datInteger
Value = ''
end
item
Name = 'ID_PROVEEDOR'
DataType = datInteger
Value = ''
end
item
Name = 'FECHA_ALBARAN'
DataType = datDateTime
Value = ''
end
item
Name = 'ID_PEDIDO'
DataType = datInteger
Value = ''
end
item
Name = 'ID_FACTURA'
DataType = datInteger
Value = ''
end
item
Name = 'TIPO'
DataType = datString
Size = 1
Value = ''
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'REFERENCIA_PROVEEDOR'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'REF_FACTURA_PROV'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'CALLE'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'CODIGO_POSTAL'
DataType = datString
Size = 10
Value = ''
end
item
Name = 'POBLACION'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'PROVINCIA'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'PERSONA_CONTACTO'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'TELEFONO'
DataType = datString
Size = 25
Value = ''
end
item
Name = 'BASE_IMPONIBLE'
DataType = datCurrency
Value = ''
end
item
Name = 'DESCUENTO'
DataType = datFloat
Value = ''
end
item
Name = 'IMPORTE_DESCUENTO'
DataType = datCurrency
Value = ''
end
item
Name = 'IVA'
DataType = datFloat
Value = ''
end
item
Name = 'IMPORTE_IVA'
DataType = datCurrency
Value = ''
end
item
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
Value = ''
end
item
Name = 'OBSERVACIONES'
DataType = datMemo
Value = ''
end
item
Name = 'INCIDENCIAS'
DataType = datMemo
Value = ''
end
item
Name = 'INCIDENCIAS_ACTIVAS'
DataType = datSmallInt
Value = ''
end
item
Name = 'USUARIO'
DataType = datString
Size = 30
Value = ''
end
item
Name = 'ID_ALMACEN'
DataType = datInteger
Value = ''
end
item
Name = 'ID_FORMA_PAGO'
DataType = datInteger
Value = ''
end
item
Name = 'IMPORTE_NETO'
DataType = datCurrency
Value = ''
end
item
Name = 'IMPORTE_PORTE'
DataType = datCurrency
Value = ''
end
item
Name = 'ID_TIENDA'
DataType = datInteger
Value = ''
end
item
Name = 'REF_PEDIDOS_PROV'
DataType = datString
Size = 255
Value = ''
end
item
Name = 'ID_ALBARAN'
DataType = datInteger
Value = ''
end
item
@ -961,7 +1050,8 @@ object srvAlbaranesProveedor: TsrvAlbaranesProveedor
'ODIFICACION = CURRENT_TIMESTAMP,'#10' USUARIO = :USUARIO,'#10' ID_' +
'ALMACEN = :ID_ALMACEN,'#10' ID_FORMA_PAGO = :ID_FORMA_PAGO,'#10' I' +
'MPORTE_NETO = :IMPORTE_NETO,'#10' IMPORTE_PORTE = :IMPORTE_PORTE,' +
#10' ID_TIENDA = :ID_TIENDA'#10' WHERE'#10' (ID = :OLD_ID);'#10
#10' ID_TIENDA = :ID_TIENDA,'#10' REF_PEDIDOS_PROV = :REF_PEDIDOS' +
'_PROV,'#10' ID_ALBARAN = :ID_ALBARAN'#10' WHERE'#10' (ID = :OLD_ID);'#10
StatementType = stSQL
ColumnMappings = <>
end>

View File

@ -1,5 +1,6 @@
inherited fEditorAlbaranDevProveedor: TfEditorAlbaranDevProveedor
Caption = 'Nueva orden de devoluci'#243'n de proveedor'
ExplicitWidth = 781
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
@ -121,17 +122,33 @@ inherited fEditorAlbaranDevProveedor: TfEditorAlbaranDevProveedor
57A308AABE386478304D80AFBF710C4F5121CA43E698041AB8669DA7F7EB63EA
6F8A0E921A675CAE400000000049454E44AE426082}
end
inherited lblDesbloquear: TcxLabel
AnchorX = 685
AnchorY = 14
end
end
inherited pgPaginas: TPageControl
ExplicitTop = 111
ExplicitHeight = 438
inherited pagGeneral: TTabSheet
ExplicitHeight = 410
end
inherited pagContenido: TTabSheet
inherited frViewDetallesAlbaranProveedor1: TfrViewDetallesAlbaranProveedor
inherited cxGrid: TcxGrid
ExplicitHeight = 338
end
end
end
inherited pagInicidencias: TTabSheet
ExplicitLeft = 4
ExplicitTop = 24
ExplicitWidth = 751
ExplicitHeight = 410
inherited frViewIncidenciasCli: TfrViewIncidencias
ExplicitHeight = 410
inherited GroupBox1: TGroupBox
inherited eIncidencias: TcxDBMemo
ExplicitWidth = 726
ExplicitHeight = 332
Height = 332
Width = 726
end
ExplicitHeight = 382
end
end
end
@ -139,14 +156,32 @@ inherited fEditorAlbaranDevProveedor: TfEditorAlbaranDevProveedor
inherited frViewTotales1: TfrViewTotales
inherited dxLayoutControl1: TdxLayoutControl
LookAndFeel = dxLayoutOfficeLookAndFeel1
inherited Bevel3: TBevel
Height = 30
ExplicitHeight = 30
end
inherited Bevel4: TBevel
Width = 21
ExplicitWidth = 21
end
inherited Bevel1: TBevel
Width = 332
ExplicitWidth = 332
end
inherited ImporteDto: TcxDBCurrencyEdit
Style.IsFontAssigned = True
ExplicitWidth = 93
Width = 93
end
inherited ImporteIVA: TcxDBCurrencyEdit
Style.IsFontAssigned = True
ExplicitWidth = 137
Width = 137
end
inherited ImporteTotal: TcxDBCurrencyEdit
Style.IsFontAssigned = True
ExplicitWidth = 137
Width = 137
end
inherited edtDescuento: TcxDBSpinEdit
Style.IsFontAssigned = True
@ -156,18 +191,58 @@ inherited fEditorAlbaranDevProveedor: TfEditorAlbaranDevProveedor
end
inherited ImporteBase: TcxDBCurrencyEdit
Style.IsFontAssigned = True
ExplicitWidth = 92
Width = 92
end
inherited edtRE: TcxDBSpinEdit
Style.IsFontAssigned = True
end
inherited edtIRPF: TcxDBSpinEdit
Style.IsFontAssigned = True
end
inherited ImporteRE: TcxDBCurrencyEdit
Style.IsFontAssigned = True
ExplicitWidth = 56
Width = 56
end
inherited ImporteIRPF: TcxDBCurrencyEdit
Style.IsFontAssigned = True
ExplicitWidth = 56
Width = 56
end
inherited eImporteNeto: TcxDBCurrencyEdit
Style.IsFontAssigned = True
ExplicitWidth = 147
Width = 147
end
inherited ePorte: TcxDBCurrencyEdit
Style.IsFontAssigned = True
ExplicitWidth = 147
Width = 147
end
inherited eIVA: TcxDBLookupComboBox
ExplicitWidth = 81
Width = 81
end
inherited cbRecargoEquivalencia: TcxDBCheckBox
ExplicitWidth = 219
Width = 219
end
inherited edtRetencion: TcxDBSpinEdit
Style.IsFontAssigned = True
end
inherited edtImporteRetencion: TcxDBCurrencyEdit
Style.IsFontAssigned = True
ExplicitWidth = 342
Width = 342
end
inherited edtFechaRetencion: TcxDBDateEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 333
Width = 333
end
inherited dxLayoutControl1Group_Root: TdxLayoutGroup
inherited dxLayoutControl1Group1: TdxLayoutGroup
@ -178,4 +253,11 @@ inherited fEditorAlbaranDevProveedor: TfEditorAlbaranDevProveedor
end
end
end
inherited PnlComentario: TPanel
ExplicitTop = 78
inherited lbComentario: TLabel
Width = 755
Height = 25
end
end
end

View File

@ -11,7 +11,7 @@ uses
uViewDetallesArticulos, uViewDetallesAlbaranProveedor, uCustomView, uViewBase,
uViewAlbaranProveedor, TBX, TB2Item, TB2Dock, TB2Toolbar, pngimage, ExtCtrls,
JvExControls, JvComponent, JvNavigationPane, uIEditorAlbaranDevProveedor,
uDAInterfaces, StdCtrls;
uDAInterfaces, StdCtrls, cxContainer, cxEdit, cxLabel, cxControls;
type
TfEditorAlbaranDevProveedor = class(TfEditorAlbaranProveedor, IEditorAlbaranDevProveedor)
@ -31,7 +31,7 @@ implementation
{$R *.dfm}
uses
cxControls, uDataTableUtils, uDialogUtils, uViewAlbaranDevProveedor;
uDataTableUtils, uDialogUtils, uViewAlbaranDevProveedor;
{ TfEditorAlbaranDevProveedor }

View File

@ -12,7 +12,6 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 765
Caption = 'Nuevo albar'#225'n de proveedor'
ExplicitTop = 52
ExplicitWidth = 765
inherited Image1: TImage
Left = 738
@ -125,12 +124,18 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
0000000049454E44AE426082}
ExplicitLeft = 735
end
inherited lblDesbloquear: TcxLabel
Left = 640
ExplicitLeft = 640
AnchorX = 685
AnchorY = 14
end
end
inherited TBXDock: TTBXDock
Width = 765
ExplicitWidth = 765
inherited tbxMain: TTBXToolbar
ExplicitWidth = 551
ExplicitWidth = 518
inherited TBXItem2: TTBXItem
Visible = False
end
@ -157,7 +162,7 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
end
inherited pgPaginas: TPageControl
Width = 759
Height = 437
Height = 438
TabOrder = 1
OnChanging = pgPaginasChanging
ExplicitTop = 112
@ -176,7 +181,7 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
Left = 0
Top = 0
Width = 751
Height = 409
Height = 410
Align = alClient
BiDiMode = bdLeftToRight
Font.Charset = DEFAULT_CHARSET
@ -189,50 +194,14 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
TabOrder = 0
ReadOnly = False
ExplicitWidth = 751
ExplicitHeight = 409
ExplicitHeight = 410
inherited ToolBar1: TToolBar
Width = 751
ExplicitWidth = 751
inherited UpDown1: TUpDown
Left = 239
ExplicitLeft = 239
end
inherited ToolButton13: TToolButton
Left = 256
ExplicitLeft = 256
end
inherited ToolButton6: TToolButton
Left = 264
ExplicitLeft = 264
end
inherited ToolButton7: TToolButton
Left = 298
ExplicitLeft = 298
end
inherited ToolButton8: TToolButton
Left = 332
ExplicitLeft = 332
end
inherited ToolButton12: TToolButton
Left = 366
ExplicitLeft = 366
end
inherited ToolButton9: TToolButton
Left = 374
ExplicitLeft = 374
end
inherited ToolButton10: TToolButton
Left = 408
ExplicitLeft = 408
end
inherited ToolButton11: TToolButton
Left = 442
ExplicitLeft = 442
end
end
inherited cxGrid: TcxGrid
Width = 751
Height = 337
Height = 338
ExplicitWidth = 751
ExplicitHeight = 337
inherited cxGridView: TcxGridDBTableView
@ -245,7 +214,7 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
Width = 751
ExplicitWidth = 751
inherited TBXToolbar1: TTBXToolbar
ExplicitWidth = 622
ExplicitWidth = 597
end
end
end
@ -253,11 +222,15 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
object pagInicidencias: TTabSheet
Caption = 'Incidencias'
ImageIndex = 2
ExplicitLeft = 0
ExplicitTop = 0
ExplicitWidth = 0
ExplicitHeight = 0
inline frViewIncidenciasCli: TfrViewIncidencias
Left = 0
Top = 0
Width = 751
Height = 409
Height = 410
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -278,13 +251,13 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
end
inherited GroupBox1: TGroupBox
Width = 751
Height = 381
Height = 382
ExplicitWidth = 751
ExplicitHeight = 381
inherited eIncidencias: TcxDBMemo
ExplicitWidth = 747
ExplicitHeight = 364
Height = 364
ExplicitHeight = 365
Height = 365
Width = 747
end
end
@ -552,10 +525,6 @@ inherited fEditorAlbaranProveedor: TfEditorAlbaranProveedor
Width = 765
ExplicitTop = 79
ExplicitWidth = 765
inherited lbComentario: TLabel
Width = 755
Height = 25
end
end
inherited EditorActionList: TActionList [9]
inherited actConfPagina: TAction

View File

@ -15,7 +15,7 @@ uses
uViewDetallesBase, uViewDetallesAlbaranProveedor,
dxLayoutLookAndFeels, JvExComCtrls, JvStatusBar, uViewTotales,
uIEditorAlbaranProveedor, uBizAlbaranesProveedor, uViewAlbaranProveedor,
uViewDetallesDTO, uViewDetallesArticulos, uDAInterfaces;
uViewDetallesDTO, uViewDetallesArticulos, uDAInterfaces, cxLabel;
type
TfEditorAlbaranProveedor = class(TfEditorDBItem, IEditorAlbaranProveedor)

View File

@ -1,8 +1,7 @@
inherited fEditorAlbaranesDevProveedor: TfEditorAlbaranesDevProveedor
Caption = 'Lista de '#243'rdenes de devoluci'#243'n de proveedor'
ClientWidth = 872
ExplicitWidth = 880
ExplicitHeight = 478
ExplicitWidth = 888
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
@ -133,14 +132,12 @@ inherited fEditorAlbaranesDevProveedor: TfEditorAlbaranesDevProveedor
inherited TBXDock: TTBXDock
Width = 872
ExplicitWidth = 872
inherited tbxMain: TTBXToolbar
ExplicitWidth = 632
end
inherited tbxMenu: TTBXToolbar
ExplicitWidth = 872
end
inherited TBXTMain2: TTBXToolbar
ExplicitWidth = 112
Visible = False
ExplicitWidth = 36
end
end
inherited StatusBar: TJvStatusBar
@ -154,6 +151,10 @@ inherited fEditorAlbaranesDevProveedor: TfEditorAlbaranesDevProveedor
inherited actGenerarFactura: TAction
Caption = 'Generar abono'
end
inherited actGenerarDevolucion: TAction
Enabled = False
Visible = False
end
end
inherited SmallImages: TPngImageList
PngImages = <

View File

@ -1,16 +1,17 @@
inherited fEditorAlbaranesProveedor: TfEditorAlbaranesProveedor
Caption = 'Lista de albaranes de proveedor'
ClientWidth = 606
ExplicitWidth = 614
ExplicitHeight = 240
ClientHeight = 674
ClientWidth = 1051
ExplicitWidth = 1067
ExplicitHeight = 712
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 606
Width = 1051
Caption = 'Lista de albaranes de proveedor'
ExplicitWidth = 606
ExplicitWidth = 1051
inherited Image1: TImage
Left = 579
Left = 1024
Picture.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001800
0000180806000000E0773DF80000000970485973000017120000171201679FD2
@ -122,13 +123,13 @@ inherited fEditorAlbaranesProveedor: TfEditorAlbaranesProveedor
end
end
inherited TBXDock: TTBXDock
Width = 606
ExplicitWidth = 606
Width = 1051
ExplicitWidth = 1051
inherited tbxMain: TTBXToolbar
ExplicitWidth = 606
ExplicitWidth = 688
end
inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 379
ExplicitWidth = 362
inherited lblAno: TTBXLabelItem
Visible = True
end
@ -140,20 +141,32 @@ inherited fEditorAlbaranesProveedor: TfEditorAlbaranesProveedor
end
end
inherited tbxMenu: TTBXToolbar
ExplicitWidth = 606
ExplicitWidth = 1051
end
inherited TBXTMain2: TTBXToolbar
Left = 379
ExplicitLeft = 379
Left = 362
Visible = True
ExplicitLeft = 362
ExplicitWidth = 143
object TBXItem39: TTBXItem
Action = actGenerarFactura
DisplayMode = nbdmImageAndText
end
object TBXItem38: TTBXItem
Action = actAsignarFactura
DisplayMode = nbdmImageAndText
end
object TBXItem40: TTBXItem
Action = actGenerarDevolucion
DisplayMode = nbdmImageAndText
end
end
end
inherited StatusBar: TJvStatusBar
Width = 606
ExplicitWidth = 606
Top = 655
Width = 1051
ExplicitTop = 655
ExplicitWidth = 1051
end
inherited EditorActionList: TActionList
inherited actNuevo: TAction
@ -184,6 +197,23 @@ inherited fEditorAlbaranesProveedor: TfEditorAlbaranesProveedor
Caption = 'Enviar por e-mail'
ImageIndex = 24
end
object actAsignarFactura: TAction
Caption = 'Asignar factura'
Enabled = False
ImageIndex = 23
Visible = False
OnExecute = actAsignarFacturaExecute
OnUpdate = actAsignarFacturaUpdate
end
object actGenerarDevolucion: TAction
Caption = 'Generar devoluci'#243'n'
Hint =
'Generar una orden de devoluci'#243'n a partir del albar'#225'n seleccionad' +
'o'
ImageIndex = 23
OnExecute = actGenerarDevolucionExecute
OnUpdate = actGenerarDevolucionUpdate
end
end
inherited SmallImages: TPngImageList
PngImages = <

View File

@ -23,11 +23,19 @@ type
TBXItem39: TTBXItem;
JsListaAlbaranesNoEliminados: TJSDialog;
ActEnviarEMail: TAction;
actAsignarFactura: TAction;
TBXItem38: TTBXItem;
actGenerarDevolucion: TAction;
TBXItem40: TTBXItem;
procedure FormShow(Sender: TObject);
procedure actGenerarFacturaExecute(Sender: TObject);
procedure actGenerarFacturaUpdate(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
procedure OnListaAnosChange(Sender: TObject; const Text: string);
procedure actAsignarFacturaExecute(Sender: TObject);
procedure actAsignarFacturaUpdate(Sender: TObject);
procedure actGenerarDevolucionExecute(Sender: TObject);
procedure actGenerarDevolucionUpdate(Sender: TObject);
protected
FAlbaranes: IBizAlbaranProveedor;
@ -62,9 +70,9 @@ type
implementation
uses
uDataModuleAlbaranesProveedor, uDataModuleUsuarios, uFactuGES_App,
uDataModuleAlbaranesProveedor, uDataModuleUsuarios, uFactuGES_App, cxControls,
// uGenerarFacturasProvAlbProvUtils,
uGenerarAlbaranesProvUtils,
uGenerarAlbaranesProvUtils, uStringsUtils,
uEditorBase, schAlbaranesProveedorClient_Intf,
uGridUtils, uDBSelectionListUtils;
@ -73,6 +81,21 @@ uses
{
*************************** TfEditorAlbaranesProveedor ***************************
}
procedure TfEditorAlbaranesProveedor.actAsignarFacturaExecute(Sender: TObject);
begin
inherited;
//
end;
procedure TfEditorAlbaranesProveedor.actAsignarFacturaUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := HayDatos
and not (ViewGrid.NumSeleccionados > 1)
and (Albaranes.REF_FACTURA = '')
and ViewGrid.esSeleccionCeldaDatos;
end;
procedure TfEditorAlbaranesProveedor.actEliminarUpdate(Sender: TObject);
begin
inherited;
@ -80,6 +103,40 @@ begin
(Sender as TAction).Enabled := not (FAlbaranes.ID_FACTURA > 0)
end;
procedure TfEditorAlbaranesProveedor.actGenerarDevolucionExecute(Sender: TObject);
var
ADevolucion : IBizAlbaranProveedor;
ACausa: String;
begin
inherited;
ShowHourglassCursor;
Application.ProcessMessages;
try
ADevolucion := FController.GenerarDevolucion(FAlbaranes);
if Assigned(ADevolucion) then
FController.Ver(ADevolucion);
if not EsCadenaVacia(ADevolucion.REFERENCIA) then
begin
ACausa := 'Devolución de material en orden de devolución ' + ADevolucion.REFERENCIA;
FController.AsignarIncidenciaDevolucion(FAlbaranes, ACausa);
end;
// RefrescarInterno;
finally
HideHourglassCursor;
Application.ProcessMessages;
end;
end;
procedure TfEditorAlbaranesProveedor.actGenerarDevolucionUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := HayDatos
and not (ViewGrid.NumSeleccionados > 1)
and ViewGrid.esSeleccionCeldaDatos;
end;
procedure TfEditorAlbaranesProveedor.actGenerarFacturaExecute(Sender: TObject);
begin
{
@ -204,13 +261,13 @@ begin
end;
procedure TfEditorAlbaranesProveedor.ImprimirInterno;
{var
var
Respuesta : Integer;
AAlbaranes: IBizAlbaranProveedor;
AllItems: Boolean;
}
begin
{
AAlbaranes := Nil;
AllItems := False;
@ -244,7 +301,6 @@ begin
end;
end;
end;
}
end;
function TfEditorAlbaranesProveedor.GetAlbaranes: IBizAlbaranProveedor;

View File

@ -1,23 +1,29 @@
inherited frViewAlbaranDevProveedor: TfrViewAlbaranDevProveedor
Height = 349
ExplicitHeight = 349
Width = 799
Height = 623
ExplicitWidth = 799
ExplicitHeight = 623
inherited dxLayoutControl1: TdxLayoutControl
Height = 349
ExplicitHeight = 349
Width = 799
Height = 623
ExplicitWidth = 799
ExplicitHeight = 623
inherited edtFechaAlbaran: TcxDBDateEdit
Left = 114
ExplicitLeft = 114
Left = 124
ExplicitLeft = 124
ExplicitWidth = 119
Width = 119
end
inherited eReferencia: TcxDBTextEdit
Left = 114
ExplicitLeft = 114
Left = 124
ExplicitLeft = 124
ExplicitWidth = 143
Width = 143
end
inherited frViewProveedorAlbaran: TfrViewDatosYSeleccionProveedor
Left = 386
Width = 350
ExplicitLeft = 386
ExplicitWidth = 350
inherited dxLayoutControl1: TdxLayoutControl
Width = 350
@ -41,6 +47,14 @@ inherited frViewAlbaranDevProveedor: TfrViewAlbaranDevProveedor
ExplicitWidth = 327
Width = 327
end
inherited edtCodigoPostal: TcxDBTextEdit
Left = 299
ExplicitLeft = 299
end
inherited Button3: TBitBtn
Left = 183
ExplicitLeft = 183
end
end
end
inherited frViewDireccionEntregaAlbaranProv1: TfrViewDireccionEntregaAlbaranProv
@ -64,10 +78,10 @@ inherited frViewAlbaranDevProveedor: TfrViewAlbaranDevProveedor
Width = 425
end
inherited bModificar: TBitBtn
Left = 136
Top = 109
ExplicitLeft = 136
ExplicitTop = 109
Left = 196
Top = 251
ExplicitLeft = 196
ExplicitTop = 251
end
inherited txtDireccion: TStaticText
Width = 549
@ -92,26 +106,31 @@ inherited frViewAlbaranDevProveedor: TfrViewAlbaranDevProveedor
end
end
inherited cbFormaPago: TcxDBLookupComboBox
Left = 114
ExplicitLeft = 114
Left = 124
ExplicitLeft = 124
ExplicitWidth = 90
Width = 90
end
inherited eReferenciaPedidoCli: TcxTextEdit
Left = 114
ExplicitLeft = 114
ExplicitWidth = 69
Width = 69
inherited bFormasPago: TButton
Left = 224
ExplicitLeft = 224
end
inherited eRefFactura: TcxDBTextEdit
Left = 124
DataBinding.DataField = 'REF_ALB_PROV'
ExplicitLeft = 124
ExplicitWidth = 262
Width = 262
end
inherited eReferenciaProveedor: TcxDBTextEdit
Left = 124
ExplicitLeft = 124
ExplicitWidth = 262
Width = 262
end
inherited eReferenciaFacturaProveedor: TcxDBTextEdit
Left = 124
ExplicitLeft = 124
ExplicitWidth = 262
Width = 262
end
@ -127,8 +146,10 @@ inherited frViewAlbaranDevProveedor: TfrViewAlbaranDevProveedor
end
end
inherited frViewObservaciones1: TfrViewObservaciones
Left = 386
Width = 521
Height = 228
ExplicitLeft = 386
ExplicitWidth = 521
ExplicitHeight = 228
inherited memObservaciones: TcxDBMemo
@ -137,6 +158,14 @@ inherited frViewAlbaranDevProveedor: TfrViewAlbaranDevProveedor
Width = 521
end
end
inherited eReferenciaPedidosProv: TcxDBTextEdit
Left = 124
DataBinding.DataField = 'REF_PED_PROV_PADRE'
Enabled = False
ExplicitLeft = 124
ExplicitWidth = 201
Width = 201
end
inherited dxLayoutControl1Group_Root: TdxLayoutGroup
inherited dxLayoutControl1Group6: TdxLayoutGroup
inherited dxLayoutControl1Group1: TdxLayoutGroup
@ -144,11 +173,10 @@ inherited frViewAlbaranDevProveedor: TfrViewAlbaranDevProveedor
inherited dxLayoutControl1Item2: TdxLayoutItem
Caption = 'Fecha de orden:'
end
inherited dxLayoutControl1Group5: TdxLayoutGroup
Visible = False
end
inherited dxLayoutControl1Item10: TdxLayoutItem
Caption = 'Ref. abono:'
Caption = 'Ref. albar'#225'n origen:'
Enabled = True
Visible = True
end
inherited dxLayoutControl1Item12: TdxLayoutItem
Caption = 'Ref. abono prov.:'

View File

@ -19,7 +19,7 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
723
585)
object edtFechaAlbaran: TcxDBDateEdit
Left = 119
Left = 121
Top = 82
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'FECHA_ALBARAN'
@ -41,7 +41,7 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
Width = 119
end
object eReferencia: TcxDBTextEdit
Left = 119
Left = 121
Top = 28
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'REFERENCIA'
@ -73,7 +73,7 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 11
TabOrder = 10
ReadOnly = False
ExplicitLeft = 350
ExplicitTop = 28
@ -113,12 +113,6 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
end
inherited ActionList1: TActionList
Top = 72
inherited actElegirContacto: TAction
OnUpdate = frViewProveedorAlbaranactElegirContactoUpdate
end
inherited actAnadirContacto: TAction
OnUpdate = frViewProveedorAlbaranactAnadirContactoUpdate
end
end
inherited PngImageList: TPngImageList
Top = 72
@ -126,7 +120,7 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
end
inline frViewDireccionEntregaAlbaranProv1: TfrViewDireccionEntregaAlbaranProv
Left = 22
Top = 317
Top = 315
Width = 445
Height = 175
Font.Charset = DEFAULT_CHARSET
@ -135,10 +129,10 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 10
TabOrder = 9
ReadOnly = False
ExplicitLeft = 22
ExplicitTop = 317
ExplicitTop = 315
ExplicitWidth = 445
ExplicitHeight = 175
inherited dxLayoutControl1: TdxLayoutControl
@ -160,9 +154,9 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
end
inherited bModificar: TBitBtn
Left = 160
Top = 211
Top = 213
ExplicitLeft = 160
ExplicitTop = 211
ExplicitTop = 213
end
inherited txtDireccion: TStaticText
Height = 110
@ -175,8 +169,8 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
end
end
object cbFormaPago: TcxDBLookupComboBox
Left = 119
Top = 192
Left = 121
Top = 190
DataBinding.DataField = 'ID_FORMA_PAGO'
DataBinding.DataSource = DADataSource
Properties.DropDownListStyle = lsFixedList
@ -202,52 +196,21 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 7
TabOrder = 6
Width = 90
end
object bFormasPago: TButton
Left = 188
Top = 192
Top = 190
Width = 132
Height = 21
Caption = 'Ver las formas de pago...'
TabOrder = 8
TabOrder = 7
OnClick = bFormasPagoClick
end
object eReferenciaPedidoCli: TcxTextEdit
Left = 119
Top = 109
Anchors = [akLeft, akTop, akRight]
Enabled = False
Properties.ReadOnly = False
Properties.ValidateOnEnter = True
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
StyleDisabled.TextColor = clWindowText
StyleFocused.LookAndFeel.Kind = lfStandard
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 3
Width = 122
end
object Button1: TButton
Left = 188
Top = 109
Width = 132
Height = 23
Action = actVerPedido
TabOrder = 4
end
object eRefFactura: TcxDBTextEdit
Left = 119
Top = 138
Left = 121
Top = 136
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'REF_FACTURA'
DataBinding.DataSource = DADataSource
@ -268,11 +231,11 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 5
TabOrder = 4
Width = 216
end
object eReferenciaProveedor: TcxDBTextEdit
Left = 119
Left = 121
Top = 55
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'REFERENCIA_PROVEEDOR'
@ -293,11 +256,12 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
Width = 170
end
object eReferenciaFacturaProveedor: TcxDBTextEdit
Left = 119
Top = 165
Left = 121
Top = 163
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'REF_FACTURA_PROV'
DataBinding.DataSource = DADataSource
Enabled = False
Properties.ReadOnly = False
Properties.ValidateOnEnter = True
Style.BorderColor = clWindowFrame
@ -314,12 +278,12 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
StyleFocused.LookAndFeel.NativeStyle = True
StyleHot.LookAndFeel.Kind = lfStandard
StyleHot.LookAndFeel.NativeStyle = True
TabOrder = 6
TabOrder = 5
Width = 170
end
inline frViewTienda1: TfrViewTienda
Left = 22
Top = 249
Top = 247
Width = 366
Height = 32
Enabled = False
@ -329,10 +293,10 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 9
TabOrder = 8
ReadOnly = False
ExplicitLeft = 22
ExplicitTop = 249
ExplicitTop = 247
ExplicitWidth = 366
ExplicitHeight = 32
inherited dxLayoutControl1: TdxLayoutControl
@ -355,7 +319,7 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
Font.Name = 'Tahoma'
Font.Style = []
ParentFont = False
TabOrder = 12
TabOrder = 11
ReadOnly = False
ExplicitLeft = 350
ExplicitTop = 276
@ -367,6 +331,31 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
Height = 228
end
end
object eReferenciaPedidosProv: TcxDBTextEdit
Left = 121
Top = 109
Anchors = [akLeft, akTop, akRight]
DataBinding.DataField = 'REF_PEDIDOS_PROV'
DataBinding.DataSource = DADataSource
Properties.ReadOnly = False
Properties.ValidateOnEnter = True
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.Color = clWindow
Style.HotTrack = False
Style.LookAndFeel.Kind = lfStandard
Style.LookAndFeel.NativeStyle = True
StyleDisabled.Color = clMenuBar
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 = 3
Width = 201
end
object dxLayoutControl1Group_Root: TdxLayoutGroup
ShowCaption = False
Hidden = True
@ -397,33 +386,22 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
Control = edtFechaAlbaran
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Group5: TdxLayoutGroup
ShowCaption = False
Hidden = True
LayoutDirection = ldHorizontal
ShowBorder = False
object dxLayoutControl1Item8: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahClient
Caption = 'Ref. del pedido:'
Control = eReferenciaPedidoCli
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item9: TdxLayoutItem
AutoAligns = [aaVertical]
AlignHorz = ahRight
ShowCaption = False
Control = Button1
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item14: TdxLayoutItem
Caption = 'Ref. pedidos prov.:'
Control = eReferenciaPedidosProv
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item10: TdxLayoutItem
Caption = 'Ref. factura:'
Enabled = False
Visible = False
Control = eRefFactura
ControlOptions.ShowBorder = False
end
object dxLayoutControl1Item12: TdxLayoutItem
Caption = 'Ref. factura prov.:'
Enabled = False
Visible = False
Control = eReferenciaFacturaProveedor
ControlOptions.ShowBorder = False
end
@ -515,11 +493,6 @@ inherited frViewAlbaranProveedor: TfrViewAlbaranProveedor
OnExecute = actElegirDireccionExecute
OnUpdate = actElegirDireccionUpdate
end
object actVerPedido: TAction
Caption = 'Ver el pedido de prov...'
OnExecute = actVerPedidoExecute
OnUpdate = actVerPedidoUpdate
end
end
object dsFormaPago: TDADataSource
Left = 40

View File

@ -57,12 +57,6 @@ type
bFormasPago: TButton;
dxLayoutControl1Group4: TdxLayoutGroup;
dsFormaPago: TDADataSource;
dxLayoutControl1Item8: TdxLayoutItem;
eReferenciaPedidoCli: TcxTextEdit;
dxLayoutControl1Item9: TdxLayoutItem;
Button1: TButton;
dxLayoutControl1Group5: TdxLayoutGroup;
actVerPedido: TAction;
dxLayoutControl1Item10: TdxLayoutItem;
eRefFactura: TcxDBTextEdit;
dxLayoutControl1Item11: TdxLayoutItem;
@ -74,18 +68,15 @@ type
dxLayoutControl1Group9: TdxLayoutGroup;
frViewObservaciones1: TfrViewObservaciones;
dxLayoutControl1Item6: TdxLayoutItem;
dxLayoutControl1Item14: TdxLayoutItem;
eReferenciaPedidosProv: TcxDBTextEdit;
procedure CustomViewCreate(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure actElegirDireccionExecute(Sender: TObject);
procedure frViewProveedorAlbaranButton1Click(Sender: TObject);
procedure frViewProveedorAlbaranButton2Click(Sender: TObject);
procedure bFormasPagoClick(Sender: TObject);
procedure actVerPedidoExecute(Sender: TObject);
procedure frViewProveedorAlbaranactElegirContactoUpdate(Sender: TObject);
procedure frViewProveedorAlbaranactAnadirContactoUpdate(Sender: TObject);
procedure actElegirDireccionUpdate(Sender: TObject);
procedure actVerPedidoUpdate(Sender: TObject);
protected
FAlbaran : IBizAlbaranProveedor;
@ -93,7 +84,6 @@ type
FViewProveedorAlbaran : TfrViewDatosYSeleccionProveedor;
FFormasPago : IBizFormaPago;
FFormasPagoController : IFormasPagoController;
FPedidoAsociado : IBizPedidoProveedor;
FPedidoController : IPedidosProveedorController;
function GetAlbaran: IBizAlbaranProveedor;
@ -158,19 +148,6 @@ begin
}
end;
procedure TfrViewAlbaranProveedor.actVerPedidoExecute(Sender: TObject);
begin
inherited;
FPedidoController.Ver(FPedidoAsociado);
end;
procedure TfrViewAlbaranProveedor.actVerPedidoUpdate(Sender: TObject);
begin
inherited;
if (Sender as TAction).Enabled then
(Sender as TAction).Enabled := (Albaran.REF_PED_PROVEEDOR <> '')
end;
procedure TfrViewAlbaranProveedor.bFormasPagoClick(Sender: TObject);
begin
inherited;
@ -181,8 +158,6 @@ end;
procedure TfrViewAlbaranProveedor.CustomViewCreate(Sender: TObject);
begin
inherited;
FPedidoAsociado := NIL;
FPedidoController := TPedidosProveedorController.Create;
FFormasPago := Nil;
FFormasPagoController := TFormasPagoController.Create;
FViewProveedorAlbaran := frViewProveedorAlbaran;
@ -193,26 +168,12 @@ end;
procedure TfrViewAlbaranProveedor.CustomViewDestroy(Sender: TObject);
begin
FPedidoController := NIL;
FFormasPago := Nil;
FFormasPagoController := NIL;
FPedidoAsociado := NIL;
FViewProveedorAlbaran := Nil;
inherited;
end;
procedure TfrViewAlbaranProveedor.frViewProveedorAlbaranactAnadirContactoUpdate(Sender: TObject);
begin
if (Sender as TAction).Enabled then
(Sender as TAction).Enabled := not Assigned(FPedidoAsociado);
end;
procedure TfrViewAlbaranProveedor.frViewProveedorAlbaranactElegirContactoUpdate(Sender: TObject);
begin
if (Sender as TAction).Enabled then
(Sender as TAction).Enabled := (not Assigned(FPedidoAsociado));
end;
procedure TfrViewAlbaranProveedor.frViewProveedorAlbaranButton1Click(Sender: TObject);
begin
if Assigned(Albaran) and Assigned(Albaran.Proveedor) and
@ -265,23 +226,7 @@ begin
frViewProveedorAlbaran.Proveedor := FAlbaran.Proveedor;
frViewDireccionEntregaAlbaranProv1.AlbaranProveedor := FAlbaran;
eReferenciaPedidoCli.Enabled := False;
eRefFactura.Enabled := False;
FPedidoAsociado := NIL;
if (FAlbaran.ID_PEDIDO > 0) then
begin
FPedidoAsociado := FPedidoController.Buscar(FAlbaran.ID_PEDIDO);
if Assigned(FPedidoAsociado) then
begin
FPedidoAsociado.DataTable.Active := True;
eReferenciaPedidoCli.Text := FPedidoAsociado.REFERENCIA
end
else
eReferenciaPedidoCli.Text := '';
end
else
eReferenciaPedidoCli.Text := 'No hay pedido asociado';
end
else begin
DADataSource.DataTable := NIL;

View File

@ -2,8 +2,12 @@ inherited frViewAlbaranesDevProveedor: TfrViewAlbaranesDevProveedor
OnCreate = CustomViewCreate
inherited cxGrid: TcxGrid
inherited cxGridView: TcxGridDBTableView
inherited cxGridViewREF_FACTURA: TcxGridDBColumn
Caption = 'Ref. abono'
object cxGridViewALBARAN_PADRE: TcxGridDBColumn [7]
Caption = 'Ref. albar'#225'n origen'
DataBinding.FieldName = 'REF_ALB_PROV'
end
inherited cxGridViewREF_PEDIDOS_PROV: TcxGridDBColumn
DataBinding.FieldName = 'REF_PED_PROV_PADRE'
end
end
end
@ -11,21 +15,36 @@ inherited frViewAlbaranesDevProveedor: TfrViewAlbaranesDevProveedor
inherited TBXDockablePanel1: TTBXDockablePanel
inherited dxLayoutControl1: TdxLayoutControl
inherited txtFiltroTodo: TcxTextEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 273
Width = 273
end
end
inherited edtFechaIniFiltro: TcxDateEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 121
Width = 121
end
inherited edtFechaFinFiltro: TcxDateEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 217
Width = 217
end
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
inherited tbxBotones: TTBXToolbar
Width = 586
inherited txtFiltroTodo2: TcxTextEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitWidth = 250
Width = 250
end
end
end

View File

@ -78,8 +78,9 @@ inherited frViewAlbaranesProveedor: TfrViewAlbaranesProveedor
DataBinding.FieldName = 'NOMBRE'
Width = 160
end
object cxGridViewREF_PED_PROVEEDOR: TcxGridDBColumn
DataBinding.FieldName = 'REF_PED_PROVEEDOR'
object cxGridViewREF_PEDIDOS_PROV: TcxGridDBColumn
Caption = 'Pedidos asociados'
DataBinding.FieldName = 'REF_PEDIDOS_PROV'
Visible = False
Width = 25
end
@ -112,20 +113,6 @@ inherited frViewAlbaranesProveedor: TfrViewAlbaranesProveedor
DataBinding.FieldName = 'TELEFONO'
Visible = False
end
object cxGridViewREF_FACTURA: TcxGridDBColumn
Caption = 'Ref. factura'
DataBinding.FieldName = 'REF_FACTURA'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taRightJustify
HeaderAlignmentHorz = taRightJustify
Width = 24
end
object cxGridViewREF_FACTURA_PROV: TcxGridDBColumn
DataBinding.FieldName = 'REF_FACTURA_PROV'
PropertiesClassName = 'TcxTextEditProperties'
Properties.Alignment.Horz = taRightJustify
HeaderAlignmentHorz = taRightJustify
end
object cxGridViewIMPORTE_TOTAL: TcxGridDBColumn
Caption = 'Importe total'
DataBinding.FieldName = 'IMPORTE_TOTAL'
@ -174,6 +161,16 @@ inherited frViewAlbaranesProveedor: TfrViewAlbaranesProveedor
ExplicitWidth = 217
Width = 217
end
inherited txtFiltroTodo2: TcxTextEdit
Left = 354
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
StyleFocused.LookAndFeel.SkinName = ''
StyleHot.LookAndFeel.SkinName = ''
ExplicitLeft = 354
ExplicitWidth = 250
Width = 250
end
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 596

View File

@ -35,8 +35,7 @@ type
cxGridViewPERSONA_CONTACTO: TcxGridDBColumn;
cxGridViewTELEFONO: TcxGridDBColumn;
cxGridViewNOMBRE_ALMACEN: TcxGridDBColumn;
cxGridViewREF_PED_PROVEEDOR: TcxGridDBColumn;
cxGridViewREF_FACTURA: TcxGridDBColumn;
cxGridViewREF_PEDIDOS_PROV: TcxGridDBColumn;
cxGridViewIMPORTE_TOTAL: TcxGridDBColumn;
actProveedor: TAction;
actAlmacen: TAction;
@ -45,7 +44,6 @@ type
TBXItem3: TTBXItem;
TBXSeparatorItem2: TTBXSeparatorItem;
cxGridViewREFERENCIA_PROVEEDOR: TcxGridDBColumn;
cxGridViewREF_FACTURA_PROV: TcxGridDBColumn;
cxGridViewTIENDA: TcxGridDBColumn;
procedure cxGridActiveTabChanged(Sender: TcxCustomGrid; ALevel:
TcxGridLevel);

View File

@ -41,7 +41,29 @@
<Borland.Personality>Delphi.Personality</Borland.Personality>
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">True</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Almacenes_model.dpk</Source></Source><Excluded_Packages>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Source><Source Name="MainSource">Almacenes_model.dpk</Source></Source><Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\vclhie100.bpl">Internet Explorer Hosting Support Package</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\applet100.bpl">CodeGear Control Panel Applet Package</Excluded_Packages>
<Excluded_Packages Name="$(BDS)\bin\dclwebsnap100.bpl">CodeGear WebSnap Components</Excluded_Packages>
@ -60,8 +82,11 @@
<DelphiCompile Include="Almacenes_model.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\..\GUIBase\ApplicationBasecontainsuBizAlmacenesin.dcp" />
<DCCReference Include="..\..\..\GUIBase\Base.dcp" />
<DCCReference Include="..\..\..\Cliente\ApplicationBase.dcp" />
<DCCReference Include="..\..\..\Cliente\Base.dcp" />
<DCCReference Include="Data\uIDataModuleAlmacenes.pas" />
<DCCReference Include="schAlmacenesClient_Intf.pas" />
<DCCReference Include="uBizAlmacenes.pas" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line

View File

@ -55,12 +55,12 @@
<DelphiCompile Include="Articulos_controller.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\..\..\Resources\Iconos\Cuentas\24x24\Articulos_data.dcp" />
<DCCReference Include="..\..\..\..\Resources\Iconos\Cuentas\24x24\Articulos_model.dcp" />
<DCCReference Include="..\..\..\..\Resources\Iconos\Cuentas\24x24\Contactos_controller.dcp" />
<DCCReference Include="..\..\..\..\Resources\Iconos\Cuentas\24x24\Contactos_model.dcp" />
<DCCReference Include="..\..\..\..\Resources\Iconos\Cuentas\24x24\GUIBase.dcp" />
<DCCReference Include="..\..\..\..\Resources\Iconos\Cuentas\24x24\Tarifas_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Articulos_data.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Articulos_model.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Contactos_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Contactos_model.dcp" />
<DCCReference Include="$(SystemRoot)\system32\GUIBase.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Tarifas_controller.dcp" />
<DCCReference Include="uArticulosController.pas" />
<DCCReference Include="uControllerDetallesArticulos.pas" />
<DCCReference Include="View\uIEditorArticulo.pas" />

View File

@ -19,6 +19,8 @@ type
function BuscarTodos(AProveedor: IBizProveedor): IBizArticulo; overload;
function BuscarReferencia(const Ref: String; AClienteID: Integer): IBizArticulo;
function BuscarReferenciaProveedor(const Ref: String; AClienteID: Integer): IBizArticulo;
procedure BuscarPedidoConArticulo(AArticulo : IBizArticulo);
procedure Ver(AArticulo : IBizArticulo);
procedure VerTodos(AArticulos: IBizArticulo);
function Nuevo : IBizArticulo;
@ -90,13 +92,15 @@ type
procedure Anadir(AArticulo : IBizArticulo); virtual;
function Buscar(const ID: Integer; AClienteID: Integer = -1): IBizArticulo; virtual;
function BuscarTodos: IBizArticulo; overload;
function BuscarTodosPorProveedor: IBizArticulo; overload;
function BuscarTodosPorProveedor: IBizArticulo; overload;
function BuscarInventariables: IBizArticulo;
function BuscarTodos(ACliente: IBizCliente): IBizArticulo; overload;
function BuscarTodos(ACliente: Integer): IBizArticulo; overload;
function BuscarTodos(AProveedor: IBizProveedor): IBizArticulo; overload;
function BuscarReferencia(const Ref: String; AClienteID: Integer = -1): IBizArticulo; virtual;
function BuscarReferenciaProveedor(const Ref: String; AClienteID: Integer): IBizArticulo; virtual;
procedure BuscarPedidoConArticulo(AArticulo : IBizArticulo);
function Nuevo : IBizArticulo; virtual;
procedure Ver(AArticulo : IBizArticulo); virtual;
procedure VerTodos(AArticulos: IBizArticulo); virtual;
@ -126,8 +130,8 @@ type
implementation
uses
cxControls, DB, uEditorRegistryUtils, schArticulosClient_Intf, uFactuGES_App,
uIEditorArticulos, uIEditorArticulo, uIEditorElegirArticulos,
umodulecontroller, uPlugins_Intf, cxControls, DB, uEditorRegistryUtils, schArticulosClient_Intf, uFactuGES_App,
uIEditorArticulos, uIEditorArticulo, uIEditorElegirArticulos, uBizIdiomas,
uDataModuleArticulos, uDataModuleUsuarios, uDAInterfaces, uTarifasController,
uDataTableUtils, uDateUtils, uROTypes, DateUtils, Controls, Windows;
@ -136,6 +140,14 @@ uses
procedure TArticulosController.Anadir(AArticulo: IBizArticulo);
begin
AArticulo.Insert;
//Se pone aqui en lugar de IniciarValoresArticuloNuevo de la clase de negocio BizArticulos, porque al duplicar entidad produce un efecto lateral que no permite poner la tabla target en modo insert
//y falla el duplicar por contra sale el mensaje ha habido cambios aunque no hayas metido nada
AArticulo.Idiomas.Insert;
AArticulo.Idiomas.DataTable.FieldByName(fld_Articulos_IdiomasID_IDIOMA).AsInteger := CTE_ID_IDIOMA_EN;
AArticulo.Idiomas.Insert;
AArticulo.Idiomas.DataTable.FieldByName(fld_Articulos_IdiomasID_IDIOMA).AsInteger := CTE_ID_IDIOMA_FR;
AArticulo.Idiomas.Insert;
end;
procedure TArticulosController.AnadirProveedor(AArticulo: IBizArticulo);
@ -236,6 +248,28 @@ begin
end;
end;
procedure TArticulosController.BuscarPedidoConArticulo(AArticulo: IBizArticulo);
var
AModule : TModuleController;
APlugin : IMCPedidosProveedor;
begin
if not Assigned(AArticulo) then
raise Exception.Create ('Articulo no asignado (BuscarPedidoConArticulo)');
if not AArticulo.DataTable.Active then
AArticulo.DataTable.Active := True;
AModule := AppFactuGES.GetModule(MODULENAME_PEDIDOS_PROVEEDOR);
if Assigned(AModule) then
try
if Supports(AModule, IMCPedidosProveedor, APlugin) then
//Se busca de forma exacta
APlugin.VerPedidosConArticulo(AArticulo.ID, AArticulo.DESCRIPCION);
finally
APlugin := NIL;
end;
end;
function TArticulosController.BuscarReferencia(const Ref: String; AClienteID: Integer = -1): IBizArticulo;
var
Condicion: TDAWhereExpression;
@ -402,7 +436,7 @@ begin
begin
begin
//El artículo libre comisionable no podrá cambiarse de valor
if (AArticulos.ID <> CTE_ART_COMISIONABLE_MODIFICABLE) then
if (AArticulos.REFERENCIA_PROV <> CTE_ART_COMISIONABLE_MODIFICABLE) then
begin
Edit;
AArticulos.COMISIONABLE := Valor;
@ -463,12 +497,14 @@ begin
ShowHourglassCursor;
try
DuplicarRegistros(AArticulo.DataTable, Result.DataTable, mdrActual);
DuplicarRegistros(AArticulo.Proveedores.DataTable, Result.Proveedores.DataTable, mdrTodos);
DuplicarRegistros(AArticulo.Idiomas.DataTable, Result.Idiomas.DataTable, mdrTodos);
// Hay que dejar algunos campos como si fuera un artículo nuevo
Result.Edit;
with Result do
begin
ID_EMPRESA := AppFactuGES.EmpresaActiva.ID;
ID_EMPRESA := AppFactuGES.EmpresaActiva.ID;
USUARIO := AppFactuGES.UsuarioActivo.UserName;
end;
@ -647,7 +683,7 @@ begin
if not Assigned(AArticulo) then
raise Exception.Create ('Articulo no asignado (EsEliminable)');
Result := AArticulo.ID <> CTE_ART_COMISIONABLE_MODIFICABLE;
Result := AArticulo.REFERENCIA_PROV <> CTE_ART_COMISIONABLE_MODIFICABLE;
end;
function TArticulosController.EsModificable(AArticulo: IBizArticulo): Boolean;
@ -655,7 +691,7 @@ begin
if not Assigned(AArticulo) then
raise Exception.Create ('Articulo no asignado (EsModificable)');
Result := AArticulo.ID <> CTE_ART_COMISIONABLE_MODIFICABLE;
Result := AArticulo.REFERENCIA_PROV <> CTE_ART_COMISIONABLE_MODIFICABLE;
end;
procedure TArticulosController.RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable);
@ -785,10 +821,19 @@ var
AArticulo : IBizArticulo;
begin
AArticulo := FDataModule.NewItem;
//LOS ARTICULOS PASAN A SER COMUNES PARA LAS EMPRESAS
//LOS ARTICULOS PASAN A SER COMUNES PARA LAS EMPRESAS
// FiltrarEmpresa(AArticulo);
AArticulo.DataTable.Active := True;
AArticulo.Insert;
//Se pone aqui en lugar de IniciarValoresArticuloNuevo de la clase de negocio BizArticulos, porque al duplicar entidad produce un efecto lateral que no permite poner la tabla target en modo insert
//y falla el duplicar por contra sale el mensaje ha habido cambios aunque no hayas metido nada
AArticulo.Idiomas.Insert;
AArticulo.Idiomas.DataTable.FieldByName(fld_Articulos_IdiomasID_IDIOMA).AsInteger := CTE_ID_IDIOMA_EN;
AArticulo.Idiomas.Insert;
AArticulo.Idiomas.DataTable.FieldByName(fld_Articulos_IdiomasID_IDIOMA).AsInteger := CTE_ID_IDIOMA_FR;
AArticulo.Idiomas.Insert;
Result := AArticulo;
end;

View File

@ -54,7 +54,7 @@
<DelphiCompile Include="Articulos_data.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\..\..\Resources\Iconos\Cuentas\24x24\Articulos_model.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Articulos_model.dcp" />
<DCCReference Include="uDataModuleArticulos.pas">
<Form>DataModuleArticulos</Form>
</DCCReference>

View File

@ -55,22 +55,22 @@
<DelphiCompile Include="Articulos_model.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="adortl.dcp" />
<DCCReference Include="ApplicationBase.dcp" />
<DCCReference Include="Base.dcp" />
<DCCReference Include="DataAbstract_Core_D11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\adortl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\ApplicationBase.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Base.dcp" />
<DCCReference Include="$(SystemRoot)\system32\DataAbstract_Core_D11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dbrtl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dsnap.dcp" />
<DCCReference Include="$(SystemRoot)\system32\RemObjects_Core_D11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\rtl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcldb.dcp" />
<DCCReference Include="Data\uIDataModuleArticulos.pas" />
<DCCReference Include="dbrtl.dcp" />
<DCCReference Include="dsnap.dcp" />
<DCCReference Include="RemObjects_Core_D11.dcp" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="schArticulosClient_Intf.pas" />
<DCCReference Include="schArticulosServer_Intf.pas" />
<DCCReference Include="uBizArticulos.pas" />
<DCCReference Include="uBizArticulosIdiomas.pas" />
<DCCReference Include="uBizArticulosProveedores.pas" />
<DCCReference Include="vcl.dcp" />
<DCCReference Include="vcldb.dcp" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line

View File

@ -9,7 +9,7 @@ uses
const
BIZ_CLIENT_ARTICULO = 'Client.Articulo';
CTE_TARIFA_COMPRAS = 'Compras';
CTE_ART_COMISIONABLE_MODIFICABLE = 1;
CTE_ART_COMISIONABLE_MODIFICABLE = 'TXT_LIBRE_COMI';
type
IBizArticulo = interface(IArticulos)

View File

@ -55,37 +55,37 @@
<DelphiCompile Include="Articulos_view.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\Pedidos a proveedor\adortl.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\Articulos_controller.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\Articulos_model.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\Contactos_view.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\cxDataD11.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\cxEditorsD11.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\cxExportD11.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\cxExtEditorsD11.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\cxGridD11.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\cxLibraryD11.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\cxPageControlD11.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\dbrtl.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\dsnap.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\dxCoreD11.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\dxGDIPlusD11.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\dxThemeD11.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\Familias_controller.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\GUIBase.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\PngComponentsD10.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\PNG_D10.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\rtl.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\SubFamilias_controller.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\Tarifas_controller.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\UnidadesMedida_controller.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\vcl.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\vclactnband.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\vcldb.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\vcljpg.dcp" />
<DCCReference Include="..\..\Pedidos a proveedor\vclx.dcp" />
<DCCReference Include="$(SystemRoot)\system32\adortl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Articulos_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Articulos_model.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Contactos_view.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxDataD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxEditorsD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxExportD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxExtEditorsD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxGridD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxLibraryD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxPageControlD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\DataAbstract_Core_D11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dbrtl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dsnap.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxCoreD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxGDIPlusD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxThemeD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Familias_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\GUIBase.dcp" />
<DCCReference Include="$(SystemRoot)\system32\PngComponentsD10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\PNG_D10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\RemObjects_Core_D11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\rtl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\SubFamilias_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Tarifas_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\UnidadesMedida_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vclactnband.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcldb.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcljpg.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vclx.dcp" />
<DCCReference Include="uArticulosViewRegister.pas" />
<DCCReference Include="uEditorArticulo.pas">
<Form>fEditorArticulo</Form>

View File

@ -8,14 +8,13 @@ inherited fEditorArticulo: TfEditorArticulo
ClientWidth = 957
Scaled = False
OnClose = CustomEditorClose
ExplicitWidth = 965
ExplicitWidth = 973
ExplicitHeight = 707
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 957
Caption = 'Art'#237'culo'
ExplicitTop = 52
ExplicitWidth = 957
inherited Image1: TImage
Left = 930
@ -35,12 +34,18 @@ inherited fEditorArticulo: TfEditorArticulo
4495BD38333E3DC0F0B71000FEC966E74A55381F0000000049454E44AE426082}
ExplicitLeft = 607
end
inherited lblDesbloquear: TcxLabel
Left = 832
ExplicitLeft = 832
AnchorX = 877
AnchorY = 14
end
end
inherited TBXDock: TTBXDock
Width = 957
ExplicitWidth = 957
inherited tbxMain: TTBXToolbar
ExplicitWidth = 543
ExplicitWidth = 511
inherited TBXItem2: TTBXItem
Visible = False
end
@ -112,11 +117,10 @@ inherited fEditorArticulo: TfEditorArticulo
end
inherited pgPaginas: TPageControl
Width = 951
Height = 535
Height = 536
ActivePage = pagPrecios
ExplicitTop = 112
ExplicitWidth = 951
ExplicitHeight = 535
ExplicitHeight = 536
inherited pagGeneral: TTabSheet
ExplicitLeft = 4
ExplicitTop = 24
@ -130,7 +134,7 @@ inherited fEditorArticulo: TfEditorArticulo
Left = 0
Top = 0
Width = 943
Height = 507
Height = 508
Align = alClient
Font.Charset = DEFAULT_CHARSET
Font.Color = clWindowText
@ -141,27 +145,39 @@ inherited fEditorArticulo: TfEditorArticulo
TabOrder = 0
ReadOnly = False
ExplicitWidth = 943
ExplicitHeight = 507
ExplicitHeight = 508
inherited cxGrid: TcxGrid
Width = 943
Height = 482
Height = 483
ExplicitWidth = 943
ExplicitHeight = 482
ExplicitHeight = 483
end
inherited ToolBar1: TToolBar
Width = 943
ButtonWidth = 126
ExplicitWidth = 943
inherited ToolButton1: TToolButton
ExplicitWidth = 62
ExplicitWidth = 66
end
inherited ToolButton4: TToolButton
ExplicitWidth = 74
Left = 66
ExplicitWidth = 82
end
inherited ToolButton5: TToolButton
Left = 148
end
inherited ToolButton2: TToolButton
ExplicitWidth = 67
Left = 156
ExplicitLeft = 156
ExplicitWidth = 74
end
inherited ToolButton6: TToolButton
Left = 230
end
inherited ToolButton7: TToolButton
ExplicitWidth = 117
Left = 238
ExplicitLeft = 238
ExplicitWidth = 130
end
end
end
@ -169,7 +185,6 @@ inherited fEditorArticulo: TfEditorArticulo
end
inherited PnlComentario: TPanel
Width = 957
ExplicitTop = 79
ExplicitWidth = 957
inherited lbComentario: TLabel
Width = 947

View File

@ -14,7 +14,7 @@ uses
uViewArticulos, uIEditorArticulo, uArticulosController, JvExComCtrls,
JvStatusBar, dxLayoutLookAndFeels, uDAInterfaces, uViewDetallesGenerico,
uViewProveedoresArticulo;
uViewProveedoresArticulo, cxControls, cxContainer, cxEdit, cxLabel;
type
TfEditorArticulo = class(TfEditorDBItem, IEditorArticulo)
@ -150,7 +150,7 @@ begin
Articulo.DataTable.Active := True;
if (FArticulo.ID = CTE_ART_COMISIONABLE_MODIFICABLE) then
if (FArticulo.REFERENCIA_PROV = CTE_ART_COMISIONABLE_MODIFICABLE) then
pagPrecios.Enabled := False;
end;

View File

@ -2,11 +2,18 @@ inherited fEditorArticulos: TfEditorArticulos
Left = 489
Top = 325
Caption = 'Lista de art'#237'culos'
ClientHeight = 667
ClientWidth = 1254
ExplicitWidth = 1270
ExplicitHeight = 705
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
Width = 1254
Caption = 'Lista de articulos'
ExplicitWidth = 1254
inherited Image1: TImage
Left = 1227
Picture.Data = {
0A54504E474F626A65637489504E470D0A1A0A0000000D494844520000001C00
00001C0806000000720DDF940000000970485973000017120000171201679FD2
@ -25,13 +32,13 @@ inherited fEditorArticulos: TfEditorArticulos
end
end
inherited TBXDock: TTBXDock
Height = 105
ExplicitHeight = 105
Width = 1254
ExplicitWidth = 1254
inherited tbxMain: TTBXToolbar
ExplicitWidth = 543
ExplicitWidth = 688
end
inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 572
ExplicitWidth = 550
inherited lblAno: TTBXLabelItem
Caption = 'Tarifas:'
Visible = True
@ -48,15 +55,15 @@ inherited fEditorArticulos: TfEditorArticulos
Visible = True
end
end
inherited tbxMenu: TTBXToolbar
ExplicitWidth = 1254
end
inherited TBXTMain2: TTBXToolbar
Left = 191
Top = 79
Left = 550
DockPos = 275
Visible = True
ExplicitLeft = 191
ExplicitTop = 79
ExplicitWidth = 352
ExplicitHeight = 26
ExplicitLeft = 550
ExplicitWidth = 511
object TBXItem38: TTBXItem
Action = actAsignarTarifa
DisplayMode = nbdmImageAndText
@ -73,8 +80,20 @@ inherited fEditorArticulos: TfEditorArticulos
Action = actComisionable
DisplayMode = nbdmImageAndText
end
object TBXSeparatorItem19: TTBXSeparatorItem
end
object TBXItem41: TTBXItem
Action = actBuscarArticulo
DisplayMode = nbdmImageAndText
end
end
end
inherited StatusBar: TJvStatusBar
Top = 648
Width = 1254
ExplicitTop = 648
ExplicitWidth = 1254
end
inherited EditorActionList: TActionList
inherited actNuevo: TAction
ImageIndex = 24
@ -108,6 +127,12 @@ inherited fEditorArticulos: TfEditorArticulos
OnExecute = actComisionableExecute
OnUpdate = actComisionableUpdate
end
object actBuscarArticulo: TAction
Caption = 'Buscar art'#237'culo en pedidos'
ImageIndex = 28
OnExecute = actBuscarArticuloExecute
OnUpdate = actBuscarArticuloUpdate
end
end
inherited SmallImages: TPngImageList
PngImages = <
@ -822,6 +847,25 @@ inherited fEditorArticulos: TfEditorArticulos
4E44AE426082}
Name = 'PngImage27'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
61000000097048597300000B3A00000B3A01647F570D0000015D4944415478DA
63FCFFFF3F030830323232C0C0CEB58DCA2F6E6CBDF3FEF129B818C30F061490
3FFF3F58032336032E9C58FD9F8B47904155DB192EF6FFD72B867F9F2F31FCB9
E3CA3063061E0380B6DBB373F01CB076CD66606165C7AAB96001923E6403809A
9979F925FEC8299B32482B18E2D40C16C7614032D08039164EA97017810CF875
5E1CAC196F18EC5AD7C40F74FA073DB36006411179B8E6FF3F5F32FCBEA687A2
196B18000D681797D6AAD06008852B64D5BA0434E4251833000DFBFBA2087718
2CEF76FFFFE1E119865F5FDF81F9B993706BC61906D0589056D7D07F2223CE8D
53332103DAC5C4A52B749438706AC6170BECACAC6C3FF4547918F8397FE3D48C
3F1A79F9E7982A7F66F8FBBA16A7669C061CDB35E1BF9CAA1D83C84B23BC9AB1
1A008C466BA0F38F5888D632CC9AF907AF66AC065C383AF73FC7B7150C3B97ED
21A819AB0137CE2CFBBF776E2643CE8C4F0435231B00004A4C11F0D3652A8300
00000049454E44AE426082}
Name = 'PngImage28'
Background = clWindow
end>
Bitmap = {}
end

View File

@ -25,6 +25,9 @@ type
actComisionable: TAction;
TBXSeparatorItem18: TTBXSeparatorItem;
TBXItem40: TTBXItem;
actBuscarArticulo: TAction;
TBXSeparatorItem19: TTBXSeparatorItem;
TBXItem41: TTBXItem;
procedure FormShow(Sender: TObject);
procedure actFamiliasExecute(Sender: TObject);
procedure actAsignarTarifaExecute(Sender: TObject);
@ -35,6 +38,8 @@ type
procedure actComisionableExecute(Sender: TObject);
procedure actComisionableUpdate(Sender: TObject);
procedure OnListaTarifasChange(Sender: TObject; const Text: string);
procedure actBuscarArticuloExecute(Sender: TObject);
procedure actBuscarArticuloUpdate(Sender: TObject);
private
FArticulos: IBizArticulo;
FController : IArticulosController;
@ -242,6 +247,23 @@ begin
(Sender as TAction).Enabled := False;
end;
procedure TfEditorArticulos.actBuscarArticuloExecute(Sender: TObject);
begin
inherited;
(FController as IArticulosController).BuscarPedidoConArticulo(Articulos);
end;
procedure TfEditorArticulos.actBuscarArticuloUpdate(Sender: TObject);
begin
inherited;
if HayDatos and Assigned(ViewGrid) then
(Sender as TAction).Enabled := not (dsDataTable.DataTable.State in dsEditModes)
and ViewGrid.esSeleccionCeldaDatos
and (ViewGrid.NumSeleccionados = 1)
else
(Sender as TAction).Enabled := False;
end;
procedure TfEditorArticulos.actComisionableExecute(Sender: TObject);
var
AArticulos: IBizArticulo;

View File

@ -2,6 +2,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
Caption = 'Seleccionar art'#237'culos'
ClientWidth = 656
ExplicitWidth = 664
ExplicitHeight = 240
PixelsPerInch = 96
TextHeight = 13
inherited JvNavPanelHeader: TJvNavPanelHeader
@ -19,8 +20,10 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
inherited TBXDock: TTBXDock
Top = 91
Width = 656
Height = 104
ExplicitTop = 91
ExplicitWidth = 656
ExplicitHeight = 104
inherited tbxMain: TTBXToolbar
Align = alLeft
DockPos = -6
@ -43,11 +46,14 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
ExplicitWidth = 656
end
inherited TBXTMain2: TTBXToolbar
Left = 317
Left = 145
Top = 78
DockPos = 536
DockRow = 1
Visible = False
ExplicitLeft = 317
ExplicitLeft = 145
ExplicitTop = 78
ExplicitHeight = 26
end
end
inherited StatusBar: TJvStatusBar
@ -57,7 +63,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
end
inline frViewBarraSeleccion1: TfrViewBarraSeleccion [3]
Left = 0
Top = 376
Top = 599
Width = 656
Height = 49
Align = alBottom
@ -69,7 +75,7 @@ inherited fEditorElegirArticulos: TfEditorElegirArticulos
ParentFont = False
TabOrder = 0
ReadOnly = False
ExplicitTop = 376
ExplicitTop = 599
ExplicitWidth = 656
inherited JvFooter1: TJvFooter
Width = 656

View File

@ -1,6 +1,6 @@
inherited frViewArticulo: TfrViewArticulo
Width = 1046
Height = 571
Width = 833
Height = 613
Align = alClient
OnCreate = CustomViewCreate
OnDestroy = CustomViewDestroy
@ -10,7 +10,7 @@ inherited frViewArticulo: TfrViewArticulo
object dxLayoutControlArticulo: TdxLayoutControl
Left = 0
Top = 0
Width = 1046
Width = 833
Height = 833
Align = alTop
ParentBackground = True
@ -19,10 +19,10 @@ inherited frViewArticulo: TfrViewArticulo
AutoContentSizes = [acsWidth]
ExplicitWidth = 451
DesignSize = (
1046
833
833)
object PngSpeedButton2: TPngSpeedButton
Left = 982
Left = 771
Top = 867
Width = 23
Height = 22
@ -49,7 +49,7 @@ inherited frViewArticulo: TfrViewArticulo
PngOptions = [pngBlendOnDisabled, pngGrayscaleOnDisabled]
end
object PngSpeedButton1: TPngSpeedButton
Left = 982
Left = 771
Top = 895
Width = 23
Height = 22
@ -177,12 +177,12 @@ inherited frViewArticulo: TfrViewArticulo
Width = 327
end
inherited edtCodigoPostal: TcxDBTextEdit
Left = 891
ExplicitLeft = 891
Left = 680
ExplicitLeft = 680
end
inherited Button3: TBitBtn
Left = 775
ExplicitLeft = 775
Left = 564
ExplicitLeft = 564
end
end
end
@ -421,7 +421,7 @@ inherited frViewArticulo: TfrViewArticulo
Width = 664
end
object eReferenciaFab: TcxDBTextEdit
Left = 623
Left = 519
Top = 410
DataBinding.DataField = 'REFERENCIA_FAB'
DataBinding.DataSource = dsViewArticulo
@ -447,10 +447,11 @@ inherited frViewArticulo: TfrViewArticulo
DataBinding.DataSource = dsViewArticulo
Properties.Alignment.Horz = taRightJustify
Properties.AssignedValues.MinValue = True
Properties.DisplayFormat = ',0'
Properties.ImmediatePost = True
Properties.Increment = 5.000000000000000000
Properties.LargeIncrement = 20.000000000000000000
Properties.MaxValue = 100.000000000000000000
Properties.MaxValue = 9999.000000000000000000
Style.BorderColor = clWindowFrame
Style.BorderStyle = ebs3D
Style.HotTrack = False
@ -574,9 +575,6 @@ inherited frViewArticulo: TfrViewArticulo
inherited actEliminar: TAction
Caption = 'Eliminar ingl'#233's'
end
inherited actModificar: TAction
Enabled = False
end
end
end
object dxLayoutControlArticuloGroup_Root: TdxLayoutGroup

View File

@ -384,11 +384,12 @@ procedure TfrViewArticulo.CustomViewShow(Sender: TObject);
begin
inherited;
if (FArticulo.ID = CTE_ART_COMISIONABLE_MODIFICABLE) then
if (FArticulo.REFERENCIA_PROV = CTE_ART_COMISIONABLE_MODIFICABLE) then
begin
dxLayoutControlArticuloGroup11.Enabled := false;
dxLayoutControlArticuloGroup13.Enabled := false;
end;
// ePrecioCoste.Properties.OnEditValueChanged := PrecioNetoChanged;
// eDescuento.Properties.OnEditValueChanged := PrecioNetoChanged;
end;

View File

@ -9,8 +9,8 @@ inherited frViewArticulos: TfrViewArticulos
Width = 720
Height = 399
OnActiveTabChanged = cxGridActiveTabChanged
ExplicitWidth = 896
ExplicitHeight = 552
ExplicitWidth = 720
ExplicitHeight = 399
inherited cxGridView: TcxGridDBTableView
OnMouseMove = cxGridViewMouseMove
DataController.KeyFieldNames = 'ID'
@ -75,6 +75,11 @@ inherited frViewArticulos: TfrViewArticulos
Options.HorzSizing = False
Width = 22
end
object cxGridViewID_ARTICULO: TcxGridDBColumn
Caption = 'Identificador'
DataBinding.FieldName = 'ID'
Visible = False
end
object cxGridViewREFERENCIA: TcxGridDBColumn
Caption = 'Referencia'
DataBinding.FieldName = 'REFERENCIA'
@ -194,12 +199,12 @@ inherited frViewArticulos: TfrViewArticulos
end
inherited frViewFiltroBase1: TfrViewFiltroBase
Width = 720
ExplicitWidth = 896
ExplicitWidth = 720
inherited TBXDockablePanel1: TTBXDockablePanel
ExplicitWidth = 896
ExplicitWidth = 720
inherited dxLayoutControl1: TdxLayoutControl
Width = 720
ExplicitWidth = 896
ExplicitWidth = 720
inherited txtFiltroTodo: TcxTextEdit
Style.LookAndFeel.SkinName = ''
StyleDisabled.LookAndFeel.SkinName = ''
@ -252,10 +257,10 @@ inherited frViewArticulos: TfrViewArticulos
end
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 720
ExplicitWidth = 896
ExplicitWidth = 720
inherited tbxBotones: TTBXToolbar
Width = 710
ExplicitWidth = 886
ExplicitWidth = 710
end
end
end
@ -263,14 +268,14 @@ inherited frViewArticulos: TfrViewArticulos
inherited pnlAgrupaciones: TTBXDockablePanel
Top = 501
Visible = True
ExplicitTop = 654
ExplicitWidth = 896
ExplicitTop = 501
ExplicitWidth = 720
inherited TBXAlignmentPanel1: TTBXAlignmentPanel
Width = 720
ExplicitWidth = 896
ExplicitWidth = 720
inherited TBXToolbar1: TTBXToolbar
Width = 710
ExplicitWidth = 886
ExplicitWidth = 710
object TBXSeparatorItem1: TTBXSeparatorItem
end
object TBXItem3: TTBXItem

View File

@ -47,6 +47,7 @@ type
cxGridLevel1: TcxGridLevel;
cxGridLevel2: TcxGridLevel;
cxGridViewUNIDAD_MEDIDA: TcxGridDBColumn;
cxGridViewID_ARTICULO: TcxGridDBColumn;
procedure cxGridViewIDCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);

View File

@ -11,6 +11,10 @@ inherited frViewIdiomasArticulo: TfrViewIdiomasArticulo
ExplicitHeight = 75
inherited cxGridView: TcxGridDBTableView
DataController.KeyFieldNames = 'RecID'
OptionsData.Appending = False
OptionsData.Deleting = False
OptionsData.DeletingConfirmation = False
OptionsData.Inserting = False
object cxGridViewID_IDIOMA: TcxGridDBColumn
Caption = 'Idioma'
DataBinding.FieldName = 'ID_IDIOMA'
@ -47,6 +51,7 @@ inherited frViewIdiomasArticulo: TfrViewIdiomasArticulo
end
inherited ToolBar1: TToolBar
Width = 774
Visible = False
ExplicitWidth = 774
inherited ToolButton1: TToolButton
ExplicitWidth = 62
@ -72,7 +77,16 @@ inherited frViewIdiomasArticulo: TfrViewIdiomasArticulo
inherited ActionListContenido: TActionList
Left = 352
Top = 8
inherited actAnadir: TAction
Enabled = False
Visible = False
end
inherited actEliminar: TAction
Enabled = False
Visible = False
end
inherited actModificar: TAction
Enabled = False
Visible = False
end
inherited actAnchoAutomatico: TAction

View File

@ -62,13 +62,13 @@ uses schArticulosClient_Intf;
procedure TfrViewIdiomasArticulo.actAnadirUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := (dsDetalles.DataTable.RecordCount = 0);
// (Sender as TAction).Enabled := (dsDetalles.DataTable.RecordCount < 2);
end;
procedure TfrViewIdiomasArticulo.AnadirInterno;
begin
dsDetalles.DataTable.Append;
dsDetalles.DataTable.FieldByName(fld_Articulos_IdiomasID_IDIOMA).AsInteger := CTE_ID_IDIOMA_DEFAULT;
// dsDetalles.DataTable.Append;
// dsDetalles.DataTable.FieldByName(fld_Articulos_IdiomasID_IDIOMA).AsInteger := CTE_ID_IDIOMA_EN;
end;
constructor TfrViewIdiomasArticulo.Create(AOwner: TComponent);

View File

@ -43,12 +43,6 @@
<Borland.ProjectType>Package</Borland.ProjectType>
<BorlandProject>
<BorlandProject><Delphi.Personality><Parameters><Parameters Name="UseLauncher">False</Parameters><Parameters Name="LoadAllSymbols">True</Parameters><Parameters Name="LoadUnspecifiedSymbols">False</Parameters></Parameters><Package_Options><Package_Options Name="ImplicitBuild">False</Package_Options><Package_Options Name="DesigntimeOnly">False</Package_Options><Package_Options Name="RuntimeOnly">False</Package_Options></Package_Options><VersionInfo><VersionInfo Name="IncludeVerInfo">True</VersionInfo><VersionInfo Name="AutoIncBuild">False</VersionInfo><VersionInfo Name="MajorVer">1</VersionInfo><VersionInfo Name="MinorVer">0</VersionInfo><VersionInfo Name="Release">0</VersionInfo><VersionInfo Name="Build">0</VersionInfo><VersionInfo Name="Debug">False</VersionInfo><VersionInfo Name="PreRelease">False</VersionInfo><VersionInfo Name="Special">False</VersionInfo><VersionInfo Name="Private">False</VersionInfo><VersionInfo Name="DLL">False</VersionInfo><VersionInfo Name="Locale">3082</VersionInfo><VersionInfo Name="CodePage">1252</VersionInfo></VersionInfo><VersionInfoKeys><VersionInfoKeys Name="CompanyName"></VersionInfoKeys><VersionInfoKeys Name="FileDescription"></VersionInfoKeys><VersionInfoKeys Name="FileVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="InternalName"></VersionInfoKeys><VersionInfoKeys Name="LegalCopyright"></VersionInfoKeys><VersionInfoKeys Name="LegalTrademarks"></VersionInfoKeys><VersionInfoKeys Name="OriginalFilename"></VersionInfoKeys><VersionInfoKeys Name="ProductName"></VersionInfoKeys><VersionInfoKeys Name="ProductVersion">1.0.0.0</VersionInfoKeys><VersionInfoKeys Name="Comments"></VersionInfoKeys></VersionInfoKeys><Excluded_Packages>
<Excluded_Packages Name="D:\MISDOC~1\BORLAN~1\Bpl\JclDebugExpert100.bpl">JCL Debug IDE extension</Excluded_Packages>
<Excluded_Packages Name="D:\MISDOC~1\BORLAN~1\Bpl\JclProjectAnalysisExpert100.bpl">JCL Project Analyzer</Excluded_Packages>
<Excluded_Packages Name="D:\MISDOC~1\BORLAN~1\Bpl\JclFavoriteFoldersExpert100.bpl">JCL Open and Save IDE dialogs with favorite folders</Excluded_Packages>
@ -59,6 +53,29 @@
<DelphiCompile Include="Contactos_controller.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="$(SystemRoot)\system32\adortl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\ApplicationBase.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Base.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Contabilidad_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Contactos_data.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Contactos_model.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxLibraryD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\DataAbstract_Core_D11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dbrtl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\designide.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dsnap.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxCoreD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxGDIPlusD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxThemeD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\GUIBase.dcp" />
<DCCReference Include="$(SystemRoot)\system32\GUISDK_D11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\RemObjects_Core_D11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\rtl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vclactnband.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcldb.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vclx.dcp" />
<DCCReference Include="$(SystemRoot)\system32\xmlrtl.dcp" />
<DCCReference Include="uClientesController.pas" />
<DCCReference Include="uComercialesController.pas" />
<DCCReference Include="uContactosController.pas" />
@ -71,24 +88,6 @@
<DCCReference Include="uProcedenciasClienteController.pas" />
<DCCReference Include="uProveedoresController.pas" />
<DCCReference Include="uVendedoresController.pas" />
<DCCReference Include="View\adortl.dcp" />
<DCCReference Include="View\ApplicationBase.dcp" />
<DCCReference Include="View\Base.dcp" />
<DCCReference Include="View\Contabilidad_controller.dcp" />
<DCCReference Include="View\Contactos_data.dcp" />
<DCCReference Include="View\Contactos_model.dcp" />
<DCCReference Include="View\cxLibraryD11.dcp" />
<DCCReference Include="View\DataAbstract_Core_D11.dcp" />
<DCCReference Include="View\dbrtl.dcp" />
<DCCReference Include="View\designide.dcp" />
<DCCReference Include="View\dsnap.dcp" />
<DCCReference Include="View\dxCoreD11.dcp" />
<DCCReference Include="View\dxGDIPlusD11.dcp" />
<DCCReference Include="View\dxThemeD11.dcp" />
<DCCReference Include="View\GUIBase.dcp" />
<DCCReference Include="View\GUISDK_D11R.dcp" />
<DCCReference Include="View\RemObjects_Core_D11.dcp" />
<DCCReference Include="View\rtl.dcp" />
<DCCReference Include="View\uIEditorCliente.pas" />
<DCCReference Include="View\uIEditorClientes.pas" />
<DCCReference Include="View\uIEditorComercial.pas" />
@ -115,11 +114,6 @@
<DCCReference Include="View\uIEditorProveedores.pas" />
<DCCReference Include="View\uIEditorVendedor.pas" />
<DCCReference Include="View\uIEditorVendedores.pas" />
<DCCReference Include="View\vcl.dcp" />
<DCCReference Include="View\vclactnband.dcp" />
<DCCReference Include="View\vcldb.dcp" />
<DCCReference Include="View\vclx.dcp" />
<DCCReference Include="View\xmlrtl.dcp" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line

View File

@ -3,11 +3,14 @@ unit uIEditorGruposCliente;
interface
uses
uEditorDBBase, uBizGruposCliente, uGruposClienteController;
uEditorDBBase, uBizGruposCliente, uGruposClienteController, uGUIBase;
type
IEditorGruposCliente = interface(IEditorDBBase)
IEditorGruposCliente = interface(ICustomEditor)
['{7BF79417-A95C-41F3-96DE-707F2D6F29E3}']
function ShowModal : Integer;
procedure Show;
function GetGruposCliente: IBizGrupoCliente;
procedure SetGruposCliente(const Value: IBizGrupoCliente);
property GruposCliente: IBizGrupoCliente read GetGruposCliente write SetGruposCliente;

View File

@ -3,11 +3,14 @@ unit uIEditorGruposProveedor;
interface
uses
uEditorDBBase, uBizGruposProveedor, uGruposProveedorController;
uEditorDBBase, uBizGruposProveedor, uGruposProveedorController, uGUIBase;
type
IEditorGruposProveedor = interface(IEditorDBBase)
IEditorGruposProveedor = interface(ICustomEditor)
['{A593BC54-0A28-446E-A6B7-E925D7C4B82C}']
function ShowModal : Integer;
procedure Show;
function GetGruposProveedor: IBizGrupoProveedor;
procedure SetGruposProveedor(const Value: IBizGrupoProveedor);
property GruposProveedor: IBizGrupoProveedor read GetGruposProveedor write SetGruposProveedor;

View File

@ -3,11 +3,14 @@ unit uIEditorProcedenciasCliente;
interface
uses
uEditorDBBase, uBizProcedenciasCliente, uProcedenciasClienteController;
uEditorDBBase, uBizProcedenciasCliente, uProcedenciasClienteController, uGUIBase;
type
IEditorProcedenciasCliente = interface(IEditorDBBase)
IEditorProcedenciasCliente = interface(ICustomEditor)
['{E4FD5FEA-9771-40FD-AC69-600BE859ECCE}']
function ShowModal : Integer;
procedure Show;
function GetProcedenciasCliente: IBizProcedenciaCliente;
procedure SetProcedenciasCliente(const Value: IBizProcedenciaCliente);
property ProcedenciasCliente: IBizProcedenciaCliente read GetProcedenciasCliente write SetProcedenciasCliente;

View File

@ -47,64 +47,64 @@
<DelphiCompile Include="Contactos_view.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="..\..\..\Servidor\adortl.dcp" />
<DCCReference Include="..\..\..\Servidor\ApplicationBase.dcp" />
<DCCReference Include="..\..\..\Servidor\Base.dcp" />
<DCCReference Include="..\..\..\Servidor\bdertl.dcp" />
<DCCReference Include="..\..\..\Servidor\Contactos_controller.dcp" />
<DCCReference Include="..\..\..\Servidor\Contactos_model.dcp" />
<DCCReference Include="..\..\..\Servidor\cxDataD11.dcp" />
<DCCReference Include="..\..\..\Servidor\cxEditorsD11.dcp" />
<DCCReference Include="..\..\..\Servidor\cxExportD11.dcp" />
<DCCReference Include="..\..\..\Servidor\cxExtEditorsD11.dcp" />
<DCCReference Include="..\..\..\Servidor\cxGridD11.dcp" />
<DCCReference Include="..\..\..\Servidor\cxLibraryD11.dcp" />
<DCCReference Include="..\..\..\Servidor\cxPageControlD11.dcp" />
<DCCReference Include="..\..\..\Servidor\DataAbstract_Core_D11.dcp" />
<DCCReference Include="..\..\..\Servidor\dbrtl.dcp" />
<DCCReference Include="..\..\..\Servidor\dclcxLibraryD11.dcp" />
<DCCReference Include="..\..\..\Servidor\dcldxCoreD11.dcp" />
<DCCReference Include="..\..\..\Servidor\Delegaciones_controller.dcp" />
<DCCReference Include="..\..\..\Servidor\designide.dcp" />
<DCCReference Include="..\..\..\Servidor\dsnap.dcp" />
<DCCReference Include="..\..\..\Servidor\dxComnD11.dcp" />
<DCCReference Include="..\..\..\Servidor\dxCoreD11.dcp" />
<DCCReference Include="..\..\..\Servidor\dxGDIPlusD11.dcp" />
<DCCReference Include="..\..\..\Servidor\dxLayoutControlD11.dcp" />
<DCCReference Include="..\..\..\Servidor\dxPSCoreD11.dcp" />
<DCCReference Include="..\..\..\Servidor\dxPScxCommonD11.dcp" />
<DCCReference Include="..\..\..\Servidor\dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="..\..\..\Servidor\dxPSLnksD11.dcp" />
<DCCReference Include="..\..\..\Servidor\dxThemeD11.dcp" />
<DCCReference Include="..\..\..\Servidor\FormasPago_controller.dcp" />
<DCCReference Include="..\..\..\Servidor\FormasPago_model.dcp" />
<DCCReference Include="..\..\..\Servidor\GestorInformes_controller.dcp" />
<DCCReference Include="..\..\..\Servidor\GUIBase.dcp" />
<DCCReference Include="..\..\..\Servidor\GUISDK_D11R.dcp" />
<DCCReference Include="..\..\..\Servidor\Jcl.dcp" />
<DCCReference Include="..\..\..\Servidor\JclVcl.dcp" />
<DCCReference Include="..\..\..\Servidor\JSDialog100.dcp" />
<DCCReference Include="..\..\..\Servidor\JvCoreD11R.dcp" />
<DCCReference Include="..\..\..\Servidor\JvCtrlsD11R.dcp" />
<DCCReference Include="..\..\..\Servidor\JvGlobusD11R.dcp" />
<DCCReference Include="..\..\..\Servidor\JvPageCompsD11R.dcp" />
<DCCReference Include="..\..\..\Servidor\JvStdCtrlsD11R.dcp" />
<DCCReference Include="..\..\..\Servidor\JvSystemD11R.dcp" />
<DCCReference Include="..\..\..\Servidor\PngComponentsD10.dcp" />
<DCCReference Include="..\..\..\Servidor\PNG_D10.dcp" />
<DCCReference Include="..\..\..\Servidor\RemObjects_Core_D11.dcp" />
<DCCReference Include="..\..\..\Servidor\rtl.dcp" />
<DCCReference Include="..\..\..\Servidor\tb2k_d10.dcp" />
<DCCReference Include="..\..\..\Servidor\tbx_d10.dcp" />
<DCCReference Include="..\..\..\Servidor\TiposIVA_controller.dcp" />
<DCCReference Include="..\..\..\Servidor\TiposIVA_model.dcp" />
<DCCReference Include="..\..\..\Servidor\vcl.dcp" />
<DCCReference Include="..\..\..\Servidor\vclactnband.dcp" />
<DCCReference Include="..\..\..\Servidor\vcldb.dcp" />
<DCCReference Include="..\..\..\Servidor\vcljpg.dcp" />
<DCCReference Include="..\..\..\Servidor\vclshlctrls.dcp" />
<DCCReference Include="..\..\..\Servidor\vclx.dcp" />
<DCCReference Include="..\..\..\Servidor\xmlrtl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\adortl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\ApplicationBase.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Base.dcp" />
<DCCReference Include="$(SystemRoot)\system32\bdertl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Contactos_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Contactos_model.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxDataD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxEditorsD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxExportD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxExtEditorsD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxGridD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxLibraryD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxPageControlD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\DataAbstract_Core_D11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dbrtl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dclcxLibraryD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dcldxCoreD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Delegaciones_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\designide.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dsnap.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxComnD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxCoreD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxGDIPlusD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxLayoutControlD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxPSCoreD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxPScxCommonD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxPSLnksD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxThemeD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\FormasPago_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\FormasPago_model.dcp" />
<DCCReference Include="$(SystemRoot)\system32\GestorInformes_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\GUIBase.dcp" />
<DCCReference Include="$(SystemRoot)\system32\GUISDK_D11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Jcl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JclVcl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JSDialog100.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvCoreD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvCtrlsD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvGlobusD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvPageCompsD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvStdCtrlsD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvSystemD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\PngComponentsD10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\PNG_D10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\RemObjects_Core_D11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\rtl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\tb2k_d10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\tbx_d10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\TiposIVA_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\TiposIVA_model.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vclactnband.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcldb.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcljpg.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vclshlctrls.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vclx.dcp" />
<DCCReference Include="$(SystemRoot)\system32\xmlrtl.dcp" />
<DCCReference Include="uContactosViewRegister.pas" />
<DCCReference Include="uEditorAsignarComercial.pas">
<Form>fEditorAsignarComercial</Form>

View File

@ -20,10 +20,10 @@ inherited fEditorContactos: TfEditorContactos
Width = 974
ExplicitWidth = 974
inherited tbxMain: TTBXToolbar
ExplicitWidth = 694
ExplicitWidth = 671
end
inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 201
ExplicitWidth = 195
inherited tbxEditFiltro: TTBXEditItem
EditOptions = [tboUseEditWhenVertical]
end

View File

@ -25,6 +25,7 @@
<Projects Include="..\Pedidos a proveedor\Model\PedidosProveedor_model.dproj" />
<Projects Include="..\Pedidos a proveedor\Views\PedidosProveedor_view.dproj" />
<Projects Include="..\Presupuestos de cliente\Controller\PresupuestosCliente_controller.dproj" />
<Projects Include="..\Presupuestos de cliente\Data\PresupuestosCliente_data.dproj" />
<Projects Include="..\Presupuestos de cliente\Model\PresupuestosCliente_model.dproj" />
<Projects Include="..\Presupuestos de cliente\Views\PresupuestosCliente_view.dproj" />
<Projects Include="..\Recibos de cliente\Controller\RecibosCliente_controller.dproj" />
@ -381,14 +382,23 @@
<Target Name="RecibosCliente_controller:Make">
<MSBuild Projects="..\Recibos de cliente\Controller\RecibosCliente_controller.dproj" Targets="Make" />
</Target>
<Target Name="PresupuestosCliente_data">
<MSBuild Projects="..\Presupuestos de cliente\Data\PresupuestosCliente_data.dproj" Targets="" />
</Target>
<Target Name="PresupuestosCliente_data:Clean">
<MSBuild Projects="..\Presupuestos de cliente\Data\PresupuestosCliente_data.dproj" Targets="Clean" />
</Target>
<Target Name="PresupuestosCliente_data:Make">
<MSBuild Projects="..\Presupuestos de cliente\Data\PresupuestosCliente_data.dproj" Targets="Make" />
</Target>
<Target Name="Build">
<CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_model;Contactos_data;Contactos_controller;Contactos_view;Articulos_data;Articulos_controller;Articulos_view;PresupuestosCliente_model;PresupuestosCliente_controller;ContratosCliente_model;ContratosCliente_data;ContratosCliente_controller;AlbaranesCliente_controller;FacturasCliente_controller;ConCli_FacCli_relation;ConCli_AlbCli_relation;PreCli_ConCli_relation;ConCli_RecCli_relation;ContratosCliente_view;ContratosCliente_plugin;FactuGES;FactuGES_Server;PresupuestosCliente_view;AlbCli_FacCli_relation;FacCli_FacProv_relation;FacturasCliente_view;AlbaranesProveedor_view;PedidosProveedor_model;PedidosProveedor_view;PedProv_AlbProv_relation;AlbaranesProveedor_controller;AlbaranesCliente_view;AlbProv_FacProv_relation;RecibosCliente_controller" />
<CallTarget Targets="Base;GUIBase;ApplicationBase;Contactos_model;Contactos_data;Contactos_controller;Contactos_view;Articulos_data;Articulos_controller;Articulos_view;PresupuestosCliente_model;PresupuestosCliente_controller;ContratosCliente_model;ContratosCliente_data;ContratosCliente_controller;AlbaranesCliente_controller;FacturasCliente_controller;ConCli_FacCli_relation;ConCli_AlbCli_relation;PreCli_ConCli_relation;ConCli_RecCli_relation;ContratosCliente_view;ContratosCliente_plugin;FactuGES;FactuGES_Server;PresupuestosCliente_view;AlbCli_FacCli_relation;FacCli_FacProv_relation;FacturasCliente_view;AlbaranesProveedor_view;PedidosProveedor_model;PedidosProveedor_view;PedProv_AlbProv_relation;AlbaranesProveedor_controller;AlbaranesCliente_view;AlbProv_FacProv_relation;RecibosCliente_controller;PresupuestosCliente_data" />
</Target>
<Target Name="Clean">
<CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_model:Clean;Contactos_data:Clean;Contactos_controller:Clean;Contactos_view:Clean;Articulos_data:Clean;Articulos_controller:Clean;Articulos_view:Clean;PresupuestosCliente_model:Clean;PresupuestosCliente_controller:Clean;ContratosCliente_model:Clean;ContratosCliente_data:Clean;ContratosCliente_controller:Clean;AlbaranesCliente_controller:Clean;FacturasCliente_controller:Clean;ConCli_FacCli_relation:Clean;ConCli_AlbCli_relation:Clean;PreCli_ConCli_relation:Clean;ConCli_RecCli_relation:Clean;ContratosCliente_view:Clean;ContratosCliente_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean;PresupuestosCliente_view:Clean;AlbCli_FacCli_relation:Clean;FacCli_FacProv_relation:Clean;FacturasCliente_view:Clean;AlbaranesProveedor_view:Clean;PedidosProveedor_model:Clean;PedidosProveedor_view:Clean;PedProv_AlbProv_relation:Clean;AlbaranesProveedor_controller:Clean;AlbaranesCliente_view:Clean;AlbProv_FacProv_relation:Clean;RecibosCliente_controller:Clean" />
<CallTarget Targets="Base:Clean;GUIBase:Clean;ApplicationBase:Clean;Contactos_model:Clean;Contactos_data:Clean;Contactos_controller:Clean;Contactos_view:Clean;Articulos_data:Clean;Articulos_controller:Clean;Articulos_view:Clean;PresupuestosCliente_model:Clean;PresupuestosCliente_controller:Clean;ContratosCliente_model:Clean;ContratosCliente_data:Clean;ContratosCliente_controller:Clean;AlbaranesCliente_controller:Clean;FacturasCliente_controller:Clean;ConCli_FacCli_relation:Clean;ConCli_AlbCli_relation:Clean;PreCli_ConCli_relation:Clean;ConCli_RecCli_relation:Clean;ContratosCliente_view:Clean;ContratosCliente_plugin:Clean;FactuGES:Clean;FactuGES_Server:Clean;PresupuestosCliente_view:Clean;AlbCli_FacCli_relation:Clean;FacCli_FacProv_relation:Clean;FacturasCliente_view:Clean;AlbaranesProveedor_view:Clean;PedidosProveedor_model:Clean;PedidosProveedor_view:Clean;PedProv_AlbProv_relation:Clean;AlbaranesProveedor_controller:Clean;AlbaranesCliente_view:Clean;AlbProv_FacProv_relation:Clean;RecibosCliente_controller:Clean;PresupuestosCliente_data:Clean" />
</Target>
<Target Name="Make">
<CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_model:Make;Contactos_data:Make;Contactos_controller:Make;Contactos_view:Make;Articulos_data:Make;Articulos_controller:Make;Articulos_view:Make;PresupuestosCliente_model:Make;PresupuestosCliente_controller:Make;ContratosCliente_model:Make;ContratosCliente_data:Make;ContratosCliente_controller:Make;AlbaranesCliente_controller:Make;FacturasCliente_controller:Make;ConCli_FacCli_relation:Make;ConCli_AlbCli_relation:Make;PreCli_ConCli_relation:Make;ConCli_RecCli_relation:Make;ContratosCliente_view:Make;ContratosCliente_plugin:Make;FactuGES:Make;FactuGES_Server:Make;PresupuestosCliente_view:Make;AlbCli_FacCli_relation:Make;FacCli_FacProv_relation:Make;FacturasCliente_view:Make;AlbaranesProveedor_view:Make;PedidosProveedor_model:Make;PedidosProveedor_view:Make;PedProv_AlbProv_relation:Make;AlbaranesProveedor_controller:Make;AlbaranesCliente_view:Make;AlbProv_FacProv_relation:Make;RecibosCliente_controller:Make" />
<CallTarget Targets="Base:Make;GUIBase:Make;ApplicationBase:Make;Contactos_model:Make;Contactos_data:Make;Contactos_controller:Make;Contactos_view:Make;Articulos_data:Make;Articulos_controller:Make;Articulos_view:Make;PresupuestosCliente_model:Make;PresupuestosCliente_controller:Make;ContratosCliente_model:Make;ContratosCliente_data:Make;ContratosCliente_controller:Make;AlbaranesCliente_controller:Make;FacturasCliente_controller:Make;ConCli_FacCli_relation:Make;ConCli_AlbCli_relation:Make;PreCli_ConCli_relation:Make;ConCli_RecCli_relation:Make;ContratosCliente_view:Make;ContratosCliente_plugin:Make;FactuGES:Make;FactuGES_Server:Make;PresupuestosCliente_view:Make;AlbCli_FacCli_relation:Make;FacCli_FacProv_relation:Make;FacturasCliente_view:Make;AlbaranesProveedor_view:Make;PedidosProveedor_model:Make;PedidosProveedor_view:Make;PedProv_AlbProv_relation:Make;AlbaranesProveedor_controller:Make;AlbaranesCliente_view:Make;AlbProv_FacProv_relation:Make;RecibosCliente_controller:Make;PresupuestosCliente_data:Make" />
</Target>
<Import Condition="Exists('$(MSBuildBinPath)\Borland.Group.Targets')" Project="$(MSBuildBinPath)\Borland.Group.Targets" />
</Project>

View File

@ -38,6 +38,7 @@ type
function Buscar(const ListaID: TIntegerList): IBizContratoCliente; overload;
function BuscarTodos: IBizContratoCliente; overload;
function BuscarTodos(const ID_Cliente: Integer): IBizContratoCliente; overload;
function BuscarPendientes : IBizContratoCliente;
procedure Ver(AContrato : IBizContratoCliente);
procedure VerTodos(AContratos: IBizContratoCliente;
const AVerModal : Boolean = False; const AWindowCaption: String = '';
@ -55,6 +56,7 @@ type
function Localizar(AContratos: IBizContratoCliente; const ID : Integer): Boolean;
function ExtraerSeleccionados(AContrato: IBizContratoCliente) : IBizContratoCliente;
function ElegirContratos(AContrato: IBizContratoCliente; AMensaje: String; AMultiSelect: Boolean): IBizContratoCliente;
function ElegirContratosParaCompras(AContrato: IBizContratoCliente; AMensaje: String; AMultiSelect: Boolean): IBizContratoCliente;
procedure RecalcularImportes(AContrato : IBizContratoCliente);
function EsModificable(AContrato : IBizContratoCliente): Boolean;
@ -82,6 +84,8 @@ type
function MandarFabrica(AContrato: IBizContratoCliente; AClonarContrato: Boolean = true): Boolean;
function AceptarContrato(AContrato: IBizContratoCliente): Boolean;
function AnadirIncidenciaContrato(AIdContrato: Integer): Boolean;
function RevisarContratosTerminados(const Ano: String): Boolean;
end;
TContratosClienteController = class(TControllerBase, IContratosClienteController)
@ -138,6 +142,7 @@ type
function Buscar(const ID: Integer): IBizContratoCliente; overload;
function BuscarTodos: IBizContratoCliente; overload;
function BuscarTodos(const ID_Cliente: Integer): IBizContratoCliente; overload;
function BuscarPendientes : IBizContratoCliente;
function Nuevo (WithInsert: Boolean = True): IBizContratoCliente;
procedure Ver(AContrato : IBizContratoCliente);
procedure VerTodos(AContratos: IBizContratoCliente;
@ -147,6 +152,7 @@ type
function ExtraerSeleccionados(AContrato: IBizContratoCliente) : IBizContratoCliente;
function ElegirContratos(AContrato: IBizContratoCliente; AMensaje: String; AMultiSelect: Boolean): IBizContratoCliente;
function ElegirContratosParaCompras(AContrato: IBizContratoCliente; AMensaje: String; AMultiSelect: Boolean): IBizContratoCliente;
procedure RecalcularImportes(AContrato : IBizContratoCliente);
function EsModificable(AContrato : IBizContratoCliente): Boolean;
@ -174,6 +180,8 @@ type
function MandarFabrica(AContrato: IBizContratoCliente; AClonarContrato: Boolean = true): Boolean;
function AceptarContrato(AContrato: IBizContratoCliente): Boolean;
function AnadirIncidenciaContrato(AIdContrato: Integer): Boolean;
function RevisarContratosTerminados(const Ano: String): Boolean;
end;
implementation
@ -647,6 +655,29 @@ begin
FiltrarEmpresa(Result);
end;
function TContratosClienteController.BuscarPendientes: IBizContratoCliente;
var
Condicion: TDAWhereExpression;
begin
ShowHourglassCursor;
try
Result := BuscarTodos;
// Filtrar los presupuesto pendientes de recepcion
with Result.DataTable.DynamicWhere do
begin
// (SITUACION <> RECIBIDO)
Condicion := NewBinaryExpression(NewField('', fld_ContratosClienteSITUACION), NewConstant(SITUACION_CONTRATO_PENDIENTE, datString), dboEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
finally
HideHourglassCursor;
end;
end;
function TContratosClienteController.BuscarTodos: IBizContratoCliente;
begin
Result := FDataModule.GetItems;
@ -1103,6 +1134,28 @@ begin
end;
end;
function TContratosClienteController.ElegirContratosParaCompras(AContrato: IBizContratoCliente; AMensaje: String;
AMultiSelect: Boolean): IBizContratoCliente;
var
AEditor : IEditorElegirContratosCliente;
begin
Result := NIL;
CreateEditor('EditorElegirContratosClienteParaCompra', IEditorElegirContratosCliente, AEditor);
if Assigned(AEditor) then
try
AEditor.Controller := Self;
AEditor.Contratos := AContrato;
AEditor.MultiSelect := AMultiSelect;
AEditor.Mensaje := AMensaje;
if IsPositiveResult(AEditor.ShowModal) then
Result := AEditor.ContratosClienteSeleccionados;
finally
AEditor.Release;
AEditor := NIL;
end;
end;
function TContratosClienteController.Eliminar(AContrato: IBizContratoCliente; AllItems: Boolean = false): Boolean;
//En el caso de eliminar almenos un elemento del conjunto se devuelve true
var
@ -1307,7 +1360,7 @@ end;
procedure TContratosClienteController.RecuperarObjetos(AContrato: IBizContratoCliente);
begin
RecuperarCliente(AContrato);
if (AContrato.ENVIADA_REVISADA = 10) then
if (AContrato.ENVIADA_REVISADA = CONST_PRESUPUESTO_RECIBIDO_DESDE_WEB_ST) then
MandarFabrica(AContrato, False);
end;
@ -1392,6 +1445,11 @@ begin
AFormasPagoController := Nil;
end;
function TContratosClienteController.RevisarContratosTerminados(const Ano: String): Boolean;
begin
Result := FDataModule.RevisarContratosTerminados(AppFactuGES.EmpresaActiva.ID, Ano);
end;
procedure TContratosClienteController.RecuperarCliente(AContrato: IBizContratoCliente);
begin
AContrato._Cliente := (FClienteController.Buscar(AContrato.ID_Cliente) as IBizCliente);
@ -1601,7 +1659,7 @@ begin
if AClonarContrato then
ENVIADA_REVISADA := CONST_CONTRATO_RECIBIDO_UECKO
else
ENVIADA_REVISADA := CONST_CONTRATO_RECIBIDO_UECKO_DESDE_WEB;
ENVIADA_REVISADA := CONST_PRESUPUESTO_RECIBIDO_UECKO_DESDE_WEB;
//En el caso de contrato de presupuestador WEB se cambia constante
if AClonarContrato then

View File

@ -98,7 +98,7 @@ begin
ActualizarDetalles(ADetalles, ACliente.DESCUENTO_LINEA);
// ShowInfoMessage('Se ha actualizado el descuento para el cliente seleccionado');
finally
AArticulos := Nil;
// AArticulos := Nil;
end;
end;
end;

View File

@ -724,4 +724,42 @@ inherited DataModuleContratosCliente: TDataModuleContratosCliente
Left = 712
Top = 32
end
object tbl_RevisarContratosTerminados: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'REFERENCIAS_MODIFICADAS'
DataType = datString
Size = 10000
end
item
Name = 'NUM_CONT_MODIF'
DataType = datInteger
end>
Params = <
item
Name = 'FECHA_INI'
Value = ''
end
item
Name = 'FECHA_FIN'
Value = ''
end
item
Name = 'ID_EMPRESA'
Value = ''
end>
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteDataAdapter = rda_ContratosCliente
LogicalName = 'RevisarContratosTerminados'
IndexDefs = <>
Left = 552
Top = 264
end
object ds_RevisarContratosTerminados: TDADataSource
DataSet = tbl_RevisarContratosTerminados.Dataset
DataTable = tbl_RevisarContratosTerminados
Left = 552
Top = 216
end
end

View File

@ -29,6 +29,8 @@ type
ds_TiposCapitulos: TDADataSource;
tbl_ContratosClienteBeneficios: TDAMemDataTable;
ds_ContratosClienteBeneficios: TDADataSource;
tbl_RevisarContratosTerminados: TDAMemDataTable;
ds_RevisarContratosTerminados: TDADataSource;
procedure DAClientDataModuleCreate(Sender: TObject);
private
@ -56,7 +58,8 @@ type
function GetAnosItems : TStringList;
function GetContratosClienteBeneficios : IBizContratosClienteBeneficios;
function AnadirIncidenciaContrato(const id_contrato: Integer): Boolean;
function AnadirIncidenciaContrato(const id_contrato: Integer): Boolean;
function RevisarContratosTerminados(const IDEmpresa: Integer; const Ano: String): Boolean;
end;
implementation
@ -120,6 +123,35 @@ begin
Result := GetItem(ID_NULO)
end;
function TDataModuleContratosCliente.RevisarContratosTerminados(const IDEmpresa: Integer; const Ano: String): Boolean;
var
AContratosTerminados: TDAMemDataTable;
FechaIni: String;
FechaFin: String;
Cadena: String;
begin
ShowHourglassCursor;
try
FechaIni := '01/01/' + Ano;
FechaFin := '31/12/' + Ano;
AContratosTerminados := CloneDataTable(tbl_RevisarContratosTerminados);
AContratosTerminados.ParamByName('FECHA_INI').AsString := '01/01/2025';
AContratosTerminados.ParamByName('FECHA_FIN').AsString := '31/12/2025';
AContratosTerminados.ParamByName('ID_EMPRESA').AsInteger := IDEmpresa;
AContratosTerminados.Open;
Cadena := AContratosTerminados.FieldByName('NUM_CONT_MODIF').AsString;
Cadena := Cadena + ' contratos terminados: ';
Cadena := Cadena + AContratosTerminados.FieldByName('REFERENCIAS_MODIFICADAS').AsString;
ShowMessage(Cadena);
Result := True;
finally
HideHourglassCursor;
end;
end;
{
function TDataModuleContratosCliente.SubirFichero(const ID: Integer; const NombreFichero: String; const Fichero: Binary): Boolean;
begin

View File

@ -16,6 +16,7 @@ type
function NewItem : IBizContratoCliente;
function GetContratosClienteBeneficios : IBizContratosClienteBeneficios;
function AnadirIncidenciaContrato(const id_contrato: Integer): Boolean;
function RevisarContratosTerminados(const IDEmpresa: Integer; const Ano: String): Boolean;
end;
implementation

View File

@ -9,19 +9,21 @@ 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_Valores = '{2D309AB3-F26D-4F77-9E09-6CA7620C0534}';
RID_Propiedades = '{CDA8162E-A86C-43C2-8160-1611E65E1B79}';
RID_ListaAnosContratos = '{26625F4D-4082-4793-9D6D-E82A66988980}';
RID_ContratosClienteBeneficios = '{A9E9049C-4725-4DB0-8269-176B0DBCB855}';
RID_ContratosCliente = '{BCA303F7-0BDC-4E2D-ADEA-997161746A59}';
RID_TiposCapitulos = '{44ABA6A4-B39A-4CC9-8869-853241708F46}';
RID_ContratosCliente_Detalles = '{6AB8871E-9878-4FD4-ADB5-6C24D4C83745}';
RID_Valores = '{449077DB-4A8E-495D-A0BD-2FBCE344A200}';
RID_Propiedades = '{B8C14BE3-F7DA-40FE-AC7C-2E3C14E4DC82}';
RID_ListaAnosContratos = '{D8E15212-483A-4B17-8717-C62519A49530}';
RID_ContratosClienteBeneficios = '{482CAA2A-EDB5-4DF7-A6E4-3A30F50845DB}';
RID_RevisarContratosTerminados = '{C26ED646-D46A-4FFB-9114-5ABF26D1C894}';
RID_ContratosCliente = '{4CBF898D-5FAF-4946-AC1F-608027F6E56C}';
RID_TiposCapitulos = '{D8839C39-62D9-4506-B089-9F54195DFC05}';
RID_ContratosCliente_Detalles = '{888EBC02-027A-42EF-9774-DBB1CA098FA7}';
{ Data table names }
nme_Valores = 'Valores';
nme_Propiedades = 'Propiedades';
nme_ListaAnosContratos = 'ListaAnosContratos';
nme_ContratosClienteBeneficios = 'ContratosClienteBeneficios';
nme_RevisarContratosTerminados = 'RevisarContratosTerminados';
nme_ContratosCliente = 'ContratosCliente';
nme_TiposCapitulos = 'TiposCapitulos';
nme_ContratosCliente_Detalles = 'ContratosCliente_Detalles';
@ -86,6 +88,14 @@ const
idx_ContratosClienteBeneficiosIMPORTE_BENEFICIO_REAL = 13;
idx_ContratosClienteBeneficiosPORCENTAJE_BENEFICIO_REAL = 14;
{ RevisarContratosTerminados fields }
fld_RevisarContratosTerminadosREFERENCIAS_MODIFICADAS = 'REFERENCIAS_MODIFICADAS';
fld_RevisarContratosTerminadosNUM_CONT_MODIF = 'NUM_CONT_MODIF';
{ RevisarContratosTerminados field indexes }
idx_RevisarContratosTerminadosREFERENCIAS_MODIFICADAS = 0;
idx_RevisarContratosTerminadosNUM_CONT_MODIF = 1;
{ ContratosCliente fields }
fld_ContratosClienteID = 'ID';
fld_ContratosClienteID_EMPRESA = 'ID_EMPRESA';
@ -293,7 +303,7 @@ const
type
{ IValores }
IValores = interface(IDAStronglyTypedDataTable)
['{42A9D440-7427-4615-9941-BAD61DE3F24D}']
['{74023DE8-DA34-40C9-8D30-8D95849B47F5}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -352,7 +362,7 @@ type
{ IPropiedades }
IPropiedades = interface(IDAStronglyTypedDataTable)
['{DAE036DD-692B-476F-B79E-C1D9BD20FC8F}']
['{8E8718A2-101B-44D5-85BB-7C8010CD29C4}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -411,7 +421,7 @@ type
{ IListaAnosContratos }
IListaAnosContratos = interface(IDAStronglyTypedDataTable)
['{E545B154-B154-44B3-83CF-079BD402234B}']
['{C219B51A-9634-41C7-9B62-997F971C4EE8}']
{ Property getters and setters }
function GetANOValue: String;
procedure SetANOValue(const aValue: String);
@ -446,7 +456,7 @@ type
{ IContratosClienteBeneficios }
IContratosClienteBeneficios = interface(IDAStronglyTypedDataTable)
['{485B17EC-9EB8-4EA9-B53B-18FA77E4F004}']
['{2484BF45-5ADE-4EC9-B04C-CBCA08948BFE}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -647,9 +657,56 @@ type
end;
{ IRevisarContratosTerminados }
IRevisarContratosTerminados = interface(IDAStronglyTypedDataTable)
['{0C3A779B-207C-4843-909E-545B77CC0304}']
{ Property getters and setters }
function GetREFERENCIAS_MODIFICADASValue: String;
procedure SetREFERENCIAS_MODIFICADASValue(const aValue: String);
function GetREFERENCIAS_MODIFICADASIsNull: Boolean;
procedure SetREFERENCIAS_MODIFICADASIsNull(const aValue: Boolean);
function GetNUM_CONT_MODIFValue: Integer;
procedure SetNUM_CONT_MODIFValue(const aValue: Integer);
function GetNUM_CONT_MODIFIsNull: Boolean;
procedure SetNUM_CONT_MODIFIsNull(const aValue: Boolean);
{ Properties }
property REFERENCIAS_MODIFICADAS: String read GetREFERENCIAS_MODIFICADASValue write SetREFERENCIAS_MODIFICADASValue;
property REFERENCIAS_MODIFICADASIsNull: Boolean read GetREFERENCIAS_MODIFICADASIsNull write SetREFERENCIAS_MODIFICADASIsNull;
property NUM_CONT_MODIF: Integer read GetNUM_CONT_MODIFValue write SetNUM_CONT_MODIFValue;
property NUM_CONT_MODIFIsNull: Boolean read GetNUM_CONT_MODIFIsNull write SetNUM_CONT_MODIFIsNull;
end;
{ TRevisarContratosTerminadosDataTableRules }
TRevisarContratosTerminadosDataTableRules = class(TIntfObjectDADataTableRules, IRevisarContratosTerminados)
private
protected
{ Property getters and setters }
function GetREFERENCIAS_MODIFICADASValue: String; virtual;
procedure SetREFERENCIAS_MODIFICADASValue(const aValue: String); virtual;
function GetREFERENCIAS_MODIFICADASIsNull: Boolean; virtual;
procedure SetREFERENCIAS_MODIFICADASIsNull(const aValue: Boolean); virtual;
function GetNUM_CONT_MODIFValue: Integer; virtual;
procedure SetNUM_CONT_MODIFValue(const aValue: Integer); virtual;
function GetNUM_CONT_MODIFIsNull: Boolean; virtual;
procedure SetNUM_CONT_MODIFIsNull(const aValue: Boolean); virtual;
{ Properties }
property REFERENCIAS_MODIFICADAS: String read GetREFERENCIAS_MODIFICADASValue write SetREFERENCIAS_MODIFICADASValue;
property REFERENCIAS_MODIFICADASIsNull: Boolean read GetREFERENCIAS_MODIFICADASIsNull write SetREFERENCIAS_MODIFICADASIsNull;
property NUM_CONT_MODIF: Integer read GetNUM_CONT_MODIFValue write SetNUM_CONT_MODIFValue;
property NUM_CONT_MODIFIsNull: Boolean read GetNUM_CONT_MODIFIsNull write SetNUM_CONT_MODIFIsNull;
public
constructor Create(aDataTable: TDADataTable); override;
destructor Destroy; override;
end;
{ IContratosCliente }
IContratosCliente = interface(IDAStronglyTypedDataTable)
['{BC35BB6D-75FF-4DDA-A704-A0B70347E16B}']
['{31AD19F0-A010-411E-9B69-B5525F49F549}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -1527,7 +1584,7 @@ type
}
{ ITiposCapitulos }
ITiposCapitulos = interface(IDAStronglyTypedDataTable)
['{ABE3E0C6-0566-42D9-BEBC-07769F25A890}']
['{C8E4A276-520A-426B-81CE-2F25D26C2DB7}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -1622,7 +1679,7 @@ type
{ IContratosCliente_Detalles }
IContratosCliente_Detalles = interface(IDAStronglyTypedDataTable)
['{CF6A5940-C4C5-454F-BDD2-C37AD36C2D04}']
['{F5D71D23-745C-4822-A313-52B50D3C517B}']
{ Property getters and setters }
function GetIDValue: Integer;
procedure SetIDValue(const aValue: Integer);
@ -2385,6 +2442,60 @@ begin
end;
{ TRevisarContratosTerminadosDataTableRules }
constructor TRevisarContratosTerminadosDataTableRules.Create(aDataTable: TDADataTable);
begin
inherited;
end;
destructor TRevisarContratosTerminadosDataTableRules.Destroy;
begin
inherited;
end;
function TRevisarContratosTerminadosDataTableRules.GetREFERENCIAS_MODIFICADASValue: String;
begin
result := DataTable.Fields[idx_RevisarContratosTerminadosREFERENCIAS_MODIFICADAS].AsString;
end;
procedure TRevisarContratosTerminadosDataTableRules.SetREFERENCIAS_MODIFICADASValue(const aValue: String);
begin
DataTable.Fields[idx_RevisarContratosTerminadosREFERENCIAS_MODIFICADAS].AsString := aValue;
end;
function TRevisarContratosTerminadosDataTableRules.GetREFERENCIAS_MODIFICADASIsNull: boolean;
begin
result := DataTable.Fields[idx_RevisarContratosTerminadosREFERENCIAS_MODIFICADAS].IsNull;
end;
procedure TRevisarContratosTerminadosDataTableRules.SetREFERENCIAS_MODIFICADASIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_RevisarContratosTerminadosREFERENCIAS_MODIFICADAS].AsVariant := Null;
end;
function TRevisarContratosTerminadosDataTableRules.GetNUM_CONT_MODIFValue: Integer;
begin
result := DataTable.Fields[idx_RevisarContratosTerminadosNUM_CONT_MODIF].AsInteger;
end;
procedure TRevisarContratosTerminadosDataTableRules.SetNUM_CONT_MODIFValue(const aValue: Integer);
begin
DataTable.Fields[idx_RevisarContratosTerminadosNUM_CONT_MODIF].AsInteger := aValue;
end;
function TRevisarContratosTerminadosDataTableRules.GetNUM_CONT_MODIFIsNull: boolean;
begin
result := DataTable.Fields[idx_RevisarContratosTerminadosNUM_CONT_MODIF].IsNull;
end;
procedure TRevisarContratosTerminadosDataTableRules.SetNUM_CONT_MODIFIsNull(const aValue: Boolean);
begin
if aValue then
DataTable.Fields[idx_RevisarContratosTerminadosNUM_CONT_MODIF].AsVariant := Null;
end;
{ TContratosClienteDataTableRules }
constructor TContratosClienteDataTableRules.Create(aDataTable: TDADataTable);
var
@ -4464,6 +4575,7 @@ initialization
RegisterDataTableRules(RID_Propiedades, TPropiedadesDataTableRules);
RegisterDataTableRules(RID_ListaAnosContratos, TListaAnosContratosDataTableRules);
RegisterDataTableRules(RID_ContratosClienteBeneficios, TContratosClienteBeneficiosDataTableRules);
RegisterDataTableRules(RID_RevisarContratosTerminados, TRevisarContratosTerminadosDataTableRules);
RegisterDataTableRules(RID_ContratosCliente, TContratosClienteDataTableRules);
RegisterDataTableRules(RID_TiposCapitulos, TTiposCapitulosDataTableRules);
RegisterDataTableRules(RID_ContratosCliente_Detalles, TContratosCliente_DetallesDataTableRules);

View File

@ -9,18 +9,19 @@ 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_ValoresDelta = '{473FE23F-233A-4334-AA5D-DEBDC818CAD6}';
RID_PropiedadesDelta = '{268881CE-E2C7-42D0-9BD1-36FA949D98CB}';
RID_ListaAnosContratosDelta = '{E7D06B88-F7AB-45DE-99BA-B358710FD5EC}';
RID_ContratosClienteBeneficiosDelta = '{B8458008-73A7-41D2-8637-E98C753234F0}';
RID_ContratosClienteDelta = '{0FF43F59-671C-4BBC-AD27-CD2C3D04FF13}';
RID_TiposCapitulosDelta = '{B43B00CF-0450-4BB8-9B2D-AED17652906B}';
RID_ContratosCliente_DetallesDelta = '{8BDA75BE-71A6-460A-A8F7-933DD660440C}';
RID_ValoresDelta = '{53927053-5B9C-420E-869B-E4859BC566C2}';
RID_PropiedadesDelta = '{9C0E4AE7-8283-4E08-9A5D-4DD599EB4A87}';
RID_ListaAnosContratosDelta = '{4E603994-388B-4817-A281-9CE6BC8C4836}';
RID_ContratosClienteBeneficiosDelta = '{C2734792-1711-4F25-A7E4-F6A4E8DFE7F7}';
RID_RevisarContratosTerminadosDelta = '{C8885AF8-3A6B-475F-885B-7E09FD70B8F4}';
RID_ContratosClienteDelta = '{56A458E8-2C32-4EC7-AE69-43CE1D9D7DC4}';
RID_TiposCapitulosDelta = '{8376BFFA-46A3-4286-956F-1C50A09A89EF}';
RID_ContratosCliente_DetallesDelta = '{8B0DD083-BB6E-4E26-9585-E0F69BA9C7EE}';
type
{ IValoresDelta }
IValoresDelta = interface(IValores)
['{473FE23F-233A-4334-AA5D-DEBDC818CAD6}']
['{53927053-5B9C-420E-869B-E4859BC566C2}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_PROPIEDADValue : Integer;
@ -78,7 +79,7 @@ type
{ IPropiedadesDelta }
IPropiedadesDelta = interface(IPropiedades)
['{268881CE-E2C7-42D0-9BD1-36FA949D98CB}']
['{9C0E4AE7-8283-4E08-9A5D-4DD599EB4A87}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldDESCRIPCIONValue : String;
@ -136,7 +137,7 @@ type
{ IListaAnosContratosDelta }
IListaAnosContratosDelta = interface(IListaAnosContratos)
['{E7D06B88-F7AB-45DE-99BA-B358710FD5EC}']
['{4E603994-388B-4817-A281-9CE6BC8C4836}']
{ Property getters and setters }
function GetOldANOValue : String;
@ -170,7 +171,7 @@ type
{ IContratosClienteBeneficiosDelta }
IContratosClienteBeneficiosDelta = interface(IContratosClienteBeneficios)
['{B8458008-73A7-41D2-8637-E98C753234F0}']
['{C2734792-1711-4F25-A7E4-F6A4E8DFE7F7}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldREFERENCIAValue : String;
@ -370,9 +371,55 @@ type
end;
{ IRevisarContratosTerminadosDelta }
IRevisarContratosTerminadosDelta = interface(IRevisarContratosTerminados)
['{C8885AF8-3A6B-475F-885B-7E09FD70B8F4}']
{ Property getters and setters }
function GetOldREFERENCIAS_MODIFICADASValue : String;
function GetOldNUM_CONT_MODIFValue : Integer;
{ Properties }
property OldREFERENCIAS_MODIFICADAS : String read GetOldREFERENCIAS_MODIFICADASValue;
property OldNUM_CONT_MODIF : Integer read GetOldNUM_CONT_MODIFValue;
end;
{ TRevisarContratosTerminadosBusinessProcessorRules }
TRevisarContratosTerminadosBusinessProcessorRules = class(TDABusinessProcessorRules, IRevisarContratosTerminados, IRevisarContratosTerminadosDelta)
private
protected
{ Property getters and setters }
function GetREFERENCIAS_MODIFICADASValue: String; virtual;
function GetREFERENCIAS_MODIFICADASIsNull: Boolean; virtual;
function GetOldREFERENCIAS_MODIFICADASValue: String; virtual;
function GetOldREFERENCIAS_MODIFICADASIsNull: Boolean; virtual;
procedure SetREFERENCIAS_MODIFICADASValue(const aValue: String); virtual;
procedure SetREFERENCIAS_MODIFICADASIsNull(const aValue: Boolean); virtual;
function GetNUM_CONT_MODIFValue: Integer; virtual;
function GetNUM_CONT_MODIFIsNull: Boolean; virtual;
function GetOldNUM_CONT_MODIFValue: Integer; virtual;
function GetOldNUM_CONT_MODIFIsNull: Boolean; virtual;
procedure SetNUM_CONT_MODIFValue(const aValue: Integer); virtual;
procedure SetNUM_CONT_MODIFIsNull(const aValue: Boolean); virtual;
{ Properties }
property REFERENCIAS_MODIFICADAS : String read GetREFERENCIAS_MODIFICADASValue write SetREFERENCIAS_MODIFICADASValue;
property REFERENCIAS_MODIFICADASIsNull : Boolean read GetREFERENCIAS_MODIFICADASIsNull write SetREFERENCIAS_MODIFICADASIsNull;
property OldREFERENCIAS_MODIFICADAS : String read GetOldREFERENCIAS_MODIFICADASValue;
property OldREFERENCIAS_MODIFICADASIsNull : Boolean read GetOldREFERENCIAS_MODIFICADASIsNull;
property NUM_CONT_MODIF : Integer read GetNUM_CONT_MODIFValue write SetNUM_CONT_MODIFValue;
property NUM_CONT_MODIFIsNull : Boolean read GetNUM_CONT_MODIFIsNull write SetNUM_CONT_MODIFIsNull;
property OldNUM_CONT_MODIF : Integer read GetOldNUM_CONT_MODIFValue;
property OldNUM_CONT_MODIFIsNull : Boolean read GetOldNUM_CONT_MODIFIsNull;
public
constructor Create(aBusinessProcessor: TDABusinessProcessor); override;
destructor Destroy; override;
end;
{ IContratosClienteDelta }
IContratosClienteDelta = interface(IContratosCliente)
['{0FF43F59-671C-4BBC-AD27-CD2C3D04FF13}']
['{56A458E8-2C32-4EC7-AE69-43CE1D9D7DC4}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_EMPRESAValue : Integer;
@ -1250,7 +1297,7 @@ type
{ ITiposCapitulosDelta }
ITiposCapitulosDelta = interface(ITiposCapitulos)
['{B43B00CF-0450-4BB8-9B2D-AED17652906B}']
['{8376BFFA-46A3-4286-956F-1C50A09A89EF}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldPOSICIONValue : Integer;
@ -1344,7 +1391,7 @@ type
{ IContratosCliente_DetallesDelta }
IContratosCliente_DetallesDelta = interface(IContratosCliente_Detalles)
['{8BDA75BE-71A6-460A-A8F7-933DD660440C}']
['{8B0DD083-BB6E-4E26-9585-E0F69BA9C7EE}']
{ Property getters and setters }
function GetOldIDValue : Integer;
function GetOldID_CONTRATOValue : Integer;
@ -2327,6 +2374,80 @@ begin
end;
{ TRevisarContratosTerminadosBusinessProcessorRules }
constructor TRevisarContratosTerminadosBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
begin
inherited;
end;
destructor TRevisarContratosTerminadosBusinessProcessorRules.Destroy;
begin
inherited;
end;
function TRevisarContratosTerminadosBusinessProcessorRules.GetREFERENCIAS_MODIFICADASValue: String;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_RevisarContratosTerminadosREFERENCIAS_MODIFICADAS];
end;
function TRevisarContratosTerminadosBusinessProcessorRules.GetREFERENCIAS_MODIFICADASIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_RevisarContratosTerminadosREFERENCIAS_MODIFICADAS]);
end;
function TRevisarContratosTerminadosBusinessProcessorRules.GetOldREFERENCIAS_MODIFICADASValue: String;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_RevisarContratosTerminadosREFERENCIAS_MODIFICADAS];
end;
function TRevisarContratosTerminadosBusinessProcessorRules.GetOldREFERENCIAS_MODIFICADASIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_RevisarContratosTerminadosREFERENCIAS_MODIFICADAS]);
end;
procedure TRevisarContratosTerminadosBusinessProcessorRules.SetREFERENCIAS_MODIFICADASValue(const aValue: String);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_RevisarContratosTerminadosREFERENCIAS_MODIFICADAS] := aValue;
end;
procedure TRevisarContratosTerminadosBusinessProcessorRules.SetREFERENCIAS_MODIFICADASIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_RevisarContratosTerminadosREFERENCIAS_MODIFICADAS] := Null;
end;
function TRevisarContratosTerminadosBusinessProcessorRules.GetNUM_CONT_MODIFValue: Integer;
begin
result := BusinessProcessor.CurrentChange.NewValueByName[fld_RevisarContratosTerminadosNUM_CONT_MODIF];
end;
function TRevisarContratosTerminadosBusinessProcessorRules.GetNUM_CONT_MODIFIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.NewValueByName[fld_RevisarContratosTerminadosNUM_CONT_MODIF]);
end;
function TRevisarContratosTerminadosBusinessProcessorRules.GetOldNUM_CONT_MODIFValue: Integer;
begin
result := BusinessProcessor.CurrentChange.OldValueByName[fld_RevisarContratosTerminadosNUM_CONT_MODIF];
end;
function TRevisarContratosTerminadosBusinessProcessorRules.GetOldNUM_CONT_MODIFIsNull: Boolean;
begin
result := VarIsNull(BusinessProcessor.CurrentChange.OldValueByName[fld_RevisarContratosTerminadosNUM_CONT_MODIF]);
end;
procedure TRevisarContratosTerminadosBusinessProcessorRules.SetNUM_CONT_MODIFValue(const aValue: Integer);
begin
BusinessProcessor.CurrentChange.NewValueByName[fld_RevisarContratosTerminadosNUM_CONT_MODIF] := aValue;
end;
procedure TRevisarContratosTerminadosBusinessProcessorRules.SetNUM_CONT_MODIFIsNull(const aValue: Boolean);
begin
if aValue then
BusinessProcessor.CurrentChange.NewValueByName[fld_RevisarContratosTerminadosNUM_CONT_MODIF] := Null;
end;
{ TContratosClienteBusinessProcessorRules }
constructor TContratosClienteBusinessProcessorRules.Create(aBusinessProcessor: TDABusinessProcessor);
var
@ -5370,6 +5491,7 @@ initialization
RegisterBusinessProcessorRules(RID_PropiedadesDelta, TPropiedadesBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_ListaAnosContratosDelta, TListaAnosContratosBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_ContratosClienteBeneficiosDelta, TContratosClienteBeneficiosBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_RevisarContratosTerminadosDelta, TRevisarContratosTerminadosBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_ContratosClienteDelta, TContratosClienteBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_TiposCapitulosDelta, TTiposCapitulosBusinessProcessorRules);
RegisterBusinessProcessorRules(RID_ContratosCliente_DetallesDelta, TContratosCliente_DetallesBusinessProcessorRules);

View File

@ -14,9 +14,11 @@ const
CONST_CONTRATO_DEFAULT = 0;
CONST_CONTRATO_ENVIADO_UECKO = 1;
CONST_CONTRATO_RECIBIDO_UECKO = 2;
CONST_CONTRATO_RECIBIDO_UECKO_DESDE_WEB = 11;
CONST_CONTRATO_ACEPTADO_UECKO = 3;
CONST_PRESUPUESTO_RECIBIDO_DESDE_WEB_ST = 10; //10 - contrato recibido en uecko desde web - sin recalcular en base al cliente
CONST_PRESUPUESTO_RECIBIDO_UECKO_DESDE_WEB = 11; //11 - contrato recibido en uecko desde web - recalculado en base al cliente
CTE_EMPRESA_FABRICA = 1;
SITUACION_CONTRATO_PENDIENTE = 'PENDIENTE';
SITUACION_CONTRATO_TERMINADO = 'TERMINADO';

View File

@ -2,8 +2,8 @@ object RptContratosCliente: TRptContratosCliente
OldCreateOrder = True
OnCreate = DataModuleCreate
OnDestroy = DataModuleDestroy
Height = 584
Width = 869
Height = 593
Width = 1031
object DADSCabecera: TDADataSource
DataSet = tbl_Cabecera.Dataset
DataTable = tbl_Cabecera
@ -17,29 +17,135 @@ object RptContratosCliente: TRptContratosCliente
Top = 72
end
object frxBarCodeObject1: TfrxBarCodeObject
Left = 528
Top = 488
Left = 184
Top = 528
end
object frxOLEObject1: TfrxOLEObject
Left = 400
Top = 488
Left = 56
Top = 528
end
object frxCrossObject1: TfrxCrossObject
Left = 400
Top = 440
Left = 56
Top = 480
end
object frxCheckBoxObject1: TfrxCheckBoxObject
Left = 464
Top = 488
Left = 120
Top = 528
end
object frxGradientObject1: TfrxGradientObject
Left = 464
Top = 440
Left = 120
Top = 480
end
object schReport: TDASchema
ConnectionManager = dmServer.ConnectionManager
DataDictionary = DataDictionary
Datasets = <
item
Params = <
item
Name = 'ID_EMPRESA'
Value = ''
end
item
Name = 'FECHAINI'
Value = ''
end
item
Name = 'FECHAFIN'
Value = ''
end>
Statements = <
item
ConnectionType = 'Interbase'
Default = True
Name = 'IBX'
SQL =
'select FCD.ID_ARTICULO, A.REFERENCIA, (COALESCE(FCD.PROPIEDAD,'#39#39 +
') || FCD.CONCEPTO) CONCEPTO, COALESCE(A.FAMILIA,'#39#39') || '#39' '#39' || CO' +
'ALESCE(A.referencia_prov,'#39#39') || '#39' '#39' || COALESCE(A.DESCRIPCION,'#39#39 +
') ARTICULO,'#10'avg(coalesce(FCD.importe_unidad,0)) importe_medio_un' +
'idad, sum(coalesce(FCD.cantidad,0)) CANTIDAD, avg(coalesce(FCD.i' +
'mporte_unidad,0))*sum(coalesce(FCD.cantidad,0)) importe_medio_to' +
'tal,'#10'sum(coalesce(FCD.importe_unidad,0)) importe_real_total'#10'from' +
' contratos_cliente_detalles FCD'#10'inner join contratos_cliente FC ' +
'on (FC.ID = FCD.ID_CONTRATO)'#10'left join contactos AGENTES on (AGE' +
'NTES.ID = FC.ID_AGENTE)'#10'inner join articulos A on (A.ID = FCD.ID' +
'_ARTICULO)'#10'where {where}'#10'and FC.ID_EMPRESA = :ID_EMPRESA'#10'and FC.' +
'FECHA_CONTRATO between :FECHAINI and :FECHAFIN'#10'and FCD.id_articu' +
'lo > 1'#10'and A.COMISIONABLE = 1'#10#10'GROUP BY 1,2,3,4'#10'order by 6 DESC'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID_ARTICULO'
TableField = 'ID_ARTICULO'
end
item
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end
item
DatasetField = 'IMPORTE_MEDIO_UNIDAD'
TableField = 'IMPORTE_MEDIO_UNIDAD'
end
item
DatasetField = 'CANTIDAD'
TableField = 'CANTIDAD'
end
item
DatasetField = 'IMPORTE_MEDIO_TOTAL'
TableField = 'IMPORTE_MEDIO_TOTAL'
end
item
DatasetField = 'IMPORTE_REAL_TOTAL'
TableField = 'IMPORTE_REAL_TOTAL'
end
item
DatasetField = 'ARTICULO'
TableField = 'ARTICULO'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end>
end>
Name = 'InformeVentasArticulos'
Fields = <
item
Name = 'ID_ARTICULO'
DataType = datInteger
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2255
end
item
Name = 'ARTICULO'
DataType = datString
Size = 767
end
item
Name = 'IMPORTE_MEDIO_UNIDAD'
DataType = datCurrency
end
item
Name = 'CANTIDAD'
DataType = datCurrency
end
item
Name = 'IMPORTE_MEDIO_TOTAL'
DataType = datCurrency
end
item
Name = 'IMPORTE_REAL_TOTAL'
DataType = datCurrency
end>
end
item
Params = <>
Statements = <
@ -852,6 +958,10 @@ object RptContratosCliente: TRptContratosCliente
item
DatasetField = 'CONCEPTO_EN'
TableField = 'CONCEPTO_EN'
end
item
DatasetField = 'CONCEPTO_FR'
TableField = 'CONCEPTO_FR'
end>
end>
Name = 'Informe_Capitulos_Detalles'
@ -901,6 +1011,11 @@ object RptContratosCliente: TRptContratosCliente
DataType = datString
Size = 2000
end
item
Name = 'CONCEPTO_FR'
DataType = datString
Size = 2000
end
item
Name = 'CANTIDAD'
DataType = datCurrency
@ -1136,6 +1251,304 @@ object RptContratosCliente: TRptContratosCliente
Name = 'IMPORTE_TOTAL'
DataType = datCurrency
end>
end
item
Params = <
item
Name = 'ID_EMPRESA'
Value = ''
ParamType = daptInput
end
item
Name = 'FECHAINI'
Value = ''
ParamType = daptInput
end
item
Name = 'FECHAFIN'
Value = ''
ParamType = daptInput
end>
Statements = <
item
ConnectionType = 'Interbase'
Default = True
SQL =
'select FC.ID_AGENTE, FCD.ID_ARTICULO, A.REFERENCIA, (COALESCE(FC' +
'D.PROPIEDAD,'#39#39') || FCD.CONCEPTO) CONCEPTO, COALESCE(A.FAMILIA,'#39#39 +
') || '#39' '#39' || COALESCE(A.referencia_prov,'#39#39') || '#39' '#39' || COALESCE(A.' +
'DESCRIPCION,'#39#39') ARTICULO,'#10'avg(coalesce(FCD.importe_unidad,0)) im' +
'porte_medio_unidad, sum(coalesce(FCD.cantidad,0)) CANTIDAD, avg(' +
'coalesce(FCD.importe_unidad,0))*sum(coalesce(FCD.cantidad,0)) im' +
'porte_medio_total,'#10'sum(coalesce(FCD.importe_total,0)) importe_re' +
'al_total'#10'from contratos_cliente_detalles FCD'#10'inner join contrato' +
's_cliente FC on (FC.ID = FCD.ID_CONTRATO)'#10'left join contactos AG' +
'ENTES on (AGENTES.ID = FC.ID_AGENTE)'#10'inner join articulos A on (' +
'A.ID = FCD.ID_ARTICULO)'#10'where {where}'#10'and FC.ID_EMPRESA = :ID_EM' +
'PRESA'#10'and FC.FECHA_CONTRATO between :FECHAINI and :FECHAFIN'#10'and ' +
'FCD.id_articulo > 1'#10'and A.COMISIONABLE = 1'#10#10'GROUP BY 1,2,3,4,5'#10'o' +
'rder by 7 DESC'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID_ARTICULO'
TableField = 'ID_ARTICULO'
end
item
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end
item
DatasetField = 'IMPORTE_MEDIO_UNIDAD'
TableField = 'IMPORTE_MEDIO_UNIDAD'
end
item
DatasetField = 'CANTIDAD'
TableField = 'CANTIDAD'
end
item
DatasetField = 'IMPORTE_MEDIO_TOTAL'
TableField = 'IMPORTE_MEDIO_TOTAL'
end
item
DatasetField = 'IMPORTE_REAL_TOTAL'
TableField = 'IMPORTE_REAL_TOTAL'
end
item
DatasetField = 'ARTICULO'
TableField = 'ARTICULO'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end
item
DatasetField = 'ID_AGENTE'
TableField = 'ID_AGENTE'
end>
end>
Name = 'InformeVentasArticulosComercial'
Fields = <
item
Name = 'ID_AGENTE'
DataType = datInteger
end
item
Name = 'ID_ARTICULO'
DataType = datInteger
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2255
end
item
Name = 'ARTICULO'
DataType = datString
Size = 767
end
item
Name = 'IMPORTE_MEDIO_UNIDAD'
DataType = datCurrency
end
item
Name = 'CANTIDAD'
DataType = datCurrency
end
item
Name = 'IMPORTE_MEDIO_TOTAL'
DataType = datCurrency
end
item
Name = 'IMPORTE_REAL_TOTAL'
DataType = datCurrency
end>
end
item
Params = <>
Statements = <
item
ConnectionType = 'Interbase'
Default = True
SQL =
'select FC.ID_EMPRESA, FC.ID_AGENTE, AGENTES.NOMBRE, sum(coalesc' +
'e(FCD.cantidad,0)) unidades_vendidas, sum(coalesce(FCD.importe_t' +
'otal,0)) importe_total_unidades'#10'from contratos_cliente_detalles ' +
'FCD'#10'inner join contratos_cliente FC on (FC.ID = FCD.ID_CONTRATO)' +
#10'left join contactos AGENTES on (AGENTES.ID = FC.ID_AGENTE)'#10'inne' +
'r join articulos A on (A.ID = FCD.ID_ARTICULO)'#10'where {where}'#10'and' +
' FCD.id_articulo > 1'#10'and FC.id_agente > 0'#10'and A.COMISIONABLE = 1' +
#10'GROUP BY 1,2,3'#10'order by 5 DESC'#10'rows 1 to 10'#10#10#10#10#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID_AGENTE'
TableField = 'ID_AGENTE'
end
item
DatasetField = 'NOMBRE'
TableField = 'NOMBRE'
end
item
DatasetField = 'UNIDADES_VENDIDAS'
TableField = 'UNIDADES_VENDIDAS'
end
item
DatasetField = 'IMPORTE_TOTAL_UNIDADES'
TableField = 'IMPORTE_TOTAL_UNIDADES'
end
item
DatasetField = 'ID_EMPRESA'
TableField = 'ID_EMPRESA'
end>
end>
Name = 'InformeVentasComercialesResumen'
Fields = <
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'ID_AGENTE'
DataType = datInteger
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'UNIDADES_VENDIDAS'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL_UNIDADES'
DataType = datCurrency
end>
end
item
Params = <>
Statements = <
item
ConnectionType = 'Interbase'
Default = True
SQL =
'select FC.ID_EMPRESA, FC.ID_AGENTE, AGENTES.NOMBRE, FCD.ID_ARTI' +
'CULO, A.REFERENCIA,'#10'(COALESCE(FCD.PROPIEDAD,'#39#39') || FCD.CONCEPTO)' +
' CONCEPTO, COALESCE(A.FAMILIA,'#39#39') || '#39' '#39' || COALESCE(A.referenci' +
'a_prov,'#39#39') || '#39' '#39' || COALESCE(A.DESCRIPCION,'#39#39') ARTICULO,'#10'avg(co' +
'alesce(FCD.importe_unidad,0)) importe_medio_unidad, sum(coalesce' +
'(FCD.cantidad,0)) unidades_vendidas, avg(coalesce(FCD.importe_un' +
'idad,0))*sum(coalesce(FCD.cantidad,0)) importe_medio_total, sum(' +
'coalesce(FCD.importe_total,0)) importe_total_unidades'#10'from contr' +
'atos_cliente_detalles FCD'#10'inner join contratos_cliente FC on (FC' +
'.ID = FCD.ID_CONTRATO)'#10'left join contactos AGENTES on (AGENTES.I' +
'D = FC.ID_AGENTE)'#10'inner join articulos A on (A.ID = FCD.ID_ARTIC' +
'ULO)'#10'where {where}'#10'and FCD.id_articulo > 1'#10'and FC.id_agente > 0'#10 +
'and A.COMISIONABLE = 1'#10'GROUP BY 1,2,3,4,5,6,7'#10'order by 9 DESC'#10'ro' +
'ws 1 to 10'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'ID_AGENTE'
TableField = 'ID_AGENTE'
end
item
DatasetField = 'NOMBRE'
TableField = 'NOMBRE'
end
item
DatasetField = 'UNIDADES_VENDIDAS'
TableField = 'UNIDADES_VENDIDAS'
end
item
DatasetField = 'IMPORTE_TOTAL_UNIDADES'
TableField = 'IMPORTE_TOTAL_UNIDADES'
end
item
DatasetField = 'ID_EMPRESA'
TableField = 'ID_EMPRESA'
end
item
DatasetField = 'ID_ARTICULO'
TableField = 'ID_ARTICULO'
end
item
DatasetField = 'REFERENCIA'
TableField = 'REFERENCIA'
end
item
DatasetField = 'CONCEPTO'
TableField = 'CONCEPTO'
end
item
DatasetField = 'ARTICULO'
TableField = 'ARTICULO'
end
item
DatasetField = 'IMPORTE_MEDIO_UNIDAD'
TableField = 'IMPORTE_MEDIO_UNIDAD'
end
item
DatasetField = 'IMPORTE_MEDIO_TOTAL'
TableField = 'IMPORTE_MEDIO_TOTAL'
end>
end>
Name = 'InformeVentasComercialResumen'
Fields = <
item
Name = 'ID_EMPRESA'
DataType = datInteger
end
item
Name = 'ID_AGENTE'
DataType = datInteger
end
item
Name = 'NOMBRE'
DataType = datString
Size = 255
end
item
Name = 'ID_ARTICULO'
DataType = datInteger
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2255
end
item
Name = 'ARTICULO'
DataType = datString
Size = 767
end
item
Name = 'IMPORTE_MEDIO_UNIDAD'
DataType = datCurrency
end
item
Name = 'UNIDADES_VENDIDAS'
DataType = datCurrency
end
item
Name = 'IMPORTE_MEDIO_TOTAL'
DataType = datCurrency
end
item
Name = 'IMPORTE_TOTAL_UNIDADES'
DataType = datCurrency
end>
end>
JoinDataTables = <>
UnionDataTables = <>
@ -1160,8 +1573,8 @@ object RptContratosCliente: TRptContratosCliente
PreviewOptions.Zoom = 1.000000000000000000
PrintOptions.Printer = 'Por defecto'
PrintOptions.PrintOnSheet = 0
ReportOptions.CreateDate = 39065.872423495400000000
ReportOptions.LastChange = 44182.457662893520000000
ReportOptions.CreateDate = 37800.807714351900000000
ReportOptions.LastChange = 45831.740295370370000000
ScriptLanguage = 'PascalScript'
ShowProgress = False
StoreInDFM = False
@ -1409,43 +1822,43 @@ object RptContratosCliente: TRptContratosCliente
'lc_ctype=ISO8859_1')
LoginPrompt = False
DefaultTransaction = IBTransaction1
Left = 48
Top = 296
Left = 32
Top = 232
end
object IBTransaction1: TIBTransaction
Left = 48
Top = 352
Left = 32
Top = 288
end
object DataSource1: TDataSource
DataSet = cabecera
Left = 216
Top = 296
Left = 200
Top = 232
end
object DataSource2: TDataSource
DataSet = capitulos
Left = 216
Top = 352
Left = 200
Top = 288
end
object capitulos: TIBQuery
Database = IBDatabase1
Transaction = IBTransaction1
SQL.Strings = (
'SELECT * FROM PRO_PRES_CAPITULOS(18)')
Left = 136
Top = 352
Left = 120
Top = 288
end
object DataSource3: TDataSource
DataSet = detalles
Left = 216
Top = 416
Left = 200
Top = 352
end
object detalles: TIBQuery
Database = IBDatabase1
Transaction = IBTransaction1
SQL.Strings = (
'SELECT * FROM PRO_PRES_CAPITULOS_CONCEPTOS(18)')
Left = 136
Top = 416
Left = 120
Top = 352
end
object frxDBCapitulos: TfrxDBDataset
UserName = 'frxDBCapitulos'
@ -1488,8 +1901,8 @@ object RptContratosCliente: TRptContratosCliente
' V_CONTRATOS_CLIENTE INNER JOIN V_CLIENTES ON'
' (V_CONTRATOS_CLIENTE.ID_CLIENTE = V_CLIENTES.ID)'
' WHERE V_CONTRATOS_CLIENTE.ID = 18')
Left = 136
Top = 296
Left = 120
Top = 232
object cabeceraID: TIntegerField
FieldName = 'ID'
Origin = '"V_CONTRATOS_CLIENTE"."ID"'
@ -1675,6 +2088,7 @@ object RptContratosCliente: TRptContratosCliente
UseFileCache = True
ShowProgress = False
OverwritePrompt = False
EmbeddedFonts = True
PrintOptimized = True
Outline = False
Background = False
@ -1689,8 +2103,8 @@ object RptContratosCliente: TRptContratosCliente
FitWindow = False
CenterWindow = False
PrintScaling = False
Left = 528
Top = 440
Left = 184
Top = 480
end
object DADSInformeListadoContratos: TDADataSource
DataSet = tbl_InformeListadoContratos.Dataset
@ -1867,6 +2281,11 @@ object RptContratosCliente: TRptContratosCliente
DataType = datString
Size = 2000
end
item
Name = 'CONCEPTO_FR'
DataType = datString
Size = 2000
end
item
Name = 'CANTIDAD'
DataType = datCurrency
@ -2073,4 +2492,215 @@ object RptContratosCliente: TRptContratosCliente
Left = 528
Top = 128
end
object frxDBInformeVentasArticulos: TfrxDBDataset
UserName = 'frxDBInformeVentasArticulos'
CloseDataSource = True
DataSource = DADSInformeVentasArticulos
BCDToCurrency = False
Left = 304
Top = 408
end
object DADSInformeVentasArticulos: TDADataSource
DataSet = tbl_informeVentasArticulos.Dataset
DataTable = tbl_informeVentasArticulos
Left = 304
Top = 464
end
object tbl_informeVentasArticulos: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID_ARTICULO'
DataType = datInteger
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2255
end
item
Name = 'ARTICULO'
DataType = datString
Size = 767
end
item
Name = 'IMPORTE_MEDIO_UNIDAD'
DataType = datCurrency
end
item
Name = 'CANTIDAD'
DataType = datCurrency
end
item
Name = 'IMPORTE_MEDIO_TOTAL'
DataType = datCurrency
end
item
Name = 'IMPORTE_REAL_TOTAL'
DataType = datCurrency
end>
Params = <
item
Name = 'ID_EMPRESA'
Value = ''
end
item
Name = 'FECHAINI'
Value = ''
end
item
Name = 'FECHAFIN'
Value = ''
end>
MasterMappingMode = mmDataRequest
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer1
LogicalName = 'InformeVentasArticulos'
IndexDefs = <>
Left = 304
Top = 520
end
object frxDBInformeVentasArticulosComercial: TfrxDBDataset
UserName = 'frxDBInformeVentasArticulosComercial'
CloseDataSource = True
DataSource = DADSInformeVentasArticulosComercial
BCDToCurrency = False
Left = 648
Top = 392
end
object DADSInformeVentasArticulosComercial: TDADataSource
DataSet = tbl_informeVentasArticulosComercial.Dataset
DataTable = tbl_informeVentasArticulosComercial
Left = 648
Top = 448
end
object tbl_informeVentasArticulosComercial: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <
item
Name = 'ID_AGENTE'
DataType = datInteger
end
item
Name = 'ID_ARTICULO'
DataType = datInteger
end
item
Name = 'REFERENCIA'
DataType = datString
Size = 255
end
item
Name = 'CONCEPTO'
DataType = datString
Size = 2255
end
item
Name = 'ARTICULO'
DataType = datString
Size = 767
end
item
Name = 'IMPORTE_MEDIO_UNIDAD'
DataType = datCurrency
end
item
Name = 'CANTIDAD'
DataType = datCurrency
end
item
Name = 'IMPORTE_MEDIO_TOTAL'
DataType = datCurrency
end
item
Name = 'IMPORTE_REAL_TOTAL'
DataType = datCurrency
end>
Params = <
item
Name = 'ID_EMPRESA'
Value = ''
ParamType = daptInput
end
item
Name = 'FECHAINI'
Value = ''
ParamType = daptInput
end
item
Name = 'FECHAFIN'
Value = ''
ParamType = daptInput
end>
MasterMappingMode = mmDataRequest
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
LocalSchema = schReport
LocalDataStreamer = DABin2DataStreamer1
LogicalName = 'InformeVentasArticulosComercial'
IndexDefs = <>
Left = 648
Top = 504
end
object frxDBInformeVentasComercialesResumen: TfrxDBDataset
UserName = 'frxDBInformeVentasComercialesResumen'
CloseDataSource = True
DataSource = DADSInformeVentasComercialesResumen
BCDToCurrency = False
Left = 448
Top = 408
end
object DADSInformeVentasComercialesResumen: TDADataSource
DataSet = tbl_InformeVentasComercialesResumen.Dataset
DataTable = tbl_InformeVentasComercialesResumen
Left = 448
Top = 464
end
object tbl_InformeVentasComercialesResumen: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <>
MasterMappingMode = mmDataRequest
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
IndexDefs = <>
Left = 448
Top = 520
end
object frxDBInformeVentasComercialResumen: TfrxDBDataset
UserName = 'frxDBInformeVentasComercialResumen'
CloseDataSource = True
DataSource = DADSInformeVentasComercialResumen
BCDToCurrency = False
Left = 848
Top = 400
end
object DADSInformeVentasComercialResumen: TDADataSource
DataSet = tbl_InformeVentasComercialResumen.Dataset
DataTable = tbl_InformeVentasComercialResumen
Left = 848
Top = 456
end
object tbl_InformeVentasComercialResumen: TDAMemDataTable
RemoteUpdatesOptions = []
Fields = <>
Params = <>
MasterMappingMode = mmDataRequest
LogChanges = False
StreamingOptions = [soDisableEventsWhileStreaming]
RemoteFetchEnabled = False
IndexDefs = <>
Left = 848
Top = 512
end
end

View File

@ -70,6 +70,18 @@ type
frxDBEtiquetas: TfrxDBDataset;
DADataEtiquetas: TDADataSource;
tbl_Etiquetas: TDAMemDataTable;
frxDBInformeVentasArticulos: TfrxDBDataset;
DADSInformeVentasArticulos: TDADataSource;
tbl_informeVentasArticulos: TDAMemDataTable;
frxDBInformeVentasArticulosComercial: TfrxDBDataset;
DADSInformeVentasArticulosComercial: TDADataSource;
tbl_informeVentasArticulosComercial: TDAMemDataTable;
frxDBInformeVentasComercialesResumen: TfrxDBDataset;
DADSInformeVentasComercialesResumen: TDADataSource;
tbl_InformeVentasComercialesResumen: TDAMemDataTable;
frxDBInformeVentasComercialResumen: TfrxDBDataset;
DADSInformeVentasComercialResumen: TDADataSource;
tbl_InformeVentasComercialResumen: TDAMemDataTable;
schReport: TDASchema;
DataDictionary: TDADataDictionary;
procedure DataModuleCreate(Sender: TObject);
@ -82,7 +94,11 @@ type
FFechaInicio: Variant;
FFechaFin: Variant;
FListaIDClientes: TIntegerArray;
FListaIDComerciales: TIntegerArray;
FListaIDArticulos: TIntegerArray;
FListaNombresClientes: TStringList;
FListaNombresComerciales: TStringList;
FListaNombresArticulos: TStringList;
FImporteMinimo: Currency;
FDesglosado : Boolean;
FVerLogotipo : Boolean;
@ -92,19 +108,25 @@ type
procedure _GenerarContrato(const AID : Integer);
procedure PrepararTablaInformeVentasArticulo(ATabla: TDAMemDataTable);
procedure PrepararTablaResumenInformeVentasComerciales(ATabla: IDADataset);
procedure PrepararTablaInforme(ATabla: TDAMemDataTable);
procedure PrepararTablaResumenInforme(ATabla: IDADataset);
function _GenerarInforme(const TipoInforme: String): Binary;
procedure IniciarParametrosInforme;
procedure IniciarParametrosInforme(const TipoInforme: String);
procedure RecuperarNombresClientes;
procedure RecuperarNombresConerciales;
procedure RecuperarNombresArticulos;
public
function GenerarContrato(const ListaID : TIntegerArray; const NombreEmpresa: AnsiString;
const VerLogotipo: Boolean = True; const VerPrecios: Boolean = True; const VerTotales: Boolean = True): Binary;
function GenerarContratoEnPDF(const ListaID : TIntegerArray; const NombreEmpresa: AnsiString;
const VerLogotipo: Boolean = True; const VerPrecios: Boolean = True; const VerTotales: Boolean = True): Binary;
function GenerarInformeListadoContratos(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDClientes: TIntegerArray; const Desglosado: Boolean; const ImporteMinimo: Currency): Binary;
function GenerarEtiquetas(const AID : Integer; const AAgencia: Variant; const ARefPedido: Variant; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer): Binary;
function GenerarEtiquetas(const AID : Integer; const AAgencia: Variant; const ARefPedido: Variant; const ANumEtiquetas: Integer; const AEtiquetaIni: Integer): Binary;
function GenerarInformeVentasArticulos(const IdEmpresa: Integer; const FechaInicio: Variant; const FechaFin: Variant; const ListaIDArticulos: TIntegerArray; const ListaIDComerciales: TIntegerArray): Binary;
end;
implementation
@ -113,17 +135,21 @@ implementation
uses
uSistemaFunc, StrUtils, uDataModuleServer, schContratosClienteClient_Intf,
uROServer, DataAbstract4_Intf, uBizidiomasServer;
uROServer, DataAbstract4_Intf, uBizidiomasServer, uStringsUtils;
const
rptInforme = 'InfContratoCliente.fr3';
rptInformeListadoContratosDesglosado = 'InformeListadoContratosDesglosado.fr3';
rptInformeListadoContratos = 'InformeListadoContratos.fr3';
rptInfEtiquetas = 'InfEtiquetasContratoCliente.fr3';
rptInfEtiquetas = 'InfEtiquetasContratoCliente.fr3';
rptInformeVentasArticulos = 'InformeVentasArticulos.fr3';
rptInformeVentasArticulosComercial = 'InformeVentasArticulosComercial.fr3';
{ Dataset names for schReport }
ds_InformeListadoContratosResumen = 'InformeListadoContratosResumen';
ds_InformeVentasComercialesResumen = 'InformeVentasComercialesResumen';
ds_InformeVentasComercialResumen = 'InformeVentasComercialResumen';
procedure TRptContratosCliente.DataModuleCreate(Sender: TObject);
@ -142,6 +168,8 @@ begin
frxDBDetalles.CloseDataSource := False;
FListaNombresClientes := TStringList.Create;
FListaNombresComerciales := TStringList.Create;
FListaNombresArticulos := TStringList.Create;
with tbl_Detalles do
begin
@ -210,7 +238,7 @@ begin
end;
end;
procedure TRptContratosCliente.IniciarParametrosInforme;
procedure TRptContratosCliente.IniciarParametrosInforme(const TipoInforme: String);
var
ATextos : TStringList;
ACadena : String;
@ -238,12 +266,45 @@ begin
ACadena := FListaNombresClientes.Text;
end
else begin
ACadena := 'Todos los clientes';
if (TipoInforme <> rptInformeVentasArticulos)
and (TipoInforme <> rptInformeVentasArticulosComercial) then
ACadena := 'Todos los clientes';
if FDesglosado then
ACadena := ACadena + ' (desglosados)'
end;
ATextos.Add(ACadena);
if not EsCadenaVacia(ACadena) then
ATextos.Add(ACadena);
ACadena := '';
if Assigned(FListaIDComerciales) and (FListaIDComerciales.Count > 0) then
begin
RecuperarNombresConerciales;
ACadena := FListaNombresComerciales.Text;
end
else begin
ACadena := 'Todos los comerciales';
if FDesglosado then
ACadena := ACadena + ' (desglosados)'
end;
if not EsCadenaVacia(ACadena) then
ATextos.Add(ACadena);
ACadena := '';
if Assigned(FListaIDArticulos) and (FListaIDArticulos.Count > 0) then
begin
RecuperarNombresArticulos;
ACadena := FListaNombresArticulos.Text;
end
else begin
ACadena := 'Todos los articulos';
if FDesglosado then
ACadena := ACadena + ' (desglosados)'
end;
if not EsCadenaVacia(ACadena) then
ATextos.Add(ACadena);
ACadena := '';
frxReport.Variables.Variables['TextoParametros'] := ATextos.Text;
@ -285,7 +346,7 @@ begin
end;
end;
// Filtrar el informe por proveedor
// Filtrar el informe por cliente
if Assigned(FListaIDClientes) then
begin
with ATabla.DynamicWhere do
@ -303,6 +364,24 @@ begin
end;
end;
// Filtrar el informe por cliente
if Assigned(FListaIDComerciales) then
begin
with ATabla.DynamicWhere do
begin
for i := 0 to FListaIDComerciales.Count - 1 do
begin
// (ID_CLIENTE = ID)
Condicion := NewBinaryExpression(NewField('', fld_ContratosClienteID_AGENTE), NewConstant(FListaIDComerciales.Items[i], datInteger), dboEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
end;
end;
// Filtrar el informe por importe minimo
if (FImporteMinimo > 0) then
begin
@ -318,6 +397,63 @@ begin
end;
end;
procedure TRptContratosCliente.PrepararTablaInformeVentasArticulo(ATabla: TDAMemDataTable);
var
Condicion: TDAWhereExpression;
i: Integer;
begin
// Filtrar el informe por empresa
if not VarIsNull(FIdEmpresa) then
begin
ATabla.ParamByName('ID_EMPRESA').AsVariant := FIdEmpresa;
end;
// Filtrar el informe por fechas
if not VarIsNull(FFechaInicio)
and not VarIsNull(FFechaFin) then
begin
ATabla.ParamByName('FECHAINI').AsVariant := FFechaInicio;
ATabla.ParamByName('FECHAFIN').AsVariant := FFechaFin;
end;
// Filtrar el informe por Comerciales
if Assigned(FListaIDComerciales) then
begin
with ATabla.DynamicWhere do
begin
for i := 0 to FListaIDComerciales.Count - 1 do
begin
// (ID_AGENTE = ID)
Condicion := NewBinaryExpression(NewField('', fld_ContratosClienteID_AGENTE), NewConstant(FListaIDComerciales.Items[i], datInteger), dboEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
end;
end;
// Filtrar el informe por articulo
if Assigned(FListaIDArticulos) then
begin
with ATabla.DynamicWhere do
begin
for i := 0 to FListaIDArticulos.Count - 1 do
begin
// (ID_ARTICULO = ID)
Condicion := NewBinaryExpression(NewField('', fld_ContratosCliente_DetallesID_ARTICULO), NewConstant(FListaIDArticulos.Items[i], datInteger), dboEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
end;
end;
end;
procedure TRptContratosCliente.PrepararTablaResumenInforme(ATabla: IDADataset);
var
i: Integer;
@ -347,6 +483,18 @@ begin
end;
end;
// Filtrar el informe por articulo
if Assigned(FListaIDArticulos) then
begin
{ for i := 0 to FListaIDArticulos.Count - 1 do
begin
if Length(AWhereStr) > 0 then
AWhereStr := AWhereStr + 'AND';
AWhereStr := AWhereStr + ' (' + fld_ContratosClienteID_CLIENTE + ' = ' + IntToStr(FListaIDClientes.Items[i]) + ') ';
end;
}
end;
// Filtrar el informe por importe minimo
if (FImporteMinimo > 0) then
begin
@ -358,6 +506,169 @@ begin
ATabla.Where.AddText(AWhereStr);
end;
procedure TRptContratosCliente.PrepararTablaResumenInformeVentasComerciales(ATabla: IDADataset);
var
i: Integer;
AWhereStr : String;
Condicion: TDAWhereExpression;
begin
// Filtrar el informe por empresa
with ATabla.DynamicWhere do
begin
// (ID_EMPRESA >= ID)
Condicion := NewBinaryExpression(NewField('', ('FC.'+ fld_ContratosClienteID_EMPRESA)), NewConstant(FIdEmpresa, datInteger), dboEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
// Filtrar el informe por fechas
if not VarIsNull(FFechaInicio)
and not VarIsNull(FFechaFin) then
begin
with ATabla.DynamicWhere do
begin
// (FECHA_INICIO between FECHA_FIN)
Condicion := NewBinaryExpression(NewField('', fld_ContratosClienteFECHA_Contrato), NewConstant(FFechaInicio, datDateTime), dboGreaterOrEqual);
Condicion := NewBinaryExpression(NewBinaryExpression(NewField('', fld_ContratosClienteFECHA_Contrato), NewConstant(FFechaFin, datDateTime), dboLessOrEqual), Condicion, dboAnd);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
end;
// Filtrar el informe por Comerciales
if Assigned(FListaIDComerciales) then
begin
with ATabla.DynamicWhere do
begin
for i := 0 to FListaIDComerciales.Count - 1 do
begin
// (ID_AGENTE = ID)
Condicion := NewBinaryExpression(NewField('', fld_ContratosClienteID_AGENTE), NewConstant(FListaIDComerciales.Items[i], datInteger), dboEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
end;
end;
// Filtrar el informe por articulo
if Assigned(FListaIDArticulos) then
begin
with ATabla.DynamicWhere do
begin
for i := 0 to FListaIDArticulos.Count - 1 do
begin
// (ID_ARTICULO = ID)
Condicion := NewBinaryExpression(NewField('', fld_ContratosCliente_DetallesID_ARTICULO), NewConstant(FListaIDArticulos.Items[i], datInteger), dboEqual);
if IsEmpty then
Expression := Condicion
else
Expression := NewBinaryExpression(Expression, Condicion, dboAnd);
end;
end;
end;
end;
procedure TRptContratosCliente.RecuperarNombresArticulos;
var
AArticulosService : IsrvArticulos;
Intf : IInterface;
AClientID : TGUID;
ATableNameArray: StringArray;
ATableRequestInfoArray: TableRequestInfoArray;
ATableRequestInfo: TableRequestInfoV5;
AStream: TMemoryStream;
ADataTable: TDAMemDataTable;
i: Integer;
AWhereBuilder : TDAWhereBuilder;
ACondicion : TDAWhereExpression;
ACadena: String;
begin
CreateGUID(AClientID);
GetClassFactory('srvArticulos').CreateInstance(AClientID, Intf);
if Assigned(Intf) then
begin
AArticulosService := Intf as IsrvArticulos;
ATableNameArray := StringArray.Create;
ATableRequestInfoArray := TableRequestInfoArray.Create;
AWhereBuilder := TDAWhereBuilder.Create;
try
ATableNameArray.Add('Articulos');
ATableRequestInfo := TableRequestInfoV5.Create;
with ATableRequestInfo do
begin
IncludeSchema := True;
MaxRecords := -1;
UserFilter := '';
AWhereBuilder.Clear;
with AWhereBuilder do
for i := 0 to FListaIDArticulos.Count - 1 do
begin
ACondicion := NewBinaryExpression(
NewBinaryExpression(NewField('', 'ID'), NewConstant(FListaIDArticulos[i], datInteger), dboEqual),
NewBinaryExpression(NewField('', 'ID_EMPRESA'), NewConstant(FIdEmpresa, datInteger), dboEqual),
dboAnd);
if not AWhereBuilder.IsEmpty then
Expression := NewBinaryExpression(Expression, ACondicion, dboOr)
else
Expression := ACondicion;
end;
WhereClause := AWhereBuilder.ExpressionToXmlNode(AWhereBuilder.Expression);
end;
try
ATableRequestInfoArray.Add(ATableRequestInfo);
AStream := AArticulosService.GetData(ATableNameArray, ATableRequestInfoArray);
if Assigned(AStream) then
begin
ADataTable := TDAMemDataTable.Create(nil);
try
ADataTable.Name := 'Articulos';
ADataTable.LocalDataStreamer := DABin2DataStreamer1;
ADataTable.RemoteFetchEnabled := False;
DABin2DataStreamer1.ReadDataset(AStream, ADataTable, True);
ADataTable.Open;
FListaNombresArticulos.Clear;
for i := 0 to ADataTable.RecordCount - 1 do
begin
ACadena := ADataTable.FieldByName('FAMILIA').AsString + ADataTable.FieldByName('REFERENCIA_PROV').AsString + ADataTable.FieldByName('DESCRIPCION').AsString;
FListaNombresArticulos.Add(ACadena);
ADataTable.Next;
end;
finally
FreeANDNil(ADataTable);
end;
end;
except
on e: Exception do
dmServer.EscribirLog(e.Message);
end;
finally
FreeANDNIL(ATableRequestInfoArray);
FreeANDNIL(ATableNameArray);
FreeANDNIL(AWhereBuilder);
end;
end;
end;
procedure TRptContratosCliente.RecuperarNombresClientes;
var
AContactosService : IsrvContactos;
@ -448,6 +759,96 @@ begin
end;
end;
procedure TRptContratosCliente.RecuperarNombresConerciales;
var
AContactosService : IsrvContactos;
Intf : IInterface;
AClientID : TGUID;
ATableNameArray: StringArray;
ATableRequestInfoArray: TableRequestInfoArray;
ATableRequestInfo: TableRequestInfoV5;
AStream: TMemoryStream;
ADataTable: TDAMemDataTable;
i: Integer;
AWhereBuilder : TDAWhereBuilder;
ACondicion : TDAWhereExpression;
begin
CreateGUID(AClientID);
GetClassFactory('srvContactos').CreateInstance(AClientID, Intf);
if Assigned(Intf) then
begin
AContactosService := Intf as IsrvContactos;
ATableNameArray := StringArray.Create;
ATableRequestInfoArray := TableRequestInfoArray.Create;
AWhereBuilder := TDAWhereBuilder.Create;
try
ATableNameArray.Add('Comerciales');
ATableRequestInfo := TableRequestInfoV5.Create;
with ATableRequestInfo do
begin
IncludeSchema := True;
MaxRecords := -1;
UserFilter := '';
AWhereBuilder.Clear;
with AWhereBuilder do
for i := 0 to FListaIDComerciales.Count - 1 do
begin
ACondicion := NewBinaryExpression(
NewBinaryExpression(NewField('', 'ID'), NewConstant(FListaIDComerciales[i], datInteger), dboEqual),
NewBinaryExpression(NewField('', 'ID_EMPRESA'), NewConstant(FIdEmpresa, datInteger), dboEqual),
dboAnd);
if not AWhereBuilder.IsEmpty then
Expression := NewBinaryExpression(Expression, ACondicion, dboOr)
else
Expression := ACondicion;
end;
WhereClause := AWhereBuilder.ExpressionToXmlNode(AWhereBuilder.Expression);
end;
try
ATableRequestInfoArray.Add(ATableRequestInfo);
AStream := AContactosService.GetData(ATableNameArray, ATableRequestInfoArray);
if Assigned(AStream) then
begin
ADataTable := TDAMemDataTable.Create(nil);
try
ADataTable.Name := 'Comerciales';
ADataTable.LocalDataStreamer := DABin2DataStreamer1;
ADataTable.RemoteFetchEnabled := False;
DABin2DataStreamer1.ReadDataset(AStream, ADataTable, True);
ADataTable.Open;
FListaNombresComerciales.Clear;
for i := 0 to ADataTable.RecordCount - 1 do
begin
FListaNombresComerciales.Add(ADataTable.FieldByName('NOMBRE').AsString);
ADataTable.Next;
end;
finally
FreeANDNil(ADataTable);
end;
end;
except
on e: Exception do
dmServer.EscribirLog(e.Message);
end;
finally
FreeANDNIL(ATableRequestInfoArray);
FreeANDNIL(ATableNameArray);
FreeANDNIL(AWhereBuilder);
end;
end;
end;
procedure TRptContratosCliente.DataModuleDestroy(Sender: TObject);
begin
tbl_Cabecera.Active := False;
@ -456,6 +857,8 @@ begin
tbl_Condiciones.Active := False;
FreeANDNIL(FListaNombresClientes);
FreeANDNIL(FListaNombresComerciales);
FreeANDNIL(FListaNombresArticulos);
end;
function TRptContratosCliente.frxReportUserFunction(const MethodName: string;
@ -531,6 +934,111 @@ begin
end;
end;
function TRptContratosCliente.GenerarInformeVentasArticulos(const IdEmpresa: Integer; const FechaInicio, FechaFin: Variant; const ListaIDArticulos: TIntegerArray; const ListaIDComerciales: TIntegerArray): Binary;
var
ATipoInforme: String;
AStream: TMemoryStream;
dsMaster: IDADataset;
begin
FConnection.BeginTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
AStream := TMemoryStream.Create;
try
//Inicializamos parametros
FIdEmpresa := IdEmpresa;
FFechaInicio := FechaInicio;
FFechaFin := FechaFin;
if Assigned(FListaIDArticulos) then
FListaIDArticulos.Free;
FListaIDArticulos := ListaIDArticulos;
if Assigned(FListaIDComerciales) then
FListaIDComerciales.Free;
FListaIDComerciales := ListaIDComerciales;
if Assigned(FListaIDComerciales) and (FListaIDComerciales.Count > 0) then
begin
if tbl_InformeVentasArticulosComercial.Active then
tbl_InformeVentasArticulosComercial.Active := False;
PrepararTablaInformeVentasArticulo(tbl_InformeVentasArticulosComercial);
ATipoInforme := rptInformeVentasArticulosComercial;
tbl_InformeVentasArticulosComercial.Active := True;
//Se prepara la tabla del listado resumen del informe
if tbl_InformeVentasComercialResumen.Active then
tbl_InformeVentasComercialResumen.Active := False;
dsMaster := schReport.NewDataset(FConnection, ds_InformeVentasComercialResumen, [], [], False);
PrepararTablaResumenInformeVentasComerciales(dsMaster);
//Esto se hace para rellenar la tabla del datamodule que usa el informe.
dsMaster.Open;
AStream.Clear;
DABin2DataStreamer1.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
DABin2DataStreamer1.ReadDataset(AStream, tbl_InformeVentasComercialResumen, TRUE, '', TRUE, TRUE);
//Finalmente se abren las tablas del informe
tbl_InformeVentasComercialResumen.Active := True;
end
else
begin
if tbl_InformeVentasArticulos.Active then
tbl_InformeVentasArticulos.Active := False;
PrepararTablaInformeVentasArticulo(tbl_InformeVentasArticulos);
ATipoInforme := rptInformeVentasArticulos;
tbl_InformeVentasArticulos.Active := True;
//Se prepara la tabla del listado resumen del informe
if tbl_InformeVentasComercialesResumen.Active then
tbl_InformeVentasComercialesResumen.Active := False;
dsMaster := schReport.NewDataset(FConnection, ds_InformeVentasComercialesResumen, [], [], False);
PrepararTablaResumenInformeVentasComerciales(dsMaster);
//Esto se hace para rellenar la tabla del datamodule que usa el informe.
dsMaster.Open;
AStream.Clear;
DABin2DataStreamer1.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
DABin2DataStreamer1.ReadDataset(AStream, tbl_InformeVentasComercialesResumen, TRUE, '', TRUE, TRUE);
//Finalmente se abren las tablas del informe
tbl_InformeVentasComercialesResumen.Active := True;
end;
//Se prepara la tabla del listado resumen del informe
{ if tbl_InformeListadoContratosResumen.Active then
tbl_InformeListadoContratosResumen.Active := False;
dsMaster := schReport.NewDataset(FConnection, ds_InformeListadoContratosResumen, [], [], False);
PrepararTablaResumenInforme(dsMaster);
}
//Esto se hace para rellenar la tabla del datamodule que usa el informe.
{ dsMaster.Open;
AStream.Clear;
DABin2DataStreamer1.WriteDataset(AStream, dsMaster, [woRows, woSchema], -1);
DABin2DataStreamer1.ReadDataset(AStream, tbl_InformeListadoContratosResumen, TRUE, '', TRUE, TRUE);
}
//DESGLOSADO POR CLIENTE EN ESTE INFORME NO SE DESGLOSARÁ POR CLIENTE
{ FDesglosado := Desglosado;
if FDesglosado then
ATipoInforme := rptInformeListadoContratosDesglosado
else
ATipoInforme := rptInformeListadoContratos;
}
//Finalmente se abren las tablas del informe
// tbl_InformeListadoContratosResumen.Active := True;
Result := _GenerarInforme(ATipoInforme);
finally
AStream.Free;
dsMaster := Nil;
FConnection.RollbackTransaction; //<--- Creo que no va a hacer falta. "PUES SI ES NECESARIO"
end;
end;
function TRptContratosCliente.GenerarContrato(const ListaID: TIntegerArray; const NombreEmpresa: AnsiString;
const VerLogotipo: Boolean = True; const VerPrecios: Boolean = True; const VerTotales: Boolean = True): Binary;
var
@ -564,7 +1072,7 @@ begin
raise Exception.Create (('Error Servidor: _GenerarInforme, no encuentra informe ' + TipoInforme));
frxReport.LoadFromFile(AInforme, True);
IniciarParametrosInforme;
IniciarParametrosInforme(TipoInforme);
frxReport.PrepareReport(False);
frxReport.PreviewPages.SaveToStream(Result);
@ -595,6 +1103,8 @@ begin
if (tbl_Cabecera.FieldByName('IDIOMA_ISO').AsString = IDIOMA_EN) then
AInforme := DarRutaFichero(DarRutaInformes, rptInforme, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString, IDIOMA_EN)
else if (tbl_Cabecera.FieldByName('IDIOMA_ISO').AsString = IDIOMA_FR) then
AInforme := DarRutaFichero(DarRutaInformes, rptInforme, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString, IDIOMA_FR)
else
AInforme := DarRutaFichero(DarRutaInformes, rptInforme, tbl_Cabecera.FieldByName('ID_EMPRESA').AsString, tbl_Cabecera.FieldByName('ID_TIENDA').AsString);

View File

@ -273,6 +273,51 @@ object srvContratosCliente: TsrvContratosCliente
DataType = datCurrency
end>
end
item
Params = <
item
Name = 'FECHA_INI'
Value = ''
end
item
Name = 'FECHA_FIN'
Value = ''
end
item
Name = 'ID_EMPRESA'
Value = ''
end>
Statements = <
item
ConnectionType = 'Interbase'
Default = True
Name = 'IBX'
SQL =
'select *'#10'from PROC_REVISAR_CONT_TERMINADOS (:FECHA_INI, :FECHA_F' +
'IN, :ID_EMPRESA)'#10
StatementType = stSQL
ColumnMappings = <
item
DatasetField = 'REFERENCIAS_MODIFICADAS'
TableField = 'REFERENCIAS_MODIFICADAS'
end
item
DatasetField = 'NUM_CONT_MODIF'
TableField = 'NUM_CONT_MODIF'
end>
end>
Name = 'RevisarContratosTerminados'
Fields = <
item
Name = 'REFERENCIAS_MODIFICADAS'
DataType = datString
Size = 10000
end
item
Name = 'NUM_CONT_MODIF'
DataType = datInteger
end>
end
item
Params = <>
Statements = <

View File

@ -79,7 +79,10 @@ requires
PreCli_ConCli_relation,
Contactos_view,
ConCli_RecCli_relation,
JvCtrlsD11R;
JvCtrlsD11R,
JSDialog100,
JvGlobusD11R,
bdertl;
contains
uContratosClienteViewRegister in 'uContratosClienteViewRegister.pas',
@ -100,6 +103,8 @@ contains
uViewDireccionEntregaContratoCli in 'uViewDireccionEntregaContratoCli.pas' {frViewDireccionEntregaContratoCli: TFrame},
uEditorDireccionEntregaContratoCliente in 'uEditorDireccionEntregaContratoCliente.pas' {fEditorDireccionEntregaContratoCliente: TFrame},
uDialogOpcionesImpresionEtiquetasContratosCliente in 'uDialogOpcionesImpresionEtiquetasContratosCliente.pas' {fDialogOpcionesImpresionEtiquetasContratosCliente: TFrame},
uViewDatosYSeleccionContrato in 'uViewDatosYSeleccionContrato.pas' {frViewDatosYSeleccionContrato: TFrame};
uViewDatosYSeleccionContrato in 'uViewDatosYSeleccionContrato.pas' {frViewDatosYSeleccionContrato: TFrame},
uViewContratosClienteParaCompra in 'uViewContratosClienteParaCompra.pas' {frViewContratosClienteParaCompra: TFrame},
uEditorElegirContratosClienteParaCompra in 'uEditorElegirContratosClienteParaCompra.pas'{fEditorElegirPresupuestosClienteParaCompra: TfEditorElegirPedidosClienteParaCompra};
end.

View File

@ -49,54 +49,64 @@
<DelphiCompile Include="ContratosCliente_view.dpk">
<MainSource>MainSource</MainSource>
</DelphiCompile>
<DCCReference Include="adortl.dcp" />
<DCCReference Include="Articulos_view.dcp" />
<DCCReference Include="Base.dcp" />
<DCCReference Include="ConCli_AlbCli_relation.dcp" />
<DCCReference Include="ConCli_FacCli_relation.dcp" />
<DCCReference Include="ConCli_RecCli_relation.dcp" />
<DCCReference Include="Contactos_view.dcp" />
<DCCReference Include="ContratosCliente_controller.dcp" />
<DCCReference Include="ContratosCliente_model.dcp" />
<DCCReference Include="cxDataD11.dcp" />
<DCCReference Include="cxEditorsD11.dcp" />
<DCCReference Include="cxExportD11.dcp" />
<DCCReference Include="cxExtEditorsD11.dcp" />
<DCCReference Include="cxGridD11.dcp" />
<DCCReference Include="cxLibraryD11.dcp" />
<DCCReference Include="cxPageControlD11.dcp" />
<DCCReference Include="DataAbstract_Core_D11.dcp" />
<DCCReference Include="dbrtl.dcp" />
<DCCReference Include="dclcxLibraryD11.dcp" />
<DCCReference Include="dcldxCoreD11.dcp" />
<DCCReference Include="designide.dcp" />
<DCCReference Include="dsnap.dcp" />
<DCCReference Include="dxComnD11.dcp" />
<DCCReference Include="dxCoreD11.dcp" />
<DCCReference Include="dxGDIPlusD11.dcp" />
<DCCReference Include="dxLayoutControlD11.dcp" />
<DCCReference Include="dxPSCoreD11.dcp" />
<DCCReference Include="dxPScxCommonD11.dcp" />
<DCCReference Include="dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="dxPSLnksD11.dcp" />
<DCCReference Include="dxThemeD11.dcp" />
<DCCReference Include="GestorInformes_controller.dcp" />
<DCCReference Include="GUIBase.dcp" />
<DCCReference Include="GUISDK_D11R.dcp" />
<DCCReference Include="Jcl.dcp" />
<DCCReference Include="JclVcl.dcp" />
<DCCReference Include="JvCoreD11R.dcp" />
<DCCReference Include="JvCtrlsD11R.dcp" />
<DCCReference Include="JvPageCompsD11R.dcp" />
<DCCReference Include="JvStdCtrlsD11R.dcp" />
<DCCReference Include="JvSystemD11R.dcp" />
<DCCReference Include="PngComponentsD10.dcp" />
<DCCReference Include="PNG_D10.dcp" />
<DCCReference Include="PreCli_ConCli_relation.dcp" />
<DCCReference Include="RemObjects_Core_D11.dcp" />
<DCCReference Include="rtl.dcp" />
<DCCReference Include="tb2k_d10.dcp" />
<DCCReference Include="tbx_d10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\adortl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Articulos_view.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Base.dcp" />
<DCCReference Include="$(SystemRoot)\system32\bdertl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\ConCli_AlbCli_relation.dcp" />
<DCCReference Include="$(SystemRoot)\system32\ConCli_FacCli_relation.dcp" />
<DCCReference Include="$(SystemRoot)\system32\ConCli_RecCli_relation.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Contactos_view.dcp" />
<DCCReference Include="$(SystemRoot)\system32\ContratosCliente_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\ContratosCliente_model.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxDataD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxEditorsD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxExportD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxExtEditorsD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxGridD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxLibraryD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\cxPageControlD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\DataAbstract_Core_D11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dbrtl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dclcxLibraryD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dcldxCoreD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\designide.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dsnap.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxComnD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxCoreD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxGDIPlusD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxLayoutControlD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxPSCoreD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxPScxCommonD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxPScxGrid6LnkD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxPSLnksD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\dxThemeD11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\GestorInformes_controller.dcp" />
<DCCReference Include="$(SystemRoot)\system32\GUIBase.dcp" />
<DCCReference Include="$(SystemRoot)\system32\GUISDK_D11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\Jcl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JclVcl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JSDialog100.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvCoreD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvCtrlsD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvGlobusD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvPageCompsD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvStdCtrlsD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\JvSystemD11R.dcp" />
<DCCReference Include="$(SystemRoot)\system32\PngComponentsD10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\PNG_D10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\PreCli_ConCli_relation.dcp" />
<DCCReference Include="$(SystemRoot)\system32\RemObjects_Core_D11.dcp" />
<DCCReference Include="$(SystemRoot)\system32\rtl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\tb2k_d10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\tbx_d10.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcl.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vclactnband.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcldb.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vcljpg.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vclshlctrls.dcp" />
<DCCReference Include="$(SystemRoot)\system32\vclx.dcp" />
<DCCReference Include="$(SystemRoot)\system32\xmlrtl.dcp" />
<DCCReference Include="uContratosClienteViewRegister.pas" />
<DCCReference Include="uDialogOpcionesImpresionContratosCliente.pas">
<Form>fDialogOpcionesImpresionContratosCliente</Form>
@ -134,6 +144,10 @@
<Form>fEditorElegirPresupuestosCliente</Form>
<DesignClass>TfEditorElegirPedidosCliente</DesignClass>
</DCCReference>
<DCCReference Include="uEditorElegirContratosClienteParaCompra.pas">
<Form>fEditorElegirPresupuestosClienteParaCompra</Form>
<DesignClass>TfEditorElegirPedidosCliente</DesignClass>
</DCCReference>
<DCCReference Include="uViewContratoCliente.pas">
<Form>frViewContratoCliente</Form>
<DesignClass>TFrame</DesignClass>
@ -146,12 +160,16 @@
<Form>frViewContratosClienteBeneficios</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="uViewContratosClienteParaCompra.pas">
<Form>frViewContratosClienteParaCompra</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="uViewDatosYSeleccionClienteContrato.pas">
<Form>frViewDatosYSeleccionClienteContrato</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="uViewDatosYSeleccionContrato.pas">
<Form>frViewDireccionEntregaContratoCli</Form>
<Form>frViewDatosYSeleccionContrato</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="uViewDetallesContratoCliente.pas">
@ -170,13 +188,6 @@
<Form>frViewElegirArticulosContratosCliente</Form>
<DesignClass>TFrame</DesignClass>
</DCCReference>
<DCCReference Include="vcl.dcp" />
<DCCReference Include="vclactnband.dcp" />
<DCCReference Include="vcldb.dcp" />
<DCCReference Include="vcljpg.dcp" />
<DCCReference Include="vclshlctrls.dcp" />
<DCCReference Include="vclx.dcp" />
<DCCReference Include="xmlrtl.dcp" />
</ItemGroup>
</Project>
<!-- EurekaLog First Line

View File

@ -9,7 +9,7 @@ implementation
uses
uEditorRegistryUtils, uEditorContratosCliente, uEditorContratosClienteBeneficios,
uEditorContratoCliente, uEditorElegirContratosCliente,
uEditorContratoCliente, uEditorElegirContratosCliente, uEditorElegirContratosClienteParaCompra,
uEditorElegirArticulosContratoCliente, uEditorContratosClienteReport, uEditorDireccionEntregaContratoCliente;
procedure RegisterViews;
@ -18,6 +18,7 @@ begin
EditorRegistry.RegisterClass(TfEditorContratosCliente, 'EditorContratosCliente');
EditorRegistry.RegisterClass(TfEditorContratoCliente, 'EditorContratoCliente');
EditorRegistry.RegisterClass(TfEditorElegirContratosCliente, 'EditorElegirContratosCliente');
EditorRegistry.RegisterClass(TfEditorElegirContratosClienteParaCompra, 'EditorElegirContratosClienteParaCompra');
EditorRegistry.RegisterClass(TfEditorElegirArticulosContratoCliente, 'EditorElegirArticulosContratosCliente');
EditorRegistry.RegisterClass(TfEditorContratosClientePreview, 'EditorContratosClientePreview');
EditorRegistry.RegisterClass(TfEditorDireccionEntregaContratoCliente, 'EditorDireccionEntregaContratoCliente');
@ -29,6 +30,7 @@ begin
EditorRegistry.UnRegisterClass(TfEditorContratosCliente);
EditorRegistry.UnRegisterClass(TfEditorContratoCliente);
EditorRegistry.UnRegisterClass(TfEditorElegirContratosCliente);
EditorRegistry.UnRegisterClass(TfEditorElegirContratosClienteParaCompra);
EditorRegistry.UnRegisterClass(TfEditorElegirArticulosContratoCliente);
EditorRegistry.UnRegisterClass(TfEditorContratosClientePreview);
EditorRegistry.UnRegisterClass(TfEditorDireccionEntregaContratoCliente);

View File

@ -2,7 +2,7 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
Caption = 'Lista de contratos de cliente'
ClientHeight = 499
ClientWidth = 908
ExplicitWidth = 916
ExplicitWidth = 924
ExplicitHeight = 537
PixelsPerInch = 96
TextHeight = 13
@ -126,7 +126,7 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
Width = 908
ExplicitWidth = 908
inherited tbxMain: TTBXToolbar
ExplicitWidth = 870
ExplicitWidth = 908
object TBXSubmenuItem3: TTBXSubmenuItem [0]
Caption = 'Nuevo'
DisplayMode = nbdmImageAndText
@ -174,9 +174,13 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
Action = actGenerarFactura
DisplayMode = nbdmImageAndText
end
object TBXItem54: TTBXItem [22]
Action = actRevisarContratosTerminados
DisplayMode = nbdmImageAndText
end
end
inherited tbxFiltro: TTBXToolbar
ExplicitWidth = 504
ExplicitWidth = 487
inherited lblAno: TTBXLabelItem
Visible = True
end
@ -213,11 +217,11 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
end
end
inherited TBXTMain2: TTBXToolbar
Left = 504
Left = 487
DockPos = 343
Visible = True
ExplicitLeft = 504
ExplicitWidth = 404
ExplicitLeft = 487
ExplicitWidth = 421
object TBXSeparatorItem18: TTBXSeparatorItem
end
object TBXItem43: TTBXItem
@ -354,6 +358,12 @@ inherited fEditorContratosCliente: TfEditorContratosCliente
OnExecute = actGenerarReciboExecute
OnUpdate = actGenerarReciboUpdate
end
object actRevisarContratosTerminados: TAction
Caption = 'Revisar terminados'
ImageIndex = 26
OnExecute = actRevisarContratosTerminadosExecute
OnUpdate = actRevisarContratosTerminadosUpdate
end
end
inherited SmallImages: TPngImageList
PngImages = <

View File

@ -62,6 +62,8 @@ type
TBXItem40: TTBXItem;
actGenerarRecibo: TAction;
TBXItem53: TTBXItem;
actRevisarContratosTerminados: TAction;
TBXItem54: TTBXItem;
procedure FormShow(Sender: TObject);
procedure actGenerarAlbaranCliExecute(Sender: TObject);
procedure actEliminarUpdate(Sender: TObject);
@ -95,6 +97,8 @@ type
procedure actCancelarUpdate(Sender: TObject);
procedure actGenerarReciboExecute(Sender: TObject);
procedure actGenerarReciboUpdate(Sender: TObject);
procedure actRevisarContratosTerminadosExecute(Sender: TObject);
procedure actRevisarContratosTerminadosUpdate(Sender: TObject);
protected
FContratos: IBizContratoCliente;
@ -188,7 +192,7 @@ begin
and (FContratos.SITUACION <> SITUACION_CONTRATO_TERMINADO)
and (FContratos.SITUACION <> SITUACION_CONTRATO_CANCELADO)
and ((FContratos.ENVIADA_REVISADA = CONST_CONTRATO_RECIBIDO_UECKO)
or (FContratos.ENVIADA_REVISADA = CONST_CONTRATO_RECIBIDO_UECKO_DESDE_WEB))
or (FContratos.ENVIADA_REVISADA = CONST_PRESUPUESTO_RECIBIDO_UECKO_DESDE_WEB))
end;
procedure TfEditorContratosCliente.actAceptarExecute(Sender: TObject);
@ -511,6 +515,24 @@ begin
and (FContratos.ENVIADA_REVISADA = CONST_CONTRATO_DEFAULT );
end;
procedure TfEditorContratosCliente.actRevisarContratosTerminadosExecute(Sender: TObject);
begin
inherited;
if (Application.MessageBox('Se va a cambiar la situación a TERMINADO todos los contratos de la lista cuya base imponible sea igual a la suma de la base imponible de sus facturas, ¿Desea continuar?', 'Atención', MB_YESNO) = IDYES) then
begin
FController.RevisarContratosTerminados(cbxListaAnos.Text);
actRefrescar.Execute;
end;
end;
procedure TfEditorContratosCliente.actRevisarContratosTerminadosUpdate(Sender: TObject);
begin
inherited;
(Sender as TAction).Enabled := HayDatos
and (cbxListaAnos.Text <> 'Todos');
end;
procedure TfEditorContratosCliente.actTerminarExecute(Sender: TObject);
var
AContratos: IBizContratoCliente;

Some files were not shown because too many files have changed in this diff Show More