library HistDifDebCred;

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, nDMPowerParam_U, npqClass, nActionList_U, nUtilPersonal, FMTBcd,
  DB, nClientDataSet_U, DBClient, Provider, nDataSetProvider_U, SqlExpr,
  nSQLDataSet_U, Math, nUtilForm, nDMSQLDataSet_U, nUtilDB, nUtil, 
  nDMDBXDataModel_U, nDialogs, StrUtils, nPowerPInsereLctoCtb_U;

{$E ndl}
{$R *.dfm}

type
  THistDifDebCred = class(TnPowerPInsereLctoCtb)
  private
  public
    procedure ExecutarInterno; override;
  end;

procedure THistDifDebCred.ExecutarInterno;
begin
  inherited;

  {codigo para processo}

  {Verifica se o valor é maior que Zero, senão não faz nada}
  if StrToFloat(Param('pValor')) > 0 then
  begin
    {Insere o lançamento débito}
    InserirLcto('pCodigoEstab',{ Filial}
                null, { Lote }
                null, { Documento }
                'pData', { Data }
                'CB', { Origem }
                'pHistDeb', { Histórico Débito}
                'pComplDeb', { Complemento Hist Débito}
                'pContaDeb', { Conta Débido }
                null, { Conta Crédito}
                'pValor'); { Valor }

    {Insere o lançamento crédito}
    InserirLcto('pCodigoEstab',{ Filial}
                null, { Lote }
                null, { Documento }
                'pData', { Data }
                'CB', { Origem }
                'pHistCred', { Histórico Crédito}
                'pComplCred', { Complemento Hist Crédito} 
                null, { Conta Débido }
                'pContaCred', { Conta Crédito}
                'pValor'); { Valor }
  end;  
end;

{codigos que nao devem ser alterados}
var
  fGetClass: TComponentClass;

function GetClass: TComponentClass; stdcall;
begin
  result := fGetClass;
end;

exports
  GetClass;

begin
  fGetClass := THistDifDebCred;
end.
