Version con opción de automatizar el abono de una factura

git-svn-id: https://192.168.0.254/svn/Proyectos.EstudioCarnicero_ProGestion/trunk@5 1b8572a8-2d6b-b84e-8c90-20ed86fa4eca
This commit is contained in:
roberto 2007-12-27 18:07:50 +00:00
parent 68ec970246
commit f6173cbc0e
21 changed files with 173 additions and 2320 deletions

Binary file not shown.

View File

@ -114,7 +114,7 @@ IncludeVerInfo=1
AutoIncBuild=0
MajorVer=2
MinorVer=0
Release=1
Release=2
Build=0
Debug=0
PreRelease=0
@ -126,7 +126,7 @@ CodePage=1252
[Version Info Keys]
CompanyName=Rodax Software S.L.
FileDescription=
FileVersion=2.0.1.0
FileVersion=2.0.2.0
InternalName=ProGestion
LegalCopyright=
LegalTrademarks=
@ -157,7 +157,11 @@ C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxNavBarD7.bpl=ExpressNavBa
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxGDIPlusD7.bpl=ExpressGDI+ Library by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\dxPSCoreD7.bpl=ExpressPrinting System by Developer Express Inc.
C:\Archivos de programa\Borland\Delphi7\Projects\Bpl\cxVerticalGridVCLD7.bpl=ExpressVerticalGrid (VCL Edition) by Developer Express Inc.
c:\archivos de programa\borland\delphi7\Projects\Bpl\RodaxFrameD7.bpl=Frames Acana (D7)
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerD7.bpl=Database Comparer VCL
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerBdeD7.bpl=Database Comparer VCL BDE
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerDBXD7.bpl=Database Comparer VCL DBX
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerIbxD7.bpl=Database Comparer VCL IBX
C:\Archivos de programa\Clever Components\Database Comparer\Delphi 7\Lib\ComparerAdoD7.bpl=Database Comparer VCL ADO
C:\WINDOWS\system32\dclShX_Namespace_V3D7.bpl=(untitled)
C:\WINDOWS\system32\vclShX_Namespace_v3D7.bpl=(untitled)
[HistoryLists\hlDebugSourcePath]

Binary file not shown.

View File

@ -1,5 +1,5 @@
inherited fEditorFacturasCliente: TfEditorFacturasCliente
Left = 289
Left = 375
Top = 205
Caption = 'Lista de facturas de cliente'
PixelsPerInch = 96
@ -33,9 +33,13 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
inherited TBXSeparatorItem14: TTBXSeparatorItem
Visible = False
end
object TBXItem35: TTBXItem [7]
Action = actAbonar
DisplayMode = nbdmImageAndText
end
end
inherited tbxFiltro: TTBXToolbar
Left = 453
Left = 501
end
end
inherited EditorActionList: TActionList
@ -43,6 +47,13 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
ImageIndex = 21
OnExecute = actNuevoExecute
end
object actAbonar: TAction
Category = 'Archivo'
Caption = 'Abonar'
ImageIndex = 22
OnExecute = actAbonarExecute
OnUpdate = actAbonarUpdate
end
end
inherited SmallImages: TPngImageList
PngImages = <
@ -545,6 +556,108 @@ inherited fEditorFacturasCliente: TfEditorFacturasCliente
00004B6D80F047EC10D30000000049454E44AE426082}
Name = 'PngImage21'
Background = clWindow
end
item
PngImage.Data = {
89504E470D0A1A0A0000000D49484452000000100000001008060000001FF3FF
610000000970485973000017120000171201679FD25200000A4D694343505068
6F746F73686F70204943432070726F66696C65000078DA9D53775893F7163EDF
F7650F5642D8F0B1976C81002223AC08C81059A21092006184101240C585880A
561415119C4855C482D50A489D88E2A028B867418A885A8B555C38EE1FDCA7B5
7D7AEFEDEDFBD7FBBCE79CE7FCCE79CF0F8011122691E6A26A003952853C3AD8
1F8F4F48C4C9BD80021548E0042010E6CBC26705C50000F00379787E74B03FFC
01AF6F00020070D52E2412C7E1FF83BA50265700209100E02212E70B01905200
C82E54C81400C81800B053B3640A009400006C797C422200AA0D00ECF4493E05
00D8A993DC1700D8A21CA908008D0100992847240240BB00605581522C02C0C2
00A0AC40222E04C0AE018059B632470280BD0500768E58900F4060008099422C
CC0020380200431E13CD03204C03A030D2BFE0A95F7085B8480100C0CB95CD97
4BD23314B895D01A77F2F0E0E221E2C26CB142611729106609E4229C979B2313
48E7034CCE0C00001AF9D1C1FE383F90E7E6E4E1E666E76CEFF4C5A2FE6BF06F
223E21F1DFFEBC8C020400104ECFEFDA5FE5E5D60370C701B075BF6BA95B00DA
560068DFF95D33DB09A05A0AD07AF98B7938FC401E9EA150C83C1D1C0A0B0BED
2562A1BD30E38B3EFF33E16FE08B7EF6FC401EFEDB7AF000719A4099ADC0A383
FD71616E76AE528EE7CB0442316EF7E723FEC7857FFD8E29D1E234B15C2C158A
F15889B850224DC779B952914421C995E212E97F32F11F96FD0993770D00AC86
4FC04EB607B5CB6CC07EEE01028B0E58D27600407EF32D8C1A0B910010673432
79F7000093BFF98F402B0100CD97A4E30000BCE8185CA894174CC608000044A0
812AB041070CC114ACC00E9CC11DBCC01702610644400C24C03C104206E4801C
0AA11896411954C03AD804B5B0031AA0119AE110B4C131380DE7E0125C81EB70
170660189EC218BC86090441C8081361213A8811628ED822CE0817998E042261
48349280A420E988145122C5C872A402A9426A915D4823F22D7214398D5C40FA
90DBC820328AFC8ABC47319481B25103D4027540B9A81F1A8AC6A073D174340F
5D8096A26BD11AB41E3D80B6A2A7D14BE87574007D8A8E6380D1310E668CD961
5C8C87456089581A26C71663E55835568F35631D583776151BC09E61EF082402
8B8013EC085E8410C26C82909047584C5843A825EC23B412BA085709838431C2
272293A84FB4257A12F9C478623AB1905846AC26EE211E219E255E270E135F93
48240EC992E44E0A21259032490B496B48DB482DA453A43ED210699C4C26EB90
6DC9DEE408B280AC209791B7900F904F92FBC9C3E4B7143AC588E24C09A22452
A494124A35653FE504A59F324299A0AA51CDA99ED408AA883A9F5A496DA07650
2F5387A91334759A25CD9B1643CBA42DA3D5D09A696769F7682FE974BA09DD83
1E4597D097D26BE807E9E7E983F4770C0D860D83C7486228196B197B19A718B7
192F994CA605D39799C85430D7321B9967980F986F55582AF62A7C1591CA1295
3A9556957E95E7AA545573553FD579AA0B54AB550FAB5E567DA64655B350E3A9
09D416ABD5A91D55BBA936AECE5277528F50CF515FA3BE5FFD82FA630DB28685
46A08648A35463B7C6198D2116C63265F15842D6725603EB2C6B984D625BB2F9
EC4C7605FB1B762F7B4C534373AA66AC6691669DE671CD010EC6B1E0F039D99C
4ACE21CE0DCE7B2D032D3F2DB1D66AAD66AD7EAD37DA7ADABEDA62ED72ED16ED
EBDAEF75709D409D2C9DF53A6D3AF77509BA36BA51BA85BADB75CFEA3ED363EB
79E909F5CAF50EE9DDD147F56DF4A3F517EAEFD6EFD11F373034083690196C31
3863F0CC9063E86B9869B8D1F084E1A811CB68BA91C468A3D149A327B826EE87
67E33578173E66AC6F1C62AC34DE65DC6B3C61626932DBA4C4A4C5E4BE29CD94
6B9A66BAD1B4D374CCCCC82CDCACD8ACC9EC8E39D59C6B9E61BED9BCDBFC8D85
A5459CC54A8B368BC796DA967CCB05964D96F7AC98563E567956F556D7AC49D6
5CEB2CEB6DD6576C501B579B0C9B3A9BCBB6A8AD9BADC4769B6DDF14E2148F29
D229F5536EDA31ECFCEC0AEC9AEC06ED39F661F625F66DF6CF1DCC1C121DD63B
743B7C727475CC766C70BCEBA4E134C3A9C4A9C3E957671B67A1739DF33517A6
4B90CB1297769717536DA78AA76E9F7ACB95E51AEEBAD2B5D3F5A39BBB9BDCAD
D96DD4DDCC3DC57DABFB4D2E9B1BC95DC33DEF41F4F0F758E271CCE39DA79BA7
C2F390E72F5E765E595EFBBD1E4FB39C269ED6306DC8DBC45BE0BDCB7B603A3E
3D65FACEE9033EC63E029F7A9F87BEA6BE22DF3DBE237ED67E997E07FC9EFB3B
FACBFD8FF8BFE179F216F14E056001C101E501BD811A81B3036B031F049904A5
0735058D05BB062F0C3E15420C090D591F72936FC017F21BF96333DC672C9AD1
15CA089D155A1BFA30CC264C1ED6118E86CF08DF107E6FA6F94CE9CCB60888E0
476C88B81F69199917F97D14292A32AA2EEA51B453747174F72CD6ACE459FB67
BD8EF18FA98CB93BDB6AB6727667AC6A6C526C63EC9BB880B8AAB8817887F845
F1971274132409ED89E4C4D8C43D89E37302E76C9A339CE49A54967463AEE5DC
A2B917E6E9CECB9E773C593559907C3885981297B23FE5832042502F184FE5A7
6E4D1D13F2849B854F45BEA28DA251B1B7B84A3C92E69D5695F638DD3B7D43FA
68864F4675C633094F522B79911992B923F34D5644D6DEACCFD971D92D39949C
949CA3520D6996B42BD730B728B74F662B2B930DE479E66DCA1B9387CAF7E423
F973F3DB156C854CD1A3B452AE500E164C2FA82B785B185B78B848BD485AD433
DF66FEEAF9230B82167CBD90B050B8B0B3D8B87859F1E022BF45BB16238B5317
772E315D52BA647869F0D27DCB68CBB296FD50E2585255F26A79DCF28E5283D2
A5A5432B82573495A994C9CB6EAEF45AB9631561956455EF6A97D55B567F2A17
955FAC70ACA8AEF8B046B8E6E2574E5FD57CF5796DDADADE4AB7CAEDEB48EBA4
EB6EACF759BFAF4ABD6A41D5D086F00DAD1BF18DE51B5F6D4ADE74A17A6AF58E
CDB4CDCACD03356135ED5BCCB6ACDBF2A136A3F67A9D7F5DCB56FDADABB7BED9
26DAD6BFDD777BF30E831D153BDEEF94ECBCB52B78576BBD457DF56ED2EE82DD
8F1A621BBABFE67EDDB847774FC59E8F7BA57B07F645EFEB6A746F6CDCAFBFBF
B2096D52368D1E483A70E59B806FDA9BED9A77B5705A2A0EC241E5C127DFA67C
7BE350E8A1CEC3DCC3CDDF997FB7F508EB48792BD23ABF75AC2DA36DA03DA1BD
EFE88CA39D1D5E1D47BEB7FF7EEF31E36375C7358F579EA09D283DF1F9E48293
E3A764A79E9D4E3F3DD499DC79F74CFC996B5D515DBD6743CF9E3F1774EE4CB7
5FF7C9F3DEE78F5DF0BC70F422F762DB25B74BAD3DAE3D477E70FDE148AF5B6F
EB65F7CBED573CAE74F44DEB3BD1EFD37FFA6AC0D573D7F8D72E5D9F79BDEFC6
EC1BB76E26DD1CB825BAF5F876F6ED17770AEE4CDC5D7A8F78AFFCBEDAFDEA07
FA0FEA7FB4FEB165C06DE0F860C060CFC3590FEF0E09879EFE94FFD387E1D247
CC47D52346238D8F9D1F1F1B0D1ABDF264CE93E1A7B2A713CFCA7E56FF79EB73
ABE7DFFDE2FB4BCF58FCD8F00BF98BCFBFAE79A9F372EFABA9AF3AC723C71FBC
CE793DF1A6FCADCEDB7DEFB8EFBADFC7BD1F9928FC40FE50F3D1FA63C7A7D04F
F73EE77CFEFC2FF784F3FB25D29F33000001794944415478DA639CBC68FB7F06
12404EAC0723329F1164005010AFA63F7FFF31FCFEF397C1DA3F9FE1DC8E69D8
0DB02DDA0F173CDCE788C257E977C269385E17FCFAFD176C730E173BC38C8404
B0D8E7CF9F193E7DFA04C6134F9EC4EE027440940B4006809C0E02FFFEFF67F8
FEE337D876DFFA130CAB2A8D19D6EE38C6306FE926FC6100F3FBDE4E3B06E7F2
430CEB6A4D19829A4F332C2D3560D8B4E7247106C06CFFF6E317C39F3FFF18C2
DACF322C2CD465D876E00C61030EF63A30D8171F60D8DC6801763AC8E6E8EE0B
0C7372B519761F3947D80090D341FE06D9FEF5DB2F303B69E2158629696A0C87
4F5FC66D4046941B8363E941B8E0F2724386C8CEF30C33B33419D2A75D67E84F
52613871FE2A6E0392C39CC1B681FCECDF78926171B13EC3B7EF1017E4CCBAC5
D015A7C870F6F20DDC06C405398035833484B49EC188EBD62839864BD76FE336
20CA0FE277982B40B67F83A60310FEF7EF3FC3959B77701B10EA65CDB07ADB51
064200A70120096201BA0100A6C62916A56F74520000000049454E44AE426082}
Name = 'PngImage22'
Background = clWindow
end>
Bitmap = {}
end

