Advertisement
filhotecmail

Faturamento

Sep 2nd, 2018
370
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 67.04 KB | None | 0 0
  1. (* ----------------------------------------------------
  2.    PROGRAM: GERA FATURAMENTO PARA CLIENTE SELECIONADO
  3.    ANALISTA: CARLOS ALBERTO DIAS DA SILVA FILHO
  4.    DATA: 26/06/2018
  5.    CLASSE RESPONSÁVEL POR CONTROLAR OS FATURAMENTOS DOS CLIENTES
  6.  
  7.    ROTINAS
  8.    1: AO SELECIONAR O CLIENTE MOSTRAR GRID
  9.    2: AO SELECIONAR CLIENTE NO GRID , INSERIR OS DADOS NA VENDA
  10.    3: PERMITIR VER DADOS DE FATURAMENTO ATUAL
  11.    4: BLOQUEAR E AVISAR SE CLIENTE NÃO TIVER SALDO
  12.    5: EFETUAR PAGAMENTO DOS FATURADOS
  13.  
  14.   ----------------------------------------------------   *)
  15.  
  16. unit Faturamento.ModelEngine;
  17.  
  18.  
  19.  
  20. interface
  21.  
  22. uses
  23.     Classes, Forms, System.SysUtils, System.Variants, Vcl.Graphics, System.UITypes, Vcl.Controls,
  24.     TypInfo, Midaslib, Registry, OleCtrls,  StrUtils,  Vcl.ExtCtrls, acImage,
  25.     ACBrGAV,
  26.     ACBrBAL,
  27.     DBclient,
  28.     DateUtils,
  29.     Vcl.StdCtrls,
  30.     Vcl.ComCtrls,
  31.     Vcl.WinXCtrls,
  32.     JvExControls,
  33.     Vcl.DBCGrids,
  34.     FireDAC.Phys.FBDef,
  35.     FireDAC.UI.Intf,
  36.     FireDAC.VCLUI.Wait,
  37.     FireDAC.Comp.UI,
  38.     FireDAC.Stan.Intf,
  39.     FireDAC.Phys,
  40.     FireDAC.Phys.IBBase,
  41.     FireDAC.Phys.FB,
  42.     FireDAC.Stan.Option,
  43.     FireDAC.Stan.Param,
  44.     FireDAC.Stan.Error,
  45.     FireDAC.DatS,
  46.     FireDAC.Phys.Intf,
  47.     FireDAC.DApt.Intf,
  48.     FireDAC.Stan.Async,
  49.     FireDAC.DApt,
  50.     FireDAC.Stan.Def,
  51.     FireDAC.Stan.Pool,
  52.     FireDAC.Comp.Client,
  53.     FireDAC.Comp.DataSet,
  54.     AcbrSat,
  55.     ACBrUtil,
  56.     ACBrBase,
  57.     Pcnconversao,
  58.     ACBrSATClass,
  59.     ACBrPosPrinter,
  60.     ACBrDevice,
  61.     AcbrSatExtratoClass,
  62.     ACBrSATExtratoFortesFr,
  63.     ACBrSATExtratoESCPOS,
  64.     ACBrValidador,
  65.     ACBrDFeUtil,
  66.     ACBrConsts,
  67.     Vcl.DBCtrls,
  68.     Vcl.DBGrids,
  69.     DB, System.Types, Vcl.Grids,Dialogs,System.Generics.Collections,Json;
  70.  
  71.   type TScribOnRicthCursor = class
  72.        type TDadosEmpresa = class( TFDQuery )
  73.  
  74.       public
  75.         procedure AfterConstruction; override;
  76.        end;
  77.  
  78.     type TProp = Packed Record
  79.        RazaoSocial : string;
  80.        NomeFantasia: String;
  81.        Cnpj        : string;
  82.        IE          : string;
  83.        Logadouro   : string;
  84.        Nro         : string;
  85.        Bairro      : string;
  86.        Estado      : string;
  87.        Cep         : string;
  88.        NroPdv      : string;
  89.        OperadorPdv : string;
  90.     End;
  91.  
  92.   private
  93.     FGridProd: TRichEdit;
  94.     FOldColorGrid: TColor;
  95.     FOldColorFontGrid: TColor;
  96.     FTamanhoLinha: Integer;
  97.     FTDadosEmpresa: TDadosEmpresa;
  98.     Prop: TProp;
  99.     FTimer: TTimer;
  100.     function PularLinha: string;
  101.   public
  102.     procedure SubscribeCabecalho;
  103.     procedure Subscrib(const AText: string; fontsize: integer; Color: TColor; Align: TAlignment; Salto: Boolean);
  104.     constructor Create( Ritch: TRichEdit );
  105.     procedure AfterConstruction; override;
  106.     procedure BeforeDestruction; override;
  107.  
  108.   end;
  109.  
  110.   type TProcessaPagamento = class( TComponent )
  111.       type TAfterPagamento  = procedure of Object;
  112.  
  113.       type TLoadFinalizadoras = class( TFDQuery )
  114.  
  115.       public
  116.         constructor Create(AOwner: TComponent; LabelInfo: TLabel); reintroduce; overload;
  117.       end;
  118.  
  119.    private
  120.    FTLoadFinalizadoras: TLoadFinalizadoras;
  121.    FTAfterPagamento: TAfterPagamento;
  122.    FLabelBotton: TLabel;
  123.    FLabelCodeBar: Tlabel;
  124.    FlabelTocontrol: TLabel;
  125.    FCommandPrompt: TEdit;
  126.   public
  127.     procedure Onkeypress(Sender: TObject; var Key: Char );
  128.     procedure OnkeyDonw( Sender: TObject; var Key: Word; Shift: TShiftState );
  129.     property AposEfetuarPagamentoTotal: TAfterPagamento read FTAfterPagamento write FTAfterPagamento;
  130.     procedure AfterConstruction; override;
  131.     procedure BeforeDestruction; override;
  132.     constructor Create( AOwner: TComponent; CommandPrompt:TEdit; FValor: Currency; FIDClient: integer;
  133.                                        LabelControl,LabelCodeBar,LabelInfoBotton: TLabel  ); reintroduce; Overload;
  134.  
  135.   end;
  136.  
  137.    type TClientesRecord = packed record
  138.  
  139.         NomeCliente: string;
  140.         Cpfcnpj    : string;
  141.         Logadouro  : string;
  142.         Nro        : string;
  143.         Complemento: string;
  144.         Bairro     : string;
  145.         Municipio  : string;
  146.         Estado     : string;
  147.         Email      : string;
  148.         Telefone   : string;
  149.         IDCliente      : integer;
  150.         CodigodoCliente: string;
  151.         PodeFaturar    : Boolean;
  152.         TemDividaVencida: Boolean;
  153.         NroParcelasAuth: Integer;
  154.         SaldoDisponivel: Currency;
  155.         type TAposLimparRecord = procedure Of Object;
  156.         private
  157.         FTAposLimparRecord: TAposLimparRecord;
  158.         public
  159.         property AposLimparRecord: TAposLimparRecord read FTAposLimparRecord write FTAposLimparRecord;
  160.         Function Clear: TClientesRecord;
  161.    end;
  162.  
  163.  type TClientInformado = class(TComponent)
  164.    type TAposSelecionarCliente = procedure( DadosselCi: TClientesRecord  ) of object;
  165.         TAposCancelarComando   = procedure( DadosselCi: TClientesRecord ) of Object;
  166.         TAposLimparDadosRec    = procedure of object;
  167.  
  168.         TAnaliseDadosCliente   = class( TFDQuery )
  169.  
  170.           private
  171.           {Private declaration}
  172.           Function VerificaParcelasVencidas: Boolean;
  173.           protected
  174.           {Protected declaration}
  175.           public
  176.           {Public declaration declaration}
  177.         destructor Destroy; override;
  178.         function OpenWhere( ID: integer ): TClientesRecord;
  179.         constructor Create( AOwner: TComponent ); override;
  180.         procedure AfterConstruction; override;
  181.         procedure BeforeDestruction; override;
  182.  
  183.           published
  184.           {Protected declaration}
  185.           end;
  186.  
  187.       private
  188.       {Private declaration}
  189.       FPanelCliente: TDBGRid;
  190.       FDatasetClientes: TFDQuery;
  191.       FDatasourceCli: TDatasource;
  192.       FStartUp: Boolean;
  193.       FLabelCodebar : TLabel;
  194.       FLabelTocontrol: TLabel;
  195.       FCommnandPrompt: TEdit;
  196.       FSrcW: integer;
  197.       FSrcH: integer;
  198.       FNroVenda: integer;
  199.       FNroPdv  : integer;
  200.       FTClientesRecord: TClientesRecord;
  201.       FTAposSelecionarCliente: TAposSelecionarCliente;
  202.       FTAnaliseDadosCliente: TAnaliseDadosCliente;
  203.       FRich: TRichedit;
  204.       FLbInfoFim: TLabel;
  205.     FTAposCancelarComando: TAposCancelarComando;
  206.     FTAposLimparDadosRec: TAposLimparDadosRec;
  207.       procedure CreatePanelSelecionaCliente;
  208.       procedure OnkeyPressStateSelClient( Sender: TObject; var Key: Char );
  209.       procedure OnkeyDownStateSelClient(Sender: TObject; var Key: Word; Shift: TShiftState );
  210.       procedure AfteScrollerDatasetCli( Dataset: TDataset );
  211.       procedure OnkeyUp(Sender: TObject; var Key: Word; Shift: TShiftState );
  212.       procedure EdcodebarOnChange(Sender: TObject);
  213.       procedure RegistranavendaCienteSelecionado;
  214.       procedure ClienteDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn;
  215.       State: TGridDrawState );
  216.         // procedure StateNativeforDestroy;
  217.       protected
  218.       {Protected declaration}
  219.       public
  220.       {Public declaration declaration}
  221.      constructor Create(AOwner: TComponent; FGRid: TDBGRid; LabelCodebar,LabelTocontrol,LbInfoFim: TLabel; EdComand: TEdit;
  222.                          SrcWidith,SrcHeigth: integer;Rich: TRichEdit ); reintroduce; overload; (*Metodos do Constructor*)
  223.      property AposLimparDadosRec: TAposLimparDadosRec read FTAposLimparDadosRec write FTAposLimparDadosRec;
  224.      property AposelecionarClientes: TAposSelecionarCliente read FTAposSelecionarCliente write FTAposSelecionarCliente;
  225.      property AposCancelarComando  : TAposCancelarComando   read FTAposCancelarComando   write FTAposCancelarComando;
  226.      procedure LimparDadosRec;
  227.      destructor Destroy; override;
  228.      procedure AfterConstruction; override;
  229.      procedure BeforeDestruction; override;
  230.  
  231.       published
  232.       {Protected declaration}
  233.       end;
  234.  
  235.   type TReceberCarteira = class
  236.   type TRecCarteiraAfterCancel = procedure( Sender: TObject ) of Object;
  237.   type TRecebercarteiraState = ( stInformandoCpf,stPesquisandonogrid );
  238.    type TMostraParcelasCliente = class( TFDQuery )
  239.  
  240.       public
  241.  
  242.         procedure AfterConstruction; override;
  243.         procedure BeforeDestruction; override;
  244.         constructor Create(AOwner: TComponent; DocCliente: string ); Reintroduce;Overload;
  245.    end;
  246.        private
  247.     FTRecCarteiraAfterCancel: TRecCarteiraAfterCancel;
  248.     FCommand: TEdit;
  249.     FState: TRecebercarteiraState;
  250.     FValorTotaCarteira: Currency;
  251.     FLabelToControl: TLabel;
  252.     FLabelCodeBar  : TLabel;
  253.     FLabelBotton: TLabel;
  254.     FTProcessaPagamento: TProcessaPagamento;
  255.     FTScribOnRicthCursor:TScribOnRicthCursor;
  256.     FRitchEdit: TRichEdit;
  257.     FTMostraParcelasCliente: TMostraParcelasCliente;
  258.     function ValidarClientebyDoc( const Document: string ): Boolean;
  259.        {Private declaration}
  260.        protected
  261.        {Protected declaration}
  262.        public
  263.        {Public declaration declaration}
  264.       { TODO 1 : Construção dos Eventos do Pagar Fatura, aqui será o comportamento para efetuar o
  265.        pagamento das promissorias por parcelas, só serão aceitos pagamentos das Faturas integralmente }
  266.        procedure Onkeypress(Sender: TObject; var Key: Char );
  267.        procedure OnkeyDonw( Sender: TObject; var Key: Word; Shift: TShiftState );
  268.        procedure Onkeychange(Sender: TObject);
  269.        property  AfterCancel: TRecCarteiraAfterCancel read FTRecCarteiraAfterCancel write FTRecCarteiraAfterCancel;
  270.  
  271.          constructor Create( EdCommand: TEdit; LabelCodebar,LabelTocontrol,LabelFimBotton: TLabel; Ritch: TRichEdit ); (*Metodos do Constructor*)
  272.          destructor Destroy; override;
  273.     procedure AfterConstruction; override;
  274.     procedure BeforeDestruction; override;
  275.  
  276.        published
  277.        {Protected declaration}
  278.        end;
  279.  
  280.   type TReceberDuplicatas = class
  281.        private
  282.        {Private declaration}
  283.        protected
  284.        {Protected declaration}
  285.        public
  286.        {Public declaration declaration}
  287.       { TODO 1 : Construção dos Eventos do Pagar Fatura, aqui será o comportamento para efetuar o
  288.        pagamento das promissorias por parcelas, só serão aceitos pagamentos das Faturas integralmente }
  289.        procedure Onkeypress(Sender: TObject; var Key: Char );
  290.        procedure OnkeyDonw( Sender: TObject; var Key: Word; Shift: TShiftState );
  291.        procedure Onkeychange(Sender: TObject);
  292.  
  293.          constructor Create; (*Metodos do Constructor*)
  294.          destructor Destroy; override;
  295.     procedure AfterConstruction; override;
  296.     procedure BeforeDestruction; override;
  297.  
  298.        published
  299.        {Protected declaration}
  300.        end;
  301.  
  302.  
  303.  
  304.    type TFaturaValores = class( TComponent )
  305.       type TAfterChangedParcelas = procedure( Data: TFDMemtable; R: Boolean ) of object;
  306.       type TAfterCancel = procedure of object;
  307.     strict private
  308.  (* Componente Form visual para apresentação das parcelas*)
  309.     type TMessageForm = class(Tform)
  310.       strict private
  311.         FMsg: UnicodeString;
  312.         Flabel: TLabel;
  313.         FData: TClientesRecord;
  314.         FPanel: TPanel;
  315.         procedure CreateLabel(FColorFont: Tcolor; Msgv: UnicodeString);
  316.         procedure OnkeyPressY(Sender: TObject; var key: Char);
  317.       public
  318.          property Data: TClientesRecord read FData write FData;
  319.         procedure AfterConstruction; override;
  320.         procedure BeforeDestruction; override;
  321.         constructor CreateNew(AOwner: TComponent; Dummy: Integer; Msg: UnicodeString; Colorv,FontColorv: TColor ); Reintroduce; Overload;
  322.  
  323.     end;
  324.      type TApresentaFaturas = class(TForm)
  325.        strict private
  326.         FPanel: TPanel;
  327.         FLNomeRazao: TLabel;
  328.         FLCpfcnpj  : TLabel;
  329.         FData: TClientesRecord;
  330.         procedure LoadPanel;
  331.         procedure CreateLabels;
  332.       public
  333.         procedure OnShowFormS(Sender: TObject);
  334.         property Data: TClientesRecord read FData write FData;
  335.         procedure AfterConstruction; override;
  336.         procedure BeforeDestruction; override;
  337.         constructor Create(AOwner: TComponent); override;
  338.         constructor CreateNew(AOwner: TComponent; Dummy: Integer = 0); override;
  339.  
  340.      end;
  341.      strict private
  342.  (* Componente TDBgrid*)
  343.      type TLeopardDbgrid = class(TDBGrid)
  344.  
  345.       public
  346.         procedure AfterConstruction; override;
  347.         procedure BeforeDestruction; override;
  348.         constructor Create(AOwner: TComponent); override;
  349.  
  350.      end;
  351.      type TDadosEmpresa = class(TFDQuery)
  352.  
  353.       public
  354.  
  355.         procedure AfterConstruction; override;
  356.         procedure BeforeDestruction; override;
  357.         constructor Create(AOwner: TComponent; FCon: TFDConnection); reintroduce; overload;
  358.  
  359.      end;
  360.  (* Componente principal faz a interface entre os componentes Nested*)
  361.     strict private
  362.      FTApresentaFaturas: TApresentaFaturas;
  363.      FTLeopardDbgrid   : TLeopardDbgrid;
  364.      FTLeopardDbgrid2  : TLeopardDbgrid;
  365.      FMemparcelas      : TFDMemTable;
  366.      FMemParcelasDesc  : TFDMemTable;
  367.      FDatasourceMem       : TDatasource;
  368.      FDatasourceMem2      : TDatasource;
  369.      FData: TClientesRecord;
  370.     FTAfterChangedParcelas: TAfterChangedParcelas;
  371.     FMsg:TMessageForm;
  372.     FValoraFaturar: Currency;
  373.     FTAfterCancel: TAfterCancel;
  374.     FAuthCliente: Boolean;
  375.     FDadosEmpresa: TDadosEmpresa;
  376.      function ApresentaFaturas:TApresentaFaturas;
  377.      function ApresentaGrid: TLeopardDbgrid;
  378.      function TabelaMemoria: TDatasource;
  379.      procedure OnResizeForm(Sender: TObject);
  380.      procedure ParcelaValor(ValorTotal: Extended; NroParcelas: integer);
  381.      procedure ParcelaValorDatasetParcelas(ValorTotal: Extended; NroParcelas: integer);
  382.      procedure AfterScrollDatasetDesc(Dataset: TDataset);
  383.      procedure AfterOpenDatasetParcelas(Dataset: TDataset);
  384.      procedure OnkeypressGrigParcelasDesc(Sender: TObject; var key: char);
  385.      procedure OnKeyDownTform(Sender: TObject; var Key: Word; Shift: TShiftState);
  386.     procedure CreateMemtableParcelas;
  387.     procedure CreateTablememoriaParcelasDesc;
  388.     procedure MostrarMsg(A: UnicodeString);
  389.   public
  390.     property AposCancelarCommando: TAfterCancel read FTAfterCancel write FTAfterCancel;
  391.     property AposSelecionarParcelas:TAfterChangedParcelas read FTAfterChangedParcelas write FTAfterChangedParcelas;
  392.     function ShowCmdFaturas: Boolean;
  393.     procedure AfterConstruction; override;
  394.     procedure BeforeDestruction; override;
  395.     property Data: TClientesRecord read FData write FData;
  396.     property ValoraFaturar: Currency read FValoraFaturar write FValoraFaturar;
  397.     property AuthCliente: Boolean read FAuthCliente;
  398.     constructor Create(AOwner: TComponent); override;
  399.  
  400.    end;
  401.  
  402.    type TGravaFaturasLocal = class(Tcomponent)
  403.  
  404.       type TContarec = class(TFDQuery)
  405.       strict private
  406.         FMemParcelas: TFDMemTable;
  407.  
  408.       public
  409.         function ExecCommand: TContarec;
  410.         procedure AfterConstruction; override;
  411.         procedure BeforeDestruction; override;
  412.         constructor Create(AOwner: TComponent; Fcon: TFDConnection; MemParcelas: TFDMemtable ); reintroduce; overload;
  413.  
  414.       end;
  415.  
  416.    end;
  417.  
  418.  
  419.   var FSelecionaCliente: TClientInformado; FaturaValores:TFaturaValores;
  420.  
  421. implementation
  422.  
  423. { TClientInformado }
  424.  
  425. uses FuncoesLibraryClass, DtmConexao;
  426.  
  427. procedure TClientInformado.AfterConstruction;
  428. begin
  429.   inherited AfterConstruction;
  430.  
  431.   CreatePanelSelecionaCliente;
  432.   FCommnandPrompt.OnKeyPress := OnkeyPressStateSelClient;
  433.   FCommnandPrompt.OnKeyDown  := OnkeyDownStateSelClient;
  434.  
  435. end;
  436.  
  437. procedure TClientInformado.AfteScrollerDatasetCli(Dataset: TDataset);
  438. begin
  439.   FTAnaliseDadosCliente.OpenWhere(Dataset.FieldByName('ID').AsInteger);
  440. end;
  441.  
  442. procedure TClientInformado.BeforeDestruction;
  443. begin
  444.   inherited BeforeDestruction;
  445.  
  446.  
  447. end;
  448.  
  449. procedure TClientInformado.ClienteDrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn;
  450.   State: TGridDrawState);
  451. begin
  452.  //ZebraGrid(TDBGrid(sender),cl3DLight,Rect,DataCol,Column,State);
  453.  
  454. end;
  455.  
  456. constructor TClientInformado.Create(AOwner: TComponent; FGRid: TDBGRid; LabelCodebar,LabelTocontrol,LbInfoFim: TLabel;
  457.                              EdComand: TEdit; SrcWidith,SrcHeigth: integer; Rich: TRichEdit );
  458. begin
  459.  inherited Create(AOwner);
  460.  
  461.    FPanelCliente   := FGRid;
  462.    FLabelCodebar   := LabelCodebar;
  463.    FLabelTocontrol := LabelTocontrol;
  464.    FCommnandPrompt := EdComand;
  465.   try
  466.    FCommnandPrompt.ReadOnly   := False;
  467.    FCommnandPrompt.Clear;
  468.    FCommnandPrompt.Update;
  469.   finally
  470.    FSrcW:= SrcWidith;
  471.    FSrcH:= SrcHeigth;
  472.    FRich:= Rich;
  473.    FLbInfoFim:= LbInfoFim;
  474.    FCommnandPrompt.OnChange   := nil;
  475.    FCommnandPrompt.OnChange   := EdcodebarOnChange;
  476. //   FCommnandPrompt.OnKeyUp    := OnkeyUp;
  477.   end;
  478.  
  479. end;
  480.  
  481. procedure TClientInformado.CreatePanelSelecionaCliente;
  482.  var I: integer;
  483. begin
  484.  
  485.    FStartUp:= True;
  486.    FLabelCodebar.Caption  := 'SELECIONE O CLIENTE NA LISTA';
  487.    FLabelTocontrol.Caption:= 'MODO SELEÇÃO DO CLIENTE CADASTRADO';
  488.  
  489.    FPanelCliente.Width  := FSrcW - 100;
  490.    FPanelCliente.Height := 412;
  491.    FPanelCliente.Visible := True;
  492.    FPanelCliente.OnDrawColumnCell      := ClienteDrawColumnCell;
  493.    FDatasetClientes:= TFDquery.Create(nil);
  494.    FTAnaliseDadosCliente := TAnaliseDadosCliente.Create(nil);
  495.    FDatasetClientes.AfterScroll := AfteScrollerDatasetCli;
  496.    FDatasetClientes.Connection := TDtmConexao.FDServidorConexao;
  497.    FDatasetClientes.SQL.Text :=
  498.    'select  '+
  499.   ' ID,  '+
  500.   ' NOME, '+
  501.   ' CNPJ, '+
  502.   ' ENDERECO, '+
  503.    'NUMERO, ' +
  504.   ' BAIRRO, '+
  505.    'MUNICIPIO, '+
  506.    'UF  '+
  507.    'from '+
  508.    ' CADCLIENTES  '+
  509.    ' where SIT = ''ATIVO'' ';
  510.  
  511.    FDatasetClientes.Open;
  512.    FDatasourceCli         := TDataSource.Create(nil);
  513.    FDatasourceCli.DataSet := FDatasetClientes;
  514.    FPanelCliente.DataSource:= FDatasourceCli;
  515.    FPanelCliente.Columns[2].Title.Font.size := 10;
  516.    FPanelCliente.Columns[1].Title.Font.size := 10;
  517.    FPanelCliente.Columns[0].Title.Font.size := 10;
  518.    FPanelCliente.Columns[3].Title.Font.size := 10;
  519.    FPanelCliente.Columns[4].Title.Font.size := 10;
  520.    FPanelCliente.Columns[5].Title.Font.size := 10;
  521.    FPanelCliente.Columns[6].Title.Font.size := 10;
  522.    FPanelCliente.Columns[7].Title.Font.size := 10;
  523.    FitGrid(FPanelCliente);
  524.  
  525. end;
  526.  
  527. destructor TClientInformado.Destroy;
  528. begin
  529.  
  530.   inherited Destroy;
  531.   FPanelCliente.Visible:= False;
  532.   FDatasetClientes.DisposeOf;
  533.   FDatasourceCli.DisposeOf;
  534.  
  535.   FTAnaliseDadosCliente.Free;
  536.   FTAnaliseDadosCliente:= nil;
  537.  
  538. end;
  539.  
  540. procedure TClientInformado.EdcodebarOnChange(Sender: TObject);
  541. begin
  542.  if FStartUp then
  543.  begin
  544.  TEdit(Sender).Text := '';
  545.  end;
  546.  FStartUp:= False;
  547.  
  548. end;
  549.  
  550. procedure TClientInformado.LimparDadosRec;
  551. begin
  552.  FTClientesRecord.Clear;
  553.  if Assigned(FTAposLimparDadosRec) then
  554.     FTAposLimparDadosRec;
  555. end;
  556.  
  557. procedure TClientInformado.OnkeyDownStateSelClient( Sender: TObject; var Key: Word; Shift: TShiftState );
  558. begin
  559.   if key = vkUp then
  560.   begin
  561.  
  562.    FDatasetClientes.prior;
  563.    end;
  564.   if key = vkDown then
  565.   begin
  566.    FDatasetClientes.next;
  567.   end;
  568.   if key = vkEscape then
  569.   begin
  570.    if Assigned( FTAposCancelarComando ) then
  571.        FTAposCancelarComando( FTClientesRecord );
  572.    // StateNativeforDestroy;
  573.   end;
  574. end;
  575.  
  576. procedure TClientInformado.OnkeyPressStateSelClient( Sender: TObject; var Key: Char );
  577. begin
  578.  
  579.    FDatasetClientes.Filter := 'upper(NOME) like '+ quotedstr( Ansiuppercase('%'+TEdit(sender).Text)+'%' );
  580.    FDatasetClientes.Filtered:= True;
  581.  
  582.    if Key = #13 then
  583.    begin
  584.      FLabelTocontrol.Caption :=
  585.      ' SELECIONADO O CLIENTE '+
  586.      FDatasetClientes.FieldByName('NOME').AsString;
  587.   //   RegistranavendaCienteSelecionado;
  588.      FTClientesRecord.NomeCliente := FTAnaliseDadosCliente.FieldByName('NOME').AsString;
  589.      FTClientesRecord.Cpfcnpj     := FTAnaliseDadosCliente.FieldByName('CNPJ').AsString;
  590.      FTClientesRecord.Logadouro   := FTAnaliseDadosCliente.FieldByName('ENDERECO').AsString;
  591.      FTClientesRecord.Nro         := FTAnaliseDadosCliente.FieldByName('NUMERO').AsString;
  592.      FTClientesRecord.Complemento := FTAnaliseDadosCliente.FieldByName('COMPLEMENTO').AsString;
  593.      FTClientesRecord.Bairro      := FTAnaliseDadosCliente.FieldByName('BAIRRO').AsString;
  594.      FTClientesRecord.Municipio   := FTAnaliseDadosCliente.FieldByName('MUNICIPIO').AsString;
  595.      FTClientesRecord.Estado      := FTAnaliseDadosCliente.FieldByName('ESTADO').AsString;
  596.      FTClientesRecord.Email       := FTAnaliseDadosCliente.FieldByName('EMAIL').AsString;
  597.      FTClientesRecord.Telefone    := FTAnaliseDadosCliente.FieldByName('TEL1').AsString;
  598.      FTClientesRecord.IDCliente   := FTAnaliseDadosCliente.FieldByName('ID').AsInteger;
  599.      FTClientesRecord.NroParcelasAuth   := FTAnaliseDadosCliente.FieldByName('NUM_PARCELAS').AsInteger;
  600.      FTClientesRecord.CodigodoCliente   := FTAnaliseDadosCliente.FieldByName('CODE').AsString;
  601.      FTClientesRecord.SaldoDisponivel   :=  FTAnaliseDadosCliente.FieldByName('SALDO_CONTA').AsCurrency;
  602.      FTClientesRecord.PodeFaturar := ( ( not FTAnaliseDadosCliente.VerificaParcelasVencidas )
  603.        and ( FTAnaliseDadosCliente.FieldByName('SALDO_CONTA').AsCurrency > 0 ) );
  604.      FTClientesRecord.TemDividaVencida := FTAnaliseDadosCliente.VerificaParcelasVencidas;
  605.      if Assigned( FTAposSelecionarCliente ) then
  606.         FTAposSelecionarCliente( FTClientesRecord );
  607.  
  608.  
  609.   // SistemaClass.ExecuteRegistrationFromGrid;
  610. //    if Assigned( SubTot.FTReceivePaymanent ) then
  611. //   begin
  612. //      SubTot.FTReceivePaymanent( sender);
  613. //   end;
  614.  end;
  615.  
  616.  end;
  617.  
  618.  
  619. procedure TClientInformado.OnkeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
  620. begin
  621.  if FStartUp then
  622.  begin
  623.  TEdit(sender).Text :='';
  624.  end;
  625.  FStartUp:= False;
  626. end;
  627.  
  628. procedure TClientInformado.RegistranavendaCienteSelecionado;
  629.    var T,J: TFDquery;
  630.    procedure procx;
  631.     var  i,x: integer;
  632.    begin
  633.         J := TFDQuery.Create(nil);
  634.         j.Connection := TDtmConexao.FDServidorConexao;
  635.         J.SQL.Text   :=  'select ID, DATA, HORA, USUARIO, CODE, SIT, CATEGORIA, NOME, FANTASIA, CNPJ, IE, IM, SUFRAMA, NASCIMENTO, ENDERECO, '+
  636.          'NUMERO, COMPLEMENTO, BAIRRO, MUNICIPIO, ESTADO, UF, PAIS, CEP, TEL1, TEL2, CEL1, CEL2, EMAIL, EMAIL2, FOTO, OBS, '+
  637.           'CODEMUNI, CODEUF, CODEPAIS, SIGLAPAIS, NUM_PARCELAS, FAT_VALORMAX, FAT_DIAS, SALDO_CONTA, AUT_FATURA '+
  638.            'from CADCLIENTES where ID = :PID ';
  639.        J.ParamByName('PID').AsInteger := FDatasetClientes.FieldByName('ID').AsInteger;
  640.       try
  641.        J.Open;
  642.        J.FieldByName('ID').Required:= FALSE;
  643.       finally
  644.        if not (  J.IsEmpty  ) then
  645.        begin
  646.         T:= TFDquery.Create(nil);
  647.         T.Connection:= DtmConexao.TDtmConexao.FDMasterPdv;
  648.         T.SQL.Text  :=
  649.  
  650.           'update or insert into VENDA_CLIREGISTER ( IDCLIENTE, FOTOCLIENTE, NOMECLIENTE, FANTASIA, CPFCNPJCLIENTE, IERGCLIENTE, '+
  651.            'CATEGORIA, SIT, CODE, IM, NASCIMENTO, ENDERECO, NUMERO, COMPLEMENTO, BAIRRO, '+
  652.             'MUNICIPIO, ESTADO, UF, PAIS, CEP, TEL1, TEL2, CEL1, CEL2, EMAIL, EMAIL2, OBS, '+
  653.              'CODEMUNI, CODEUF, CODEPAIS, SIGLAPAIS, NUM_PARCELAS, FAT_VALORMAX, FAT_DIAS, '+
  654.               'SALDO_CONTA, AUT_FATURA, VENDANRO, PDVNRO) '+
  655.                'values ( :IDCLIENTE, :FOTOCLIENTE, :NOMECLIENTE, :FANTASIA, :CPFCNPJCLIENTE, :IERGCLIENTE, :CATEGORIA, :SIT, :CODE, '+
  656.                 ':IM, :NASCIMENTO, :ENDERECO, :NUMERO, :COMPLEMENTO, :BAIRRO, :MUNICIPIO, :ESTADO, :UF, :PAIS, :CEP, :TEL1, '+
  657.                  ':TEL2, :CEL1, :CEL2, :EMAIL, :EMAIL2, :OBS, :CODEMUNI, :CODEUF, :CODEPAIS, :SIGLAPAIS, :NUM_PARCELAS, '+
  658.                   ':FAT_VALORMAX, :FAT_DIAS, :SALDO_CONTA, :AUT_FATURA, :VENDANRO, :PDVNRO) '+
  659.                    'matching (VENDANRO,PDVNRO) ';
  660.  
  661.         T.ParamByName('IDCLIENTE').AsInteger       := J.fieldbyname('ID').AsInteger;
  662.         T.ParamByName('NOMECLIENTE').AsString      := J.fieldbyname('NOME').AsString;
  663.         T.ParamByName('FANTASIA').AsString         := J.fieldbyname('FANTASIA').AsString;
  664.         T.ParamByName('CPFCNPJCLIENTE').AsString   := J.fieldbyname('CNPJ').AsString;
  665.         T.ParamByName('IERGCLIENTE').AsString      := J.fieldbyname('IE').AsString;
  666.         T.ParamByName('IM').AsString               := J.fieldbyname('IM').AsString;
  667.         T.ParamByName('NASCIMENTO').AsDateTime     := J.fieldbyname('NASCIMENTO').AsDateTime;
  668.         T.ParamByName('ENDERECO').AsString         := J.fieldbyname('ENDERECO').AsString;
  669.         T.ParamByName('NUMERO').AsString           := J.fieldbyname('NUMERO').AsString;
  670.         T.ParamByName('CATEGORIA').AsString        := J.fieldbyname('CATEGORIA').AsString;
  671.         T.ParamByName('SIT').AsString              := J.fieldbyname('SIT').AsString;
  672.         T.ParamByName('CODE').AsString             := J.fieldbyname('CODE').AsString;
  673.         T.ParamByName('COMPLEMENTO').AsString      := J.fieldbyname('COMPLEMENTO').AsString;
  674.         T.ParamByName('BAIRRO').AsString           := J.fieldbyname('BAIRRO').AsString;
  675.         T.ParamByName('MUNICIPIO').AsString        := J.fieldbyname('MUNICIPIO').AsString;
  676.         T.ParamByName('ESTADO').AsString           := J.fieldbyname('ESTADO').AsString;
  677.         T.ParamByName('UF').AsString               := J.fieldbyname('UF').AsString;
  678.         T.ParamByName('PAIS').AsString             := J.fieldbyname('PAIS').AsString;
  679.         T.ParamByName('CEP').AsString              := J.fieldbyname('CEP').AsString;
  680.         T.ParamByName('TEL1').AsString             := J.fieldbyname('TEL1').AsString;
  681.         T.ParamByName('TEL2').AsString             := J.fieldbyname('TEL2').AsString;
  682.         T.ParamByName('CEL1').AsString             := J.fieldbyname('CEL1').AsString;
  683.         T.ParamByName('CEL2').AsString             := J.fieldbyname('CEL2').AsString;
  684.         T.ParamByName('EMAIL').AsString            := J.fieldbyname('EMAIL').AsString;
  685.         T.ParamByName('EMAIL2').AsString           := J.fieldbyname('EMAIL2').AsString;
  686.         T.ParamByName('OBS').AsString              := J.fieldbyname('OBS').AsString;
  687.         T.ParamByName('CODEMUNI').AsString         := J.fieldbyname('CODEMUNI').AsString;
  688.         T.ParamByName('CODEUF').AsString           := J.fieldbyname('CODEUF').AsString;
  689.         T.ParamByName('CODEPAIS').AsString         := J.fieldbyname('CODEPAIS').AsString;
  690.         T.ParamByName('SIGLAPAIS').AsString        := J.fieldbyname('SIGLAPAIS').AsString;
  691.         T.ParamByName('NUM_PARCELAS').AsInteger    := J.fieldbyname('NUM_PARCELAS').AsInteger;
  692.         T.ParamByName('FAT_VALORMAX').AsCurrency   := J.fieldbyname('FAT_VALORMAX').AsCurrency;
  693.         T.ParamByName('FAT_DIAS').AsInteger        := J.fieldbyname('FAT_DIAS').AsInteger;
  694.         T.ParamByName('SALDO_CONTA').AsCurrency    := J.fieldbyname('SALDO_CONTA').AsCurrency;
  695.         T.ParamByName('AUT_FATURA').AsString       := J.fieldbyname('AUT_FATURA').AsString;
  696.         T.ParamByName('VENDANRO').AsInteger        := FNroVenda;
  697.         T.ParamByName('PDVNRO').AsInteger          := FNroPdv;
  698.  
  699.         T.ExecSQL;
  700.         T.DisposeOf;
  701.         J.DisposeOf;
  702.         FPanelCliente.Hide;
  703. //        StateNativeforDestroy;
  704. //        SistemaClass.FSelecionaCliente.Free;
  705. //        SistemaClass.FSelecionaCliente := nil;
  706.  
  707.        end;
  708.  
  709.       end;
  710.     end;
  711.     begin
  712.     procx;
  713.  
  714. end;
  715.  
  716. //procedure TClientInformado.StateNativeforDestroy;
  717. //   var FTEdFunctionEdcodebarOnChange: TEdFunctionEdcodebarOnChange;
  718. //       FTModoSubtotalizacaoKePress: TModoSubtotalizacaoKePress;
  719. //       FTModoSubTotalKeyDown: TModoSubTotalKeyDown;
  720. //begin
  721. //   if SistemaClass.Situacaodosistema = stVendendo then
  722. //   begin
  723. //    SistemaClass.EditCodebar.OnKeyDown := FTEdCodebarKeyDow.EdCodebarKeyDowOnkeyDown;
  724. //    FPanelCliente.Visible:= False;
  725. //    SistemaClass.FLabelCodebar.Caption    := SistemaClass.RestoreLabelCodeBar;
  726. //    SistemaClass.FLabelToControl.Caption  := SistemaClass.RestoreLabelControl;
  727. //    SistemaClass.EditCodebar.Color := stringtocolor(SistemaClass.FModoFuncoes.FOldCorEdit);
  728. //   end;
  729. //    if SistemaClass.Situacaodosistema = stSubtotalizando then
  730. //    begin
  731. //      FPanelCliente.Visible:= False;
  732. //      SistemaClass.EditCodebar.OnKeyDown  := FTModoSubTotalKeyDown.ModoSubTotalKeyDown;
  733. //      SistemaClass.EditCodebar.OnKeyPress := FTModoSubtotalizacaoKePress.ModoSubtotalizacaoKePress;
  734. //      SistemaClass.EditCodebar.OnKeyUp    := SistemaClass.FTReadTimer.OnkeyUp;
  735. //      SistemaClass.EditCodebar.OnChange   := FTEdFunctionEdcodebarOnChange.EdFunctionEdcodebarOnChange;
  736. //      SistemaClass.EditCodebar.Text       := SistemaClass.SubTotLvlVlRestam.Caption;
  737. //
  738. //    end;
  739. //end;
  740.  
  741. { TClientInformado.TAnaliseDadosCliente }
  742.  
  743. procedure TClientInformado.TAnaliseDadosCliente.AfterConstruction;
  744. begin
  745.   inherited AfterConstruction;
  746.  
  747.  
  748. end;
  749.  
  750. procedure TClientInformado.TAnaliseDadosCliente.BeforeDestruction;
  751. begin
  752.   inherited BeforeDestruction;
  753.  
  754. end;
  755.  
  756. constructor TClientInformado.TAnaliseDadosCliente.Create(AOwner: TComponent);
  757. begin
  758.   inherited Create(AOwner);
  759.   Connection := TDtmConexao.FDServidorConexao;
  760. end;
  761.  
  762. destructor TClientInformado.TAnaliseDadosCliente.Destroy;
  763. begin
  764.  
  765.   inherited Destroy;
  766. end;
  767.  
  768. function TClientInformado.TAnaliseDadosCliente.OpenWhere( ID: integer ): TClientesRecord;
  769. begin
  770.   SQL.Text   :=
  771.       'select '+
  772.       'ID, '+
  773.       'CODE, '+
  774.       'NOME, '+
  775.       'FANTASIA, '+
  776.       'CNPJ, '+
  777.       'IE, '+
  778.       'IM, '+
  779.       'ENDERECO, '+
  780.       'NUMERO, '+
  781.       'COMPLEMENTO, '+
  782.       'BAIRRO, '+
  783.       'MUNICIPIO, '+
  784.       'ESTADO, '+
  785.       'UF, '+
  786.       'PAIS, '+
  787.       'CEP, '+
  788.       'TEL1, '+
  789.       'EMAIL, '+
  790.       'NUM_PARCELAS, '+
  791.       'FAT_VALORMAX, '+
  792.       'FAT_DIAS, '+
  793.       'SALDO_CONTA, '+
  794.       'AUT_FATURA '+
  795.       'from CADCLIENTES WHERE ID = :PID ';
  796.   ParamByName('PID').AsInteger := ID;
  797.   Open;
  798.   FieldByName('ID').Required := False;
  799. end;
  800.  
  801. function TClientInformado.TAnaliseDadosCliente.VerificaParcelasVencidas: Boolean;
  802.  var T: TFDquery;
  803. begin
  804.     T:= TFDQuery.Create(nil);
  805.     T.Connection := TDtmConexao.FDServidorConexao;
  806.     T.SQL.Text :=
  807.       'SELECT '+
  808.       'DOC_VALOR, '+
  809.       'DOC_PARCELA, '+
  810.       'DOC_TOTALPARCELAS, '+
  811.       'DOC_VALORPARCELAS, '+
  812.       'DOC_VENCIMENTO, '+
  813.       'DOC_NOSSONUMERO, '+
  814.       'DOC_NSAT, '+
  815.       'DOC_DATADODOC, '+
  816.       'DOC_ESPECIEDOC, '+
  817.       'DOC_ACEITE, '+
  818.       'DOC_DATAPROCES, '+
  819.       'DOC_CARTEIRA, '+
  820.       'DOC_AGENCIA, '+
  821.       'DOC_CONTA, '+
  822.       'DOC_DESCONTABAT, '+
  823.       'DOC_OUTRASDEDU, '+
  824.       'DOC_MORAMULTA, '+
  825.       'DOC_OUTROSACRESC, '+
  826.       'DOC_NUMEROVENDA, '+
  827.       'DOC_NUMEROPDV, '+
  828.       'DOC_DATAVENDA, '+
  829.       'DOC_HORAVENDA, '+
  830.       'VENDA_NUMERO, '+
  831.       'SITUACAO_VENDA, '+
  832.       'SITUACAO_DOC, '+
  833.       'HISTORICO, '+
  834.       'COBR_TIPO, '+
  835.       'BANCO_ID, '+
  836.       'BANCO_NUMERO, '+
  837.       'BANCO_DESCRICAO, '+
  838.       'AGENCIA_DV, '+
  839.       'CONTA_DV, '+
  840.       'CED_NOME, '+
  841.       'CED_DOC, '+
  842.       'CED_TPCONTA, '+
  843.       'CHAVE_NFE, '+
  844.       'ID_PEDIDO, '+
  845.       'SACADO_FOTO, '+
  846.       'SACADO_ENDERECO, '+
  847.       'SACADO_NUMERO, '+
  848.       'SACADO_COMPLEMENTO, '+
  849.       'SACADO_BAIRRO, '+
  850.       'SACADO_MUNICIPIO, '+
  851.       'SACADO_ESTADO, '+
  852.       'SACADO_UF, '+
  853.       'SACADO_PAIS, '+
  854.       'SACADO_CEP, '+
  855.       'SACADO_TEL, '+
  856.       'SACADO_EMAIL, '+
  857.       'SACADO_RGIE, '+
  858.       'DOC_MOEDA, '+
  859.       'DOC_DATAPROTESTO, '+
  860.       'DOC_DATAABATIMANENTO, '+
  861.       'DOC_DATADESCONTO, '+
  862.       'DOC_DATAMULTAJUROS, '+
  863.       'DOC_SITPAGAMENTO, '+
  864.       'DOC_SITTITULO, '+
  865.       'LANC_VLDIVIDA, '+
  866.       'VL_ORIGINAL, '+
  867.       'DOC_VLJUROS, '+
  868.       'DOC_NUMDOCUMENTO, '+
  869.       'NUMCONTROLE_SISTEMA, '+
  870.       'DATALIMITE_PAGTO, '+
  871.       'SALDO '+
  872.       'FROM CONTAREC C '+
  873.       'WHERE CLI_ID = :PID '+
  874.       'AND C.DOC_VENCIMENTO <= CURRENT_DATE '+
  875.       'AND C.SITUACAO_DOC = ''ABERTO'' ';
  876.   try
  877.     T.ParamByName('PID').AsInteger := FieldByName('ID').AsInteger;
  878.     T.Open;
  879.  
  880.   finally
  881.     Result:= ( not T.IsEmpty );
  882.     T.DisposeOf;
  883.   end;
  884.  
  885. end;
  886.  
  887. { TReceberCarteira }
  888.  
  889. procedure TReceberCarteira.AfterConstruction;
  890. begin
  891.   inherited AfterConstruction;
  892.  
  893. end;
  894.  
  895. procedure TReceberCarteira.BeforeDestruction;
  896. begin
  897.   inherited BeforeDestruction;
  898.  
  899. end;
  900.  
  901. constructor TReceberCarteira.Create( EdCommand: TEdit; LabelCodebar,LabelTocontrol,LabelFimBotton: TLabel; Ritch: TRichEdit );
  902. begin
  903.   inherited Create;
  904.   FCommand := EdCommand;
  905.   FCommand.OnKeyDown := OnkeyDonw;
  906.   FCommand.OnKeyPress:=  Onkeypress;
  907.   FCommand.Text := '';
  908.   FCommand.ReadOnly := False;
  909.   FLabelCodeBar     := LabelCodebar;
  910.   FLabelToControl   := LabelTocontrol;
  911.   FLabelBotton      := LabelFimBotton;
  912.   FRitchEdit        := Ritch;
  913.   FLabelCodebar.Caption   := 'Digite o cpf/cnpj do cliente';
  914.   FLabelToControl.Caption := 'Digite o cpf/cnpj do cliente';
  915.   FState:= stInformandoCpf;
  916.  
  917.   FTScribOnRicthCursor:= TScribOnRicthCursor.Create(FRitchEdit);
  918.  
  919. end;
  920.  
  921. destructor TReceberCarteira.Destroy;
  922. begin
  923.  
  924.   inherited Destroy;
  925. end;
  926.  
  927. procedure TReceberCarteira.Onkeychange(Sender: TObject);
  928. begin
  929.  
  930. end;
  931.  
  932. procedure TReceberCarteira.OnkeyDonw(Sender: TObject; var Key: Word; Shift: TShiftState);
  933. begin
  934.   if Key = vkEscape then
  935.   begin
  936.     if Assigned( FTRecCarteiraAfterCancel ) then
  937.     begin
  938.        FTRecCarteiraAfterCancel(sender);
  939.     end;
  940.   end;
  941. end;
  942.  
  943. procedure TReceberCarteira.Onkeypress(Sender: TObject; var Key: Char);
  944. begin
  945.   if Key = #13 then
  946.   begin
  947.    if FState = stInformandoCpf then
  948.     begin
  949.       if ValidarClientebyDoc( TEdit(Sender).Text ) then
  950.          FLabelToControl.Caption := 'VALOR TOTAL EM CARTEIRA R$ ' + FormatCurr('###,##0.00',FValorTotaCarteira);
  951.          FLabelCodebar.Caption   := 'DIGITE O VALOR A RECEBER';
  952.          FCommand.Text := FormatCurr('###,##0.00',FValorTotaCarteira);
  953.          FTProcessaPagamento:= TProcessaPagamento.Create(nil,FCommand,FValorTotaCarteira,1,FLabelToControl,FLabelCodeBar,FLabelBotton);
  954.  
  955.     end;
  956.   end;
  957. end;
  958.  
  959. function TReceberCarteira.ValidarClientebyDoc(const Document: string): Boolean;
  960.  var T: TFDquery;
  961. begin
  962.   T:= TFDQuery.Create(nil);
  963.   T.Connection := DtmConexao.TDtmConexao.FDServidorConexao;
  964.   T.SQL.Text   :=  'select SUM(A.SALDO) AS TOTAL '+
  965.    'from CONTAREC A '+
  966.     'WHERE A.CLI_DOCUMENTO = :PDOC '+
  967.      'AND '+
  968.       '( '+
  969.        '( A.SITUACAO_DOC <> ''FECHADO'' ) AND NOT ( A.SITUACAO_VENDA = ''CANCELADO'' ) '+
  970.         ' '+
  971.          ') '+
  972.           ' '+
  973.            'AND '+
  974.             '( '+
  975.              '( A.DOC_SITPAGAMENTO = ''PENDENTE'' ) '+
  976.               ') ';
  977.    T.ParamByName('PDOC').AsString := Document;
  978.   try
  979.    T.Open;
  980.  
  981.   finally
  982.     Result := not ( T.IsEmpty ) or  ( T.FieldByName('TOTAL').AsCurrency <> 0 ) ;
  983.     FValorTotaCarteira := T.FieldByName('TOTAL').AsCurrency;
  984.     if Result then
  985.     begin
  986.        FTMostraParcelasCliente:= TMostraParcelasCliente.Create(nil,Document);
  987.        FTScribOnRicthCursor.Subscrib('',8 ,clWhite,taLeftJustify,True );
  988.        FTScribOnRicthCursor.Subscrib('Encontrado valores pendentes de pagamento para o documento informado ',8 ,clWhite,taLeftJustify,True );
  989.        FTScribOnRicthCursor.Subscrib('Documento Cliente Informado .: '+Document,12,clWhite ,taLeftJustify,True );
  990.        FTScribOnRicthCursor.Subscrib('------------------------------------------------------------',8 ,clWhite,taLeftJustify,True );
  991.        FTScribOnRicthCursor.Subscrib('DADOS DO SACADO ',8 ,clWhite,taLeftJustify,True );
  992.        FTScribOnRicthCursor.Subscrib('------------------------------------------------------------',8 ,clWhite,taLeftJustify,True );
  993.        FTScribOnRicthCursor.Subscrib(FTMostraParcelasCliente.FieldByName('CODE').AsString,8 ,clWhite,taLeftJustify,False );
  994.        FTScribOnRicthCursor.Subscrib(' '+FTMostraParcelasCliente.FieldByName('NOME').AsString,8,clWhite ,taLeftJustify,False );
  995.        FTScribOnRicthCursor.Subscrib(' '+FTMostraParcelasCliente.FieldByName('CNPJ').AsString,8,clWhite ,taLeftJustify,False );
  996.        FTScribOnRicthCursor.Subscrib(' '+FTMostraParcelasCliente.FieldByName('IE').AsString,8,clWhite ,taLeftJustify,True );
  997.        FTScribOnRicthCursor.Subscrib('------------------------------------------------------------',8 ,clWhite,taLeftJustify,True );
  998.        FTScribOnRicthCursor.Subscrib(' NOSSO NUMERO │ DOC PARCELA │ VENCIMENTO │  VALOR(R$) │  ',8,clWhite ,taLeftJustify,True );
  999.        FTScribOnRicthCursor.Subscrib(' ',8,clWhite ,taLeftJustify,True );
  1000.        FTMostraParcelasCliente.First;
  1001.      while not FTMostraParcelasCliente.Eof do
  1002.      begin
  1003.        if FTMostraParcelasCliente.FieldByName('DOC_VENCIMENTO').AsDateTime <= now then
  1004.        begin
  1005.        FTScribOnRicthCursor.Subscrib(' NRO DOC.: '+ FTMostraParcelasCliente.FieldByName('DOC_NOSSONUMERO').AsString,8 ,clred,taLeftJustify,False );
  1006.        FTScribOnRicthCursor.Subscrib(' '+ FTMostraParcelasCliente.FieldByName('DOC_PARCELA').AsInteger.ToString,8 ,clred,taLeftJustify,False );
  1007.        FTScribOnRicthCursor.Subscrib(' '+DateTostr(FTMostraParcelasCliente.FieldByName('DOC_VENCIMENTO').AsDateTime),8,clred ,taLeftJustify,False );
  1008.        FTScribOnRicthCursor.Subscrib('   ----> '+FormatCurr('###,##0.00',FTMostraParcelasCliente.FieldByName('DOC_VALOR').AsCurrency),8,clred ,taLeftJustify,False );
  1009.        FTScribOnRicthCursor.Subscrib(' VENCIDO A .: '+ inttostr(DaysBetween( now,FTMostraParcelasCliente.FieldByName('DOC_VENCIMENTO').AsDateTime )) + ' DIAS'  ,8 ,clred,taLeftJustify,False );
  1010.        FTScribOnRicthCursor.Subscrib(' ',8 ,clWhite,taLeftJustify,True );
  1011.        FTMostraParcelasCliente.Next;
  1012.        end;
  1013.  
  1014.        FTScribOnRicthCursor.Subscrib(' NRO DOC.: '+ FTMostraParcelasCliente.FieldByName('DOC_NOSSONUMERO').AsString,8 ,clWhite,taLeftJustify,False );
  1015.        FTScribOnRicthCursor.Subscrib(' '+ FTMostraParcelasCliente.FieldByName('DOC_PARCELA').AsInteger.ToString,8 ,clWhite,taLeftJustify,False );
  1016.        FTScribOnRicthCursor.Subscrib(' '+DateTostr(FTMostraParcelasCliente.FieldByName('DOC_VENCIMENTO').AsDateTime),8,clWhite ,taLeftJustify,False );
  1017.        FTScribOnRicthCursor.Subscrib('   ----> '+FormatCurr('###,##0.00',FTMostraParcelasCliente.FieldByName('DOC_VALOR').AsCurrency),8,clWhite ,taLeftJustify,False );
  1018.  
  1019.        FTMostraParcelasCliente.Next;
  1020.        FTScribOnRicthCursor.Subscrib(' ',8 ,clWhite,taLeftJustify,True );
  1021.      end;
  1022.        FTMostraParcelasCliente.DisposeOf;
  1023.     end;
  1024.   end;
  1025.   T.Free;
  1026.   T:= nil;
  1027.  
  1028. end;
  1029.  
  1030. { TReceberDuplicatas }
  1031.  
  1032. procedure TReceberDuplicatas.AfterConstruction;
  1033. begin
  1034.   inherited AfterConstruction;
  1035.  
  1036. end;
  1037.  
  1038. procedure TReceberDuplicatas.BeforeDestruction;
  1039. begin
  1040.   inherited BeforeDestruction;
  1041.  
  1042. end;
  1043.  
  1044. constructor TReceberDuplicatas.Create;
  1045. begin
  1046.  
  1047. end;
  1048.  
  1049. destructor TReceberDuplicatas.Destroy;
  1050. begin
  1051.  
  1052.   inherited Destroy;
  1053. end;
  1054.  
  1055. procedure TReceberDuplicatas.Onkeychange(Sender: TObject);
  1056. begin
  1057.  
  1058. end;
  1059.  
  1060. procedure TReceberDuplicatas.OnkeyDonw(Sender: TObject; var Key: Word; Shift: TShiftState);
  1061. begin
  1062.  
  1063. end;
  1064.  
  1065. procedure TReceberDuplicatas.Onkeypress(Sender: TObject; var Key: Char);
  1066. begin
  1067.  
  1068. end;
  1069.  
  1070. { TProcessaPagamento }
  1071.  
  1072. procedure TProcessaPagamento.AfterConstruction;
  1073. begin
  1074.   inherited AfterConstruction;
  1075.  
  1076. end;
  1077.  
  1078. procedure TProcessaPagamento.BeforeDestruction;
  1079. begin
  1080.   inherited BeforeDestruction;
  1081.  
  1082. end;
  1083.  
  1084. constructor TProcessaPagamento.Create( AOwner: TComponent; CommandPrompt:TEdit; FValor: Currency; FIDClient: integer;
  1085.                                        LabelControl,LabelCodeBar,LabelInfoBotton: TLabel  );
  1086. begin
  1087.   inherited Create(AOwner);
  1088.   FLabelBotton:= LabelInfoBotton;
  1089.   FLabelCodeBar:= LabelCodeBar;
  1090.   FlabelTocontrol:= LabelControl;
  1091.   FCommandPrompt := CommandPrompt;
  1092.   FTLoadFinalizadoras:= TLoadFinalizadoras.Create(nil,FLabelBotton);
  1093. end;
  1094.  
  1095. procedure TProcessaPagamento.OnkeyDonw(Sender: TObject; var Key: Word; Shift: TShiftState);
  1096. begin
  1097.  
  1098. end;
  1099.  
  1100. procedure TProcessaPagamento.Onkeypress(Sender: TObject; var Key: Char);
  1101. begin
  1102.  
  1103. end;
  1104.  
  1105. { TProcessaPagamento.TLoadFinalizadoras }
  1106.  
  1107. constructor TProcessaPagamento.TLoadFinalizadoras.Create( AOwner: TComponent; LabelInfo: TLabel );
  1108. begin
  1109.  inherited Create(AOwner);
  1110.  Connection := TDtmConexao.FDMasterPdv;
  1111.  SQL.Text   :=
  1112.     'select '+
  1113.     'ID, '+
  1114.     'TIPO, '+
  1115.     'INDICE_SAT, '+
  1116.     'GERATROCO, '+
  1117.     'IMPRIME_POSCARTAO, '+
  1118.     'ACIONA_TEF, '+
  1119.     'GERAVIA_PROMISSORIA, '+
  1120.     'DESC_FINALIZADORA, '+
  1121.     'PREENCHE_CHEQUE, '+
  1122.     'TIPO_FINAL, '+
  1123.     'GERAFATURA, '+
  1124.     'KEYCODE, '+
  1125.     'EMITESATAUTO, '+
  1126.     'DAVPROCESSAMENTO '+
  1127.     'from FINALIZADORA ';
  1128.   open;
  1129.   FieldByName('ID').Required := False;
  1130.   First;
  1131.   LabelInfo.Font.Size := 18;
  1132.   while not Eof do
  1133.   begin
  1134.    LabelInfo.Caption := LabelInfo.Caption  + '  '+  FieldByName('DESC_FINALIZADORA').AsString + '[ '+ FieldByName('KEYCODE').AsString + ' ]';
  1135.    Next;
  1136.   end;
  1137.  
  1138. end;
  1139.  
  1140. { TScribOnRicthCursor }
  1141.  
  1142. procedure TScribOnRicthCursor.AfterConstruction;
  1143. begin
  1144.   inherited;
  1145.   FOldColorGrid     := FGridProd.Color;
  1146.   FOldColorFontGrid := FOldColorFontGrid;
  1147.   FGridProd.Color      := clBlack;
  1148.   FGridProd.Font.Color := clWhite;
  1149.   FTDadosEmpresa:= TDadosEmpresa.Create(nil);
  1150.   Prop.RazaoSocial := FTDadosEmpresa.FieldByName('EMIT_RAZAO').AsString;
  1151.   Prop.NomeFantasia:= FTDadosEmpresa.FieldByName('EMIT_FANTASIA').AsString;
  1152.   Prop.Cnpj        := FTDadosEmpresa.FieldByName('EMIT_CNPJ').AsString;
  1153.   Prop.IE          := FTDadosEmpresa.FieldByName('EMIT_IE').AsString;
  1154.   Prop.Logadouro   := FTDadosEmpresa.FieldByName('EMIT_ENDER').AsString;
  1155.   Prop.Nro         := FTDadosEmpresa.FieldByName('EMIT_NUM').AsInteger.ToString;
  1156.   Prop.Bairro      := FTDadosEmpresa.FieldByName('EMIT_BAIRRO').AsString;
  1157.   Prop.NroPdv      := FTDadosEmpresa.FieldByName('PDV_NCAIXA').AsInteger.ToString;
  1158.   Prop.OperadorPdv := FTDadosEmpresa.FieldByName('ABERTURA_OPERADOR').AsString;
  1159.   FTDadosEmpresa.DisposeOf;
  1160.   SubscribeCabecalho;
  1161. end;
  1162.  
  1163. procedure TScribOnRicthCursor.BeforeDestruction;
  1164. begin
  1165.   inherited;
  1166.  
  1167.   FGridProd.Color      := FOldColorGrid;
  1168.   FGridProd.Font.Color := FOldColorFontGrid;
  1169. end;
  1170.  
  1171. constructor TScribOnRicthCursor.Create( Ritch: TRichEdit  );
  1172. begin
  1173.  FGridProd:= Ritch;
  1174.  
  1175. end;
  1176.  
  1177. function TScribOnRicthCursor.PularLinha: string;
  1178. begin
  1179.  Result:= #13#10;
  1180. end;
  1181.  
  1182. procedure TScribOnRicthCursor.Subscrib(const AText: string; fontsize: integer; Color: TColor; Align: TAlignment; Salto: Boolean);
  1183.  var SaltoStr: String;
  1184. begin
  1185.  if Salto then
  1186.   begin
  1187.     SaltoStr := PularLinha;
  1188.   end;
  1189.  FGridProd.SelAttributes.Color := Color;
  1190.  FGridProd.Paragraph.Alignment := Align;
  1191.  FGridProd.SelAttributes.Size := fontsize;
  1192.  FGridProd.SelAttributes.Style := [fsBold];
  1193.  FGridProd.SelText := AText+SaltoStr;
  1194.  
  1195.  
  1196. end;
  1197.  
  1198. procedure TScribOnRicthCursor.SubscribeCabecalho;
  1199. begin
  1200.  
  1201.  with FGridProd do
  1202.  begin
  1203.    FTamanhoLinha:=  100;
  1204.    Paragraph.Alignment:= taLeftJustify ;
  1205.    Dec(FTamanhoLinha);
  1206.    ReadOnly:= True;
  1207.    SelStart := GetTextLen;
  1208.    Paragraph.Alignment:= taCenter ;
  1209.    SelText := StringOfChar('.',FTamanhoLinha)+ PularLinha;
  1210.    SelAttributes.Size := 18;
  1211.    SelAttributes.Style := [fsBold];
  1212.    seltext:= prop.RazaoSocial+ PularLinha;
  1213.    seltext:= 'Cnpj.: '+prop.Cnpj + ' Ie.: ' + prop.IE + PularLinha;
  1214.    seltext:= prop.Logadouro + ' Nro.: ' + prop.Nro + ' Bairro.: ' +prop.Bairro + PularLinha;
  1215.    seltext:= 'SISTEMA DE RECEBIMENTO DO FATURADO'+ PularLinha;
  1216.    SelText := StringOfChar('.',FTamanhoLinha)+ PularLinha;
  1217.    seltext:= 'NroPdv .: '+ prop.NroPdv + ' Operador .: '+ prop.OperadorPdv+ PularLinha;
  1218.  
  1219.  end;
  1220. end;
  1221.  
  1222. { TScribOnRicthCursor.TDadosEmpresa }
  1223.  
  1224. procedure TScribOnRicthCursor.TDadosEmpresa.AfterConstruction;
  1225. begin
  1226.   inherited AfterConstruction;
  1227.   Connection := TDtmConexao.FDMasterPdv;
  1228.   SQL.Text   :=
  1229.     'SELECT '+
  1230.     'EMIT_CNPJ, '+
  1231.     'EMIT_IE, '+
  1232.     'EMIT_IM, '+
  1233.     'EMIT_RAZAO, '+
  1234.     'EMIT_FANTASIA, '+
  1235.     'EMIT_REGIMETRIB, '+
  1236.     'EMIT_REGTRIBISSQN, '+
  1237.     'EMIT_INDRATISSQN, '+
  1238.     'EMIT_ENDER, '+
  1239.     'EMIT_COMPL, '+
  1240.     'EMIT_NUM, '+
  1241.     'EMIT_BAIRRO, '+
  1242.     'EMIT_MUNIC, '+
  1243.     'EMIT_CODMUNI, '+
  1244.     'EMIT_ESTADO, '+
  1245.     'EMIT_CODESTADO, '+
  1246.     'EMIT_UF, '+
  1247.     'EMIT_CEP, '+
  1248.     'EMIT_PAIS, '+
  1249.     'EMIT_CODPAIS, '+
  1250.     'EMIT_EMAIL, '+
  1251.     'EMIT_LICENCA, '+
  1252.     'PDV_NCAIXA, '+
  1253.     '( SELECT ABERTURA_OPERADOR FROM CAIXA) '+
  1254.     'FROM CONFIGSAT ';
  1255.   open;
  1256.  
  1257. end;
  1258.  
  1259. { TReceberCarteira.TMostraParcelasCliente }
  1260.  
  1261. procedure TReceberCarteira.TMostraParcelasCliente.AfterConstruction;
  1262. begin
  1263.   inherited AfterConstruction;
  1264.  
  1265. end;
  1266.  
  1267. procedure TReceberCarteira.TMostraParcelasCliente.BeforeDestruction;
  1268. begin
  1269.   inherited BeforeDestruction;
  1270.  
  1271. end;
  1272.  
  1273. constructor TReceberCarteira.TMostraParcelasCliente.Create(AOwner: TComponent; DocCliente: string);
  1274. begin
  1275.   inherited Create( AOwner );
  1276.   Connection := TDtmConexao.FDServidorConexao;
  1277.   SQL.Text   :=   'SELECT '+
  1278.       'CODE, '+
  1279.       'NOME, '+
  1280.       'FANTASIA, '+
  1281.       'CNPJ, '+
  1282.       'IE, '+
  1283.       'ENDERECO, '+
  1284.       'NUMERO, '+
  1285.       'COMPLEMENTO, '+
  1286.       'BAIRRO, '+
  1287.       'MUNICIPIO, '+
  1288.       'ESTADO, '+
  1289.       'UF, '+
  1290.       'CEP, '+
  1291.       'TEL1, '+
  1292.       'EMAIL, '+
  1293.       'NUM_PARCELAS, '+
  1294.       'FAT_VALORMAX, '+
  1295.       'FAT_DIAS, '+
  1296.       'SALDO_CONTA, '+
  1297.       'R.DOC_NOSSONUMERO, '+
  1298.       'AUT_FATURA, '+
  1299.       'R.DOC_VALOR, '+
  1300.       'R.DOC_PARCELA, '+
  1301.       'R.DOC_VENCIMENTO, '+
  1302.       'R.DOC_VENCIMENTO, '+
  1303.       'R.SALDO, '+
  1304.       '( SELECT SUM( P.DOC_VALOR - P.SALDO  ) FROM CONTAREC P '+
  1305.       'WHERE R.CLI_ID = C.ID  ) AS SALDOABERTO '+
  1306.       'FROM CADCLIENTES C '+
  1307.       'INNER JOIN CONTAREC R ON ( R.CLI_ID = C.ID ) '+
  1308.       'WHERE C.CNPJ = :PDOC '+
  1309.       'AND ( R.SITUACAO_DOC = ''ABERTO'' ) '+
  1310.       'ORDER BY R.DOC_VENCIMENTO ASC ';
  1311.   ParamByName('PDOC').AsString := DocCliente;
  1312.   Open;
  1313.  
  1314. end;
  1315.  
  1316. { TClientesRecord }
  1317.  
  1318. function TClientesRecord.Clear: TClientesRecord;
  1319.  const TRecordVazio : TClientesRecord = ();
  1320. begin
  1321.   result:= TRecordVazio;
  1322.   if Assigned( FTAposLimparRecord ) then
  1323.               FTAposLimparRecord;
  1324. end;
  1325.  
  1326. { TFaturaValores }
  1327.  
  1328. procedure TFaturaValores.AfterConstruction;
  1329. begin
  1330.   inherited AfterConstruction;
  1331.   FDadosEmpresa:= TDadosEmpresa.Create(nil,TDtmConexao.FDMasterPdv);
  1332.  
  1333. end;
  1334.  
  1335. procedure TFaturaValores.AfterOpenDatasetParcelas(Dataset: TDataset);
  1336. begin
  1337.  
  1338. end;
  1339.  
  1340. procedure TFaturaValores.AfterScrollDatasetDesc(Dataset: TDataset);
  1341.  var V: integer;
  1342. begin
  1343.    if Dataset.FieldByName('Parcela nro').AsString = '' then
  1344.  begin
  1345.     V:= 1;
  1346.  end else
  1347.   V:= Dataset.FieldByName('Parcela nro').AsString.ToInteger;
  1348.   ParcelaValorDatasetParcelas(FValoraFaturar,V);
  1349.  
  1350. end;
  1351.  
  1352. function TFaturaValores.ApresentaFaturas: TApresentaFaturas;
  1353. begin
  1354.  if not Assigned(FTApresentaFaturas) then
  1355.  begin
  1356.    FTApresentaFaturas:= TApresentaFaturas.CreateNew(nil);
  1357.    FTApresentaFaturas.OnKeyDown := OnKeyDownTform;
  1358.  end;
  1359.    FTApresentaFaturas.Data := self.Data;
  1360.    ApresentaGrid;
  1361.    FTApresentaFaturas.OnResize := OnResizeForm;
  1362.    Result:= FTApresentaFaturas;
  1363. end;
  1364.  
  1365. function TFaturaValores.ApresentaGrid: TLeopardDbgrid;
  1366. begin
  1367.  if not Assigned(FTLeopardDbgrid) then
  1368.  begin
  1369.    FTLeopardDbgrid:= TLeopardDbgrid.Create(nil);
  1370.  
  1371.    with FTLeopardDbgrid do
  1372.    begin
  1373.       ScrollBars:= ssNone;
  1374.       Parent:= FTApresentaFaturas;
  1375.       DataSource := TabelaMemoria;
  1376.       Color:= clBlack;
  1377.       Font.Size := 12;
  1378.       Font.Color:= clWhite;
  1379.       Font.Name := 'Lucida Console';
  1380.       DrawingStyle:= gdsClassic;
  1381.       FixedColor := clBlack;
  1382.       Align:= alClient;
  1383.       Options:= Options - [dgEditing,dgColLines,dgRowLines,dgConfirmDelete]
  1384.                         + [ dgRowSelect,dgAlwaysShowSelection ];
  1385.    end;
  1386.  end;
  1387. end;
  1388.  
  1389. procedure TFaturaValores.BeforeDestruction;
  1390. begin
  1391.   inherited BeforeDestruction;
  1392.  
  1393.   if Assigned(FTLeopardDbgrid) then
  1394.       begin
  1395.         FreeAndNil ( FTLeopardDbgrid );
  1396.       end;
  1397.     if Assigned ( FTLeopardDbgrid2 ) then
  1398.       begin
  1399.         FreeAndNil ( FTLeopardDbgrid2 );
  1400.       end;
  1401.     if Assigned ( FMemparcelas ) then
  1402.       begin
  1403.         FreeAndNil ( FMemparcelas );
  1404.       end;
  1405.     if Assigned ( FMemParcelasDesc ) then
  1406.       begin
  1407.         FreeAndNil ( FDatasourceMem2 );
  1408.       end;
  1409.     if Assigned ( FDatasourceMem ) then
  1410.       begin
  1411.         FreeAndNil ( FDatasourceMem );
  1412.       end;
  1413.     if Assigned ( FDatasourceMem2 ) then
  1414.       begin
  1415.         FreeAndNil ( FDatasourceMem2 );
  1416.       end;
  1417.    if Assigned(FDadosEmpresa) then
  1418.    begin
  1419.       FreeAndNil(FDadosEmpresa);
  1420.    end;
  1421.  
  1422.  end;
  1423.  
  1424.   constructor TFaturaValores.Create(AOwner: TComponent);
  1425. begin
  1426.   inherited Create(AOwner);
  1427.  
  1428. end;
  1429.  
  1430. procedure TFaturaValores.CreateTablememoriaParcelasDesc;
  1431. begin
  1432.   if not Assigned(FMemParcelasDesc) then
  1433.   begin
  1434.     FMemParcelasDesc := TFDMemTable.Create(nil);
  1435.   end;
  1436.     FMemParcelasDesc.AfterScroll := AfterScrollDatasetDesc;
  1437.   with FMemParcelasDesc.FieldDefs do
  1438.   begin
  1439.      with AddFieldDef do
  1440.       begin
  1441.         Name := 'Parcela nro';
  1442.         DataType := ftString;
  1443.         precision := 1;
  1444.       end;
  1445.     with AddFieldDef do
  1446.     begin
  1447.       Name := 'Parcela descricao';
  1448.       DataType := ftString;
  1449.       Size := 35;
  1450.     end;
  1451.     with AddFieldDef do
  1452.     begin
  1453.       Name := 'Valor por parcelas';
  1454.       DataType := ftExtended;
  1455.       Precision := 2;
  1456.       FMemParcelasDesc.FormatOptions.FmtDisplayNumeric := '###,##0.00';
  1457.     end;
  1458.   end;
  1459.      FMemParcelasDesc.CreateDataSet;
  1460. end;
  1461.  
  1462. procedure TFaturaValores.MostrarMsg(A: UnicodeString);
  1463. begin
  1464.    FMsg:= TMessageForm.CreateNew(nil,0,A,clBlue,clWhite);
  1465.    FMsg.Data := Self.Data;
  1466.   try
  1467.    FMsg.ShowModal;
  1468.   finally
  1469.    FreeAndNil(FMsg);
  1470.   end;
  1471. end;
  1472.  
  1473. procedure TFaturaValores.CreateMemtableParcelas;
  1474.  var T:TFDQuery; I,X:integer;
  1475. begin
  1476.   T:= TFDQuery.Create(nil);
  1477.   T.Connection := TDtmConexao.FDMasterPdv;
  1478.   T.SQL.Text   :=   ' select DATA, HORA, USUARIO, CLI_ID, CLI_NOME, CLI_DOCUMENTO, DOC_TIPO, DOC_ORIGEM, DOC_VALOR, DOC_PARCELA, '+
  1479.    ' DOC_TOTALPARCELAS, DOC_VALORPARCELAS, DOC_VENCIMENTO, DOC_NOSSONUMERO, DOC_NSAT, DOC_DATADODOC, DOC_ESPECIEDOC, '+
  1480.     ' DOC_ACEITE, DOC_DATAPROCES, DOC_CARTEIRA, DOC_AGENCIA, DOC_CONTA, DOC_DESCONTABAT, DOC_OUTRASDEDU, DOC_MORAMULTA, '+
  1481.      ' DOC_OUTROSACRESC, DOC_NUMEROVENDA, DOC_NUMEROPDV, DOC_DATAVENDA, DOC_HORAVENDA, VENDA_NUMERO, SITUACAO_VENDA, '+
  1482.       ' SITUACAO_DOC, HISTORICO, COBR_TIPO, BANCO_ID, BANCO_NUMERO, BANCO_DESCRICAO, AGENCIA_DV, CONTA_DV, CED_NOME, '+
  1483.        ' CED_DOC, CED_TPCONTA, CHAVE_NFE, ID_PEDIDO, SACADO_FOTO, SACADO_ENDERECO, SACADO_NUMERO, SACADO_COMPLEMENTO, '+
  1484.         ' SACADO_BAIRRO, SACADO_MUNICIPIO, SACADO_ESTADO, SACADO_UF, SACADO_PAIS, SACADO_CEP, SACADO_TEL, SACADO_EMAIL, '+
  1485.          ' SACADO_RGIE, DOC_MOEDA, DOC_DATAPROTESTO, DOC_DATAABATIMANENTO, DOC_DATADESCONTO, DOC_DATAMULTAJUROS, '+
  1486.           ' DOC_SITPAGAMENTO, DOC_SITTITULO, LANC_VLDIVIDA, VL_ORIGINAL, DOC_VLJUROS, DOC_NUMDOCUMENTO, NUMCONTROLE_SISTEMA, '+
  1487.            ' DATALIMITE_PAGTO, SALDO, CEDENTE_LOGADOURO, CEDENTE_NRO, CEDENTE_COMPLEMENTO, CEDENTE_BAIRRO, CEDENTE_MUNICIPIO, '+
  1488.             ' CEDENTE_ESTADO, CEDENTE_CEP, CEDENTE_UF, CEDENTE_PAIS '+
  1489.              ' from CONTAREC ';
  1490.   T.Open;
  1491.  
  1492.   if not Assigned(FMemparcelas) then
  1493.  begin
  1494.   FMemparcelas:= TFDMemTable.Create(nil);
  1495.  end;
  1496.   FMemparcelas.CopyFields(T);
  1497.   FMemparcelas.AfterOpen := AfterOpenDatasetParcelas;
  1498.  
  1499.  
  1500.  
  1501.     FMemparcelas.CloneCursor(T,True,True);
  1502.     AlinhaFields(FMemparcelas, ['DOC_VENCIMENTO'], taCenter);
  1503.     ParcelaValor(FValoraFaturar,self.Data.NroParcelasAuth );
  1504.  
  1505.  
  1506.  
  1507. //  with FMemparcelas do
  1508. //  begin
  1509. //    with FieldDefs do
  1510. //    begin
  1511. //      with AddFieldDef do
  1512. //      begin
  1513. //        Name := 'Parcela nro';
  1514. //        DataType := ftInteger;
  1515. //        precision := 1;
  1516. //
  1517. //      end;
  1518. //      with AddFieldDef do
  1519. //      begin
  1520. //        Name := 'Parcela valor';
  1521. //        DataType := ftExtended;
  1522. //        Precision := 2;
  1523. //        FormatOptions.FmtDisplayNumeric := '###,##0.00';
  1524. //
  1525. //      end;
  1526. //      with AddFieldDef do
  1527. //      begin
  1528. //        Name := 'Parcela Vencimento';
  1529. //        DataType := ftDate;
  1530. //      end;
  1531. //    end;
  1532.  
  1533.  
  1534. end;
  1535.  
  1536. procedure TFaturaValores.OnKeyDownTform(Sender: TObject; var Key: Word; Shift: TShiftState);
  1537. begin
  1538.  if key = vkEscape then
  1539.  begin
  1540.    FTApresentaFaturas.Close;
  1541.    if Assigned( FTAfterCancel ) then
  1542.       FTAfterCancel;
  1543.  end;
  1544.  if Key = vkReturn then
  1545.  begin
  1546.    FTApresentaFaturas.Close;
  1547.    if Assigned(FTAfterChangedParcelas) then
  1548.       FTAfterChangedParcelas(FMemparcelas,True);
  1549.  end;
  1550. end;
  1551.  
  1552. procedure TFaturaValores.OnkeypressGrigParcelasDesc(Sender: TObject; var key: char);
  1553. begin
  1554.  if Assigned(FTAfterChangedParcelas) then
  1555.     FTAfterChangedParcelas(FMemparcelas, True);
  1556. end;
  1557.  
  1558. procedure TFaturaValores.OnResizeForm(Sender: TObject);
  1559. begin
  1560.  if Assigned(FTLeopardDbgrid)then
  1561.  begin
  1562.     ChangeColumnWidths(FTLeopardDbgrid,True);
  1563.  end;
  1564.  
  1565. end;
  1566.  
  1567. procedure TFaturaValores.ParcelaValor(ValorTotal: Extended; NroParcelas: integer);
  1568.  var I: integer;
  1569. begin
  1570.   i:= 0;
  1571.   repeat
  1572.    inc(i);
  1573.    FMemParcelasDesc.Append;
  1574.    FMemParcelasDesc.FieldByName('Parcela nro').AsString := I.ToString;
  1575.    FMemParcelasDesc.FieldByName('Parcela descricao').AsString := I.ToString + ' parcela(s) de ';
  1576.    FMemParcelasDesc.FieldByName('Valor por parcelas').AsExtended := ValorTotal / i;
  1577.    FMemParcelasDesc.Post;
  1578.   until (i = NroParcelas);
  1579. end;
  1580.  
  1581. procedure TFaturaValores.ParcelaValorDatasetParcelas(ValorTotal: Extended; NroParcelas: integer);
  1582.  var I: integer;
  1583. begin
  1584.   i:= 0;
  1585.   FDadosEmpresa.Open;
  1586.   FMemparcelas.Close;
  1587.   FMemparcelas.Open;
  1588.  
  1589.  
  1590.   repeat
  1591.    inc(i);
  1592.    FMemparcelas.Append;
  1593.    FMemparcelas.FieldByName('DOC_PARCELA').AsInteger         := i;
  1594.    FMemparcelas.FieldByName('DOC_VALOR').AsExtended      := ValorTotal / NroParcelas;
  1595.    FMemparcelas.FieldByName('DOC_VENCIMENTO').AsDateTime := now+ ( 30 * i );
  1596.    FMemparcelas.FieldByName('CLI_ID').AsInteger  := Data.IDCliente;
  1597.    FMemparcelas.FieldByName('CLI_NOME').AsString      := Data.NomeCliente;
  1598.    FMemparcelas.FieldByName('CLI_DOCUMENTO').AsString := Data.Cpfcnpj;
  1599.    FMemparcelas.FieldByName('DOC_TIPO').AsString   := 'PROMISSORIA';
  1600.    FMemparcelas.FieldByName('DOC_ORIGEM').AsString          := 'PDV';
  1601.    FMemparcelas.FieldByName('DOC_TOTALPARCELAS').AsInteger  := NroParcelas;
  1602.    FMemparcelas.FieldByName('DOC_VALORPARCELAS').AsExtended := FMemparcelas.FieldByName('DOC_VALOR').AsExtended;
  1603.    FMemparcelas.FieldByName('DOC_NOSSONUMERO').AsString     := '0000000000000';
  1604.    FMemparcelas.FieldByName('CED_NOME').AsString            := FDadosEmpresa.FieldByName('XNOME').AsString;
  1605.    FMemparcelas.FieldByName('CED_DOC').AsString             := FDadosEmpresa.FieldByName('CNPJ').AsString;
  1606.    FMemparcelas.FieldByName('CEDENTE_LOGADOURO').AsString   := FDadosEmpresa.FieldByName('XLGR').AsString;
  1607.    FMemparcelas.FieldByName('CEDENTE_NRO').AsString         := FDadosEmpresa.FieldByName('XNRO').AsString;
  1608.    FMemparcelas.FieldByName('CEDENTE_COMPLEMENTO').AsString := FDadosEmpresa.FieldByName('XCPL').AsString;
  1609.    FMemparcelas.FieldByName('CEDENTE_BAIRRO').AsString      := FDadosEmpresa.FieldByName('XBAIRRO').AsString;
  1610.    FMemparcelas.FieldByName('CEDENTE_MUNICIPIO').AsString   := FDadosEmpresa.FieldByName('XMUN').AsString;
  1611.    FMemparcelas.FieldByName('CEDENTE_ESTADO').AsString      := FDadosEmpresa.FieldByName('XESTADO').AsString;
  1612.    FMemparcelas.FieldByName('CEDENTE_CEP').AsString         := FDadosEmpresa.FieldByName('CEP').AsString;
  1613.    FMemparcelas.FieldByName('CEDENTE_UF').AsString          := FDadosEmpresa.FieldByName('UF').AsString;
  1614.    FMemparcelas.FieldByName('CEDENTE_PAIS').AsString        := FDadosEmpresa.FieldByName('XPAIS').AsString;
  1615.  
  1616.    FMemparcelas.Post;
  1617.  
  1618.   until (i = NroParcelas);
  1619.  
  1620. end;
  1621.  
  1622. function TFaturaValores.ShowCmdFaturas: Boolean;
  1623. begin
  1624.   result:= not ( Data.NomeCliente.IsEmpty ) and ( Data.PodeFaturar );
  1625.   FAuthCliente:= ( Data.PodeFaturar );
  1626.  if  Result then
  1627.  begin
  1628.  
  1629.     ApresentaFaturas.ShowModal;
  1630.  end else
  1631.  if not Result then
  1632.  begin
  1633.    if  ( Data.NomeCliente.IsEmpty ) then
  1634.    begin
  1635.     MostrarMsg('Primeiro selecione um cliente na lista pressionando a tecla H');
  1636.    end else
  1637.    if not( Data.NomeCliente.IsEmpty ) then
  1638.    begin
  1639.     MostrarMsg('CLIENTE SEM AUTORIZAÇÃO PARA COMPRA FATURADA !');
  1640.    end;
  1641.  
  1642.    if Assigned(FTAfterCancel) then
  1643.      FTAfterCancel;
  1644.  end;
  1645.  
  1646. end;
  1647.  
  1648. function TFaturaValores.TabelaMemoria: TDatasource;
  1649. begin
  1650.    CreateTablememoriaParcelasDesc;
  1651.    CreateMemtableParcelas;
  1652.    FTLeopardDbgrid2 := TLeopardDbgrid.Create(nil);
  1653.     with FTLeopardDbgrid2 do
  1654.    begin
  1655.       Parent:= FTApresentaFaturas;
  1656.       ScrollBars:= ssNone;
  1657.       Align := alBottom;
  1658.       Color:= clBlue;
  1659.       Font.Size := 12;
  1660.       Font.Color:= clWhite;
  1661.       Font.Name := 'Lucida Console';
  1662.       DrawingStyle:= gdsClassic;
  1663.       FixedColor := clBlue;
  1664.       Options:= Options - [dgEditing,dgColLines,dgRowLines,dgConfirmDelete] +
  1665.                           [ dgRowSelect,dgAlwaysShowSelection ];
  1666.      Columns.Add;
  1667.      Columns[0].FieldName := 'DOC_PARCELA';
  1668.      Columns[0].Title.Caption := 'Parcela número .: ';
  1669.      Columns.Add;
  1670.      Columns[1].FieldName := 'DOC_VALOR';
  1671.      Columns[1].Title.Caption := 'Valor das parcelas .: ';
  1672.      Columns[1].Width := 240;
  1673.      Columns.Add;
  1674.      Columns[2].FieldName := 'DOC_VENCIMENTO';
  1675.      Columns[2].Title.Caption := 'Vencimento das parcelas .: ';
  1676.      Columns[2].Width := 240;
  1677.      Columns[2].Alignment := taRightJustify;
  1678.  
  1679.    end;
  1680.    if not Assigned(FDatasourceMem2) then
  1681.    begin
  1682.      FDatasourceMem2:= TDataSource.Create(nil);
  1683.    end;
  1684.      FDatasourceMem2.DataSet := FMemparcelas;
  1685.      FTLeopardDbgrid2.DataSource := FDatasourceMem2;
  1686.  
  1687.  if not Assigned(FDatasourceMem) then
  1688.  begin
  1689.   FDatasourceMem:= TDataSource.Create(nil);
  1690.  end;
  1691.   FDatasourceMem.DataSet:= FMemParcelasDesc;
  1692.   Result:= FDatasourceMem;
  1693.   FMemparcelas.Open;
  1694.   FMemParcelasDesc.Open;
  1695.  
  1696.   end;
  1697.  
  1698. { TFaturaValores.TApresentaFaturas }
  1699.  
  1700. procedure TFaturaValores.TApresentaFaturas.AfterConstruction;
  1701. begin
  1702.   inherited AfterConstruction;
  1703.  
  1704.  
  1705. end;
  1706.  
  1707. procedure TFaturaValores.TApresentaFaturas.BeforeDestruction;
  1708. begin
  1709.   inherited BeforeDestruction;
  1710.   FreeAndNil(FPanel);
  1711.   FreeAndNil(FLNomeRazao);
  1712. end;
  1713.  
  1714. constructor TFaturaValores.TApresentaFaturas.Create(AOwner: TComponent);
  1715. begin
  1716.   inherited Create(Application);
  1717.  
  1718. end;
  1719.  
  1720. procedure TFaturaValores.TApresentaFaturas.CreateLabels;
  1721. begin
  1722.   FLNomeRazao:= TLabel.Create(nil);
  1723.   FLNomeRazao.Font.Color  := clWhite;
  1724.   FLNomeRazao.Font.Name := Font.Name;
  1725.   FLNomeRazao.WordWrap  := True;
  1726.   FLNomeRazao.Align     := alTop;
  1727.   FLNomeRazao.Left   := FLNomeRazao.Left + 10;
  1728.   FLNomeRazao.Top    := FLNomeRazao.Top  + 10;
  1729.   FLNomeRazao.Caption := ' '+#13+
  1730.                          ' NOME/RAZAO SOCIAL .: '+ Data.NomeCliente +
  1731.                          ' CPF/CNPJ.: '+ Data.Cpfcnpj +#13+
  1732.                          ' LOGADOURO .: '+ Data.Logadouro +
  1733.                          ' NRO .: '+ Data.Nro +
  1734.                          ' COMPLEMENTO .: '+ Data.Complemento +
  1735.                          ' BAIRRO .: '+ Data.Bairro+ #13+
  1736.                          ' MUNICIPIO .: '+ Data.Municipio+
  1737.                          ' ESTADO .: '+ Data.Estado;
  1738.  
  1739.   FLNomeRazao.Parent := FPanel;
  1740. end;
  1741.  
  1742. constructor TFaturaValores.TApresentaFaturas.CreateNew(AOwner: TComponent; Dummy: Integer);
  1743. begin
  1744.   inherited CreateNew(AOwner,Dummy);
  1745.   Color      := clBlack;
  1746.   BorderStyle:= bsToolWindow;
  1747.   BorderIcons:= [];
  1748.   Caption    := 'Leopard gerador de faturas';
  1749.   Font.Color := clWhite;
  1750.   Font.Name  := 'Lucida Console';
  1751.   Font.Size  := 10;
  1752.   Position   := poDesktopCenter;
  1753.   Width      := 800;
  1754.   Height     := 350;
  1755.   OnShow     := OnShowFormS;
  1756.   KeyPreview := True;
  1757. end;
  1758.  
  1759. procedure TFaturaValores.TApresentaFaturas.LoadPanel;
  1760. begin
  1761.   FPanel:= TPanel.Create(nil);
  1762.   FPanel.Caption := '';
  1763.   FPanel.Ctl3D   := False;
  1764.   FPanel.Parent:= self;
  1765.   FPanel.Align   := alTop;
  1766.   FPanel.Height  := FPanel.Height + 10;
  1767.   FPanel.Color   := clBlue;
  1768.   CreateLabels;
  1769. end;
  1770.  
  1771. procedure TFaturaValores.TApresentaFaturas.OnShowFormS(Sender: TObject);
  1772. begin
  1773.  LoadPanel;
  1774. end;
  1775.  
  1776. { TFaturaValores.TLeopardDbgrid }
  1777.  
  1778. procedure TFaturaValores.TLeopardDbgrid.AfterConstruction;
  1779. begin
  1780.   inherited AfterConstruction;
  1781.  
  1782. end;
  1783.  
  1784. procedure TFaturaValores.TLeopardDbgrid.BeforeDestruction;
  1785. begin
  1786.   inherited BeforeDestruction;
  1787.  
  1788. end;
  1789.  
  1790. constructor TFaturaValores.TLeopardDbgrid.Create(AOwner: TComponent);
  1791. begin
  1792.   inherited Create(AOwner);
  1793.   ScrollBars:= ssNone;
  1794. end;
  1795.  
  1796. { TFaturaValores.TMessageForm }
  1797.  
  1798. procedure TFaturaValores.TMessageForm.AfterConstruction;
  1799. begin
  1800.   inherited AfterConstruction;
  1801.  
  1802. end;
  1803.  
  1804. procedure TFaturaValores.TMessageForm.BeforeDestruction;
  1805. begin
  1806.   inherited BeforeDestruction;
  1807.   FreeAndNil(FPanel);
  1808.   FreeAndNil(Flabel);
  1809. end;
  1810.  
  1811. procedure TFaturaValores.TMessageForm.CreateLabel(FColorFont: Tcolor; Msgv: UnicodeString);
  1812. begin
  1813.   Flabel:= TLabel.Create(nil);
  1814.   FLabel.Caption := FMsg;
  1815.   Flabel.WordWrap:= True;
  1816.   with FLabel do
  1817.   begin
  1818.      Caption    := #13+
  1819.                    '***********************************'+#13+
  1820.                     Msgv+
  1821.                     #13+
  1822.                     '**********************************'+
  1823.                     #13;
  1824.      Font.Color := FColorFont;
  1825.      Font.Name  := 'Lucida Console';
  1826.      Font.Size  := 12;
  1827.      Parent     := FPanel;
  1828.      Align      := alClient;
  1829.      Alignment:= taCenter;
  1830.   end;
  1831. end;
  1832.  
  1833. constructor TFaturaValores.TMessageForm.CreateNew(AOwner: TComponent; Dummy: Integer; Msg: UnicodeString; Colorv,FontColorv: TColor );
  1834. begin
  1835.   inherited CreateNew(AOwner,Dummy);
  1836.   Color      := Colorv;
  1837.   BorderStyle:= bsToolWindow;
  1838.   BorderIcons:= [];
  1839.   Caption    := 'Leopard gerador de faturas';
  1840.   Font.Color := FontColorv;
  1841.   Font.Name  := 'Lucida Console';
  1842.   Font.Size  := 10;
  1843.   Position   := poDesktopCenter;
  1844.   Width      := 350;
  1845.   Height     := 180;
  1846.   KeyPreview := True;
  1847.   FMsg:= Msg;
  1848.   FPanel:= TPanel.Create(nil);
  1849.   FPanel.Caption := '';
  1850.   FPanel.Ctl3D   := False;
  1851.   FPanel.Parent:= self;
  1852.   FPanel.Align:= alClient;
  1853.   FPanel.Height  := FPanel.Height + 10;
  1854.   FPanel.Color   := clBlue;
  1855.   CreateLabel(FontColorv,FMsg);
  1856.   OnkeyPress:= OnkeyPressY;
  1857.  
  1858. end;
  1859.  
  1860. procedure TFaturaValores.TMessageForm.OnkeyPressY(Sender: TObject; var key: Char);
  1861. begin
  1862.  if key = #13 then
  1863.  begin
  1864.    Close;
  1865.  end;
  1866. end;
  1867.  
  1868. { TGravaFaturasLocal.TContarec }
  1869.  
  1870. procedure TGravaFaturasLocal.TContarec.AfterConstruction;
  1871. begin
  1872.   inherited AfterConstruction;
  1873.  
  1874. end;
  1875.  
  1876. procedure TGravaFaturasLocal.TContarec.BeforeDestruction;
  1877. begin
  1878.   inherited BeforeDestruction;
  1879.  
  1880. end;
  1881.  
  1882. constructor TGravaFaturasLocal.TContarec.Create(AOwner: TComponent; Fcon: TFDConnection; MemParcelas: TFDMemtable);
  1883. begin
  1884.  inherited Create(AOwner);
  1885.  Connection  := Fcon;
  1886.  FMemParcelas:= MemParcelas;
  1887.  Sql.Text    := 'select  DATA, HORA, USUARIO, CLI_ID, CLI_NOME, CLI_DOCUMENTO, DOC_TIPO, DOC_ORIGEM, DOC_VALOR, DOC_PARCELA, '+
  1888.  'DOC_TOTALPARCELAS, DOC_VALORPARCELAS, DOC_VENCIMENTO, DOC_NOSSONUMERO, DOC_NSAT, DOC_DATADODOC, DOC_ESPECIEDOC, '+
  1889.  'DOC_ACEITE, DOC_DATAPROCES, DOC_CARTEIRA, DOC_AGENCIA, DOC_CONTA, DOC_DESCONTABAT, DOC_OUTRASDEDU, DOC_MORAMULTA, '+
  1890.  'DOC_OUTROSACRESC, DOC_NUMEROVENDA, DOC_NUMEROPDV, DOC_DATAVENDA, DOC_HORAVENDA, VENDA_NUMERO, SITUACAO_VENDA, '+
  1891.  'SITUACAO_DOC, HISTORICO, COBR_TIPO, BANCO_ID, BANCO_NUMERO, BANCO_DESCRICAO, AGENCIA_DV, CONTA_DV, CED_NOME, '+
  1892.  'CED_DOC, CED_TPCONTA, CHAVE_NFE, ID_PEDIDO, SACADO_FOTO, SACADO_ENDERECO, SACADO_NUMERO, SACADO_COMPLEMENTO, '+
  1893.  'SACADO_BAIRRO, SACADO_MUNICIPIO, SACADO_ESTADO, SACADO_UF, SACADO_PAIS, SACADO_CEP, SACADO_TEL, SACADO_EMAIL, '+
  1894.  'SACADO_RGIE, DOC_MOEDA, DOC_DATAPROTESTO, DOC_DATAABATIMANENTO, DOC_DATADESCONTO, DOC_DATAMULTAJUROS, '+
  1895.  'DOC_SITPAGAMENTO, DOC_SITTITULO, LANC_VLDIVIDA, VL_ORIGINAL, DOC_VLJUROS, DOC_NUMDOCUMENTO, NUMCONTROLE_SISTEMA, '+
  1896.  'DATALIMITE_PAGTO, SALDO '+
  1897.  'from CONTAREC WHERE DOC_NUMEROVENDA = :PNUMVENDA AND DOC_NUMEROPDV = :PNUMPDV ';
  1898.  
  1899.  ParamByName('PNUMVENDA').AsInteger := MemParcelas.FieldByName('NroVenda').AsInteger;
  1900.  ParamByName('PNUMPDV').AsInteger   := MemParcelas.FieldByName('NroPdv').AsInteger;
  1901.  Open;
  1902.  
  1903. end;
  1904.  
  1905. function TGravaFaturasLocal.TContarec.ExecCommand: TContarec;
  1906.  var I,x: integer;
  1907. begin
  1908.  Append;
  1909.    for I := 0 to FMemParcelas.Fields.Count -1 do
  1910.    begin
  1911.      for x := 0 to Fields.Count -1 do
  1912.      begin
  1913.        if FMemParcelas.Fields[i].FieldName = Fields[x].FieldName then
  1914.        begin
  1915.          FMemParcelas.Fields[i].Value := Fields[x].Value;
  1916.        end;
  1917.      end;
  1918.    end;
  1919.  
  1920.  
  1921.  
  1922.  FieldByName('DATA').AsDateTime        := now;
  1923.  FieldByName('HORA').AsDateTime        := now;
  1924.  FieldByName('USUARIO').AsString       := FMemParcelas.FieldByName('USUARIO').AsString;
  1925.  FieldByName('CLI_ID').AsString        := FMemParcelas.FieldByName('CLI_ID').AsString;
  1926.  FieldByName('CLI_NOME').AsString      := FMemParcelas.FieldByName('CLI_NOME').AsString;
  1927.  FieldByName('CLI_DOCUMENTO').AsString := FMemParcelas.FieldByName('CLI_DOCUMENTO').AsString;
  1928.  FieldByName('DOC_TIPO').AsString      := FMemParcelas.FieldByName('DOC_TIPO').AsString;
  1929.  FieldByName('DOC_ORIGEM').AsString    := FMemParcelas.FieldByName('DOC_ORIGEM').AsString;
  1930.  FieldByName('DOC_VALOR').AsString           := FMemParcelas.FieldByName('DOC_VALOR').AsString;
  1931.  FieldByName('DOC_PARCELA').AsString         := FMemParcelas.FieldByName('DOC_PARCELA').AsString;
  1932.  FieldByName('DOC_PARCELA').AsString         := FMemParcelas.FieldByName('DOC_PARCELA').AsString;
  1933.  FieldByName('DOC_TOTALPARCELAS').AsString   := FMemParcelas.FieldByName('DOC_TOTALPARCELAS').AsString;
  1934.  FieldByName('DOC_VENCIMENTO').AsString      := FMemParcelas.FieldByName('DOC_VENCIMENTO').AsString;
  1935.  FieldByName('DOC_NOSSONUMERO').AsString     := FMemParcelas.FieldByName('DOC_NOSSONUMERO').AsString;
  1936.  FieldByName('DOC_NSAT').AsString            := FMemParcelas.FieldByName('DOC_NSAT').AsString;
  1937.  FieldByName('DOC_DATADODOC').AsString       := FMemParcelas.FieldByName('DOC_DATADODOC').AsString;
  1938.  FieldByName('DOC_ESPECIEDOC').AsString      := FMemParcelas.FieldByName('DOC_ESPECIEDOC').AsString;
  1939.  FieldByName('DOC_ACEITE').AsString          := FMemParcelas.FieldByName('DOC_ACEITE').AsString;
  1940.  FieldByName('DOC_DATAPROCES').AsString      := FMemParcelas.FieldByName('DOC_DATAPROCES').AsString;
  1941.  FieldByName('DOC_CARTEIRA').AsString        := FMemParcelas.FieldByName('DOC_CARTEIRA').AsString;
  1942.  FieldByName('DOC_AGENCIA').AsString         := FMemParcelas.FieldByName('DOC_AGENCIA').AsString;
  1943.  FieldByName('DOC_CONTA').AsString           := FMemParcelas.FieldByName('DOC_CONTA').AsString;
  1944.  FieldByName('DOC_DESCONTABAT').AsString     := FMemParcelas.FieldByName('DOC_DESCONTABAT').AsString;
  1945.  FieldByName('DOC_OUTRASDEDU').AsString      := FMemParcelas.FieldByName('DOC_OUTRASDEDU').AsString;
  1946.  FieldByName('DOC_OUTROSACRESC').AsString    := FMemParcelas.FieldByName('DOC_OUTROSACRESC').AsString;
  1947.  FieldByName('DOC_NUMEROVENDA').AsString     := FMemParcelas.FieldByName('DOC_NUMEROVENDA').AsString;
  1948.  FieldByName('DOC_NUMEROPDV').AsString       := FMemParcelas.FieldByName('DOC_NUMEROPDV').AsString;
  1949.  FieldByName('DOC_DATAVENDA').AsString       := FMemParcelas.FieldByName('DOC_DATAVENDA').AsString;
  1950.  FieldByName('DOC_HORAVENDA').AsString       := FMemParcelas.FieldByName('DOC_HORAVENDA').AsString;
  1951.  FieldByName('VENDA_NUMERO').AsString        := FMemParcelas.FieldByName('VENDA_NUMERO').AsString;
  1952.  FieldByName('SITUACAO_VENDA').AsString      := FMemParcelas.FieldByName('SITUACAO_VENDA').AsString;
  1953. end;
  1954.  
  1955. { TFaturaValores.TDadosEmpresa }
  1956.  
  1957. procedure TFaturaValores.TDadosEmpresa.AfterConstruction;
  1958. begin
  1959.   inherited AfterConstruction;
  1960.  
  1961. end;
  1962.  
  1963. procedure TFaturaValores.TDadosEmpresa.BeforeDestruction;
  1964. begin
  1965.   inherited BeforeDestruction;
  1966.  
  1967. end;
  1968.  
  1969. constructor TFaturaValores.TDadosEmpresa.Create(AOwner: TComponent; FCon: TFDConnection);
  1970. begin
  1971.   inherited Create(AOwner);
  1972.   Connection := FCon;
  1973.   SQL.Text   :=   'select XNOME, XFANT, XLGR, XNRO, XCPL, XBAIRRO, CMUN, XMUN, UF, CEP, CPAIS, XPAIS, FONE, IE, '+
  1974.    'IM, XEMAIL, XWEBSIT, XFAX, RADIO, XTEL2, XFAXPABX, XESTADO, CODESTADO, EMPRESADOREGIME, ATIVIDADEECONOMICA, '+
  1975.     'DATAABERTURA, NATUREZAJURIDICA, TIPO, CNPJ, LOGOMARCA, PAIS, CODPAIS, SUFRAMA, XRESP, ALIQTABELA, IRPJ, CSLL, '+
  1976.      'COFINS, PISPASEP, CPP, ICMS, DESCTABELA, FILENAME, SERIALKEY '+
  1977.       'from CADEMPRESA ';
  1978.  
  1979. end;
  1980.  
  1981. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement