610 lines
20 KiB
ObjectPascal
610 lines
20 KiB
ObjectPascal
|
|
{
|
|||
|
|
===============================================================================
|
|||
|
|
Copyright (<EFBFBD>) 2001. Rodax Software.
|
|||
|
|
===============================================================================
|
|||
|
|
Los contenidos de este fichero son propiedad de Rodax Software titular del
|
|||
|
|
copyright. Este fichero s<EFBFBD>lo podr<EFBFBD> ser copiado, distribuido y utilizado,
|
|||
|
|
en su totalidad o en parte, con el permiso escrito de Rodax Software, o de
|
|||
|
|
acuerdo con los t<EFBFBD>rminos y condiciones establecidas en el acuerdo/contrato
|
|||
|
|
bajo el que se suministra.
|
|||
|
|
-----------------------------------------------------------------------------
|
|||
|
|
Web: www.rodax-software.com
|
|||
|
|
===============================================================================
|
|||
|
|
Fecha primera versi<EFBFBD>n: 04-10-2004
|
|||
|
|
Versi<EFBFBD>n actual: 1.0.0
|
|||
|
|
Fecha versi<EFBFBD>n actual: 04-10-2004
|
|||
|
|
===============================================================================
|
|||
|
|
Modificaciones:
|
|||
|
|
|
|||
|
|
Fecha Comentarios
|
|||
|
|
---------------------------------------------------------------------------
|
|||
|
|
===============================================================================
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
unit TablaAlbaranesProveedor;
|
|||
|
|
|
|||
|
|
interface
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
|
|||
|
|
BaseDatos, Ibdatabase, dxDBGrid, Contadores;
|
|||
|
|
|
|||
|
|
type
|
|||
|
|
TDatosAlbaranProveedor = class(TPersistent)
|
|||
|
|
public
|
|||
|
|
CodigoEmpresa : integer;
|
|||
|
|
Codigo : string;
|
|||
|
|
FechaAlta : string;
|
|||
|
|
Usuario : string;
|
|||
|
|
CodigoProveedor : string;
|
|||
|
|
NIFCIF : string;
|
|||
|
|
Nombre : string;
|
|||
|
|
Calle : string;
|
|||
|
|
Numero : string;
|
|||
|
|
Piso : string;
|
|||
|
|
CodigoPostal : string;
|
|||
|
|
Poblacion : string;
|
|||
|
|
Provincia : string;
|
|||
|
|
PersonaContacto : string;
|
|||
|
|
Telefono : string;
|
|||
|
|
Fax : string;
|
|||
|
|
BaseImponible : string;
|
|||
|
|
Descuento : string;
|
|||
|
|
IVA : string;
|
|||
|
|
ImporteTotal : string;
|
|||
|
|
Descripcion : string;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
TdmTablaAlbaranesProveedor = class(TDataModule)
|
|||
|
|
private
|
|||
|
|
procedure IniciarSQLAlbaran;
|
|||
|
|
procedure IniciarSQLDetalles;
|
|||
|
|
procedure IniciarSQLGrids;
|
|||
|
|
public
|
|||
|
|
sqlInsertarAlbaran : TStrings;
|
|||
|
|
sqlModificarAlbaran : TStrings;
|
|||
|
|
sqlConsultarAlbaran : TStrings;
|
|||
|
|
sqlEliminarAlbaran : TStrings;
|
|||
|
|
sqlConsultarGridAlbaranes : TStrings;
|
|||
|
|
sqlConsultarGridAlbaranesPro : TStrings;
|
|||
|
|
sqlInsertarDetalles : TStrings;
|
|||
|
|
sqlModificarDetalles : TStrings;
|
|||
|
|
sqlConsultarDetalles : TStrings;
|
|||
|
|
sqlEliminarDetalles : TStrings;
|
|||
|
|
sqlConsultarGridDetalles : TStrings;
|
|||
|
|
|
|||
|
|
//Metodos que llamaran a contador
|
|||
|
|
function DarNuevoCodigo : String;
|
|||
|
|
function IncrementarCodigo: boolean;
|
|||
|
|
function InsertarContador: boolean;
|
|||
|
|
function ValidarCodigo(Codigo : String) : Boolean;
|
|||
|
|
function FormatearCodigo(Codigo : String) : String;
|
|||
|
|
|
|||
|
|
function DarDatosAlbaran(Albaran : TDatosAlbaranProveedor): Boolean;
|
|||
|
|
function ExisteCodigo(CodigoEmpresa: Integer; Codigo : String) : Boolean;
|
|||
|
|
procedure InicializarGridDetalles(var Grid: TdxDBGrid);
|
|||
|
|
procedure InicializarGridAlbaranes(var Grid: TdxDBGrid);
|
|||
|
|
procedure InicializarTablaAlbaranes(Tabla: TPTabla);
|
|||
|
|
procedure InicializarTablaDetalles(Tabla: TPTabla);
|
|||
|
|
constructor Create (AOwner : TComponent); override;
|
|||
|
|
destructor Destroy; override;
|
|||
|
|
function DarListaAnos(CodigoEmpresa: Integer): TStringList;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
var
|
|||
|
|
dmTablaAlbaranesProveedor: TdmTablaAlbaranesProveedor;
|
|||
|
|
|
|||
|
|
implementation
|
|||
|
|
|
|||
|
|
{$R *.DFM}
|
|||
|
|
|
|||
|
|
uses
|
|||
|
|
IBSQL, Mensajes, StrFunc, IB, DB, Excepciones,
|
|||
|
|
TablaUnidadesMedida, dxDBCtrl, dxDBTLCL, IBCustomDataSet, dxTL, Constantes,
|
|||
|
|
Literales, RdxGestorContadores;
|
|||
|
|
|
|||
|
|
{ TdmTablaAlbaranesCliente }
|
|||
|
|
|
|||
|
|
constructor TdmTablaAlbaranesProveedor.Create(AOwner: TComponent);
|
|||
|
|
begin
|
|||
|
|
inherited;
|
|||
|
|
{ Cabecera }
|
|||
|
|
sqlInsertarAlbaran := TStringList.Create;
|
|||
|
|
sqlModificarAlbaran := TStringList.Create;
|
|||
|
|
sqlConsultarAlbaran := TStringList.Create;
|
|||
|
|
sqlEliminarAlbaran := TStringList.Create;
|
|||
|
|
|
|||
|
|
{ Detalles }
|
|||
|
|
sqlInsertarDetalles := TStringList.Create;
|
|||
|
|
sqlModificarDetalles := TStringList.Create;
|
|||
|
|
sqlConsultarDetalles := TStringList.Create;
|
|||
|
|
sqlEliminarDetalles := TStringList.Create;
|
|||
|
|
sqlConsultarGridDetalles := TStringList.Create;
|
|||
|
|
|
|||
|
|
{ Grids }
|
|||
|
|
sqlConsultarGridAlbaranes := TStringList.Create;
|
|||
|
|
sqlConsultarGridAlbaranesPro := TStringList.Create;
|
|||
|
|
|
|||
|
|
IniciarSQLAlbaran;
|
|||
|
|
IniciarSQLDetalles;
|
|||
|
|
IniciarSQLGrids;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
destructor TdmTablaAlbaranesProveedor.Destroy;
|
|||
|
|
begin
|
|||
|
|
{ Cabecera }
|
|||
|
|
sqlInsertarAlbaran.Free;
|
|||
|
|
sqlModificarAlbaran.Free;
|
|||
|
|
sqlConsultarAlbaran.Free;
|
|||
|
|
sqlEliminarAlbaran.Free;
|
|||
|
|
|
|||
|
|
{ Detalles }
|
|||
|
|
sqlInsertarDetalles.Free;
|
|||
|
|
sqlModificarDetalles.Free;
|
|||
|
|
sqlConsultarDetalles.Free;
|
|||
|
|
sqlEliminarDetalles.Free;
|
|||
|
|
sqlConsultarGridDetalles.Free;
|
|||
|
|
|
|||
|
|
{ Grids }
|
|||
|
|
sqlConsultarGridAlbaranes.Free;
|
|||
|
|
sqlConsultarGridAlbaranesPro.Free;
|
|||
|
|
inherited;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TdmTablaAlbaranesProveedor.DarDatosAlbaran(
|
|||
|
|
Albaran: TDatosAlbaranProveedor): Boolean;
|
|||
|
|
var
|
|||
|
|
oSQL : TIBSQL;
|
|||
|
|
begin
|
|||
|
|
Result := False;
|
|||
|
|
if EsCadenaVacia(Albaran.Codigo) then
|
|||
|
|
Exit;
|
|||
|
|
|
|||
|
|
oSQL := TIBSQL.Create(Self);
|
|||
|
|
with oSQL do
|
|||
|
|
begin
|
|||
|
|
Database := dmBaseDatos.BD;
|
|||
|
|
Transaction := dmBaseDatos.Transaccion;
|
|||
|
|
SQL.Add('select * from ALBARANESPROVEEDOR ');
|
|||
|
|
SQL.Add('where (CODIGO = :CODIGO) and (CODIGOEMPRESA = :CODIGOEMPRESA)');
|
|||
|
|
ParamByName('CODIGOEMPRESA').AsInteger := Albaran.CodigoEmpresa;
|
|||
|
|
ParamByName('CODIGO').AsString := Albaran.Codigo;
|
|||
|
|
try
|
|||
|
|
Prepare;
|
|||
|
|
ExecQuery;
|
|||
|
|
//Compruebo que el codigo de albar<61>n existe. Si no existe, devuelvo false
|
|||
|
|
if (RecordCount > 0) then
|
|||
|
|
begin
|
|||
|
|
with Albaran do
|
|||
|
|
begin
|
|||
|
|
FechaAlta := FieldByName('FECHAALTA').AsString;
|
|||
|
|
Usuario:= FieldByName('USUARIO').AsString;
|
|||
|
|
CodigoProveedor := FieldByName('CODIGOPROVEEDOR').AsString;
|
|||
|
|
NifCif := FieldByName('NIFCIF').AsString;
|
|||
|
|
Nombre := FieldByName('NOMBRE').AsString;
|
|||
|
|
Calle := FieldByName('CALLE').AsString;
|
|||
|
|
Numero := FieldByName('NUMERO').AsString;
|
|||
|
|
Piso := FieldByName('PISO').AsString;
|
|||
|
|
CodigoPostal := FieldByName('CODIGOPOSTAL').AsString;
|
|||
|
|
Poblacion := FieldByName('POBLACION').AsString;
|
|||
|
|
Provincia := FieldByName('PROVINCIA').AsString;
|
|||
|
|
PersonaContacto := FieldByName('PERSONACONTACTO').AsString;
|
|||
|
|
Telefono := FieldByName('TELEFONO').AsString;
|
|||
|
|
Fax := FieldByName('FAX').AsString;
|
|||
|
|
BaseImponible := FieldByName('BASEIMPONIBLE').AsString;
|
|||
|
|
Descuento := FieldByName('DESCUENTO').AsString;
|
|||
|
|
IVA := FieldByName('IVA').AsString;
|
|||
|
|
ImporteTotal := FieldByName('IMPORTETOTAL').AsString;
|
|||
|
|
Descripcion := FieldByName('DESCRIPCION').AsString;
|
|||
|
|
Result := True;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
finally
|
|||
|
|
Close;
|
|||
|
|
Transaction := NIL;
|
|||
|
|
Free;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TdmTablaAlbaranesProveedor.DarNuevoCodigo: String;
|
|||
|
|
begin
|
|||
|
|
Result := GestorContadores.DarNuevoCodigo(contAlbaranesProveedor);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TdmTablaAlbaranesProveedor.ExisteCodigo(CodigoEmpresa: Integer; Codigo: String): Boolean;
|
|||
|
|
var
|
|||
|
|
oSQL : TIBSQL;
|
|||
|
|
Contador : String;
|
|||
|
|
begin
|
|||
|
|
Result := False;
|
|||
|
|
oSQL := TIBSQL.Create(Self);
|
|||
|
|
oSQL.Database := dmBaseDatos.BD;
|
|||
|
|
oSQL.Transaction := dmBaseDatos.Transaccion;
|
|||
|
|
oSQL.SQL.Add('select CODIGO ');
|
|||
|
|
oSQL.SQL.Add('from ALBARANESPROVEEDOR ');
|
|||
|
|
oSQL.SQL.Add('where (CODIGO = :CODIGO) and (CODIGOEMPRESA = :CODIGOEMPRESA)');
|
|||
|
|
|
|||
|
|
try
|
|||
|
|
with oSQL do
|
|||
|
|
begin
|
|||
|
|
ParamByName('CODIGOEMPRESA').AsInteger := CodigoEmpresa;
|
|||
|
|
ParamByName('CODIGO').AsString := Codigo;
|
|||
|
|
Prepare;
|
|||
|
|
ExecQuery;
|
|||
|
|
Contador := Fields[0].AsString;
|
|||
|
|
Result := (Codigo = Contador);
|
|||
|
|
end;
|
|||
|
|
except
|
|||
|
|
on E : EIBError do
|
|||
|
|
TratarExcepcion(E);
|
|||
|
|
on E : Exception do
|
|||
|
|
TratarExcepcion(E);
|
|||
|
|
end;
|
|||
|
|
oSQL.Close;
|
|||
|
|
oSQL.Transaction := NIL;
|
|||
|
|
oSQL.Free;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TdmTablaAlbaranesProveedor.FormatearCodigo(Codigo: String): String;
|
|||
|
|
begin
|
|||
|
|
Result := GestorContadores.FormatearCodigo(contAlbaranesProveedor, Codigo);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TdmTablaAlbaranesProveedor.IncrementarCodigo: boolean;
|
|||
|
|
begin
|
|||
|
|
Result := GestorContadores.IncrementarValor(contAlbaranesProveedor);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TdmTablaAlbaranesProveedor.InicializarGridAlbaranes(var Grid: TdxDBGrid);
|
|||
|
|
var
|
|||
|
|
Columna : TdxDBTreeListColumn;
|
|||
|
|
begin
|
|||
|
|
with Grid do begin
|
|||
|
|
DestroyColumns;
|
|||
|
|
ShowSummaryFooter := True;
|
|||
|
|
{Columna CODIGO}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListColumn);
|
|||
|
|
Columna.FieldName := 'CODIGO';
|
|||
|
|
Columna.Caption := 'C<>digo';
|
|||
|
|
Columna.Width := tamColCodigo;
|
|||
|
|
Columna.Sorted := csDown;
|
|||
|
|
Columna.SummaryFooterType := cstCount;
|
|||
|
|
Columna.SummaryFooterFormat := 'Total: 0 albaranes';
|
|||
|
|
|
|||
|
|
{Columna ANO}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListColumn);
|
|||
|
|
Columna.FieldName := 'ANO';
|
|||
|
|
Columna.Caption := 'A<>o';
|
|||
|
|
Columna.Width := tamColFecha;
|
|||
|
|
Columna.Visible := False;
|
|||
|
|
|
|||
|
|
{Columna FECHAALTA}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListColumn);
|
|||
|
|
Columna.FieldName := 'FECHAALTA';
|
|||
|
|
Columna.Caption := 'Fecha alta';
|
|||
|
|
Columna.Width := tamColFecha;
|
|||
|
|
{Columna CODIGOPROVEEDOR}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListColumn);
|
|||
|
|
Columna.FieldName := 'CODIGOPROVEEDOR';
|
|||
|
|
Columna.Caption := 'C<>d. proveedor';
|
|||
|
|
Columna.Width := tamColCodigo;
|
|||
|
|
{Columna NIFCIF}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListColumn);
|
|||
|
|
Columna.FieldName := 'NIFCIF';
|
|||
|
|
Columna.Caption := 'NIF/CIF';
|
|||
|
|
Columna.Width := tamColNIFCIF;
|
|||
|
|
{Columna NOMBRE}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListColumn);
|
|||
|
|
Columna.FieldName := 'NOMBRE';
|
|||
|
|
Columna.Caption := 'Nombre';
|
|||
|
|
Columna.Width := tamColNombre;
|
|||
|
|
{Columna IMPORTETOTAL}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListColumn);
|
|||
|
|
Columna.FieldName := 'IMPORTETOTAL';
|
|||
|
|
Columna.Caption := 'Importe total';
|
|||
|
|
Columna.Width := tamColPrecio;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TdmTablaAlbaranesProveedor.InicializarGridDetalles(var Grid: TdxDBGrid);
|
|||
|
|
var
|
|||
|
|
Columna : TdxDBTreeListColumn;
|
|||
|
|
begin
|
|||
|
|
with Grid do begin
|
|||
|
|
DestroyColumns;
|
|||
|
|
{Columna CODIGOALBARAN}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListColumn);
|
|||
|
|
Columna.Visible := False;
|
|||
|
|
Columna.FieldName := 'CODIGOALBARAN';
|
|||
|
|
{Columna NUMCONCEPTO}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListColumn);
|
|||
|
|
Columna.Visible := False;
|
|||
|
|
Columna.FieldName := 'NUMCONCEPTO';
|
|||
|
|
{Columna CODIGOARTICULO}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListButtonColumn);
|
|||
|
|
Columna.FieldName := 'CODIGOARTICULO';
|
|||
|
|
Columna.Caption := 'C<>d. material';
|
|||
|
|
Columna.Width := tamColCodigo;
|
|||
|
|
{Columna DESCRIPCION}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListButtonColumn);
|
|||
|
|
Columna.FieldName := 'DESCRIPCION';
|
|||
|
|
Columna.Caption := 'Descripci<63>n';
|
|||
|
|
Columna.Width := tamColDescripcion;
|
|||
|
|
{Columna CANTIDAD}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListColumn);
|
|||
|
|
Columna.FieldName := 'CANTIDAD';
|
|||
|
|
Columna.Caption := 'Cantidad';
|
|||
|
|
Columna.Width := tamColCantidad;
|
|||
|
|
{Columna UNIDADESMEDIDA}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListPickColumn);
|
|||
|
|
Columna.FieldName := 'UNIDADESMEDIDA';
|
|||
|
|
Columna.Caption := 'Unid. medida';
|
|||
|
|
(Columna as TdxDBTreeListPickColumn).Items := dmTablaUnidadesMedida.DarUnidadesMedida;
|
|||
|
|
Columna.Width := tamColUnidadesMedida;
|
|||
|
|
{Columna PRECIOUNIDAD}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListColumn);
|
|||
|
|
Columna.FieldName := 'PRECIOUNIDAD';
|
|||
|
|
Columna.Caption := 'Precio unidad';
|
|||
|
|
Columna.Width := tamColPrecio;
|
|||
|
|
{Columna TOTAL}
|
|||
|
|
Columna := CreateColumn(TdxDBTreeListColumn);
|
|||
|
|
Columna.FieldName := 'TOTAL';
|
|||
|
|
Columna.ReadOnly := True;
|
|||
|
|
Columna.Caption := 'Precio total';
|
|||
|
|
Columna.Width := tamColPrecio;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TdmTablaAlbaranesProveedor.InicializarTablaAlbaranes(
|
|||
|
|
Tabla: TPTabla);
|
|||
|
|
begin
|
|||
|
|
with Tabla^.Fields do
|
|||
|
|
begin
|
|||
|
|
if FindField('FECHAALTA') <> NIL then
|
|||
|
|
with (FieldByName('FECHAALTA') as TDateField) do begin
|
|||
|
|
EditMask := MASK_FECHA;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if FindField('BASEIMPONIBLE') <> NIL then
|
|||
|
|
//with (FieldByName('BASEIMPONIBLE') as TFloatField) do begin
|
|||
|
|
with (FieldByName('BASEIMPONIBLE') as TIBBCDField) do begin
|
|||
|
|
DisplayFormat := DISPLAY_EUROS2;
|
|||
|
|
EditFormat := EDIT_EUROS2;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if FindField('DESCUENTO') <> NIL then
|
|||
|
|
with (FieldByName('DESCUENTO') as TFloatField) do begin
|
|||
|
|
DisplayFormat := DISPLAY_DTO;
|
|||
|
|
EditFormat := EDIT_DTO;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if FindField('IMPORTEDESCUENTO') <> NIL then
|
|||
|
|
//with (FieldByName('IMPORTEDESCUENTO') as TFloatField) do begin
|
|||
|
|
with (FieldByName('IMPORTEDESCUENTO') as TIBBCDField) do begin
|
|||
|
|
DisplayFormat := DISPLAY_EUROS2;
|
|||
|
|
EditFormat := EDIT_EUROS2;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if FindField('IVA') <> NIL then
|
|||
|
|
with (FieldByName('IVA') as TFloatField) do begin
|
|||
|
|
DisplayFormat := DISPLAY_DTO;
|
|||
|
|
EditFormat := EDIT_DTO;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if FindField('IMPORTEIVA') <> NIL then
|
|||
|
|
//with (FieldByName('IMPORTEIVA') as TFloatField) do begin
|
|||
|
|
with (FieldByName('IMPORTEIVA') as TIBBCDField) do begin
|
|||
|
|
DisplayFormat := DISPLAY_EUROS2;
|
|||
|
|
EditFormat := EDIT_EUROS2;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
if FindField('IMPORTETOTAL') <> NIL then
|
|||
|
|
//with (FieldByName('IMPORTETOTAL') as TFloatField) do begin
|
|||
|
|
with (FieldByName('IMPORTETOTAL') as TIBBCDField) do begin
|
|||
|
|
DisplayFormat := DISPLAY_EUROS2;
|
|||
|
|
EditFormat := EDIT_EUROS2;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TdmTablaAlbaranesProveedor.InicializarTablaDetalles(
|
|||
|
|
Tabla: TPTabla);
|
|||
|
|
begin
|
|||
|
|
with Tabla^.Fields do
|
|||
|
|
begin
|
|||
|
|
with (FieldByName('PRECIOUNIDAD') as TFloatField) do begin
|
|||
|
|
DisplayFormat := DISPLAY_EUROS2;
|
|||
|
|
EditFormat := EDIT_EUROS2;
|
|||
|
|
end;
|
|||
|
|
with (FieldByName('TOTAL') as TFloatField) do begin
|
|||
|
|
DisplayFormat := DISPLAY_EUROS2;
|
|||
|
|
EditFormat := EDIT_EUROS2;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TdmTablaAlbaranesProveedor.IniciarSQLAlbaran;
|
|||
|
|
begin
|
|||
|
|
with sqlInsertarAlbaran do
|
|||
|
|
begin
|
|||
|
|
Add('insert into ALBARANESPROVEEDOR ');
|
|||
|
|
Add('(CODIGOEMPRESA, CODIGO, FECHAALTA, USUARIO, DESCRIPCION, ');
|
|||
|
|
Add('CODIGOPROVEEDOR, NIFCIF, NOMBRE, CALLE, NUMERO, PISO, CODIGOPOSTAL, ');
|
|||
|
|
Add('POBLACION, PROVINCIA, PERSONACONTACTO, TELEFONO, FAX, ');
|
|||
|
|
Add('BASEIMPONIBLE, DESCUENTO, IVA, IMPORTETOTAL, IMPORTEDESCUENTO, ');
|
|||
|
|
Add('IMPORTEIVA)' );
|
|||
|
|
Add('values (:CODIGOEMPRESA, :CODIGO, :FECHAALTA, :USUARIO, ');
|
|||
|
|
Add(':DESCRIPCION, :CODIGOPROVEEDOR, :NIFCIF, :NOMBRE, :CALLE, :NUMERO, ');
|
|||
|
|
Add(':PISO, :CODIGOPOSTAL, :POBLACION, :PROVINCIA, ');
|
|||
|
|
Add(':PERSONACONTACTO, :TELEFONO, :FAX, :BASEIMPONIBLE, ');
|
|||
|
|
Add(':DESCUENTO, :IVA, :IMPORTETOTAL, :IMPORTEDESCUENTO, :IMPORTEIVA)');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with sqlModificarAlbaran do
|
|||
|
|
begin
|
|||
|
|
Add('update ALBARANESPROVEEDOR set ');
|
|||
|
|
Add('FECHAALTA = :FECHAALTA, ');
|
|||
|
|
Add('USUARIO = :USUARIO, ');
|
|||
|
|
Add('DESCRIPCION = :DESCRIPCION, ');
|
|||
|
|
Add('CODIGOPROVEEDOR = :CODIGOPROVEEDOR, ');
|
|||
|
|
Add('NIFCIF = :NIFCIF, ');
|
|||
|
|
Add('NOMBRE = :NOMBRE, ');
|
|||
|
|
Add('CALLE = :CALLE, ');
|
|||
|
|
Add('NUMERO = :NUMERO, ');
|
|||
|
|
Add('PISO = :PISO, ');
|
|||
|
|
Add('CODIGOPOSTAL = :CODIGOPOSTAL, ');
|
|||
|
|
Add('POBLACION = :POBLACION, ');
|
|||
|
|
Add('PROVINCIA = :PROVINCIA, ');
|
|||
|
|
Add('PERSONACONTACTO = :PERSONACONTACTO, ');
|
|||
|
|
Add('TELEFONO = :TELEFONO, ');
|
|||
|
|
Add('FAX = :FAX, ');
|
|||
|
|
Add('BASEIMPONIBLE = :BASEIMPONIBLE, ');
|
|||
|
|
Add('DESCUENTO = :DESCUENTO, ');
|
|||
|
|
Add('IMPORTEDESCUENTO = :IMPORTEDESCUENTO, ');
|
|||
|
|
Add('IVA = :IVA, ');
|
|||
|
|
Add('IMPORTEIVA = :IMPORTEIVA, ');
|
|||
|
|
Add('IMPORTETOTAL = :IMPORTETOTAL ');
|
|||
|
|
Add('where (CODIGO = :CODIGO) and (CODIGOEMPRESA = :CODIGOEMPRESA)');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with sqlEliminarAlbaran do
|
|||
|
|
begin
|
|||
|
|
Add('delete from ALBARANESPROVEEDOR ');
|
|||
|
|
Add('where (CODIGO = :CODIGO) and (CODIGOEMPRESA = :CODIGOEMPRESA)');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with sqlConsultarAlbaran do
|
|||
|
|
begin
|
|||
|
|
Add('select * from ALBARANESPROVEEDOR ');
|
|||
|
|
Add('where (CODIGO = :CODIGO) and (CODIGOEMPRESA = :CODIGOEMPRESA)');
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TdmTablaAlbaranesProveedor.IniciarSQLDetalles;
|
|||
|
|
begin
|
|||
|
|
with sqlInsertarDetalles do
|
|||
|
|
begin
|
|||
|
|
Add('insert into DETALLESALBARANESPROVEEDOR ');
|
|||
|
|
Add('(CODIGOEMPRESA, CODIGOALBARAN, NUMCONCEPTO, CODIGOARTICULO, DESCRIPCION, ');
|
|||
|
|
Add('CANTIDAD, UNIDADESMEDIDA, PRECIOUNIDAD, TOTAL) ');
|
|||
|
|
Add('values (:CODIGOEMPRESA, :CODIGOALBARAN, :NUMCONCEPTO, :CODIGOARTICULO, ');
|
|||
|
|
Add(':DESCRIPCION, :CANTIDAD, :UNIDADESMEDIDA, :PRECIOUNIDAD, :TOTAL)');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with sqlModificarDetalles do
|
|||
|
|
begin
|
|||
|
|
Add('update DETALLESALBARANESPROVEEDOR set ');
|
|||
|
|
Add('NUMCONCEPTO = :NUMCONCEPTO, ');
|
|||
|
|
Add('CODIGOARTICULO = :CODIGOARTICULO, ');
|
|||
|
|
Add('DESCRIPCION = :DESCRIPCION, ');
|
|||
|
|
Add('CANTIDAD = :CANTIDAD, ');
|
|||
|
|
Add('UNIDADESMEDIDA = :UNIDADESMEDIDA, ');
|
|||
|
|
Add('PRECIOUNIDAD = :PRECIOUNIDAD, ');
|
|||
|
|
Add('TOTAL = :TOTAL ');
|
|||
|
|
Add('where (CODIGOALBARAN = :CODIGOALBARAN) ');
|
|||
|
|
Add('and (CODIGOEMPRESA = :CODIGOEMPRESA) ');
|
|||
|
|
Add('and (NUMCONCEPTO = :NUMCONCEPTO)');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with sqlEliminarDetalles do
|
|||
|
|
begin
|
|||
|
|
Add('delete from DETALLESALBARANESPROVEEDOR ');
|
|||
|
|
Add('where (CODIGOALBARAN = :CODIGOALBARAN) ');
|
|||
|
|
Add('and (CODIGOEMPRESA = :CODIGOEMPRESA) ');
|
|||
|
|
Add('and (NUMCONCEPTO = :NUMCONCEPTO)');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with sqlConsultarDetalles do
|
|||
|
|
begin
|
|||
|
|
Add('select CODIGOALBARAN, NUMCONCEPTO, CODIGOARTICULO, ');
|
|||
|
|
Add('DESCRIPCION, CANTIDAD, UNIDADESMEDIDA, PRECIOUNIDAD, TOTAL ');
|
|||
|
|
Add('from DETALLESALBARANESPROVEEDOR ');
|
|||
|
|
Add('where (CODIGOALBARAN = :CODIGOALBARAN) ');
|
|||
|
|
Add('and (CODIGOEMPRESA = :CODIGOEMPRESA) ');
|
|||
|
|
Add('and (NUMCONCEPTO = :NUMCONCEPTO)');
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
procedure TdmTablaAlbaranesProveedor.IniciarSQLGrids;
|
|||
|
|
begin
|
|||
|
|
with sqlConsultarGridAlbaranes do
|
|||
|
|
begin
|
|||
|
|
Add('select CODIGO, FECHAALTA, CODIGOPROVEEDOR, NIFCIF, ');
|
|||
|
|
Add('EXTRACT (YEAR FROM FECHAALTA) as ANO, ');
|
|||
|
|
Add('NOMBRE, IMPORTETOTAL');
|
|||
|
|
Add('from ALBARANESPROVEEDOR ');
|
|||
|
|
Add('where (CODIGOEMPRESA = :CODIGOEMPRESA) ');
|
|||
|
|
Add('order by CODIGO');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with sqlConsultarGridAlbaranesPro do
|
|||
|
|
begin
|
|||
|
|
Add('select CODIGO, FECHAALTA, CODIGOPROVEEDOR, NIFCIF, ');
|
|||
|
|
Add('EXTRACT (YEAR FROM FECHAALTA) as ANO, ');
|
|||
|
|
Add('NOMBRE, IMPORTETOTAL');
|
|||
|
|
Add('from ALBARANESPROVEEDOR ');
|
|||
|
|
Add('where (CODIGOPROVEEDOR = :CODIGOPROVEEDOR) ');
|
|||
|
|
Add('and (CODIGOEMPRESA = :CODIGOEMPRESA) ');
|
|||
|
|
Add('order by CODIGO');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
with sqlConsultarGridDetalles do
|
|||
|
|
begin
|
|||
|
|
Add('select CODIGOEMPRESA, CODIGOALBARAN, NUMCONCEPTO, ');
|
|||
|
|
Add('CODIGOARTICULO, DESCRIPCION, ');
|
|||
|
|
Add('CANTIDAD, UNIDADESMEDIDA, PRECIOUNIDAD, TOTAL ');
|
|||
|
|
Add('from DETALLESALBARANESPROVEEDOR ');
|
|||
|
|
Add('where (CODIGOALBARAN = :CODIGOALBARAN) ');
|
|||
|
|
Add('and (CODIGOEMPRESA = :CODIGOEMPRESA) ');
|
|||
|
|
Add('order by NUMCONCEPTO');
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TdmTablaAlbaranesProveedor.InsertarContador: boolean;
|
|||
|
|
begin
|
|||
|
|
Result := GestorContadores.InsertarContador(contAlbaranesProveedor);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TdmTablaAlbaranesProveedor.ValidarCodigo(Codigo: String): Boolean;
|
|||
|
|
begin
|
|||
|
|
Result := GestorContadores.ValidarCodigo(contAlbaranesProveedor, Codigo);
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
function TdmTablaAlbaranesProveedor.DarListaAnos(CodigoEmpresa: Integer): TStringList;
|
|||
|
|
var
|
|||
|
|
oSQL : TIBSQL;
|
|||
|
|
Lista : TStringList;
|
|||
|
|
begin
|
|||
|
|
Lista := TStringList.Create;
|
|||
|
|
oSQL := TIBSQL.Create(Self);
|
|||
|
|
with oSQL do
|
|||
|
|
begin
|
|||
|
|
Database := dmBaseDatos.BD;
|
|||
|
|
Transaction := dmBaseDatos.Transaccion;
|
|||
|
|
SQL.Add('select distinct (EXTRACT (YEAR FROM FECHAALTA)) ANO ');
|
|||
|
|
SQL.Add('from ALBARANESPROVEEDOR ');
|
|||
|
|
SQL.Add('where (CODIGOEMPRESA = :CODIGOEMPRESA) ');
|
|||
|
|
SQL.Add('order by FECHAALTA desc');
|
|||
|
|
ParamByName('CODIGOEMPRESA').AsInteger := CodigoEmpresa;
|
|||
|
|
|
|||
|
|
try
|
|||
|
|
Prepare;
|
|||
|
|
ExecQuery;
|
|||
|
|
Lista.Add(CTE_TODOS);
|
|||
|
|
while not EOF do begin
|
|||
|
|
Lista.Add(Fields[0].AsString);
|
|||
|
|
Next;
|
|||
|
|
end;
|
|||
|
|
result := Lista;
|
|||
|
|
finally
|
|||
|
|
Close;
|
|||
|
|
Transaction := NIL;
|
|||
|
|
Free;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
end;
|
|||
|
|
|
|||
|
|
end.
|