View File

@ -21,10 +21,14 @@ type
end;
TfEditorFacturasCliente = class(TfEditorGrid, IEditorFacturasCliente)
actAbonar: TAction;
TBXItem35: TTBXItem;
procedure actEliminarExecute(Sender: TObject);
procedure actModificarExecute(Sender: TObject);
procedure actNuevoExecute(Sender: TObject);
procedure actDuplicarExecute(Sender: TObject);
procedure actAbonarExecute(Sender: TObject);
procedure actAbonarUpdate(Sender: TObject);
private
FFacturasCliente: IBizFacturasCliente;
protected
@ -168,6 +172,40 @@ begin
ViewGrid.GotoFirst;
end;
procedure TfEditorFacturasCliente.actAbonarExecute(Sender: TObject);
var
AFactura : IBizFacturasCliente;
begin
ViewGrid.SyncFocusedRecordsFromGrid; // Esto va ANTES. No cambiar.
if (FacturasCliente.CLASEFACTURA = CTE_NORMAL) then
begin
AFactura := dmFacturasCliente.GetItem(FacturasCliente.CODIGO);
FacturasCliente.Insert;
FacturasCliente.CopyFrom(AFactura, False);
FacturasCliente.Edit;
FacturasCliente.CLASEFACTURA := CTE_ABONO;
FacturasCliente.cambiarSigno;
FacturasCliente.Post;
FacturasCliente.DataTable.ApplyUpdates;
MessageBox(0, 'Se ha abonado correctamente la factura elegida.', 'Factura abonada', MB_ICONWARNING or MB_OK);
ViewGrid.RefreshGrid;
ViewGrid.GotoFirst;
end;
end;
procedure TfEditorFacturasCliente.actAbonarUpdate(Sender: TObject);
begin
inherited;
if Assigned(dsDataTable.DataTable) then
(Sender as TAction).Enabled := (not dsDataTable.DataTable.IsEmpty)
and not (dsDataTable.DataTable.State = dsInsert)
else
(Sender as TAction).Enabled := False;
if (Sender as TAction).Enabled then
(Sender as TAction).Enabled := (Sender as TAction).Enabled and (ViewGrid.Grid.ActiveLevel.Index <> 2);
end;
initialization
RegisterEditor(IBizFacturasCliente, ShowEditorFacturasCliente, etItems);
RegisterEditor(IBizFacturasCliente, ShowSelectEditorFacturasCliente, etSelectItems);

View File

@ -42,7 +42,7 @@ type
procedure Show;
procedure setReferencia(const ClaseFactura: String);
procedure CopyFrom(AFacturaCliente : IBizFacturasCliente);
procedure CopyFrom(AFacturaCliente : IBizFacturasCliente; ShowMensaje: Boolean = True);
procedure cambiarSigno;
end;
@ -121,7 +121,7 @@ type
procedure Preview;
procedure Print;
property SelectedRows : TSelectedRowList read GetSelectedRows;
procedure CopyFrom(AFacturaCliente : IBizFacturasCliente);
procedure CopyFrom(AFacturaCliente : IBizFacturasCliente; ShowMensaje: Boolean = True);
procedure cambiarSigno;
procedure setReferencia(const ClaseFactura: String);
end;
@ -202,7 +202,7 @@ begin
Result := FDetalles;
end;
procedure TBizFacturasCliente.CopyFrom(AFacturaCliente : IBizFacturasCliente);
procedure TBizFacturasCliente.CopyFrom(AFacturaCliente : IBizFacturasCliente; ShowMensaje: Boolean = True);
begin
if not (State in dsEditModes) then
Edit;
@ -214,7 +214,14 @@ begin
FECHAALTA := Date;
USUARIO := 'eeee'; //dmUsuarios.LoginInfo.UserID;
CLASEFACTURA := AFacturaCliente.CLASEFACTURA;
REFERENCIA := AFacturaCliente.REFERENCIA;
if (CLASEFACTURA = CTE_NORMAL)
or (CLASEFACTURA = CTE_ABONO) then
setReferencia(CTE_NORMAL)
else
setReferencia(CTE_PROFORMA);
// REFERENCIA := AFacturaCliente.REFERENCIA;
FECHAFACTURA := AFacturaCliente.FECHAFACTURA;
PAGADA := AFacturaCliente.PAGADA;
BASEIMPONIBLE := AFacturaCliente.BASEIMPONIBLE;
@ -233,7 +240,8 @@ begin
Detalles.CopyFrom(AFacturaCliente.Detalles);
RecalcularImporte;
Post;
MessageBox(0, 'Se ha duplicado correctamente la factura elegida.', 'Factura duplicada', MB_ICONWARNING or MB_OK);
if ShowMensaje then
MessageBox(0, 'Se ha duplicado correctamente la factura elegida.', 'Factura duplicada', MB_ICONWARNING or MB_OK);
finally
HideHourglassCursor;
end;

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff